:root{
  --entry-ink:#10264a;
  --entry-muted:#66768f;
  --entry-primary:#1f63e9;
  --entry-line:#d7e2ef;
  --entry-family:#07945b;
  --entry-shadow:0 28px 70px rgba(16,44,86,.12);
}

/* Landing: one access gateway */
.enterprise-landing-nav .landing-signin{
  display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:0 18px;
  border-radius:14px;border:1px solid #c9d8ec;background:rgba(255,255,255,.82);
  color:var(--entry-ink);font-weight:800;text-decoration:none;
}
.enterprise-landing-nav .landing-signin:hover{border-color:#9ab8e7;background:#fff}
.enterprise-entry-hero .unified-gateway{display:flex;align-items:center;justify-content:center}
.enterprise-entry-hero .gateway-card{
  width:min(100%,500px);padding:34px;border-radius:30px;border:1px solid rgba(196,214,238,.9);
  background:linear-gradient(180deg,rgba(255,255,255,.97),rgba(249,252,255,.95));
  box-shadow:0 30px 80px rgba(20,70,140,.13);display:grid;gap:20px;position:relative;overflow:hidden;
}
.enterprise-entry-hero .gateway-card:after{
  content:"";position:absolute;width:220px;height:220px;border-radius:50%;right:-90px;top:-100px;
  background:radial-gradient(circle,rgba(34,102,235,.13),rgba(34,102,235,0) 70%);pointer-events:none;
}
.gateway-icon{width:62px;height:62px;border-radius:18px;background:#edf4ff;display:grid;place-items:center;position:relative;z-index:1}
.gateway-icon img{width:42px;height:42px;object-fit:contain}
.gateway-copy{position:relative;z-index:1}.gateway-kicker{display:block;color:var(--entry-primary);text-transform:uppercase;letter-spacing:.13em;font-size:.74rem;font-weight:900;margin-bottom:8px}
.gateway-copy h2{margin:0 0 9px;color:var(--entry-ink);font-size:clamp(1.7rem,3vw,2.25rem);line-height:1.08;letter-spacing:-.04em}
.gateway-copy p{margin:0;color:var(--entry-muted);line-height:1.65;font-size:1rem}
.gateway-login{min-height:58px!important;border-radius:17px!important;font-size:1rem!important;position:relative;z-index:1}
.gateway-register{min-height:54px;border-radius:17px;border:1px solid #c9d8ec;background:#fff;color:var(--entry-ink);font-weight:850;font:inherit;cursor:pointer;position:relative;z-index:1}
.gateway-register:hover{border-color:#9db9df;background:#f8fbff}
.gateway-audiences{display:flex;gap:10px;flex-wrap:wrap;position:relative;z-index:1}
.gateway-audiences span{padding:8px 12px;border-radius:999px;background:#f3f7fc;border:1px solid #dce6f2;color:#536985;font-size:.78rem;font-weight:800}

/* Unified authentication — Release 2026.08.27.028 */
.unified-auth-body{
  min-height:100dvh;
  background:
    radial-gradient(circle at 13% 8%,rgba(31,99,233,.09),transparent 31rem),
    radial-gradient(circle at 88% 88%,rgba(7,148,91,.045),transparent 27rem),
    #f4f7fb!important;
  color:var(--entry-ink);
}
.unified-auth-body main.public-shell{
  width:min(100%,1180px);max-width:none;margin:0 auto;
  padding:clamp(22px,4vh,42px) 28px 22px!important;
}
.unified-auth-body main.public-shell>.page-head{display:none!important}
.unified-auth-body .site-footer{max-width:520px;margin:4px auto 0;padding:8px 20px 18px;color:#8795a8;text-align:center;font-size:.76rem}
.unified-auth-body .site-footer b{color:#475d7d}
.gradebook-unified-login{
  display:grid;grid-template-columns:minmax(0,1fr) minmax(440px,500px);
  gap:clamp(46px,6vw,82px);align-items:center;
  min-height:calc(100dvh - 92px);position:relative;
}
.unified-auth-intro{padding:18px 0 18px 8px;display:grid;align-content:center;gap:34px;min-width:0}
.unified-auth-brand{display:inline-flex;align-items:center;gap:13px;text-decoration:none;color:var(--entry-ink);width:max-content;max-width:100%}
.unified-auth-brand img{width:50px;height:50px;object-fit:contain;border-radius:13px}
.unified-auth-brand b{display:block;font-size:1.34rem;line-height:1.08}
.unified-auth-brand small{display:block;margin-top:4px;color:var(--entry-muted);font-size:.76rem}
.unified-auth-message{max-width:565px}
.auth-kicker{display:block;color:var(--entry-primary);font-size:.7rem;font-weight:900;text-transform:uppercase;letter-spacing:.17em;margin-bottom:9px}
.unified-auth-message h2{margin:0 0 16px;font-size:clamp(2.55rem,4vw,3.65rem);line-height:1.02;letter-spacing:-.055em;color:#0d2345;max-width:560px}
.unified-auth-message p{margin:0;max-width:545px;color:var(--entry-muted);font-size:1.01rem;line-height:1.68}
.unified-auth-trust{display:flex;flex-wrap:wrap;gap:9px;max-width:560px}
.unified-auth-trust span{display:inline-flex;align-items:center;gap:7px;min-height:36px;padding:0 12px;border:1px solid #dce6f2;border-radius:999px;background:rgba(255,255,255,.7);color:#435a77;font-weight:750;font-size:.78rem}
.unified-auth-trust span:before{content:"✓";display:grid;place-items:center;width:20px;height:20px;border-radius:50%;background:#e5f8ef;color:#08794a;font-size:.7rem;font-weight:900;flex:0 0 20px}
.unified-auth-product{color:#8b98aa;font-size:.74rem}
.gradebook-unified-login>.pwa-auth-refresh{position:absolute;right:0;top:0;z-index:4}

.unified-auth-card.auth-card{
  width:100%;max-width:500px;margin:0!important;padding:30px!important;
  border-radius:26px!important;border:1px solid #d7e2ee!important;
  background:rgba(255,255,255,.98)!important;
  box-shadow:0 24px 62px rgba(16,44,86,.105)!important;
  position:relative;overflow:hidden;
}
.unified-auth-card:before{content:"";position:absolute;inset:0 0 auto;height:3px;background:var(--entry-primary);transition:background .2s ease}
.gradebook-unified-login[data-active-audience="family"] .unified-auth-card:before{background:var(--entry-family)}
.auth-card-heading{margin-bottom:20px}
.auth-card-heading h1{margin:0;color:#10264a;font-size:1.85rem;line-height:1.08;letter-spacing:-.035em}
.auth-card-heading p{margin:7px 0 0;color:var(--entry-muted);font-size:.9rem;line-height:1.5}

.auth-audience-switch{display:grid;grid-template-columns:1fr 1fr;gap:6px;padding:5px;background:#f0f4f9;border:1px solid #e0e7f0;border-radius:17px;margin-bottom:19px}
.auth-audience-tab{display:flex;align-items:center;gap:9px;min-height:58px;padding:8px 10px;border:0;border-radius:13px;background:transparent;color:#435976;text-align:left;cursor:pointer;font:inherit;transition:background .18s ease,box-shadow .18s ease,color .18s ease}
.auth-audience-tab:hover{background:rgba(255,255,255,.72)}
.auth-audience-tab.active{background:#fff;color:#10264a;box-shadow:0 7px 18px rgba(16,43,82,.085)}
.auth-audience-tab>span:last-child{display:block;min-width:0}
.auth-audience-tab b{display:block;font-size:.86rem;line-height:1.18;white-space:nowrap}
.auth-audience-tab small{display:block;margin-top:2px;color:#7d8b9e;font-size:.64rem;line-height:1.2;white-space:nowrap}
.auth-tab-icon{width:34px;height:34px;border-radius:11px;display:grid;place-items:center;background:#eaf1ff;color:var(--entry-primary);font-weight:900;flex:0 0 34px}
.auth-tab-icon.family{background:#e7f8f0;color:var(--entry-family)}

.auth-audience-panel[hidden],.family-login-panel[hidden]{display:none!important}
.auth-audience-panel.active,.family-login-panel.active{display:block}
.auth-context-line{display:flex;align-items:center;gap:10px;margin:0 0 15px;padding:0 2px}
.auth-context-icon{width:32px;height:32px;border-radius:10px;display:grid;place-items:center;flex:0 0 32px;background:#edf3ff;color:var(--entry-primary);font-size:.78rem;font-weight:900}
.auth-context-icon.family{background:#e8f8f0;color:var(--entry-family)}
.auth-context-line b{display:block;color:#213858;font-size:.86rem;line-height:1.2}
.auth-context-line small{display:block;margin-top:2px;color:#7c899b;font-size:.68rem;line-height:1.3}

.enterprise-login-form{display:grid;gap:9px}
.enterprise-login-form label{font-size:.78rem;font-weight:850;color:#253c5d;margin:3px 0 0}
.enterprise-auth-input{display:flex;align-items:center;gap:9px;min-height:52px;border:1px solid #cad7e6;border-radius:15px;background:#fbfdff;padding:0 12px;transition:border-color .18s ease,box-shadow .18s ease,background .18s ease}
.enterprise-auth-input:focus-within{border-color:#759ff0;box-shadow:0 0 0 3px rgba(31,99,233,.09);background:#fff}
.gradebook-unified-login[data-active-audience="family"] .enterprise-auth-input:focus-within{border-color:#56ae86;box-shadow:0 0 0 3px rgba(7,148,91,.09)}
.enterprise-auth-input>span{color:#7890b0;font-weight:800;flex:0 0 20px;text-align:center}
.enterprise-auth-input input{min-width:0;width:100%;border:0!important;box-shadow:none!important;background:transparent!important;padding:13px 0!important;outline:0!important;color:#10264a!important;font:inherit!important;font-size:.94rem!important}
.enterprise-auth-input input::placeholder{color:#9aa8b9}
.enterprise-auth-input.password{padding-right:6px}
.enterprise-password-toggle{min-width:64px;min-height:40px;border:0;border-radius:11px;background:#eef4ff;color:#1856cb;font-weight:850;cursor:pointer;font:inherit;font-size:.76rem}
.enterprise-auth-submit{margin-top:7px;min-height:52px;border:0!important;border-radius:15px!important;background:linear-gradient(135deg,#1f65ed,#1d58cb)!important;color:#fff!important;font-weight:850!important;font-size:.9rem!important;display:flex!important;align-items:center!important;justify-content:center!important;gap:9px!important;box-shadow:0 12px 26px rgba(31,99,233,.17);cursor:pointer}
.enterprise-auth-submit.family{background:linear-gradient(135deg,#07985e,#087a4d)!important;box-shadow:0 12px 26px rgba(7,148,91,.15)}

.family-method-switch{display:grid;grid-template-columns:1fr 1fr;gap:6px;padding:4px;margin:0 0 14px;border:1px solid #e1e8f1;border-radius:14px;background:#f3f6fa}
.family-method-tab{min-height:42px;border-radius:10px;border:0;background:transparent;color:#5a6d86;font-weight:800;cursor:pointer;font:inherit;font-size:.74rem}
.family-method-tab.active{background:#fff;color:#126c49;box-shadow:0 5px 14px rgba(21,61,43,.08)}
.auth-security-note{margin:2px 0 0!important;padding:9px 10px;border-radius:11px;background:#f7f9fc;color:#738196!important;font-size:.65rem!important;line-height:1.45!important;text-align:center}
.auth-card-footer{display:flex;justify-content:center;align-items:center;gap:8px;flex-wrap:wrap;margin:20px -2px -2px;padding-top:16px;border-top:1px solid #e7edf4;color:#7d8c9f;font-size:.73rem}
.auth-card-footer a{color:#165dce;font-weight:850;text-decoration:none;min-height:32px;display:inline-flex;align-items:center}
.auth-card-footer a:hover{text-decoration:underline}
.auth-footer-dot{color:#b3becb}
.unified-auth-body .pwa-auth-portal-switch{display:none!important}
.auth-signed-out{display:flex;align-items:center;gap:10px;margin:0 0 15px;padding:11px 12px;border:1px solid #cce8d8;border-radius:14px;background:#f2fbf6;color:#155c3d}
.auth-signed-out>span{display:grid;place-items:center;width:28px;height:28px;flex:0 0 28px;border-radius:50%;background:#dcf6e7;color:#087544;font-weight:950}
.auth-signed-out b{display:block;font-size:.82rem;line-height:1.2}.auth-signed-out small{display:block;margin-top:2px;color:#527564;font-size:.68rem;line-height:1.35}
.unified-auth-body,.unified-auth-body main.public-shell,.gradebook-unified-login,.unified-auth-card{max-width:100%;box-sizing:border-box}

@media(max-width:980px){
  .unified-auth-body main.public-shell{width:100%;padding:24px 18px 18px!important}
  .gradebook-unified-login{grid-template-columns:1fr;gap:18px;max-width:560px;margin:0 auto;align-items:start;min-height:auto}
  .unified-auth-intro{padding:0 4px;gap:0}
  .unified-auth-brand img{width:46px;height:46px}
  .unified-auth-brand b{font-size:1.23rem}.unified-auth-brand small{font-size:.7rem}
  .unified-auth-message,.unified-auth-trust,.unified-auth-product{display:none}
  .unified-auth-card.auth-card{max-width:560px}
  .gradebook-unified-login>.pwa-auth-refresh{top:2px;right:2px}
}

@media(max-width:700px){
  .enterprise-landing-nav nav>a[href="#plans"],.enterprise-landing-nav nav>a[href="#contact"]{display:none}
  .enterprise-landing-nav nav{gap:8px}.enterprise-landing-nav .landing-signin,.enterprise-landing-nav .landing-register{min-height:42px;padding-inline:13px;font-size:.78rem}
  .enterprise-entry-hero .gateway-card{padding:24px;border-radius:24px}.gateway-audiences{gap:7px}.gateway-audiences span{font-size:.7rem}
  .unified-auth-body main.public-shell{padding:max(12px,env(safe-area-inset-top)) 12px calc(12px + env(safe-area-inset-bottom))!important;overflow-x:hidden!important}
  .gradebook-unified-login{width:100%;max-width:480px;gap:12px}
  .unified-auth-intro{padding:0 4px}
  .unified-auth-brand{gap:10px}.unified-auth-brand img{width:40px;height:40px;border-radius:11px}.unified-auth-brand b{font-size:1.08rem}.unified-auth-brand small{font-size:.62rem}
  .unified-auth-card.auth-card{width:100%;max-width:none;padding:19px!important;border-radius:21px!important;box-shadow:0 18px 44px rgba(16,44,86,.09)!important}
  .auth-card-heading{margin-bottom:15px}.auth-card-heading .auth-kicker{margin-bottom:6px;font-size:.64rem}.auth-card-heading h1{font-size:1.5rem}.auth-card-heading p{font-size:.8rem;margin-top:5px}
  .auth-audience-switch{gap:5px;padding:4px;border-radius:14px;margin-bottom:15px}
  .auth-audience-tab{min-height:52px;padding:7px 8px;gap:7px;border-radius:11px}
  .auth-tab-icon{width:30px;height:30px;flex-basis:30px;border-radius:9px;font-size:.78rem}
  .auth-audience-tab b{font-size:.75rem}.auth-audience-tab small{display:none}
  .auth-context-line{margin-bottom:12px}.auth-context-icon{display:none}.auth-context-line b{font-size:.78rem}.auth-context-line small{font-size:.63rem}
  .family-method-switch{margin-bottom:12px}.family-method-tab{min-height:40px;font-size:.7rem}
  .enterprise-login-form{gap:8px}.enterprise-login-form label{font-size:.74rem}
  .enterprise-auth-input{min-height:50px;border-radius:14px}.enterprise-auth-input input{font-size:.91rem!important;padding:12px 0!important}
  .enterprise-password-toggle{min-height:38px;min-width:60px}
  .enterprise-auth-submit{min-height:50px;border-radius:14px!important;margin-top:5px}
  .auth-security-note{font-size:.62rem!important;padding:8px 9px}
  .auth-card-footer{margin-top:16px;padding-top:13px;font-size:.69rem}
  .gradebook-unified-login>.pwa-auth-refresh{position:fixed;right:10px;top:calc(8px + env(safe-area-inset-top));z-index:30}
  .unified-auth-body .site-footer{font-size:.68rem;padding-bottom:calc(8px + env(safe-area-inset-bottom))}
}

@media(max-width:380px){
  .unified-auth-body main.public-shell{padding-inline:8px!important}
  .unified-auth-card.auth-card{padding:16px!important;border-radius:18px!important}
  .auth-audience-tab{padding-inline:6px}.auth-audience-tab b{font-size:.7rem}
  .auth-tab-icon{width:28px;height:28px;flex-basis:28px}
  .family-method-tab{font-size:.67rem}
  .auth-card-footer{gap:6px}.auth-footer-dot{display:none}
}

@media(max-height:690px) and (min-width:981px){
  .unified-auth-body main.public-shell{padding-top:16px!important;padding-bottom:14px!important}
  .gradebook-unified-login{min-height:auto;align-items:start}
  .unified-auth-intro{padding-top:10px;gap:22px}.unified-auth-message h2{font-size:2.7rem}.unified-auth-card.auth-card{padding:25px!important}
}

html[data-theme="dark"] .unified-auth-body{background:radial-gradient(circle at 12% 10%,rgba(57,117,232,.12),transparent 32rem),#081321!important;color:#edf4fb}
html[data-theme="dark"] .unified-auth-brand,html[data-theme="dark"] .unified-auth-message h2{color:#eef5ff}
html[data-theme="dark"] .unified-auth-message p,html[data-theme="dark"] .unified-auth-brand small{color:#9eafc2}
html[data-theme="dark"] .unified-auth-card.auth-card{background:#101e30!important;border-color:#2b425c!important;box-shadow:0 26px 66px rgba(0,0,0,.28)!important}
html[data-theme="dark"] .auth-card-heading h1,html[data-theme="dark"] .enterprise-login-form label,html[data-theme="dark"] .auth-context-line b{color:#edf4fb}
html[data-theme="dark"] .auth-card-heading p,html[data-theme="dark"] .auth-context-line small{color:#9eafc2}
html[data-theme="dark"] .auth-audience-switch,html[data-theme="dark"] .family-method-switch{background:#0b1725;border-color:#243950}
html[data-theme="dark"] .auth-audience-tab{color:#afbed0}html[data-theme="dark"] .auth-audience-tab.active,html[data-theme="dark"] .family-method-tab.active{background:#17283c;color:#fff;box-shadow:none}
html[data-theme="dark"] .enterprise-auth-input{background:#0b1725;border-color:#38506b}html[data-theme="dark"] .enterprise-auth-input input{color:#edf4fb!important}
html[data-theme="dark"] .enterprise-password-toggle{background:#18304d;color:#9ec0ff}
html[data-theme="dark"] .family-method-tab{color:#a8b8c9}html[data-theme="dark"] .auth-security-note{background:#142337;color:#9fb0c5!important}
html[data-theme="dark"] .auth-card-footer{border-color:#263b53;color:#93a5ba}
html[data-theme="dark"] .auth-signed-out{background:#10291f;border-color:#24563f;color:#d8f4e5}
html[data-theme="dark"] .auth-signed-out>span{background:#164d35;color:#a8e7c4}html[data-theme="dark"] .auth-signed-out small{color:#9bc4ad}
