/* School Master Login Compact v3 — density pass for the approved premium login.
   Visual-only override. Keeps authentication behavior unchanged. */

.sm-login-page{padding:12px 22px 20px!important}
.sm-public-mini-nav{min-height:42px!important;margin:0 auto 6px!important}
.sm-public-mini-nav a{min-height:34px!important;padding:0 10px!important;font-size:12px!important}
.sm-public-mini-nav a:last-child{padding:0 16px!important}
.sm-login-shell{min-height:0!important}
.sm-login-showcase{padding:24px 38px 26px!important;gap:12px!important}
.sm-login-brandline{gap:0!important;padding-top:0!important}
.sm-login-brandline::before{top:4px!important;width:190px!important;height:118px!important}
.sm-login-brandline img{width:145px!important;height:105px!important}
.sm-login-brand-copy strong{font-size:23px!important}
.sm-login-brand-copy span{margin-top:4px!important;font-size:9px!important}
.sm-login-hero{margin-top:0!important}
.sm-login-secure{min-height:24px!important;padding:0 8px!important}
.sm-login-hero h1{margin:10px 0 8px!important;font-size:clamp(34px,3vw,48px)!important;line-height:1.01!important}
.sm-login-hero p{font-size:12px!important;line-height:1.45!important}
.sm-login-feature-grid{gap:7px!important}
.sm-login-feature-grid>div{min-height:44px!important;padding:7px 8px!important;gap:6px!important}
.sm-login-feature-grid>div::before{width:25px!important;height:25px!important;flex-basis:25px!important;font-size:14px!important}
.sm-login-feature-grid>div strong::after{font-size:9px!important}
.sm-login-showcase>small{margin-top:-3px!important;font-size:8px!important}

.sm-login-card.sm-login-dashboard-shell{padding:18px 34px 22px!important}
.sm-login-home-row{margin-bottom:8px!important}
.sm-login-home-row .sm-outline-btn{min-height:36px!important;padding:0 12px!important}
.sm-login-heading h2{margin:5px 0 3px!important;font-size:clamp(27px,2.45vw,36px)!important}
.sm-login-heading p{font-size:11px!important}
.sm-login-selector-panel{margin:12px 0 10px!important;padding:11px!important;border-radius:16px!important}
.sm-login-selector-head{margin-bottom:8px!important}
.sm-login-choice-grid{gap:10px!important}
.sm-login-choice{min-height:116px!important;padding:10px 8px 9px!important;gap:2px!important;border-radius:15px!important}
.sm-login-choice-icon{width:60px!important;height:56px!important;margin-bottom:1px!important;border-radius:17px!important;transform:none!important}
.sm-login-choice:hover .sm-login-choice-icon,.sm-login-choice.active .sm-login-choice-icon{transform:translateY(-2px)!important}
.sm-login-choice:nth-child(1) .sm-login-choice-icon::before{left:11px!important;top:8px!important;width:17px!important;height:17px!important;box-shadow:21px 2px 0 -1px #e9a16f,11px 15px 0 -4px #f3b683,0 2px 5px rgba(51,29,27,.16),21px 4px 5px -2px rgba(51,29,27,.13)!important}
.sm-login-choice:nth-child(1) .sm-login-choice-icon::after{left:7px!important;bottom:6px!important;width:46px!important;height:23px!important}
.sm-login-choice:nth-child(2) .sm-login-choice-icon::before{left:12px!important;bottom:7px!important;width:36px!important;height:29px!important}
.sm-login-choice:nth-child(2) .sm-login-choice-icon::after{left:8px!important;top:7px!important;width:44px!important;height:20px!important}
.sm-login-choice:nth-child(3) .sm-login-choice-icon::before{left:21px!important;top:7px!important;width:19px!important;height:20px!important}
.sm-login-choice:nth-child(3) .sm-login-choice-icon::after{left:13px!important;bottom:6px!important;width:35px!important;height:26px!important}
.sm-login-choice strong{margin-top:2px!important;font-size:12px!important}
.sm-login-choice small{font-size:8px!important}
.sm-login-choice.active{transform:translateY(-2px) scale(1.01)!important}
.sm-login-choice.active::after{top:6px!important;right:6px!important;width:22px!important;height:22px!important;border-width:2px!important}

.sm-login-active-card{padding:13px 16px!important;border-radius:16px!important}
.sm-login-active-head{grid-template-columns:42px minmax(0,1fr) auto!important;gap:9px!important;margin-bottom:5px!important}
.sm-login-active-icon{width:42px!important;height:42px!important;border-radius:13px!important;font-size:20px!important}
.sm-login-active-head h3{font-size:18px!important}
.sm-login-state{min-height:23px!important;padding:0 8px!important;font-size:7px!important}
.sm-login-active-copy{margin:0 0 7px!important;font-size:10px!important;line-height:1.38!important}
.sm-login-active-card label{margin:5px 0 3px!important;font-size:9px!important}
.sm-login-input-wrap{min-height:39px!important}
.sm-login-input-wrap .form-control{min-height:37px!important;padding-top:7px!important;padding-bottom:7px!important}
.sm-login-submit,.sm-login-active-card .sm-outline-btn,.sm-login-active-card .sm-gradient-btn{min-height:39px!important}
.sm-login-divider{margin:8px 0!important}
.sm-login-create{margin-top:8px!important;min-height:28px!important}
.sm-login-card.sm-login-dashboard-shell>.sm-login-divider{margin:8px 0!important}
.sm-login-card.sm-login-dashboard-shell>button.sm-outline-btn{min-height:38px!important}
.sm-login-trust{margin-top:6px!important;font-size:8px!important}

.sm-login-page.sm-login-private-app{min-height:100dvh!important;justify-content:flex-start!important;padding-top:10px!important;padding-bottom:10px!important}
.sm-login-private-app .sm-login-shell{width:min(1280px,calc(100vw - 36px))!important;margin:auto!important}

@media (min-width:901px) and (max-height:820px){
    .sm-login-page{padding:8px 18px 10px!important}
    .sm-public-mini-nav{min-height:36px!important;margin-bottom:4px!important}
    .sm-public-mini-nav a{min-height:30px!important;font-size:11px!important}
    .sm-login-showcase{padding:18px 30px 20px!important;gap:8px!important}
    .sm-login-brandline img{width:122px!important;height:84px!important}
    .sm-login-brand-copy strong{font-size:20px!important}
    .sm-login-brand-copy span{font-size:8px!important;margin-top:3px!important}
    .sm-login-secure{min-height:21px!important;font-size:8px!important}
    .sm-login-hero h1{font-size:38px!important;margin:7px 0 6px!important}
    .sm-login-hero p{font-size:11px!important;line-height:1.35!important}
    .sm-login-feature-grid>div{min-height:38px!important;padding:5px 6px!important}
    .sm-login-feature-grid>div::before{width:22px!important;height:22px!important;flex-basis:22px!important;font-size:12px!important}
    .sm-login-feature-grid>div strong::after{font-size:8px!important}
    .sm-login-card.sm-login-dashboard-shell{padding:11px 26px 13px!important}
    .sm-login-home-row{margin-bottom:4px!important}
    .sm-login-home-row .sm-outline-btn{min-height:32px!important}
    .sm-login-heading span{font-size:8px!important}
    .sm-login-heading h2{font-size:29px!important;margin:3px 0 2px!important}
    .sm-login-heading p{font-size:10px!important}
    .sm-login-selector-panel{margin:7px 0!important;padding:8px!important;border-radius:14px!important}
    .sm-login-selector-head{margin-bottom:5px!important}
    .sm-login-selector-head strong{font-size:12px!important}
    .sm-login-choice{min-height:91px!important;padding:6px!important}
    .sm-login-choice-icon{width:48px!important;height:44px!important;border-radius:14px!important}
    .sm-login-choice:nth-child(1) .sm-login-choice-icon::before{left:9px!important;top:6px!important;width:14px!important;height:14px!important;box-shadow:17px 2px 0 -1px #e9a16f,9px 12px 0 -3px #f3b683,0 2px 4px rgba(51,29,27,.14),17px 3px 4px -2px rgba(51,29,27,.12)!important}
    .sm-login-choice:nth-child(1) .sm-login-choice-icon::after{left:6px!important;bottom:5px!important;width:36px!important;height:18px!important}
    .sm-login-choice:nth-child(2) .sm-login-choice-icon::before{left:10px!important;bottom:6px!important;width:28px!important;height:23px!important}
    .sm-login-choice:nth-child(2) .sm-login-choice-icon::after{left:6px!important;top:6px!important;width:36px!important;height:16px!important}
    .sm-login-choice:nth-child(3) .sm-login-choice-icon::before{left:17px!important;top:6px!important;width:15px!important;height:16px!important}
    .sm-login-choice:nth-child(3) .sm-login-choice-icon::after{left:11px!important;bottom:5px!important;width:28px!important;height:21px!important}
    .sm-login-choice strong{font-size:10px!important}
    .sm-login-choice small{font-size:7px!important}
    .sm-login-choice.active::after{width:19px!important;height:19px!important;top:4px!important;right:4px!important;font-size:10px!important}
    .sm-login-active-card{padding:9px 13px!important;border-radius:14px!important}
    .sm-login-active-head{grid-template-columns:35px minmax(0,1fr) auto!important;gap:7px!important;margin-bottom:3px!important}
    .sm-login-active-icon{width:35px!important;height:35px!important;border-radius:11px!important;font-size:17px!important}
    .sm-login-active-head small{font-size:7px!important}
    .sm-login-active-head h3{font-size:16px!important}
    .sm-login-state{min-height:20px!important;font-size:6px!important}
    .sm-login-active-copy{font-size:9px!important;line-height:1.3!important;margin-bottom:4px!important}
    .sm-login-active-card label{margin:3px 0 2px!important;font-size:8px!important}
    .sm-login-input-wrap,.sm-login-input-wrap .form-control{min-height:34px!important}
    .sm-login-submit,.sm-login-active-card .sm-outline-btn,.sm-login-active-card .sm-gradient-btn{min-height:34px!important}
    .sm-login-divider{margin:5px 0!important}
    .sm-login-create{margin-top:5px!important;min-height:24px!important;font-size:8px!important}
    .sm-login-card.sm-login-dashboard-shell>.sm-login-divider{margin:5px 0!important}
    .sm-login-card.sm-login-dashboard-shell>button.sm-outline-btn{min-height:33px!important}
    .sm-login-trust{margin-top:3px!important;font-size:7px!important}
}

@media(max-width:900px){
    .sm-login-page{padding:10px 12px 22px!important}
    .sm-login-shell{width:calc(100vw - 24px)!important}
    .sm-login-showcase{min-height:300px!important;padding:20px 24px!important}
    .sm-login-card.sm-login-dashboard-shell{padding:24px 28px 30px!important}
    .sm-login-choice{min-height:105px!important}
}

@media(max-width:600px){
    .sm-login-page{padding:8px 8px 18px!important}
    .sm-login-shell{width:calc(100vw - 16px)!important}
    .sm-login-showcase{min-height:260px!important;padding:18px 16px!important}
    .sm-login-card.sm-login-dashboard-shell{padding:20px 13px 24px!important}
    .sm-login-selector-panel{margin-top:12px!important}
    .sm-login-choice{min-height:94px!important}
    .sm-login-choice-icon{width:48px!important;height:45px!important}
}
