:root{--ink:#172033;--muted:#687389;--line:#e6e9f0;--brand:#5b4ee8;--brand2:#8b5cf6;--brand3:#2dd4bf;--bg:#f5f7ff;--panel:#ffffff;--success:#0f9f6e;--danger:#c23c55;--shadow:0 18px 48px rgba(26,38,80,.10)}
*{box-sizing:border-box}html,body{min-height:100%}body{margin:0;background:radial-gradient(circle at top left,#eef1ff,transparent 30%),linear-gradient(180deg,#f9fbff,#f3f6ff);color:var(--ink);font-family:Inter,ui-sans-serif,system-ui,-apple-system,Segoe UI,sans-serif}button,input,textarea,select{font:inherit}button{cursor:pointer;transition:.18s transform ease,.18s box-shadow ease,.18s background-color ease}button:hover{transform:translateY(-1px)}
.topnav{height:98px;background:rgba(255,255,255,.78);backdrop-filter:blur(16px);border-bottom:1px solid rgba(230,233,240,.8);display:flex;align-items:center;padding:0 26px;gap:28px;position:sticky;top:0;z-index:5;box-shadow:0 10px 30px rgba(60,70,120,.06)}
.wordmark{text-decoration:none;color:var(--ink);display:flex;align-items:center;gap:14px;min-width:270px}.logo-wordmark{min-width:220px;height:84px;overflow:hidden}.logo-wordmark img{display:block;height:78px;width:auto;object-fit:contain;border-radius:12px}.brand-icon{position:relative;display:inline-grid;place-items:center;width:46px;height:46px;border-radius:15px;background:linear-gradient(145deg,var(--brand),var(--brand2));box-shadow:0 10px 24px rgba(91,78,232,.35)}.brand-icon.large{width:72px;height:72px;border-radius:22px}.brand-icon i,.brand-icon b{position:absolute;display:block;border-radius:999px;background:#fff}.brand-icon i{width:60%;height:18%;transform:rotate(45deg)}.brand-icon b{width:18%;height:60%;transform:rotate(45deg)}.brand-text{display:flex;flex-direction:column;line-height:1.02}.brand-text strong{text-transform:uppercase;letter-spacing:.12em;font-size:18px}.brand-text small{color:var(--muted);font-size:11px;letter-spacing:.08em;text-transform:uppercase;margin-top:5px}
.topnav nav{display:flex;gap:8px;padding:6px;border-radius:16px;background:#fff;border:1px solid var(--line);box-shadow:0 8px 26px rgba(35,45,90,.05)}.navbtn,.quiet{border:0;background:transparent;padding:11px 15px;border-radius:12px;color:var(--muted);font-weight:700}.navbtn.active{background:linear-gradient(135deg,#efedff,#ffffff);color:var(--brand);box-shadow:inset 0 0 0 1px #dfd9ff}.quiet:hover{background:#f5f5fb}
.account{margin-left:auto;display:flex;align-items:center;gap:14px;font-size:14px;background:#fff;padding:8px 12px;border-radius:16px;border:1px solid var(--line)}
.dashboard{max-width:1320px;margin:0 auto;padding:34px 24px 70px}.tab{display:none}.tab.active{display:block}.page-heading{display:flex;align-items:end;justify-content:space-between;gap:24px;margin-bottom:22px}.page-heading.hero{background:linear-gradient(135deg,#2c2578,#5b4ee8 55%,#7c3aed);padding:28px 28px;border-radius:26px;color:#fff;box-shadow:var(--shadow)}.page-heading.hero p:not(.eyebrow){color:#e5e4ff}.page-heading h1{font-size:36px;margin:4px 0 6px}.page-heading p{margin:0;color:var(--muted)}.page-heading select{max-width:330px}.eyebrow{font-size:11px!important;font-weight:850;letter-spacing:.14em;color:var(--brand)!important}.hero .eyebrow{color:#d4cbff!important}.grid{display:grid;gap:20px}.lessons-grid{grid-template-columns:340px 1fr}
.card{background:rgba(255,255,255,.9);border:1px solid rgba(230,233,240,.9);border-radius:22px;box-shadow:var(--shadow);padding:24px}.card h2{margin:0 0 18px}.card-head,.editor-title{display:flex;justify-content:space-between;align-items:center}label{display:block;font-size:13px;font-weight:720;margin:16px 0 7px}input,textarea,select{width:100%;border:1px solid #d8dde8;border-radius:14px;background:#fff;padding:12px 13px;color:var(--ink);outline:none;box-shadow:inset 0 1px 0 rgba(255,255,255,.8)}input:focus,textarea:focus,select:focus{border-color:#958cf7;box-shadow:0 0 0 4px #eeecff}textarea{min-height:124px;resize:vertical}.primary,.success,.danger{border:0;border-radius:14px;padding:12px 16px;font-weight:780;box-shadow:0 10px 24px rgba(23,32,51,.08)}.primary{background:linear-gradient(135deg,var(--brand),var(--brand2));color:#fff}.success{background:#e8f8f1;color:#087b54}.danger{background:#fff0f1;color:#b12737}.small{padding:8px 11px}.lesson-list{display:flex;flex-direction:column;gap:9px;max-height:70vh;overflow:auto;padding-right:4px}.lesson-item{display:grid;grid-template-columns:44px 1fr;gap:12px;text-align:left;width:100%;border:1px solid transparent;background:linear-gradient(180deg,#fff,#fbfbff);border-radius:15px;padding:12px;box-shadow:0 8px 20px rgba(35,45,90,.03)}.lesson-item:hover,.lesson-item.selected{background:#f5f4ff;border-color:#e2dfff;box-shadow:0 12px 24px rgba(91,78,232,.09)}.lesson-item .num{font-size:12px;font-weight:850;color:#8881d8;padding-top:2px}.lesson-item strong,.lesson-item small{display:block}.lesson-item small{font-size:10px;color:var(--muted);margin-top:3px;font-weight:800;letter-spacing:.08em}.actions{display:flex;gap:9px;flex-wrap:wrap;margin-top:20px}.status{color:var(--muted);min-height:20px}.empty-state,.empty-mini{color:var(--muted);padding:26px;text-align:center}.hint-inline{font-weight:500;color:var(--muted)}.badge{font-size:10px;color:#087b54;background:#e8f8f1;border-radius:100px;padding:6px 9px;font-weight:850;letter-spacing:.08em}.narrow{max-width:780px}.course-cards{margin-top:20px}.course-row{display:flex;justify-content:space-between;border-top:1px solid var(--line);padding:15px 2px}.course-row span{color:var(--muted);font-size:13px}.health{background:#ebfaf3;color:#087b54;border-radius:100px;padding:10px 14px;font-size:13px;font-weight:760;box-shadow:0 8px 18px rgba(15,159,110,.12)}.dot{display:inline-block;width:8px;height:8px;background:#13a873;border-radius:50%;margin-right:6px}.display-cards{display:grid;gap:18px}.display-card{display:flex;justify-content:space-between;gap:30px;align-items:center}.link-grid{min-width:58%;display:grid;gap:10px}.link-grid a{display:block;text-decoration:none;border:1px solid var(--line);border-radius:14px;padding:12px 14px;color:var(--ink);background:#fff;box-shadow:0 8px 16px rgba(35,45,90,.03)}.link-grid a:hover{border-color:#a79ff9;background:#faf9ff}.link-grid strong,.link-grid span{display:block}.link-grid span{font-size:11px;color:var(--muted);margin-top:3px;overflow-wrap:anywhere}
.auth-page{min-height:100vh;display:grid;place-items:center;background:radial-gradient(circle at top left,#ebe9ff,transparent 35%),radial-gradient(circle at bottom right,#d9fff6,transparent 20%),var(--bg)}.auth-shell{width:min(980px,92vw);display:grid;grid-template-columns:1fr 1.1fr;background:#fff;border-radius:28px;overflow:hidden;box-shadow:0 28px 90px rgba(40,40,80,.16)}.brand-panel{padding:52px;background:linear-gradient(155deg,#2d2579,#5b4ee8 55%,#7c3aed);color:#fff;display:flex;flex-direction:column;justify-content:center}.brand-panel.auth-art-panel{padding:0;background:#dcecff;display:block;position:relative;overflow:hidden;min-height:680px}.auth-hero-image{display:block;width:100%;height:100%;min-height:680px;object-fit:cover;object-position:center center}.brand-lockup{display:flex;gap:18px;align-items:flex-start}.brand-lockup-image{align-items:center}.brand-logo-img{display:block;width:118px;height:118px;object-fit:contain;border-radius:18px;background:rgba(255,255,255,.9);padding:8px;box-shadow:0 16px 36px rgba(13,18,48,.22)}.brand-panel h1{font-size:52px;margin:0 0 8px}.brand-panel p{font-size:18px;line-height:1.55;color:#e5e2ff;margin:0}.auth-card{padding:48px}.auth-tabs{display:flex;border-bottom:1px solid var(--line);margin-bottom:25px}.auth-tabs button{border:0;background:transparent;padding:11px;color:var(--muted);font-weight:750}.auth-tabs button.active{color:var(--brand);border-bottom:2px solid var(--brand)}.auth-card .primary{width:100%;margin-top:18px}.two{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.verification-fieldset{border:1px solid var(--line);border-radius:16px;padding:16px;margin:20px 0 2px;background:#fbfbff}.verification-fieldset legend{font-size:13px;font-weight:800;padding:0 7px}.verification-help{font-size:12px;color:var(--muted);margin:0 0 10px}.verification-options{display:grid;grid-template-columns:1fr 1fr;gap:10px}.verification-option{display:flex;align-items:flex-start;gap:9px;border:1px solid var(--line);border-radius:12px;padding:12px;margin:0;font-weight:600;cursor:pointer;background:#fff}.verification-option:has(input:checked){border-color:#958cf7;background:#f7f6ff}.verification-option input{width:auto;margin:3px 0 0}.verification-option span,.verification-option strong,.verification-option small{display:block}.verification-option small{font-size:11px;color:var(--muted);font-weight:500;margin-top:3px;line-height:1.35}.legal-note{font-size:11px;color:var(--muted);line-height:1.45;margin:8px 2px 0}
@media(max-width:980px){.lessons-grid{grid-template-columns:1fr}.page-heading.hero{align-items:flex-start;flex-direction:column}.wordmark{min-width:unset}.topnav{height:auto;flex-wrap:wrap;padding:16px 18px}.account{margin-left:0}.display-card{display:block}.link-grid{min-width:0;margin-top:20px}}
@media(max-width:800px){.auth-shell{grid-template-columns:1fr}.brand-panel{display:none}.topnav nav{width:100%;order:3;justify-content:center;padding:0;border:none;box-shadow:none;background:transparent}.dashboard{padding:22px 14px 50px}}
@media(max-width:620px){.verification-options,.two{grid-template-columns:1fr}.brand-text small{display:none}.page-heading h1{font-size:30px}}
/* Phase 2 — bell schedule editor */
.secondary{border:1px solid #d9ddef;border-radius:14px;padding:12px 16px;font-weight:780;background:#fff;color:#4f5870;box-shadow:0 10px 24px rgba(23,32,51,.05)}
button:disabled{cursor:default;opacity:.65;transform:none!important;box-shadow:none!important}
.subtle{color:var(--muted);font-size:13px;line-height:1.5;margin:4px 0 0}
.schedule-hero{align-items:center}.schedule-hero-controls{min-width:300px;display:flex;flex-direction:column;align-items:stretch;gap:10px}.schedule-hero-controls label{margin:0;color:#fff}.schedule-hero-controls select{margin-top:6px;background:rgba(255,255,255,.96)}.live-badge{align-self:flex-end;background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.25);color:#fff;border-radius:999px;padding:9px 13px;font-size:12px;font-weight:800}.live-badge .dot{background:#41e4a8;box-shadow:0 0 0 5px rgba(65,228,168,.13)}
.schedule-layout{display:grid;grid-template-columns:minmax(0,1fr) 310px;gap:20px;align-items:start}.schedule-card{overflow:hidden}.schedule-card-head{gap:20px;align-items:flex-start}.schedule-card-head h2{margin:2px 0 4px}.schedule-actions{display:flex;gap:9px;flex-wrap:wrap;justify-content:flex-end}.schedule-table-head,.schedule-row{display:grid;grid-template-columns:42px minmax(130px,1fr) minmax(190px,1.3fr) 144px 144px 42px;gap:10px;align-items:center}.schedule-table-head{padding:10px 8px 8px;color:var(--muted);font-size:11px;font-weight:850;letter-spacing:.08em;text-transform:uppercase;border-bottom:1px solid var(--line)}.schedule-rows{display:flex;flex-direction:column;gap:8px;padding-top:10px}.schedule-row{padding:8px;border:1px solid #e8ebf4;background:linear-gradient(180deg,#fff,#fbfcff);border-radius:14px}.schedule-row input,.schedule-row select{margin:0;padding:10px 11px;border-radius:11px}.schedule-row input[type="time"]{font-size:14px;padding-right:34px;min-width:0}.period-num{display:grid;place-items:center;width:34px;height:34px;border-radius:10px;background:#f0efff;color:var(--brand);font-size:12px;font-weight:900}.row-remove{width:34px;height:34px;border:0;border-radius:10px;background:#fff0f1;color:#b12737;font-size:22px;line-height:1}.row-remove .trash-icon{width:18px;height:18px;display:block;margin:auto}.schedule-footer{display:flex;align-items:center;gap:14px;margin-top:16px;padding-top:16px;border-top:1px solid var(--line)}.schedule-footer .status{margin:0;min-height:0}.live-now-card{position:sticky;top:108px;text-align:center;overflow:hidden}.live-now-card:before{content:"";display:block;height:5px;background:linear-gradient(90deg,var(--brand),var(--brand2),var(--brand3));margin:-24px -24px 20px}.live-now-icon{font-size:34px;margin:4px 0 8px}.live-now-card h2{font-size:25px;margin:3px 0 6px}.live-kicker{font-size:10px!important;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)!important;font-weight:850;margin:0}.live-course{font-weight:750;color:#4f5870!important}.dashboard-countdown{font-variant-numeric:tabular-nums;font-size:42px;font-weight:900;letter-spacing:.03em;color:#111827;margin-top:14px}.dashboard-countdown.urgent{color:#e53935}.countdown-note{font-size:11px;color:var(--muted);border-top:1px solid var(--line);margin-top:18px;padding-top:14px;line-height:1.45}
@media(max-width:1120px){.schedule-layout{grid-template-columns:1fr}.live-now-card{position:static}.schedule-table-head,.schedule-row{grid-template-columns:38px minmax(120px,1fr) minmax(170px,1.1fr) 136px 136px 38px}}
@media(max-width:820px){.schedule-table-head{display:none}.schedule-row{grid-template-columns:40px 1fr 40px}.schedule-row .period-label,.schedule-row .period-course,.schedule-row .period-start,.schedule-row .period-end{grid-column:2}.schedule-row .period-num{grid-column:1;grid-row:1}.schedule-row .row-remove{grid-column:3;grid-row:1}.schedule-actions{width:100%;justify-content:flex-start}.schedule-card-head{flex-direction:column}.schedule-hero-controls{min-width:0;width:100%}.live-badge{align-self:flex-start}}

/* Phase 3 — Display Hub pairing and device health */
.hub-layout{display:grid;grid-template-columns:minmax(330px,.72fr) minmax(0,1.28fr);gap:22px;align-items:start}.pair-hub-card{position:sticky;top:118px}.pair-code-input{font-size:34px!important;letter-spacing:.28em;text-align:center;font-weight:900;font-variant-numeric:tabular-nums;padding-left:.28em!important}.dev-simulator-box{margin-top:22px;padding:16px;border:1px dashed #cfc9ff;border-radius:16px;background:#f8f7ff}.dev-simulator-box p{font-size:12px;color:var(--muted);line-height:1.5}.link-button{display:inline-block;text-decoration:none;text-align:center}.hub-section-head{display:flex;align-items:end;justify-content:space-between;margin:0 2px 12px}.hub-section-head h2{margin:2px 0 0}.hub-cards{display:grid;gap:16px}.hub-card{padding:21px}.hub-card-top{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.hub-title-row{display:flex;align-items:center;gap:9px}.hub-title-row h3{margin:0;font-size:19px}.hub-online-dot{width:10px;height:10px;border-radius:50%;background:#9aa2b3;box-shadow:0 0 0 5px rgba(154,162,179,.12)}.hub-online-dot.online{background:#13a873;box-shadow:0 0 0 5px rgba(19,168,115,.12)}.hub-device-id{margin:5px 0 0 19px;color:var(--muted);font-size:11px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace}.hub-status-pill{border-radius:999px;padding:6px 10px;font-size:11px;font-weight:850}.hub-status-pill.online{background:#e8f8f1;color:#087b54}.hub-status-pill.offline{background:#f1f3f7;color:#697286}.hub-health-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:18px}.hub-health-grid>div{border:1px solid var(--line);border-radius:14px;padding:12px;background:#fbfcff}.hub-health-grid span,.hub-health-grid strong,.hub-health-grid small{display:block}.hub-health-grid span{font-size:10px;color:var(--muted);font-weight:850;letter-spacing:.08em;text-transform:uppercase}.hub-health-grid strong{font-size:14px;margin-top:4px}.hub-health-grid strong.ok{color:#087b54}.hub-health-grid strong.warn{color:#b7791f}.hub-health-grid strong.bad{color:#b12737}.hub-health-grid small{color:var(--muted);font-size:10px;margin-top:3px}.hub-actions{display:flex;gap:9px;margin-top:16px;flex-wrap:wrap}.hub-empty{text-align:center;padding:46px 24px;color:var(--muted)}.hub-empty h3{color:var(--ink);margin:8px 0}.hub-empty p{max-width:520px;margin:0 auto;line-height:1.5}.hub-empty-icon{font-size:42px;color:var(--brand)}.success-text{color:#087b54!important}.error-text{color:#b12737!important}
.pair-page,.sim-page{min-height:100vh;background:radial-gradient(circle at top left,#ece9ff,transparent 34%),radial-gradient(circle at bottom right,#dffcf5,transparent 25%),#f6f7fb}.pair-page{display:grid;place-items:center;padding:30px}.pair-shell{width:min(520px,94vw);text-align:left}.pair-logo{width:110px;height:110px;object-fit:contain;border-radius:18px;display:block;margin:0 0 18px}.pair-shell h1{margin:5px 0 8px}.pair-back{display:inline-block;text-decoration:none;margin-top:12px}.sim-page{display:grid;place-items:center;padding:24px}.sim-shell{width:min(760px,95vw);background:#fff;border:1px solid var(--line);border-radius:28px;box-shadow:var(--shadow);padding:34px;text-align:center}.sim-logo{width:108px;height:108px;object-fit:contain;border-radius:18px}.sim-shell h1{margin:8px 0 20px}.sim-state{min-height:330px;border-radius:24px;padding:30px;display:flex;flex-direction:column;align-items:center;justify-content:center;background:linear-gradient(145deg,#2f287d,#5b4ee8 60%,#7c3aed);color:#fff}.sim-state p{max-width:550px;line-height:1.5}.sim-label{font-size:11px!important;font-weight:850;letter-spacing:.18em;color:#d7d1ff}.sim-code{font-size:72px;line-height:1;font-weight:950;letter-spacing:.13em;font-variant-numeric:tabular-nums;margin:10px 0 14px}.sim-device-id{font-size:10px!important;color:#d7d1ff;overflow-wrap:anywhere}.sim-state .link-button{margin-top:8px;background:#fff;color:#4a3fd1}.sim-success{display:inline-block;background:#e8fff5;color:#087b54;padding:9px 14px;border-radius:999px;font-weight:850}.sim-error{color:#fff;background:#c23c55;padding:10px 14px;border-radius:12px}.sim-monitor-row{display:grid;grid-template-columns:1fr 1fr;gap:12px;width:min(520px,100%);margin-top:16px}.sim-monitor-row span{display:block;background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.2);padding:13px;border-radius:14px}.sim-monitor-row b{display:block;margin-top:4px}.sim-controls{display:flex;gap:16px;justify-content:center;align-items:center;flex-wrap:wrap;margin-top:18px}.sim-check{margin:0;display:flex;gap:7px;align-items:center}.sim-check input{width:auto}.sim-foot{font-size:11px;color:var(--muted);line-height:1.5;margin:18px auto 0;max-width:620px}.sim-spinner{width:42px;height:42px;border:4px solid rgba(255,255,255,.25);border-top-color:#fff;border-radius:50%;animation:simspin .8s linear infinite}@keyframes simspin{to{transform:rotate(360deg)}}
@media(max-width:980px){.hub-layout{grid-template-columns:1fr}.pair-hub-card{position:static}.hub-health-grid{grid-template-columns:1fr 1fr}}
@media(max-width:620px){.hub-health-grid,.sim-monitor-row{grid-template-columns:1fr}.sim-code{font-size:52px}.hub-section-head{align-items:flex-start;gap:10px}.pair-code-input{font-size:28px!important}}

/* 3.0.2 pairing QR + first-boot polish */
.sim-pair-grid{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(180px,.85fr);gap:28px;align-items:center;width:min(650px,100%)}
.sim-code-side,.sim-qr-side{min-width:0}.sim-qr-side{display:flex;flex-direction:column;align-items:center;justify-content:center}
.sim-qr-frame{background:#fff;border-radius:18px;padding:12px;box-shadow:0 12px 30px rgba(18,24,52,.24);width:min(210px,100%);aspect-ratio:1;display:grid;place-items:center}
.sim-qr{display:block;width:100%;height:100%;object-fit:contain}.sim-qr-help{margin:12px 0 0!important;font-size:13px!important;font-weight:750}.sim-qr-mobile{margin:3px 0 0!important;font-size:11px!important;color:#f3efff!important;text-transform:uppercase;letter-spacing:.08em;font-weight:850}
.sim-expiry{font-size:12px!important;color:#ddd8ff!important;font-variant-numeric:tabular-nums;margin:8px 0 0!important}.sim-normal-note{font-size:12px!important;color:#ddd8ff!important;margin-top:16px!important}
@media(max-width:680px){.sim-pair-grid{grid-template-columns:1fr}.sim-qr-frame{width:190px}.sim-code{font-size:48px}}

/* 3.2.0 — Today dashboard + friendly classroom visual system */
body{background:radial-gradient(circle at 8% 5%,#e7e2ff 0,transparent 24%),radial-gradient(circle at 92% 12%,#d8fff3 0,transparent 22%),radial-gradient(circle at 80% 88%,#ffe8d6 0,transparent 20%),linear-gradient(145deg,#f8f7ff,#f4faff 52%,#fff9f3)}
.topnav{border-bottom:0;box-shadow:0 12px 35px rgba(75,64,145,.09)}
.topnav nav{border:0;border-radius:999px;padding:7px;background:#f5f2ff;box-shadow:none}.navbtn{border-radius:999px;padding:11px 17px}.navbtn.active{color:#fff;background:linear-gradient(135deg,#6557ee,#8f63f5);box-shadow:0 9px 22px rgba(91,78,232,.25)}
.today-hero{position:relative;overflow:hidden;min-height:210px;border-radius:34px;padding:36px 40px;margin-bottom:22px;color:#fff;background:linear-gradient(125deg,#4739bf 0%,#7656ee 52%,#a15ee9 100%);box-shadow:0 25px 60px rgba(70,55,170,.22)}.today-hero-copy{position:relative;z-index:2}.today-hero .eyebrow{color:#e4ddff!important}.today-hero h1{font-size:clamp(38px,4vw,58px);line-height:1.02;margin:7px 0 9px;letter-spacing:-.035em}.today-hero p{margin:0;color:#eeeaff;font-size:16px}.today-pills{display:flex;gap:10px;flex-wrap:wrap;margin-top:24px}.bubble-pill{display:inline-flex;align-items:center;min-height:38px;padding:8px 14px;border-radius:999px;font-size:12px;font-weight:850;box-shadow:0 8px 22px rgba(31,25,95,.12)}.bubble-pill.lavender{background:#fff;color:#5b4ee8}.bubble-pill.mint{background:#dffcf2;color:#087b54}.today-orb{position:absolute;border-radius:50%;filter:blur(.2px);opacity:.23}.orb-one{width:260px;height:260px;right:-55px;top:-95px;background:#fff}.orb-two{width:130px;height:130px;right:190px;bottom:-75px;background:#ffe584}
.today-grid{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(280px,.65fr);gap:20px;align-items:start}.today-live-card,.up-next-card,.classroom-health-card{border-radius:30px;box-shadow:0 20px 50px rgba(49,49,100,.10);border:1px solid rgba(255,255,255,.8)}.today-live-card{padding:28px;background:rgba(255,255,255,.93)}.today-card-top{display:flex;justify-content:space-between;align-items:flex-start;gap:18px}.today-card-top h2{font-size:31px;margin:4px 0 3px;letter-spacing:-.025em}.today-course{margin:0;color:#667085;font-size:17px;font-weight:700}.live-pill{flex:none;border-radius:999px;padding:9px 14px;background:#dcfce9;color:#078052;font-size:12px;font-weight:900;box-shadow:0 8px 20px rgba(15,159,110,.14)}.today-countdown{display:inline-block;margin-top:15px;padding:8px 15px;border-radius:16px;background:#151a31;color:#fff;font-size:30px;line-height:1;font-weight:900;font-variant-numeric:tabular-nums;letter-spacing:.04em}.today-countdown.urgent{background:#e43f54}.intention-grid{display:grid;grid-template-columns:1fr 1fr;gap:15px;margin-top:24px}.intention-card{position:relative;overflow:hidden;min-height:235px;border-radius:26px;padding:23px;display:flex;gap:15px;align-items:flex-start}.intention-card:after{content:"";position:absolute;width:130px;height:130px;border-radius:50%;right:-55px;bottom:-65px;background:rgba(255,255,255,.45)}.intention-card.learning{background:linear-gradient(145deg,#e9efff,#dfe4ff);color:#243d9b}.intention-card.success-criteria{background:linear-gradient(145deg,#ddfaee,#d5f7f2);color:#116b62}.intention-icon{flex:none;width:48px;height:48px;border-radius:17px;display:grid;place-items:center;color:#fff;font-size:13px;font-weight:950;box-shadow:0 9px 20px rgba(34,45,100,.14)}.learning .intention-icon{background:linear-gradient(145deg,#5471f3,#7b5be9)}.success-criteria .intention-icon{background:linear-gradient(145deg,#10a67b,#2ab9a7)}.intention-card span{display:block;font-size:11px;font-weight:900;text-transform:uppercase;letter-spacing:.1em;opacity:.72;margin:4px 0 10px}.intention-card p{font-size:20px;line-height:1.45;font-weight:760;margin:0}.criteria-list p{font-size:17px;margin:0 0 8px}.criteria-list p:before{content:"✓";font-weight:950;margin-right:8px}.today-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:20px}.bubble-btn{border:0;border-radius:999px;padding:13px 18px;font-weight:850;box-shadow:0 10px 22px rgba(30,35,80,.09);cursor:pointer;transition:transform .16s ease,box-shadow .16s ease,filter .16s ease}.bubble-btn:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 14px 28px rgba(30,35,80,.14);filter:saturate(1.06)}.bubble-btn:active:not(:disabled){transform:translateY(0) scale(.98)}.bubble-btn:disabled{cursor:not-allowed;opacity:.48}.bubble-btn.purple{color:#fff;background:linear-gradient(135deg,#5b4ee8,#8b5cf6)}.bubble-btn.blue{color:#2853a8;background:#e2edff}.bubble-btn.peach{color:#a55224;background:#ffeadc}.bubble-btn.mint-btn{color:#087b54;background:#dff8ee;width:100%;margin-top:16px}
.today-side{display:grid;gap:20px}.up-next-card{position:relative;overflow:hidden;padding:25px;background:linear-gradient(150deg,#fff1df,#ffe4cb)}.up-next-card .eyebrow{color:#bb672f!important}.up-next-card h3{font-size:24px;margin:7px 0 5px}.up-next-card>p:not(.eyebrow){color:#8d5d42;font-weight:700;line-height:1.45}.up-next-icon{position:absolute;right:20px;top:18px;width:43px;height:43px;border:0;border-radius:15px;background:#fff7ef;color:#d67839;display:grid;place-items:center;font-size:25px;font-weight:900;cursor:pointer;transition:transform .16s ease,box-shadow .16s ease}.up-next-icon:hover:not(:disabled){transform:translateX(2px);box-shadow:0 8px 18px rgba(190,103,47,.16)}.up-next-icon:active:not(:disabled){transform:translateX(1px) scale(.96)}.up-next-icon:disabled{cursor:default;opacity:.45}.next-time{display:inline-block;margin-top:10px;padding:7px 11px;border-radius:999px;background:rgba(255,255,255,.72);color:#9a5d37;font-size:12px;font-weight:850}.classroom-health-card{padding:25px;background:linear-gradient(150deg,#edf9ff,#e9f5ff)}.classroom-health-card .eyebrow{color:#3178a8!important}.classroom-health-card h3{font-size:23px;margin:6px 0 16px}.today-hub-details{display:flex;align-items:center;gap:9px;padding:13px;border-radius:18px;background:rgba(255,255,255,.72);color:#36576d}.health-dot{width:11px;height:11px;border-radius:50%;background:#a6afbd;box-shadow:0 0 0 5px rgba(166,175,189,.15)}.health-dot.online{background:#13a873;box-shadow:0 0 0 5px rgba(19,168,115,.14)}
.primary,.success,.secondary,.danger{border-radius:999px}.card{border-radius:26px}.page-heading.hero{border-radius:30px}.lesson-item{border-radius:19px}.schedule-row{border-radius:18px}
@media(max-width:1050px){.today-grid{grid-template-columns:1fr}.today-side{grid-template-columns:1fr 1fr}.intention-card{min-height:210px}}
@media(max-width:720px){.today-hero{padding:28px 24px}.today-live-card{padding:20px}.today-side,.intention-grid{grid-template-columns:1fr}.today-card-top{flex-direction:column}.today-actions .bubble-btn{width:100%}.intention-card{min-height:0}}

/* 3.2.2 — larger controls, Today bell-schedule picker, larger lesson editor text */
.sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
.today-schedule-picker{margin:0;display:inline-flex;align-items:center;position:relative}.today-schedule-picker:after{content:"⌄";position:absolute;right:14px;top:50%;transform:translateY(-54%);pointer-events:none;color:#5b4ee8;font-size:17px;font-weight:950}.today-schedule-picker select{appearance:none;-webkit-appearance:none;width:auto;min-width:190px;min-height:44px;padding:10px 40px 10px 16px;border:0;border-radius:999px;background:#fff;color:#5b4ee8;font-size:13px;font-weight:900;box-shadow:0 8px 22px rgba(31,25,95,.12);cursor:pointer}.today-schedule-picker select:focus{border:0;box-shadow:0 0 0 4px rgba(255,255,255,.28),0 8px 22px rgba(31,25,95,.16)}
.bubble-btn{min-height:50px;padding:15px 23px;font-size:15px}.bubble-btn.mint-btn{min-height:50px}.up-next-icon{width:50px;height:50px;font-size:28px}.navbtn,.quiet{min-height:44px;padding:12px 19px}.primary,.success,.secondary,.danger{min-height:48px;padding:14px 20px;font-size:15px}.small{min-height:42px;padding:10px 15px;font-size:14px}
#liInput,#scInput{min-height:175px;padding:17px 18px;font-size:20px;line-height:1.55;font-weight:600}#liInput::placeholder,#scInput::placeholder{font-size:18px;font-weight:500}.editor label{font-size:15px}.editor #topicInput{font-size:17px;padding:14px 16px}
@media(max-width:720px){.today-schedule-picker,.today-schedule-picker select{width:100%}.today-schedule-picker select{min-width:0}}

/* 3.2.3 — larger primary actions */
.bubble-btn{padding:16px 24px;font-size:16px;min-height:52px}.today-actions{gap:14px}.classroom-health-card .bubble-btn{min-height:54px;font-size:16px}

/* 3.2.4 — teacher workflow polish */
/* Temporary wordmark removal while the new Ervina logo is being designed. */
.topnav{min-height:88px;padding:14px 34px;justify-content:center;gap:28px}.topnav nav{padding:10px 12px}.navbtn{min-height:52px;padding:14px 24px;font-size:16px;font-weight:850;letter-spacing:.01em}.account{position:absolute;right:34px}.quiet{font-size:15px}
.subject-picker{min-width:300px;margin:0}.subject-picker span{display:block;margin:0 0 8px;font-size:14px;font-weight:900;text-transform:uppercase;letter-spacing:.08em;color:#6b63a8}.subject-picker select{min-width:300px;min-height:52px;font-size:17px;font-weight:800;border-radius:16px;padding:12px 42px 12px 15px}
.course-row{display:flex;align-items:center;justify-content:space-between;gap:18px}.course-row>div{display:grid;gap:4px}.course-row .course-delete{flex:none;min-height:42px;padding:10px 16px;font-size:14px}
.schedule-layout{grid-template-columns:minmax(0,1fr) minmax(330px,430px)}.schedule-card{min-width:0}.schedule-table-head,.schedule-row{grid-template-columns:44px minmax(135px,1.05fr) minmax(190px,1.4fr) minmax(150px,.9fr) minmax(150px,.9fr) 42px}.schedule-row input[type=time]{min-width:150px;width:100%;padding:11px 10px;font-size:16px}.live-now-card{padding:32px}.live-now-card #liveNowContent h2{font-size:clamp(28px,2.2vw,38px)}.live-now-card #liveNowContent p{font-size:18px;line-height:1.5}.countdown-note{font-size:16px!important;line-height:1.5;font-weight:750}.schedule-hero>div:first-child>p:last-child{font-size:19px;line-height:1.5}.schedule-hero-controls label{font-size:16px;font-weight:850}.schedule-hero-controls select{min-height:52px;min-width:240px;font-size:17px;font-weight:800}.live-badge{font-size:18px!important;padding:12px 18px!important;font-weight:900!important}
.field-help{display:block;margin-top:7px;font-size:13px;line-height:1.4;color:#7a8191;font-weight:600}.hub-card{border-radius:28px}.hub-actions{gap:12px}.alert-restart,.alert-remove{min-height:50px;padding:13px 20px;border-radius:999px;font-size:15px;font-weight:900;cursor:pointer}.alert-restart{border:1px solid #f1a0a8;background:#fff0f1;color:#a91f31}.alert-restart:hover{background:#ffe1e4}.alert-remove{background:#9f1628!important;color:#fff!important;border-color:#9f1628!important}.alert-remove:hover{background:#7f1020!important}
@media(max-width:900px){.topnav{justify-content:flex-start;overflow-x:auto}.account{position:static;margin-left:auto}.schedule-layout{grid-template-columns:1fr}.schedule-table-head,.schedule-row{grid-template-columns:38px minmax(120px,1fr) minmax(160px,1.2fr) minmax(140px,.9fr) minmax(140px,.9fr) 38px;min-width:780px}.schedule-card{overflow-x:auto}}

/* 3.3.3 — multi-teacher workspace */
.team-hero{background:linear-gradient(135deg,#f1edff,#eef8ff)}
.team-layout{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(340px,.65fr);gap:22px;align-items:start}.team-members-card,.invite-teacher-card{padding:28px}.team-member-list{display:grid;gap:12px;margin-top:20px}.team-member-row{display:grid;grid-template-columns:52px minmax(0,1fr) auto;gap:14px;align-items:center;padding:15px 16px;border:1px solid #ececf4;border-radius:20px;background:#fbfbfe}.member-avatar{width:52px;height:52px;border-radius:18px;display:grid;place-items:center;background:linear-gradient(145deg,#6557e8,#8a67f4);color:#fff;font-weight:950;letter-spacing:.04em}.member-main{min-width:0;display:grid;gap:3px}.member-name{display:flex;align-items:center;gap:8px;min-width:0}.member-name strong{font-size:16px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.member-main>span{font-size:13px;color:#767c8d;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.you-chip,.role-chip{display:inline-flex;align-items:center;border-radius:999px;padding:6px 10px;font-size:11px;font-weight:900;letter-spacing:.05em}.you-chip{background:#e9e5ff;color:#5b4ee8}.role-chip.owner{background:#fff0cf;color:#8c5b00}.role-chip.admin{background:#e7edff;color:#3557b7}.role-chip.teacher{background:#e4f8ef;color:#167454}.member-role-select{min-width:120px;border-radius:999px;padding:9px 34px 9px 12px;font-weight:800}.invite-teacher-card h2{margin:4px 0 8px}.invite-teacher-card form{display:grid;gap:14px;margin-top:20px}.new-invite-result{margin-top:18px;padding:16px;border-radius:18px;background:#ebfaf3;border:1px solid #c9efdd}.new-invite-result>strong{display:block;color:#12734d;margin-bottom:10px}.new-invite-result small{display:block;margin-top:9px;color:#607269;line-height:1.45}.invite-link-row{display:flex;gap:8px}.invite-link-row input{min-width:0;font-size:12px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace}.invite-link-row button{flex:none}.pending-invites{margin-top:26px;padding-top:20px;border-top:1px solid #ececf4}.pending-invites h3{margin:0 0 12px}.pending-invite-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 0;border-bottom:1px solid #f0f0f5}.pending-invite-row>div{min-width:0;display:grid;gap:4px}.pending-invite-row strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pending-invite-row span{font-size:12px;color:#7a8191}.pending-invite-row .danger{min-height:38px;padding:8px 13px;font-size:12px}.invite-auth-card h2{font-size:30px;margin:5px 0 8px}.invite-summary{display:grid;grid-template-columns:auto 1fr;gap:7px 14px;margin:18px 0;padding:15px;border-radius:16px;background:#f6f5ff}.invite-summary span{color:#777d8d;font-size:13px;font-weight:800}.invite-summary strong{font-size:14px}.button-link{display:inline-flex;text-decoration:none;align-items:center;justify-content:center;margin-top:14px}
@media(max-width:900px){.team-layout{grid-template-columns:1fr}}@media(max-width:620px){.team-member-row{grid-template-columns:44px minmax(0,1fr)}.member-avatar{width:44px;height:44px}.member-role{grid-column:2}.member-role-select{width:100%}.invite-link-row{flex-direction:column}.invite-link-row button{width:100%}}

/* Ervina 3.3.4 */
.dual-monitor-mark{position:relative;display:block;width:132px;height:100px;flex:none}
.dual-monitor-mark .monitor{position:absolute;top:8px;width:72px;height:50px;border:5px solid rgba(255,255,255,.96);border-radius:12px;background:linear-gradient(145deg,rgba(255,255,255,.22),rgba(255,255,255,.07));box-shadow:0 16px 34px rgba(14,18,52,.28)}
.dual-monitor-mark .monitor-left{left:0;transform:rotate(-3deg)}
.dual-monitor-mark .monitor-right{right:0;top:18px;transform:rotate(3deg)}
.dual-monitor-mark .monitor:before{content:"";position:absolute;left:50%;bottom:-22px;width:8px;height:18px;transform:translateX(-50%);border-radius:0 0 5px 5px;background:rgba(255,255,255,.96)}
.dual-monitor-mark .monitor:after{content:"";position:absolute;left:50%;bottom:-27px;width:34px;height:6px;transform:translateX(-50%);border-radius:99px;background:rgba(255,255,255,.96)}
.dual-monitor-mark .monitor i{position:absolute;inset:7px;border-radius:6px;background:linear-gradient(145deg,#d8f7ff,#eef0ff 52%,#e4d8ff);box-shadow:inset 0 0 0 1px rgba(91,78,232,.15)}
.dual-monitor-mark .monitor i:before{content:"";position:absolute;left:9px;right:9px;top:11px;height:5px;border-radius:99px;background:#5b4ee8;box-shadow:0 10px 0 rgba(91,78,232,.28)}
.dual-monitor-mark .monitor i:after{content:"";position:absolute;left:9px;right:18px;bottom:8px;height:4px;border-radius:99px;background:#f2c94c}
.dev-verification-note{padding:10px 12px;border-radius:12px;background:#fff8dc;border:1px solid #f3dda1;color:#765719;line-height:1.45}
.dev-verification-note strong{color:#5e430f}
.team-member-actions{display:flex;align-items:center;gap:9px}
.remove-member{min-height:38px!important;padding:8px 13px!important;font-size:12px!important;background:#8d2131!important;color:#fff!important;box-shadow:0 8px 18px rgba(141,33,49,.18)!important}
.remove-member:hover{background:#721827!important}
@media(max-width:620px){.team-member-actions{grid-column:2;justify-content:flex-start;flex-wrap:wrap}.dual-monitor-mark{width:116px;height:90px}.dual-monitor-mark .monitor{width:64px;height:45px}}


/* Ervina 3.3.5 — authentication branding + destructive team-account safeguards */
.auth-brand-icon{width:138px;height:138px;object-fit:contain;border-radius:28px;background:transparent;padding:0;box-shadow:0 18px 42px rgba(13,18,48,.28)}
.remove-member{background:#7f1020!important;border-color:#7f1020!important;box-shadow:0 9px 20px rgba(127,16,32,.24)!important}
.remove-member:hover{background:#620b18!important;border-color:#620b18!important}
@media(max-width:620px){.auth-brand-icon{width:122px;height:122px}}

/* 3.3.8 teacher invitation workspace */
.teacher-invite-layout{display:grid;grid-template-columns:minmax(320px,.8fr) minmax(0,1.2fr);gap:22px;align-items:start}.teacher-pending-list{margin-top:18px;padding-top:0;border-top:0}@media(max-width:900px){.teacher-invite-layout{grid-template-columns:1fr}}


/* 3.4.1 — licensing administration */
.license-hero{background:linear-gradient(135deg,#f2efff,#eef9ff 58%,#effbf4)}.license-status-badge{display:inline-flex;align-items:center;justify-content:center;min-width:110px;padding:12px 18px;border-radius:999px;font-size:15px;font-weight:950;text-transform:uppercase;letter-spacing:.06em;background:#eef0f5;color:#5e6470}.license-status-badge.active,.license-status-badge.trialing{background:#dcf8eb;color:#13724d}.license-status-badge.past_due{background:#fff0d1;color:#8a5a00}.license-status-badge.expired,.license-status-badge.cancelled,.license-status-badge.suspended{background:#ffe2e6;color:#a51e35}.license-overview-grid{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(340px,.85fr);gap:22px;margin-bottom:22px}.license-plan-card,.license-capacity-card,.license-activity-card{padding:28px}.license-plan-head{display:flex;align-items:flex-start;justify-content:space-between;gap:18px}.license-plan-head h2{margin:4px 0 5px;font-size:32px}.license-kind-chip{display:inline-flex;padding:8px 12px;border-radius:999px;background:#ede9ff;color:#5949d8;font-size:12px;font-weight:950;text-transform:uppercase;letter-spacing:.06em}.license-facts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:22px}.license-facts>div{padding:16px;border-radius:18px;background:#f8f8fc;border:1px solid #ededf5}.license-facts span{display:block;margin-bottom:5px;font-size:12px;font-weight:900;text-transform:uppercase;letter-spacing:.055em;color:#85899a}.license-facts strong{font-size:16px}.license-dev-note{margin-top:18px;padding:14px 16px;border-radius:16px;background:#fff7dc;border:1px solid #f3dda0;color:#765719;font-weight:700;line-height:1.5}.capacity-block{margin-top:24px}.capacity-head{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;margin-bottom:9px}.capacity-head>div{display:grid;gap:4px}.capacity-head span{font-size:13px;color:#7c8291;font-weight:850}.capacity-head strong{font-size:18px}.capacity-track{height:15px;border-radius:999px;background:#ececf4;overflow:hidden}.capacity-fill{height:100%;width:0;border-radius:inherit;background:linear-gradient(90deg,#6254e8,#8d6df5);transition:width .35s ease}.capacity-fill.hub{background:linear-gradient(90deg,#2c9fc4,#5fcfa8)}.capacity-footnote{margin:18px 0 0;color:#777e8e;font-size:13px;line-height:1.55}.license-events{display:grid;gap:0;margin-top:12px}.license-event-row{display:grid;grid-template-columns:16px minmax(0,1fr);gap:13px;padding:15px 4px;border-bottom:1px solid #efeff5}.license-event-row:last-child{border-bottom:0}.license-event-dot{width:10px;height:10px;margin-top:7px;border-radius:50%;background:#6658e8;box-shadow:0 0 0 5px #eeeaff}.license-event-row strong{font-size:15px}.license-event-row p{margin:4px 0 5px;color:#606677;line-height:1.45}.license-event-row span{font-size:12px;color:#8b909d}@media(max-width:900px){.license-overview-grid{grid-template-columns:1fr}}@media(max-width:620px){.license-facts{grid-template-columns:1fr}.license-plan-head{flex-direction:column}}

/* 3.4.3 license lifecycle banner emphasis */
.license-access-banner{margin:18px auto 0;max-width:1280px;padding:21px 27px;border-radius:22px;display:flex;gap:18px;align-items:center;box-shadow:0 12px 32px rgba(107,22,37,.14);font-size:21px;line-height:1.45}.license-access-banner[hidden]{display:none}.license-access-banner strong{font-weight:950;white-space:nowrap;font-size:22px}.license-access-banner.warning{background:#ffe3e7;border:2px solid #e99aa6;color:#821d2e}.license-access-banner.blocked{background:#ffd7dd;border:2px solid #df7e8d;color:#7a1526}.license-dev-note.read-only{background:#ffe8eb;border-color:#efbec5;color:#8a2533}@media(max-width:700px){.license-access-banner{margin:12px 12px 0;padding:18px 20px;align-items:flex-start;flex-direction:column;gap:6px;font-size:18px}.license-access-banner strong{font-size:20px}}

/* 3.4.4 Ervina platform administration */
.platform-nav{background:linear-gradient(135deg,#1f2547,#5038a5)!important;color:#fff!important;border-color:transparent!important}
.platform-hero{background:linear-gradient(135deg,#f2f0ff,#eef6ff)}
.platform-admin-layout{display:grid;grid-template-columns:minmax(320px,.85fr) minmax(480px,1.35fr);gap:22px;align-items:start}
.platform-workspaces-card,.platform-license-editor{padding:24px}
.platform-tenant-list{display:grid;gap:10px;margin-top:16px;max-height:620px;overflow:auto;padding-right:4px}
.platform-tenant-row{width:100%;border:1px solid #e5e1f3;background:#fff;border-radius:16px;padding:15px 16px;display:flex;justify-content:space-between;gap:14px;align-items:center;text-align:left;cursor:pointer;box-shadow:0 5px 16px rgba(45,42,82,.05)}
.platform-tenant-row:hover{border-color:#b8a9ef;transform:translateY(-1px)}
.platform-tenant-row.selected{border:2px solid #7157d9;background:#f7f4ff}
.platform-tenant-row span:first-child{display:flex;flex-direction:column;gap:4px}.platform-tenant-row strong{font-size:16px}.platform-tenant-row small{color:#706c80}
.platform-usage-mini{font-size:12px;color:#5b5670;white-space:nowrap}
.platform-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px 16px;margin:18px 0}
.platform-license-editor textarea{resize:vertical}
.platform-license-warning{margin:18px 0;padding:16px 18px;border-radius:16px;background:#fff0f2;border:1px solid #efb6bf;color:#7d2030;display:flex;flex-direction:column;gap:4px}
.platform-license-warning strong{font-size:15px}
@media(max-width:950px){.platform-admin-layout{grid-template-columns:1fr}.platform-form-grid{grid-template-columns:1fr}}

/* 3.4.5 provider-neutral billing event foundation */
.platform-billing-grid{display:grid;grid-template-columns:minmax(520px,1.2fr) minmax(380px,.8fr);gap:22px;margin-top:22px}
.platform-billing-simulator,.platform-billing-history{padding:24px}
.billing-event-list{display:grid;gap:10px;margin-top:16px;max-height:720px;overflow:auto;padding-right:4px}
.billing-event-row{border:1px solid #e5e1f3;background:#fff;border-radius:15px;padding:14px 15px;display:flex;justify-content:space-between;align-items:center;gap:14px}
.billing-event-main{display:flex;flex-direction:column;gap:3px;min-width:0}.billing-event-main strong{font-size:15px}.billing-event-main span{color:#5d5870;font-size:13px}.billing-event-main small{color:#89849a;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:460px}
.billing-event-meta{display:flex;flex-direction:column;gap:6px;align-items:flex-end}.billing-event-meta small{color:#767184;max-width:180px;overflow:hidden;text-overflow:ellipsis}
.billing-event-status{font-size:11px;font-weight:900;text-transform:uppercase;letter-spacing:.04em;padding:5px 8px;border-radius:999px;background:#eeeaf7;color:#51496d}
.billing-event-status.processed{background:#e3f6e9;color:#24633a}.billing-event-status.failed{background:#ffe2e6;color:#8a1e2e}.billing-event-status.ignored{background:#fff1cf;color:#775715}.billing-event-status.received{background:#e8efff;color:#2b4b91}
@media(max-width:1100px){.platform-billing-grid{grid-template-columns:1fr}}

/* 3.4.6 billing event ID generator */
.billing-event-id-field{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;align-items:center}
.billing-event-id-field .compact-btn{min-height:44px;padding:0 14px;white-space:nowrap}
@media(max-width:650px){.billing-event-id-field{grid-template-columns:1fr}.billing-event-id-field .compact-btn{width:100%}}

/* 3.4.7 production billing adapter preparation */
.platform-adapter-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px;margin-top:22px}
.platform-provider-config,.platform-webhook-receipts{padding:24px}
.provider-config-list,.webhook-receipt-list{display:grid;gap:10px;margin-top:16px;max-height:460px;overflow:auto;padding-right:4px}
.provider-config-row,.webhook-receipt-row{border:1px solid #e5e1f3;background:#fff;border-radius:15px;padding:14px 15px;display:flex;justify-content:space-between;align-items:center;gap:14px}
.provider-config-row>div,.webhook-receipt-row>div{display:flex;flex-direction:column;gap:3px;min-width:0}
.provider-config-row strong,.webhook-receipt-row strong{font-size:15px}
.provider-config-row span:not(.provider-state),.webhook-receipt-row span{font-size:13px;color:#5d5870}
.provider-config-row small,.webhook-receipt-row small{color:#89849a;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:480px}
.provider-state{font-size:11px;font-weight:900;text-transform:uppercase;letter-spacing:.04em;padding:6px 9px;border-radius:999px}
.provider-state.enabled{background:#e3f6e9;color:#24633a}.provider-state.disabled{background:#ffe2e6;color:#8a1e2e}
.billing-event-status.disabled,.billing-event-status.rejected,.billing-event-status.invalid,.billing-event-status.failed{background:#ffe2e6;color:#8a1e2e}
.billing-event-status.accepted{background:#e3f6e9;color:#24633a}.billing-event-status.duplicate{background:#fff1cf;color:#775715}
@media(max-width:1100px){.platform-adapter-grid{grid-template-columns:1fr}}

/* 3.4.8 Stripe TEST adapter controls */
.stripe-adapter-form{margin-top:18px;padding-top:18px;border-top:1px solid #ebe7f4}
.stripe-enable-toggle{display:flex!important;flex-direction:row!important;align-items:center;gap:10px;font-weight:800;margin:8px 0 14px}
.stripe-enable-toggle input{width:20px!important;height:20px!important;min-height:0!important}
.provider-secret-readiness{border-radius:14px;padding:13px 15px;margin:10px 0 14px;display:flex;flex-direction:column;gap:3px}
.provider-secret-readiness.ready{background:#e6f7ec;border:1px solid #b6dfc3;color:#245f38}
.provider-secret-readiness.missing{background:#ffe8eb;border:1px solid #efb6bf;color:#812233}
.provider-secret-readiness strong{font-size:14px}.provider-secret-readiness span{font-size:13px}


/* 3.4.15 Stripe Checkout payment-method UX */
.stripe-checkout-card{margin-top:22px;padding:24px}
.checkout-test-badge{font-size:11px;font-weight:900;letter-spacing:.08em;padding:7px 10px;border-radius:999px;background:#fff1cf;color:#775715}
.checkout-plan-list{display:grid;gap:12px;margin-top:16px}
.checkout-plan-row{display:flex;align-items:center;justify-content:space-between;gap:22px;border:1px solid #e5e1f3;border-radius:17px;padding:18px;background:#fff}
.checkout-plan-row>div{min-width:0}.checkout-plan-name{display:block;font-size:13px;font-weight:900;color:#675f79;text-transform:uppercase;letter-spacing:.04em}
.checkout-plan-row strong{display:block;font-size:27px;margin-top:3px}.checkout-plan-row strong small{font-size:14px;color:#777184}.checkout-plan-row p{margin:7px 0 0;color:#706a80;max-width:720px}
.checkout-readiness-note{border-radius:13px;padding:11px 13px;font-size:13px;font-weight:700}.checkout-readiness-note.ready{background:#e6f7ec;color:#245f38}.checkout-readiness-note.missing{background:#ffe8eb;color:#812233}
.checkout-handoff{margin-top:18px;border:1px solid #ded8ef;background:linear-gradient(135deg,#fbfaff,#f4f0ff);border-radius:20px;padding:20px;display:grid;grid-template-columns:190px 1fr;gap:22px;align-items:center}.checkout-handoff[hidden]{display:none!important}
.checkout-qr-wrap{background:#fff;border-radius:16px;padding:12px;border:1px solid #e5e1f3;text-align:center}.checkout-qr-wrap img{display:block;width:164px;height:164px;margin:auto}.checkout-qr-wrap span{display:block;font-size:12px;font-weight:900;margin-top:8px;color:#5d5870}
.checkout-handoff-copy strong{font-size:20px}.checkout-handoff-copy p{color:#6f687e;line-height:1.5}
.button-link{display:inline-flex;align-items:center;justify-content:center;text-decoration:none}
.stripe-test-catalog{padding:24px;margin-top:22px}
.billing-plan-catalog{display:grid;gap:10px;margin-top:16px}
.billing-plan-catalog-row{display:flex;justify-content:space-between;align-items:center;gap:18px;border:1px solid #e5e1f3;border-radius:15px;padding:15px}
.billing-plan-catalog-row>div:first-child{display:flex;flex-direction:column;gap:3px}.billing-plan-catalog-row span,.billing-plan-catalog-row small{color:#6d677c}.billing-plan-actions{display:flex;align-items:center;gap:8px}
.checkout-return-page{min-height:100vh;display:grid;place-items:center;padding:24px;background:linear-gradient(145deg,#f8f5ff,#eef5ff)}
.checkout-return-card{width:min(620px,100%);background:#fff;border:1px solid #e4def1;border-radius:26px;padding:38px;box-shadow:0 20px 70px rgba(49,37,79,.12);text-align:center}
.checkout-return-mark{width:64px;height:64px;border-radius:20px;display:grid;place-items:center;margin:0 auto 18px;background:#6948c7;color:white;font-weight:900;font-size:30px}
.checkout-return-card h1{font-size:32px;margin:7px 0 10px}.checkout-return-card>p{color:#655f74;font-size:17px;line-height:1.55}
.checkout-return-note{margin:22px 0;padding:14px 16px;border-radius:15px;background:#f5f2fb;color:#625a72;line-height:1.45}
@media(max-width:760px){
  .checkout-plan-row,.billing-plan-catalog-row{align-items:stretch;flex-direction:column}
  .checkout-plan-row button,.billing-plan-actions,.billing-plan-actions button{width:100%}
  .checkout-handoff{grid-template-columns:1fr}.checkout-qr-wrap{width:190px;margin:auto}
}

/* 3.4.15 checkout payment-method badges */
.checkout-payment-methods{display:flex;flex-wrap:wrap;gap:9px;margin:12px 0 6px}
.payment-method-badge{display:inline-flex;align-items:center;gap:7px;padding:8px 11px;border:1px solid #ded8eb;border-radius:12px;background:#fff;color:#312c3e;font-size:13px;font-weight:800;box-shadow:0 2px 8px rgba(45,36,74,.04)}
.payment-method-badge b{display:inline-flex;align-items:center;justify-content:center;min-width:18px;font-size:15px}
.payment-method-badge.apple-pay b{font-size:20px;line-height:1}
.payment-method-badge.google-pay b{font-weight:900}
.payment-method-badge.link-pay b{color:#635bff}
.checkout-payment-note{font-size:12px!important;color:#81798f!important;margin:4px 0 12px!important}
@media(max-width:560px){
  .checkout-payment-methods{gap:7px}
  .payment-method-badge{font-size:12px;padding:7px 9px}
}

/* 3.4.15 corrected checkout: desktop payment and phone QR are equal choices */
.checkout-payment-choice-grid{
  display:grid;
  grid-template-columns:minmax(0,1.35fr) minmax(220px,.65fr);
  gap:14px;
  margin:14px 0 10px;
}
.checkout-payment-choice{
  border:1px solid #ded8eb;
  border-radius:16px;
  background:#fff;
  padding:16px;
  display:flex;
  gap:14px;
  align-items:flex-start;
}
.desktop-payment-choice{background:linear-gradient(180deg,#fff,#fbfaff)}
.phone-payment-choice{background:linear-gradient(180deg,#fff,#fafcff)}
.checkout-choice-icon{
  width:44px;height:44px;border-radius:12px;
  display:flex;align-items:center;justify-content:center;
  background:#f2efff;font-size:22px;flex:0 0 auto;
}
.checkout-choice-copy h4{margin:0 0 5px;font-size:17px}
.checkout-choice-copy p{margin:0 0 10px!important}
.checkout-pay-now{display:inline-flex!important;margin-top:6px}.checkout-pay-now[aria-disabled="true"]{pointer-events:none;opacity:.55}
@media(max-width:760px){
  .checkout-payment-choice-grid{grid-template-columns:1fr}
}

/* 3.4.15 Checkout readability + QR reliability */
.checkout-handoff{
  display:block;
  padding:28px;
}
.checkout-handoff-copy>strong{
  display:block;
  font-size:30px;
  line-height:1.2;
  margin-bottom:12px;
}
.checkout-handoff-copy .checkout-intro{
  font-size:24px;
  line-height:1.55;
  margin:0 0 18px;
}
.checkout-payment-choice-grid{
  grid-template-columns:minmax(0,1.35fr) minmax(310px,.65fr);
  gap:20px;
}
.checkout-payment-choice{
  padding:24px;
  border-radius:20px;
  gap:18px;
}
.checkout-choice-icon{
  width:64px;
  height:64px;
  border-radius:16px;
  font-size:34px;
}
.checkout-choice-copy{
  width:100%;
}
.checkout-choice-copy h4{
  font-size:26px;
  margin:0 0 8px;
  line-height:1.25;
}
.checkout-choice-copy p{
  font-size:21px;
  line-height:1.5;
  margin:0 0 14px!important;
}
.checkout-payment-methods{
  gap:12px;
  margin:16px 0 14px;
}
.payment-method-badge{
  min-height:52px;
  padding:10px 15px;
  gap:10px;
  border-radius:14px;
  font-size:19px;
}
.payment-method-badge b{
  min-width:30px;
  font-size:30px;
  line-height:1;
}
.payment-method-badge.apple-pay b{
  font-size:40px;
}
.payment-method-badge.google-pay b,
.payment-method-badge.link-pay b,
.payment-method-badge.bank-pay b{
  font-size:30px;
}
.payment-method-badge.card-brand{
  min-width:88px;
  justify-content:center;
}
.payment-method-badge.card-brand b{
  font-size:27px;
  min-width:auto;
  letter-spacing:.02em;
}
.visa-brand b{font-style:italic;font-weight:950}
.mastercard-brand b{font-weight:950}
.amex-brand b{font-weight:950;letter-spacing:-.04em}
.checkout-pay-now{
  min-height:56px;
  padding:13px 24px!important;
  font-size:20px!important;
}
.checkout-payment-note{
  font-size:18px!important;
  line-height:1.5!important;
  margin:10px 0 14px!important;
}
#stripeCheckoutStatus{
  font-size:18px;
}
.phone-payment-choice .checkout-choice-copy{
  display:flex;
  flex-direction:column;
  align-items:flex-start;
}
.phone-payment-choice .checkout-qr-wrap{
  width:260px;
  max-width:100%;
  margin:8px auto 16px;
  padding:14px;
  align-self:center;
}
.phone-payment-choice .checkout-qr-wrap img{
  width:230px;
  height:230px;
  max-width:100%;
  object-fit:contain;
}
.phone-payment-choice .checkout-qr-wrap span{
  font-size:16px;
  margin-top:10px;
}
.checkout-qr-wrap.qr-load-error{
  min-height:260px;
  display:flex;
  align-items:center;
  justify-content:center;
  flex-direction:column;
}
.checkout-qr-wrap.qr-load-error::before{
  content:"QR code could not load. Use Pay securely now.";
  font-size:17px;
  font-weight:800;
  color:#812233;
  text-align:center;
  padding:20px;
}
.checkout-qr-wrap.qr-load-error img,
.checkout-qr-wrap.qr-load-error span{
  display:none;
}
.phone-payment-choice .secondary{
  font-size:18px;
  min-height:50px;
  padding:10px 18px;
}
@media(max-width:900px){
  .checkout-payment-choice-grid{grid-template-columns:1fr}
  .phone-payment-choice .checkout-qr-wrap{margin-left:0}
}
@media(max-width:560px){
  .checkout-handoff{padding:18px}
  .checkout-handoff-copy>strong{font-size:26px}
  .checkout-handoff-copy .checkout-intro{font-size:20px}
  .checkout-choice-copy h4{font-size:23px}
  .checkout-choice-copy p{font-size:18px}
  .payment-method-badge{font-size:17px}
}

/* 3.4.15 QR DOM rendering + real payment logos */
.payment-logo-badge{
  min-width:138px;
  height:76px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border:1px solid #ded8eb;
  border-radius:15px;
  background:#fff;
  padding:8px 14px;
  overflow:hidden;
  box-shadow:0 2px 8px rgba(45,36,74,.04);
}
.payment-logo-badge img{
  display:block;
  width:auto;
  max-width:118px;
  max-height:58px;
  object-fit:contain;
}
.payment-logo-badge.dark-logo{
  background:#222;
  border-color:#222;
}
.payment-logo-badge.dark-logo img{
  max-width:122px;
  max-height:60px;
}
.checkout-qr-svg{
  width:230px;
  height:230px;
  max-width:100%;
  display:flex;
  align-items:center;
  justify-content:center;
  background:#fff;
}
.checkout-qr-svg svg{
  display:block;
  width:100%!important;
  height:100%!important;
  max-width:230px;
  max-height:230px;
}
.checkout-qr-error{
  font-size:17px;
  line-height:1.4;
  font-weight:800;
  color:#812233;
  text-align:center;
  padding:18px 10px;
}
.checkout-qr-wrap.qr-load-error .checkout-qr-svg{
  display:none;
}
.checkout-qr-wrap.qr-load-error::before{
  content:none!important;
}
.checkout-qr-wrap.qr-load-error .checkout-qr-error{
  display:block;
}
@media(max-width:560px){
  .payment-logo-badge{
    min-width:118px;
    height:66px;
  }
  .payment-logo-badge img{
    max-width:102px;
    max-height:50px;
  }
}

/* 3.4.15 QR PNG rendering */
.checkout-qr-png{
  display:block;
  width:230px;
  height:230px;
  max-width:100%;
  object-fit:contain;
  image-rendering:pixelated;
  background:#fff;
}
.checkout-qr-wrap.qr-load-error .checkout-qr-png{display:none!important}

/* 3.5.0 Pricing & Plans */
.pricing-plans-card{overflow:hidden}
.pricing-plan-grid{grid-template-columns:repeat(3,minmax(0,1fr));align-items:stretch}
.pricing-plan-editor{border:1px solid #e5e1f3;border-radius:18px;padding:18px;display:flex;flex-direction:column;gap:14px;background:#fff}
.pricing-plan-editor-head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}
.pricing-plan-editor-head>div{display:flex;flex-direction:column;gap:3px}
.pricing-plan-editor-head strong{font-size:1.08rem}.pricing-plan-editor-head small{color:#756f83}
.pricing-plan-type{display:inline-flex;width:max-content;padding:4px 9px;border-radius:999px;background:#f0edfb;color:#442f88;font-size:.74rem;font-weight:800;letter-spacing:.04em;text-transform:uppercase}
.pricing-plan-enabled{display:flex!important;flex-direction:row!important;align-items:center;gap:7px;font-weight:700;white-space:nowrap}
.pricing-plan-enabled input{width:auto!important;margin:0}
.pricing-plan-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.pricing-money-input{display:flex;align-items:center;border:1px solid #d8d2e6;border-radius:10px;background:#fff;overflow:hidden}
.pricing-money-input span{padding-left:11px;color:#645d74;font-weight:700}.pricing-money-input input{border:0!important;box-shadow:none!important;padding-left:5px!important}
.pricing-plan-stripe-state{border-radius:12px;padding:11px 12px;display:flex;flex-direction:column;gap:5px}
.pricing-plan-stripe-state>div{display:flex;justify-content:space-between;gap:10px;align-items:center}.pricing-plan-stripe-state span,.pricing-plan-stripe-state small{font-size:.78rem}
.pricing-plan-stripe-state.ready{background:#edf8f1;border:1px solid #cce8d6}.pricing-plan-stripe-state.ready strong{color:#24673d}
.pricing-plan-stripe-state.missing{background:#fff7e7;border:1px solid #f1ddb0}.pricing-plan-stripe-state.missing strong{color:#855a10}
.pricing-plan-actions{display:flex;justify-content:flex-end;margin-top:0}.pricing-plan-actions button{min-width:150px}
.pricing-grandfather-note{margin-top:14px}
@media(max-width:1100px){.pricing-plan-grid{grid-template-columns:1fr}.pricing-plan-form-grid{grid-template-columns:1fr 1fr}}
@media(max-width:620px){.pricing-plan-form-grid{grid-template-columns:1fr}.pricing-plan-editor-head,.pricing-plan-stripe-state>div{flex-direction:column}.pricing-plan-actions button{width:100%}}


/* 3.5.1 Pricing History & Subscriber Migration */
.pricing-history-block{border-top:1px solid #ece8f5;padding-top:13px;margin-top:2px;display:flex;flex-direction:column;gap:9px}
.pricing-history-head{display:flex;justify-content:space-between;align-items:flex-start;gap:10px}.pricing-history-head>div{display:flex;flex-direction:column;gap:2px}.pricing-history-head small{color:#756f83;font-size:.76rem}
.pricing-history-list{display:flex;flex-direction:column;gap:8px}.pricing-history-row{border:1px solid #e8e4f0;border-radius:12px;padding:10px;background:#faf9fd;display:flex;flex-direction:column;gap:8px}.pricing-history-row.current{border-color:#cce8d6;background:#f4fbf6}
.pricing-history-main{display:flex;flex-direction:column;gap:3px;min-width:0}.pricing-history-main>div{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.pricing-history-main strong small{font-weight:600;color:#756f83}.pricing-history-main>span,.pricing-history-main>small{font-size:.74rem;color:#756f83;overflow-wrap:anywhere}
.pricing-history-badge{display:inline-flex;padding:3px 7px;border-radius:999px;font-size:.62rem;font-weight:900;letter-spacing:.04em}.pricing-history-badge.current{background:#dff3e5;color:#24673d}.pricing-history-badge.grandfathered{background:#fff0ce;color:#7d5310}.pricing-history-badge.historical{background:#ece9f4;color:#665d78}
.pricing-history-actions{display:flex;gap:8px;justify-content:flex-end;flex-wrap:wrap}.pricing-history-actions .compact-btn{min-width:0}.pricing-history-note{color:#756f83}
@media(max-width:620px){.pricing-history-actions{flex-direction:column}.pricing-history-actions button{width:100%}}


/* 3.5.1 Pricing & Plans readability */
.pricing-plans-card{
  font-size:1.3rem;
}
.pricing-plans-card input,
.pricing-plans-card textarea,
.pricing-plans-card button,
.pricing-plans-card label{
  font-size:1em;
}
.pricing-plan-editor{
  border:3px solid #173a6b;
}
.pricing-plan-editor-head strong{
  font-size:1.4rem;
}
.pricing-plan-type{
  font-size:.96rem;
}
.pricing-plan-stripe-state span,
.pricing-plan-stripe-state small{
  font-size:1rem;
}


/* 3.5.10 Billing Recovery */
.billing-recovery-panel{margin-top:16px;padding:16px;border:2px solid #d97706;border-radius:14px;background:#fff7ed;display:flex;align-items:center;gap:14px}
.billing-recovery-panel[hidden]{display:none!important}
.billing-recovery-icon{width:38px;height:38px;border-radius:50%;background:#d97706;color:#fff;font-size:1.35rem;font-weight:800;display:flex;align-items:center;justify-content:center;flex:0 0 auto}
.billing-recovery-copy{display:flex;flex-direction:column;gap:4px;flex:1}
.billing-recovery-copy strong{font-size:1.05rem;color:#7c2d12}
.billing-recovery-copy span{font-size:.9rem;color:#7c4a20;line-height:1.45}
.billing-recovery-panel .primary{white-space:nowrap}
@media(max-width:680px){.billing-recovery-panel{align-items:stretch;flex-direction:column}.billing-recovery-panel .primary{width:100%}}

/* 3.5.10 Customer Subscription Management */
.subscription-management{margin-top:16px;padding:14px 15px;border:1px solid #d8d2e6;border-radius:14px;background:#f8f7fc;display:flex;align-items:center;justify-content:space-between;gap:14px}
.subscription-management[hidden]{display:none!important}
.subscription-management-copy{display:flex;flex-direction:column;gap:4px}
.subscription-management-copy strong{font-size:1rem;color:#2c2440}
.subscription-management-copy span{font-size:.86rem;color:#6f687c;line-height:1.4}
.subscription-management .primary{white-space:nowrap}
.subscription-cancel-note{margin-top:10px;padding:10px 12px;border-radius:10px;background:#fff3d9;border:1px solid #ead39b;color:#6f4b0a;font-weight:700;font-size:.9rem}
@media(max-width:680px){.subscription-management{align-items:stretch;flex-direction:column}.subscription-management .primary{width:100%}}


/* 3.5.10 Checkout QR placeholder */
.checkout-qr-placeholder{
  width:240px;
  min-height:240px;
  box-sizing:border-box;
  border:2px dashed #d8d2e6;
  border-radius:14px;
  background:#faf9ff;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:8px;
  padding:20px;
  text-align:center;
  color:#6f687c
}
.checkout-qr-placeholder[hidden]{display:none!important}
.checkout-qr-placeholder-mark{
  width:72px;
  height:72px;
  border-radius:16px;
  background:#eee9ff;
  display:grid;
  place-items:center;
  color:#5b46dd;
  font-size:1.35rem;
  font-weight:800;
  letter-spacing:.08em
}
.checkout-qr-placeholder strong{color:#2c2440;font-size:.95rem}
.checkout-qr-placeholder small{font-size:.8rem;line-height:1.35}
.checkout-qr-png[hidden],
#stripeCheckoutQrCaption[hidden],
#stripeCheckoutDismissBtn[hidden]{display:none!important}

/* 3.5.15 platform runtime operations status */
.platform-operations-card{padding:24px;margin-bottom:22px}
.platform-operations-status{margin-top:16px}
.operations-summary-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px}
.operations-summary-tile{border:1px solid #e4e1ef;border-radius:16px;background:linear-gradient(145deg,#fbfaff,#f6f8ff);padding:15px 16px;display:flex;flex-direction:column;gap:4px}
.operations-summary-tile span{font-size:11px;font-weight:900;letter-spacing:.07em;text-transform:uppercase;color:#7c7890}
.operations-summary-tile strong{font-size:22px;color:#2d2940}
.operations-summary-tile small{font-size:12px;color:#777287}
.operations-check-list{display:grid;gap:9px;margin-top:14px}
.operations-check-row{border:1px solid #ebe8f2;border-radius:14px;background:#fff;padding:13px 14px;display:flex;align-items:center;justify-content:space-between;gap:16px}
.operations-check-row>div{display:flex;flex-direction:column;gap:3px;min-width:0}
.operations-check-row strong{font-size:14px;color:#332e44}
.operations-check-row span:not(.operations-state){font-size:12px;color:#747083;line-height:1.4}
.operations-state{flex:0 0 auto;font-size:11px;font-weight:900;text-transform:uppercase;letter-spacing:.04em;padding:6px 9px;border-radius:999px;background:#efedf5;color:#5e5870}
.operations-state.good{background:#e3f6e9;color:#24633a}
.operations-state.warn{background:#fff1cf;color:#775715}
@media(max-width:980px){.operations-summary-grid{grid-template-columns:1fr 1fr}}
@media(max-width:620px){.operations-summary-grid{grid-template-columns:1fr}.operations-check-row{align-items:flex-start;flex-direction:column}}


/* 3.5.15 Production Operations typography refinement */
.production-operations-card{
  font-size:110%;
}
.production-operations-card .production-operations-eyebrow{
  font-size:125% !important;
}
.production-operations-card h2{
  font-size:110%;
}
.production-operations-card .subtle,
.production-operations-card button,
.production-operations-card .platform-operations-status{
  font-size:110%;
}


/* 3.5.18 persistent security audit / operations history */
.platform-operations-card{font-size:110%}
.platform-operations-card .production-operations-eyebrow{font-size:125% !important}
.platform-operations-card h2{font-size:110%}
.operations-security-section{margin-top:18px;border-top:1px solid #e7e3ef;padding-top:16px}
.operations-security-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px}
.operations-security-head>div{display:flex;flex-direction:column;gap:3px}
.operations-security-head strong{font-size:15px;color:#332e44}
.operations-security-head span{font-size:12px;color:#747083}
.operations-security-events{display:grid;gap:8px}
.operations-security-event{border:1px solid #ebe8f2;border-radius:13px;background:#fff;padding:11px 13px;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:14px;align-items:center}
.operations-security-event.error{border-color:#f0c9cf;background:#fff9fa}
.operations-security-event>div:first-child{display:flex;flex-direction:column;gap:2px}
.operations-security-event strong{font-size:13px;color:#332e44}
.operations-security-event span{font-size:11px;color:#777287}
.operations-security-event-meta{display:flex;flex-direction:column;gap:2px;text-align:right;max-width:430px}
@media(max-width:1180px){.operations-summary-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:760px){.operations-summary-grid{grid-template-columns:1fr 1fr}.operations-security-event{grid-template-columns:1fr}.operations-security-event-meta{text-align:left}}
@media(max-width:520px){.operations-summary-grid{grid-template-columns:1fr}}


/* 3.5.18 account/session security */
.account-security-grid{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(340px,.7fr);gap:18px;align-items:start}.account-security-grid.teacher-account-simple{grid-template-columns:minmax(340px,620px);justify-content:center}.auth-plan-summary{margin:0 0 14px;padding:12px 14px;border:1px solid #bfd8ff;border-radius:10px;background:#eff6ff;color:#123f75;font-size:13px;font-weight:750;line-height:1.45}.billing-consent{display:flex!important;align-items:flex-start!important;gap:9px;margin:12px 0 14px;font-size:11px!important;line-height:1.45!important;color:#44556d!important}.billing-consent input{width:16px!important;min-width:16px;height:16px;margin-top:2px}.billing-consent a{color:#1769d2;font-weight:750}
.account-security-status{margin-top:6px}
.account-security-facts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.account-security-facts>div{border:1px solid #ebe8f2;border-radius:14px;padding:12px 14px;background:#fbfaff;display:flex;flex-direction:column;gap:4px}
.account-security-facts span{font-size:11px;text-transform:uppercase;letter-spacing:.08em;color:#7c758c}
.account-security-facts strong{font-size:14px;color:#2f2940;overflow-wrap:anywhere}
.account-security-badges{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px}
.account-security-badges span{font-size:12px;font-weight:700;color:#276749;background:#edfdf4;border:1px solid #cdeedb;border-radius:999px;padding:7px 10px}
.account-session-action{margin-top:16px;padding:14px;border:1px solid #ded9e9;border-radius:14px;display:flex;align-items:center;justify-content:space-between;gap:16px}
.account-session-action>div{display:flex;flex-direction:column;gap:4px}.account-session-action span{font-size:12px;color:#746e80}
.account-password-card form{margin-top:14px}.account-password-card .field-help{display:block;margin-top:5px;color:#7a7484;font-size:11px}
@media(max-width:960px){.account-security-grid{grid-template-columns:1fr}}
@media(max-width:620px){.account-security-facts{grid-template-columns:1fr}.account-session-action{align-items:stretch;flex-direction:column}}

/* 3.5.19 account lockout defense / platform unlock controls */
.platform-account-defense-card{margin-bottom:22px}
.platform-locked-accounts{display:grid;gap:9px;margin-top:14px}
.platform-locked-account{border:1px solid #ebe8f2;border-radius:14px;background:#fff;padding:13px 14px;display:flex;align-items:center;justify-content:space-between;gap:16px}
.platform-locked-account>div{display:flex;flex-direction:column;gap:3px;min-width:0}
.platform-locked-account strong{font-size:14px;color:#332e44}
.platform-locked-account span,.platform-locked-account small{font-size:12px;color:#747083;line-height:1.4;overflow-wrap:anywhere}
@media(max-width:700px){.platform-locked-account{align-items:stretch;flex-direction:column}}

/* Ervina 3.5.21 — Platform Account Security Center */
.platform-account-security-toolbar{display:grid;grid-template-columns:minmax(240px,1fr) minmax(180px,.45fr) auto auto;gap:10px;align-items:end;margin:14px 0 6px}
.platform-account-security-toolbar label{margin:0}
.platform-account-security-row{align-items:flex-start}
.platform-account-security-copy{flex:1;min-width:0}
.platform-account-security-title{display:flex;align-items:center;gap:9px;flex-wrap:wrap}
.account-admin-badges{display:flex;align-items:center;gap:5px;flex-wrap:wrap}
.account-admin-badge{font-size:10px;font-weight:800;letter-spacing:.04em;border-radius:999px;padding:4px 7px;border:1px solid #e7e2ef;background:#f6f4fa;color:#6a6377}
.account-admin-badge.good{background:#edfdf4;border-color:#cdeedb;color:#276749}
.account-admin-badge.warn{background:#fff8e7;border-color:#f0dda3;color:#8b6500}
.account-admin-badge.danger{background:#fff0f0;border-color:#efc7c7;color:#a13a3a}
.account-admin-badge.neutral{background:#f5f3f9;border-color:#e7e2ef;color:#5f596d}
.platform-account-actions{display:flex;gap:7px;flex-wrap:wrap;justify-content:flex-end;max-width:470px}
.platform-account-actions .secondary{white-space:nowrap}
.account-admin-self-note{font-size:11px;color:#777084;background:#f5f3f9;border:1px solid #e7e2ef;border-radius:999px;padding:7px 9px;white-space:nowrap}
@media(max-width:980px){.platform-account-security-toolbar{grid-template-columns:1fr 1fr}.platform-account-security-toolbar button{width:100%}}
@media(max-width:700px){.platform-account-security-toolbar{grid-template-columns:1fr}.platform-account-actions{justify-content:flex-start;max-width:none}.platform-account-security-title{align-items:flex-start;flex-direction:column}}

/* Ervina 3.5.21 — Workspace Governance & Team Operations */
.team-governance-summary{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:10px;margin-bottom:16px}
.team-governance-summary>div{border:1px solid #e8e4f1;border-radius:14px;background:#fff;padding:12px 14px;display:flex;flex-direction:column;gap:3px}
.team-governance-summary span{font-size:11px;color:#777287;text-transform:uppercase;letter-spacing:.06em}
.team-governance-summary strong{font-size:20px;color:#282338}
.team-member-toolbar{display:grid;grid-template-columns:minmax(220px,1fr) 190px auto;gap:10px;align-items:end;margin:14px 0}
.team-member-toolbar label{margin:0}
.team-member-toolbar button{height:42px;white-space:nowrap}
.member-main small{display:block;margin-top:4px;color:#777287;font-size:11px}
.member-security-chip{display:inline-flex;align-items:center;border-radius:999px;padding:3px 8px;font-size:10px;font-weight:700;margin-left:8px;border:1px solid #e5e1ec}
.member-security-chip.active{background:#e9f8ef;color:#1d6c3c;border-color:#d3eedf}
.member-security-chip.locked{background:#fff2d9;color:#8b5b00;border-color:#f4dfb2}
.member-security-chip.disabled{background:#fdecee;color:#9d2937;border-color:#f1c9cf}
.team-member-actions{display:flex;align-items:center;gap:7px;flex-wrap:wrap;justify-content:flex-end}
.team-member-actions .secondary,.team-member-actions .danger{padding:8px 10px;font-size:11px}
.invite-row-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap;justify-content:flex-end}
.invite-row-actions button{padding:7px 9px;font-size:11px}
.team-governance-grid{display:grid;grid-template-columns:minmax(340px,.8fr) minmax(0,1.2fr);gap:18px;margin-top:18px;align-items:start}
.workspace-governance-card form,.ownership-transfer{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:end;margin-top:12px}
.workspace-governance-card .status{grid-column:1/-1;margin:0}
.ownership-transfer{padding-top:16px;border-top:1px solid #ebe8f2}
.team-activity-list{display:grid;gap:8px;margin-top:8px}
.team-activity-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:14px;align-items:center;border:1px solid #ebe8f2;border-radius:13px;padding:11px 13px;background:#fff}
.team-activity-row>div{display:flex;flex-direction:column;gap:2px}
.team-activity-row>div:last-child{text-align:right;align-items:flex-end}
.team-activity-row strong{font-size:13px;color:#332e44}
.team-activity-row span,.team-activity-row small{font-size:11px;color:#777287}
@media(max-width:1180px){.team-governance-summary{grid-template-columns:repeat(3,minmax(0,1fr))}.team-governance-grid{grid-template-columns:1fr}.team-member-toolbar{grid-template-columns:1fr 180px}}
@media(max-width:760px){.team-governance-summary{grid-template-columns:1fr 1fr}.team-member-toolbar{grid-template-columns:1fr}.workspace-governance-card form,.ownership-transfer{grid-template-columns:1fr}.team-activity-row{grid-template-columns:1fr}.team-activity-row>div:last-child{text-align:left;align-items:flex-start}}
@media(max-width:520px){.team-governance-summary{grid-template-columns:1fr}}

/* 3.5.25 — email delivery and password recovery */
.auth-link-button{width:100%;border:0;background:transparent;color:var(--brand);font-weight:800;padding:12px;margin-top:6px;box-shadow:none}.auth-link-button:hover{background:#f7f6ff;border-radius:12px;transform:none}.auth-section-title{font-size:31px;margin:4px 0 8px}.auth-section-copy{color:var(--muted);font-size:13px;line-height:1.55;margin:0 0 18px}.auth-inline-link{display:inline-flex;margin-top:12px;color:var(--brand);font-weight:800;text-decoration:none}.email-ops-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:14px}.email-ops-grid>div{border:1px solid #ebe8f2;border-radius:14px;padding:12px 14px;background:#fbfaff;display:flex;flex-direction:column;gap:4px}.email-ops-grid span{font-size:11px;text-transform:uppercase;letter-spacing:.08em;color:#7c758c}.email-ops-grid strong{font-size:14px;overflow-wrap:anywhere}.email-ops-actions{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin-top:14px}@media(max-width:800px){.email-ops-grid{grid-template-columns:1fr}}

/* 3.5.25 — production readiness and support operations */
/* 3.5.90 — one-glance public launch decision */
.launch-decision{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:16px;padding:16px;border-radius:16px;border:1px solid #efd0d0;background:#fff8f8}.launch-decision.ready{border-color:#bfe4cc;background:#f1fbf5}.launch-decision>div:first-child{display:grid;align-content:start;gap:5px}.launch-decision>div:first-child>span{font-size:.7rem;font-weight:900;letter-spacing:.08em;color:#8c3d48}.launch-decision.ready>div:first-child>span{color:#287348}.launch-decision strong{font-size:1.35rem}.launch-decision p{margin:0;color:#625b6f;line-height:1.45}.launch-blocker-list{display:grid;gap:7px}.launch-blocker-list>div{display:flex;gap:9px;align-items:center;border:1px solid #efdada;background:#fff;border-radius:10px;padding:8px 10px}.launch-blocker-list b{font-size:.65rem;letter-spacing:.06em;color:#a63142}.launch-decision.ready .launch-blocker-list b{color:#287348}@media(max-width:850px){.launch-decision{grid-template-columns:1fr}}

.platform-readiness-card{display:grid;gap:16px}.readiness-summary-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px}.readiness-score-card{border:1px solid #e6e5f1;border-radius:14px;padding:12px;background:#fafaff;display:grid;gap:4px}.readiness-score-card.review{background:#fffaf0}.readiness-score-card span{font-size:.72rem;text-transform:uppercase;letter-spacing:.06em;color:#6c6780}.readiness-score-card strong{font-size:1.35rem}.readiness-score-card small{color:#6c6780}.readiness-note{border-radius:12px;padding:11px 13px;font-size:.88rem}.readiness-note.development{background:#f5f3ff;border:1px solid #e0dcff}.readiness-note.production{background:#eefaf3;border:1px solid #ccebd8}.readiness-columns{display:grid;grid-template-columns:1fr 1fr;gap:14px}.readiness-columns h3{margin:0 0 8px}.readiness-check-list{display:grid;gap:8px}.readiness-check-row{border:1px solid #e5e3ef;border-radius:12px;padding:10px 11px;display:flex;align-items:center;justify-content:space-between;gap:12px}.readiness-check-row>div{display:grid;gap:3px}.readiness-check-row span{font-size:.78rem;color:#6d687d}.readiness-check-row.blocker{border-color:#f1d5d5;background:#fff8f8}.readiness-check-row.review{background:#fffaf1}.support-tools-row{display:flex;gap:12px;align-items:end;flex-wrap:wrap}.request-id-lookup{display:flex;gap:8px;align-items:end;flex:1;min-width:360px}.request-id-lookup label{flex:1}.support-request-result{border-top:1px solid #eceaf4;padding-top:12px}.support-request-match{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;border:1px solid #e5e3ef;border-radius:12px;padding:12px}.support-request-match>div{display:grid;gap:2px}.support-request-match span{font-size:.7rem;text-transform:uppercase;letter-spacing:.05em;color:#777187}.support-request-match p,.support-request-match small{grid-column:1/-1;margin:0}.support-request-match small{color:#6d687d}@media(max-width:1000px){.readiness-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.readiness-columns{grid-template-columns:1fr}}@media(max-width:650px){.readiness-summary-grid{grid-template-columns:1fr}.request-id-lookup{min-width:0;flex-direction:column;align-items:stretch}.support-request-match{grid-template-columns:1fr 1fr}}

/* 3.5.25 — private beta operations, public service notices, and teacher feedback */
.service-notice-banner{margin:0;padding:12px 22px;display:flex;align-items:center;justify-content:space-between;gap:18px;border-bottom:1px solid #ead6a3;background:#fff7df;color:#5d4510;font-size:.9rem}.service-notice-banner>div{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.service-notice-banner strong{font-weight:800}.service-notice-banner.degraded{background:#fff0f0;border-color:#efc3c3;color:#74242b}.service-notice-window{font-size:.78rem;opacity:.82;white-space:nowrap}
.support-feedback-layout{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);gap:18px}.support-feedback-card textarea{min-height:180px}.feedback-history-item{border:1px solid #e8e6f1;border-radius:14px;padding:13px 14px;margin-bottom:10px;display:grid;gap:7px;background:#fff}.feedback-history-item>div{display:flex;align-items:center;justify-content:space-between;gap:10px}.feedback-history-item p{margin:0;white-space:pre-wrap}.feedback-history-item small{color:#6d687d}.feedback-status{display:inline-flex;border-radius:999px;padding:4px 9px;font-size:.68rem;font-weight:800;letter-spacing:.04em;text-transform:uppercase;background:#f0eef7;color:#5f5871}.feedback-status.new{background:#fff1d6;color:#7a5600}.feedback-status.triaged{background:#ece7ff;color:#5538aa}.feedback-status.resolved{background:#def4e7;color:#25643c}
.platform-beta-operations-card{display:grid;gap:16px}.beta-ops-summary-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px}.beta-ops-summary-grid>div{border:1px solid #e5e3ef;border-radius:13px;padding:11px 12px;display:grid;gap:3px;background:#fafaff}.beta-ops-summary-grid span{font-size:.7rem;text-transform:uppercase;letter-spacing:.05em;color:#777187}.beta-ops-summary-grid strong{font-size:.95rem}.platform-service-state-form{display:grid;gap:12px;border-top:1px solid #eceaf4;padding-top:14px}.beta-feedback-inbox-head{border-top:1px solid #eceaf4;padding-top:14px}.beta-feedback-inbox-head h3{margin:2px 0 0}.beta-feedback-admin-item{border:1px solid #e5e3ef;border-radius:14px;padding:13px 14px;display:grid;gap:9px;margin-bottom:10px;background:#fff}.beta-feedback-admin-head{display:flex;align-items:center;justify-content:space-between;gap:12px}.beta-feedback-admin-head>div{display:grid;gap:2px}.beta-feedback-admin-head span{font-size:.78rem;color:#6d687d}.beta-feedback-admin-meta{display:flex;flex-wrap:wrap;gap:7px 12px;color:#6d687d;font-size:.76rem}.beta-feedback-admin-item p{white-space:pre-wrap;margin:0}.beta-feedback-admin-actions{display:grid;grid-template-columns:150px 1fr auto;gap:10px;align-items:end;border-top:1px solid #f0eef5;padding-top:10px}.beta-feedback-admin-actions label{margin:0}
@media(max-width:950px){.support-feedback-layout{grid-template-columns:1fr}.beta-ops-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.beta-feedback-admin-actions{grid-template-columns:1fr}}
@media(max-width:650px){.service-notice-banner{align-items:flex-start;flex-direction:column}.service-notice-window{white-space:normal}.beta-ops-summary-grid{grid-template-columns:1fr}}
.auth-page .service-notice-banner{position:fixed;top:0;left:0;right:0;z-index:50;width:100%;box-sizing:border-box}

/* 3.5.25 — data-driven private-beta onboarding */
.onboarding-card{margin:18px 0 22px;padding:20px 22px}.onboarding-head{display:flex;align-items:flex-start;justify-content:space-between;gap:18px}.onboarding-head h2{margin:2px 0 5px}.onboarding-progress-badge{min-width:76px;text-align:center;padding:10px 12px;border-radius:16px;background:#eef2ff}.onboarding-progress-badge strong{display:block;font-size:1.35rem}.onboarding-progress-badge span{font-size:.72rem;text-transform:uppercase;letter-spacing:.08em;color:#64748b}.onboarding-progress-track{height:8px;background:#e2e8f0;border-radius:999px;overflow:hidden;margin:15px 0}.onboarding-progress-track span{display:block;height:100%;width:0;background:linear-gradient(90deg,#6366f1,#22c55e);border-radius:999px;transition:width .25s ease}.onboarding-steps{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px}.onboarding-step{border:1px solid #e2e8f0;border-radius:14px;padding:12px;background:#fff;display:flex;flex-direction:column;gap:6px}.onboarding-step.complete{background:#f0fdf4;border-color:#bbf7d0}.onboarding-step .onboarding-step-state{font-size:.75rem;font-weight:800;color:#64748b}.onboarding-step.complete .onboarding-step-state{color:#15803d}.onboarding-step strong{font-size:.92rem}.onboarding-step p{margin:0;color:#64748b;font-size:.8rem;line-height:1.35;min-height:44px}.onboarding-step button{margin-top:auto}.onboarding-footer{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-top:14px}.beta-participant-head{margin:20px 0 10px}.beta-participant-head h3{margin:2px 0 4px}.beta-participant-list{display:grid;gap:10px;margin-bottom:22px}.beta-participant-item{border:1px solid #dbe4f0;border-radius:14px;padding:14px;background:#fff}.beta-participant-top{display:flex;justify-content:space-between;gap:14px;align-items:flex-start}.beta-participant-top strong{display:block}.beta-participant-top span{display:block;color:#64748b;font-size:.82rem;margin-top:3px}.beta-participant-progress{min-width:150px;text-align:right}.beta-participant-progress strong{font-size:1.1rem}.beta-participant-progress-track{height:6px;background:#e2e8f0;border-radius:999px;overflow:hidden;margin-top:7px}.beta-participant-progress-track span{height:100%;display:block;background:#6366f1}.beta-participant-controls{display:grid;grid-template-columns:150px minmax(140px,220px) 1fr auto;gap:8px;align-items:end;margin-top:12px}.beta-participant-controls label{font-size:.76rem;color:#64748b}.beta-participant-controls input,.beta-participant-controls select{margin-top:4px;width:100%}.beta-participant-status{display:inline-flex;border-radius:999px;padding:3px 8px;font-size:.72rem;font-weight:800;background:#f1f5f9;color:#475569}.beta-participant-status.active{background:#dcfce7;color:#166534}.beta-participant-status.paused{background:#fef3c7;color:#92400e}.beta-participant-status.ended{background:#fee2e2;color:#991b1b}@media(max-width:1050px){.onboarding-steps{grid-template-columns:repeat(2,minmax(0,1fr))}.beta-participant-controls{grid-template-columns:1fr 1fr}.beta-participant-controls button{width:max-content}}@media(max-width:650px){.onboarding-steps{grid-template-columns:1fr}.onboarding-footer,.onboarding-head,.beta-participant-top{align-items:stretch;flex-direction:column}.beta-participant-progress{text-align:left}.beta-participant-controls{grid-template-columns:1fr}}

/* 3.5.25 pre-verification UI correction — service banner visibility + collision-safe dashboard header */
.service-notice-banner[hidden]{display:none!important}
.topnav{justify-content:flex-start}
.topnav nav{flex:1 1 auto;min-width:0;justify-content:center;overflow-x:auto;scrollbar-width:none}
.topnav nav::-webkit-scrollbar{display:none}
.account{position:static;right:auto;flex:0 0 auto;margin-left:0}
@media(max-width:1100px){.topnav nav{justify-content:flex-start}}
@media(max-width:980px){.topnav{height:auto;min-height:88px;flex-wrap:wrap;justify-content:flex-start}.account{order:1;margin-left:auto}.topnav nav{order:2;flex:1 0 100%;width:100%}}

/* 3.5.26 — classroom readiness and live Display Hub health */
.hub-online-dot.stale{background:#e4a72d;box-shadow:0 0 0 5px rgba(228,167,45,.14)}
.hub-status-pill.stale{background:#fff4d6;color:#8a5d00}
.classroom-health-card{display:flex;flex-direction:column;gap:12px}
.classroom-readiness-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}
.classroom-readiness-head h3{margin:5px 0 0}
.classroom-readiness-badge{flex:none;border-radius:999px;padding:7px 10px;font-size:10px;font-weight:900;letter-spacing:.04em;background:#eef2f7;color:#5f6b7a}
.classroom-readiness-badge.ready{background:#dcfce7;color:#137047}
.classroom-readiness-badge.needs_attention{background:#fff4d6;color:#8a5d00}
.classroom-readiness-badge.not_ready{background:#fee8ea;color:#a52a3a}
.classroom-readiness-badge.checking{background:#edf2ff;color:#5262a8}
.classroom-readiness-summary{margin:0;color:#49677a;font-size:13px;line-height:1.45;font-weight:650}
.classroom-readiness-checks{display:grid;gap:7px}
.classroom-readiness-check{width:100%;border:1px solid rgba(90,120,145,.14);border-radius:14px;padding:9px 10px;background:rgba(255,255,255,.72);display:flex;align-items:flex-start;gap:9px;text-align:left;color:#35566c;cursor:pointer;transition:transform .14s ease,box-shadow .14s ease,border-color .14s ease}
.classroom-readiness-check:hover{transform:translateY(-1px);box-shadow:0 7px 16px rgba(35,80,110,.08)}
.classroom-readiness-check>span{flex:none;width:22px;height:22px;border-radius:50%;display:grid;place-items:center;font-size:11px;font-weight:950;background:#fee8ea;color:#a52a3a}
.classroom-readiness-check.passed>span{background:#dcfce7;color:#137047}
.classroom-readiness-check.not-applicable>span{background:#eef2f7;color:#5f6b7a}
.classroom-readiness-check strong,.classroom-readiness-check small{display:block}
.classroom-readiness-check strong{font-size:12px;line-height:1.25}
.classroom-readiness-check small{margin-top:2px;color:#718096;font-size:10px;line-height:1.3}
.classroom-health-card #classroomReadinessAction{width:100%;margin-top:2px}
.classroom-health-card #todayHubsBtn{margin-top:0}
.beta-participant-progress{display:grid;grid-template-columns:1fr 1fr;gap:10px;min-width:300px;text-align:right}
.beta-participant-metric{min-width:135px}
.beta-participant-metric>span{display:block;color:#64748b;font-size:.74rem;margin-top:2px}
.beta-participant-metric.readiness.ready strong{color:#137047}
.beta-participant-metric.readiness.needs_attention strong{color:#9a6700}
.beta-participant-metric.readiness.not_ready strong{color:#b12737}
.beta-participant-metric.readiness.ready .beta-participant-progress-track span{background:#22a66f}
.beta-participant-metric.readiness.needs_attention .beta-participant-progress-track span{background:#e4a72d}
.beta-participant-metric.readiness.not_ready .beta-participant-progress-track span{background:#df5565}
@media(max-width:1050px){.beta-participant-progress{min-width:0;text-align:left}}
@media(max-width:650px){.beta-participant-progress{grid-template-columns:1fr}}

/* 3.5.34 Customer plan visibility */
.pricing-plan-controls{display:flex;flex-direction:column;align-items:flex-end;gap:7px;min-width:190px}
.pricing-plan-visible{display:flex!important;flex-direction:row!important;align-items:center;gap:7px;font-weight:800;white-space:nowrap}
.pricing-plan-visible input{width:auto!important;margin:0}
.pricing-customer-state{display:inline-flex;padding:4px 8px;border-radius:999px;font-size:.72rem;font-weight:900;letter-spacing:.02em}
.pricing-customer-state.shown{background:#dff3e5;color:#24673d}
.pricing-customer-state.hidden{background:#ece9f4;color:#665d78}
@media(max-width:620px){.pricing-plan-controls{align-items:flex-start;min-width:0}}


/* 3.5.35 admin UI polish — collision-safe header and checkbox label alignment */
.topnav{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-start;gap:14px 18px;min-height:88px;height:auto;padding:14px 34px}
.topnav nav{flex:1 1 980px;min-width:0;display:flex;justify-content:flex-start;align-items:center;gap:8px;overflow-x:auto;scrollbar-width:none;padding:10px 12px}
.topnav nav::-webkit-scrollbar{display:none}
.account{flex:0 0 auto;display:flex;align-items:center;gap:14px;margin-left:auto;position:static;right:auto;white-space:nowrap}
@media(max-width:1500px){.topnav nav{flex-basis:100%;order:2}.account{order:1;margin-left:auto}}
@media(max-width:980px){.topnav{padding:16px 18px}.account{width:auto}}

.pricing-plan-controls{display:grid;justify-items:end;gap:8px;min-width:220px}
.pricing-plan-enabled,.pricing-plan-visible{margin:0!important;display:grid!important;grid-template-columns:18px auto;align-items:center;column-gap:10px;line-height:1.2;white-space:nowrap}
.pricing-plan-enabled input,.pricing-plan-visible input{width:18px!important;height:18px;margin:0!important;align-self:center;justify-self:center}
.pricing-plan-enabled span,.pricing-plan-visible span{display:block}
@media(max-width:620px){.pricing-plan-controls{justify-items:start;min-width:0}.pricing-plan-enabled,.pricing-plan-visible{white-space:normal}}


/* 3.5.36 — commercial capacity policy */
.license-capacity-card .capacity-block.over-limit{border:1px solid #efc7c7;background:#fff7f7;border-radius:14px;padding:12px}
.license-capacity-card .capacity-block.over-limit .capacity-head strong,.license-capacity-card .capacity-block.over-limit .capacity-head>span{color:#a13a3a}
.platform-capacity-policy-hint{margin:4px 0 14px;padding:10px 12px;border-radius:12px;background:#f6f4ff;border:1px solid #e2dcff;color:#5c5571;font-size:.8rem;line-height:1.4}
#platformMaxTeachers:disabled,#platformMaxHubs:disabled{background:#f4f4f8;color:#827b90;cursor:not-allowed}
.platform-tenant-row.over-capacity{border-color:#efc7c7;background:#fff9f9}
.platform-tenant-row.over-capacity small{color:#9f3f4b}


/* 3.5.60 — FrontBoard product identity under Ervina Education */
.frontboard-top-brand{display:flex;align-items:center;gap:9px;text-decoration:none;color:var(--ink);white-space:nowrap}.frontboard-top-brand span{width:38px;height:38px;border-radius:12px;display:grid;place-items:center;background:linear-gradient(145deg,#2d2579,#5b4ee8);color:#fff;font-weight:950;font-size:20px;box-shadow:0 8px 20px rgba(91,78,232,.22)}.frontboard-top-brand strong{font-size:17px;letter-spacing:-.02em}
.frontboard-auth-panel{position:relative;overflow:hidden;padding:54px;background:radial-gradient(circle at 92% 8%,rgba(255,255,255,.18),transparent 24%),linear-gradient(155deg,#25206c,#5b4ee8 56%,#8b5cf6);min-height:680px}.frontboard-auth-panel:after{content:"";position:absolute;width:260px;height:260px;border-radius:50%;right:-120px;bottom:-100px;background:rgba(45,212,191,.18)}.frontboard-auth-company{font-size:12px;letter-spacing:.2em;font-weight:900;color:#d8d3ff}.frontboard-auth-lockup{display:flex;align-items:center;gap:16px;margin-top:24px}.frontboard-auth-mark{width:68px;height:68px;border-radius:20px;display:grid;place-items:center;background:#fff;color:#4f42d8;font-size:34px;font-weight:950;box-shadow:0 18px 36px rgba(13,18,48,.25)}.frontboard-auth-lockup h1{font-size:50px;letter-spacing:-.04em;margin:0}.frontboard-auth-tagline{font-size:24px!important;font-weight:800!important;color:#fff!important;margin:8px 0 38px!important}.frontboard-auth-displays{display:grid;gap:13px;position:relative;z-index:1}.frontboard-auth-displays>div{padding:18px;border-radius:18px;background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.18);backdrop-filter:blur(8px)}.frontboard-auth-displays small{display:block;font-size:10px;letter-spacing:.15em;font-weight:900;color:#cfc9ff;margin-bottom:7px}.frontboard-auth-displays strong{display:block;font-size:19px;line-height:1.3}.pair-product-lockup{display:grid;grid-template-columns:48px 1fr;grid-template-rows:auto auto;column-gap:12px;align-items:center;margin-bottom:18px}.pair-product-lockup>span{grid-row:1/3;width:48px;height:48px;border-radius:15px;display:grid;place-items:center;background:linear-gradient(145deg,#2d2579,#5b4ee8);color:#fff;font-size:24px;font-weight:950}.pair-product-lockup strong{font-size:20px;line-height:1}.pair-product-lockup small{font-size:10px;color:var(--muted);letter-spacing:.08em;margin-top:4px}@media(max-width:800px){.frontboard-auth-panel{display:none}}
\n\n/* 3.5.60 — locked production brand masters + approved launch-login design */
.frontboard-top-brand{min-width:205px;height:58px;display:flex;align-items:center}.frontboard-top-brand img{display:block;width:190px;max-height:54px;object-fit:contain;object-position:left center}.frontboard-top-brand span,.frontboard-top-brand strong{display:none}
.frontboard-login-page{background:radial-gradient(circle at 8% 8%,#e7eaff,transparent 32%),radial-gradient(circle at 93% 82%,#eef8ff,transparent 28%),#f6f8ff;padding:36px 18px}.frontboard-login-shell{width:min(1180px,96vw);grid-template-columns:1.05fr 1fr;border-radius:30px;box-shadow:0 30px 90px rgba(26,42,105,.18)}
.frontboard-auth-panel{justify-content:flex-start;position:relative;overflow:hidden;padding:48px 52px 42px;background:radial-gradient(circle at 93% 7%,rgba(118,91,255,.78),transparent 27%),radial-gradient(circle at 78% 84%,rgba(127,93,255,.5),transparent 32%),linear-gradient(145deg,#10236e 0%,#1b2d8f 43%,#653cf5 100%);min-height:760px}.frontboard-auth-panel:before{content:"";position:absolute;inset:0;background-image:radial-gradient(circle,rgba(255,255,255,.14) 1.2px,transparent 1.2px);background-size:18px 18px;mask-image:linear-gradient(90deg,#000,transparent 35%);pointer-events:none}.frontboard-auth-panel:after{content:"";position:absolute;width:430px;height:430px;border:1px solid rgba(255,255,255,.18);border-radius:50%;right:-190px;top:-225px;background:rgba(255,255,255,.04);pointer-events:none}.frontboard-auth-brand-stack{position:relative;z-index:1;display:grid;gap:24px;justify-items:start}.frontboard-auth-ervina-logo{display:block;width:235px;height:auto}.frontboard-auth-product-logo{display:block;width:min(490px,100%);height:auto;margin-top:18px}.frontboard-auth-tagline{position:relative;z-index:1;font-size:34px!important;font-weight:850!important;letter-spacing:-.035em;color:#fff!important;margin:24px 0 8px!important}.frontboard-auth-support-copy{position:relative;z-index:1;font-size:16px!important;line-height:1.48!important;color:rgba(255,255,255,.78)!important;margin:0 0 30px!important}.frontboard-auth-displays{display:grid;gap:14px;position:relative;z-index:1;margin-top:8px}.frontboard-auth-displays>div{display:grid;grid-template-columns:48px 1fr;gap:16px;align-items:center;padding:18px 20px;border-radius:18px;background:linear-gradient(135deg,rgba(255,255,255,.12),rgba(255,255,255,.07));border:1px solid rgba(255,255,255,.27);box-shadow:inset 0 1px 0 rgba(255,255,255,.08);backdrop-filter:blur(12px)}.frontboard-auth-card-icon{width:46px;height:46px;display:grid;place-items:center;border-radius:50%;background:rgba(255,255,255,.13);border:1px solid rgba(255,255,255,.25);font-size:25px;color:#fff}.frontboard-auth-displays small{display:block;font-size:10px;letter-spacing:.16em;font-weight:900;color:#d9ddff;margin-bottom:6px}.frontboard-auth-displays strong{display:block;font-size:18px;line-height:1.3;color:#fff}.frontboard-auth-motto{position:relative;z-index:1;margin-top:auto;padding-top:34px;display:flex;gap:16px;align-items:center;font-size:10px;letter-spacing:.22em;color:rgba(255,255,255,.58)}.frontboard-auth-motto span{display:block;width:45px;height:1px;background:rgba(255,255,255,.55)}
.frontboard-login-card{padding:50px 58px 38px;display:flex;flex-direction:column}.frontboard-login-card .auth-tabs{margin-bottom:38px}.frontboard-login-card .auth-tabs button{padding:12px 16px;font-size:16px}.frontboard-auth-welcome h2{margin:0 0 5px;font-size:32px;letter-spacing:-.035em;color:#121a48}.frontboard-auth-welcome p{margin:0 0 22px;color:#66708d;font-size:16px}.frontboard-login-card label{font-size:14px;color:#131a3a;margin-top:18px}.frontboard-login-card input{padding:15px 16px;border-radius:15px;background:#f1f6ff;border-color:#ccd9ef}.frontboard-login-card input:focus{background:#fff}.frontboard-signin-button{min-height:56px;border-radius:999px!important;font-size:16px;display:flex;align-items:center;justify-content:center;gap:14px;background:linear-gradient(90deg,#3659ff,#8a42f4)!important;box-shadow:0 16px 34px rgba(86,69,229,.24)!important}.auth-password-wrap{position:relative;display:block}.auth-password-wrap input{padding-right:68px}.auth-password-toggle{position:absolute;right:10px;top:50%;transform:translateY(-50%)!important;border:0;background:transparent;color:#5d6b8d;padding:7px 8px;font-size:12px;font-weight:800;box-shadow:none}.auth-password-toggle:hover{background:#e5edfb;border-radius:9px}.frontboard-auth-endorsement{margin-top:auto;padding-top:38px;display:grid;justify-items:center;gap:9px;color:#7581a4;text-align:center}.frontboard-auth-endorsement span{font-size:10px;letter-spacing:.2em}.frontboard-auth-endorsement small{font-size:8px;letter-spacing:.22em}.pair-product-lockup{display:block;margin-bottom:22px}.pair-product-lockup img{display:block;width:min(330px,100%);height:auto}.checkout-return-brand{display:block;width:min(320px,82%);height:auto;margin:0 auto 18px}
@media(max-width:980px){.frontboard-login-card{padding:42px}.frontboard-auth-panel{padding:42px 38px}.frontboard-auth-product-logo{width:390px}.frontboard-auth-ervina-logo{width:205px}}
@media(max-width:800px){.frontboard-login-page{padding:18px 10px}.frontboard-login-shell{grid-template-columns:1fr;border-radius:22px}.frontboard-auth-panel{display:none}.frontboard-login-card{padding:34px 26px}.frontboard-top-brand{min-width:160px}.frontboard-top-brand img{width:160px}}

/* 3.5.90 — zero-install Browser Display Hub */
.browser-hub-page{min-height:100vh;margin:0;background:radial-gradient(circle at 12% 8%,#eeeaff 0,transparent 34%),radial-gradient(circle at 88% 12%,#dffcf6 0,transparent 30%),#f7f9ff;color:#161c35}
.browser-hub-shell{width:min(980px,calc(100% - 40px));margin:0 auto;padding:42px 0 64px}
.browser-hub-brand{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-bottom:28px}
.browser-hub-brand img{width:min(340px,60vw);height:auto}.browser-hub-brand span{font-weight:800;color:#5143d9}
.browser-hub-state{background:#fff;border:1px solid #e2e5f2;border-radius:30px;box-shadow:0 28px 70px rgba(38,45,90,.14);padding:42px;text-align:center}
.browser-hub-state h1{font-size:clamp(2rem,4vw,3.35rem);margin:12px 0}.browser-hub-state>p{font-size:1.08rem;color:#66708f}
.browser-hub-pair{display:grid;grid-template-columns:1fr 220px;align-items:center;gap:34px;margin:30px auto 16px;max-width:760px}
.browser-hub-pair .sim-code{font-size:clamp(3rem,9vw,6rem);letter-spacing:.12em;font-weight:900;color:#4937d5;line-height:1}
.browser-hub-pair .sim-qr-frame{background:#fff;border:1px solid #dde1ef;border-radius:20px;padding:14px}.browser-hub-pair .sim-qr{display:block;width:100%;height:auto}
.browser-hub-help{display:flex;flex-direction:column;gap:5px;margin:18px auto 0;padding:16px 22px;max-width:760px;text-align:center;color:#58617d}.browser-hub-help strong{color:#19866c}
.browser-hub-device{margin-top:24px}.browser-hub-start{font-size:1.15rem;padding:15px 25px;margin:18px 0 8px}.browser-hub-details{max-width:680px;margin:24px auto 0;text-align:left;background:#f7f8ff;border-radius:16px;padding:14px 18px}.browser-hub-details summary{cursor:pointer;font-weight:800}.browser-hub-open-link{display:inline-flex;margin:10px 0 16px}
@media(max-width:720px){.browser-hub-shell{width:min(100% - 24px,980px);padding-top:24px}.browser-hub-brand{align-items:flex-start;flex-direction:column}.browser-hub-state{padding:28px 18px}.browser-hub-pair{grid-template-columns:1fr}.browser-hub-pair .sim-qr-frame{width:190px;margin:auto}}

/* 3.5.90 unified Classes + Lessons workflow */
.lesson-class-manager{margin-bottom:22px}.lesson-class-manager .card-head{align-items:center}
.inline-course-form{display:grid;grid-template-columns:minmax(240px,1fr) auto;gap:12px;align-items:end;margin:16px 0 18px}
.lesson-search{display:block;margin:12px 0 7px}.lesson-search input{width:100%;border-radius:14px;padding:12px 14px}
.lesson-drag-hint{font-size:12px;color:var(--muted);margin:0 0 10px;padding:0 4px}
.lesson-item{grid-template-columns:auto auto 1fr;cursor:pointer}.lesson-item[draggable="true"] .drag-handle{cursor:grab}
.drag-handle{color:#9aa3b2;font-weight:900;letter-spacing:-3px;padding-right:3px;user-select:none}.lesson-item.dragging{opacity:.48;box-shadow:0 12px 26px rgba(79,70,229,.16)}
#scInput{background:#eefbf3;border-color:#b9e8ca}
@media(max-width:720px){.inline-course-form{grid-template-columns:1fr}.lesson-class-manager .card-head{align-items:flex-start}}

/* 3.5.90 display appearance editor */
.display-style-card{margin:0 0 20px}.style-columns{display:grid;grid-template-columns:1fr 1fr;gap:18px}.style-columns>div{border:1px solid #e4e1f2;border-radius:18px;padding:16px;background:#fbfaff}.style-columns h3{margin:0 0 12px}.style-columns label{display:grid;grid-template-columns:120px 1fr;align-items:center;gap:12px;margin:9px 0}.style-columns input[type=color]{height:44px;padding:3px}@media(max-width:760px){.style-columns{grid-template-columns:1fr}.style-columns label{grid-template-columns:1fr}}

/* 3.5.95 unified Classes & Lessons layout */
.classes-lessons-workspace{padding:24px}.classes-lessons-head{align-items:end;margin-bottom:18px}.classes-lessons-controls{display:flex;align-items:end;gap:12px}.workspace-class-picker{display:grid;gap:6px;min-width:280px}.workspace-class-picker span{font-size:12px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}.workspace-class-picker select{min-width:280px}.classes-lessons-workspace .lessons-grid{margin-top:18px}@media(max-width:820px){.classes-lessons-head{align-items:flex-start}.classes-lessons-controls{width:100%;flex-direction:column;align-items:stretch}.workspace-class-picker,.workspace-class-picker select{width:100%;min-width:0}}

/* 3.5.95 class tabs */
.course-select-engine{position:absolute!important;width:1px!important;height:1px!important;overflow:hidden!important;clip:rect(0 0 0 0)!important;white-space:nowrap!important}.course-tabs{display:flex;align-items:flex-end;gap:8px;overflow-x:auto;padding:4px 2px 0;margin:14px 0 20px;border-bottom:2px solid #e7e4f4}.course-tab{flex:0 0 auto;border:1px solid #ddd8ef;border-bottom:0;border-radius:14px 14px 0 0;background:#f8f7fc;color:#4d5570;padding:12px 18px;font-weight:800;cursor:pointer;position:relative;top:2px}.course-tab:hover{background:#f0edff;color:#4f3ed7}.course-tab.active{background:#6549ed;color:#fff;border-color:#6549ed;box-shadow:0 -5px 16px rgba(101,73,237,.14)}.course-tabs-empty{padding:10px 4px 14px;color:var(--muted)}.classes-lessons-controls{display:flex;align-items:center;gap:10px}.classes-lessons-workspace>.lessons-grid{margin-top:0}@media(max-width:720px){.classes-lessons-head{align-items:flex-start}.classes-lessons-controls{width:100%;justify-content:flex-start}.course-tabs{margin-top:10px}.course-tab{padding:10px 14px}}

/* 3.5.95 class-tab polish */
#courseSelect.course-select-engine{display:none!important}.course-tabs{gap:10px;border-bottom:0;align-items:center;padding:2px;margin:12px 0 20px;overflow-x:auto}.course-tab{top:0;border:1px solid #d9dde5;border-radius:14px;background:#eef0f3;color:#505866;padding:11px 18px;box-shadow:none}.course-tab:hover{background:#e3e6ea;color:#303744}.course-tab.active{background:#198754;color:#fff;border-color:#198754;box-shadow:0 6px 16px rgba(25,135,84,.20)}

/* 3.5.97 login brand correction */
.frontboard-auth-ervina-logo{width:285px;max-width:62%;height:auto;filter:drop-shadow(0 5px 12px rgba(0,0,0,.2))}

/* 3.5.97 Super Admin navigation */
.admin-nav-group{position:relative;display:inline-flex;align-items:center}
.admin-nav-menu{position:absolute;top:calc(100% + 10px);right:0;z-index:120;min-width:240px;padding:8px;background:#fff;border:1px solid #dfe5f2;border-radius:16px;box-shadow:0 18px 45px rgba(24,42,82,.18)}
.admin-nav-menu[hidden]{display:none!important}.admin-nav-menu button{display:block;width:100%;border:0;background:transparent;border-radius:10px;padding:11px 13px;text-align:left;font:inherit;font-weight:700;color:#26344f;cursor:pointer}
.admin-nav-menu button:hover,.admin-nav-menu button:focus{background:#f1f4fb;color:#5538e8;outline:none}.admin-menu-toggle span{font-size:.8em;margin-left:4px}.admin-anchor,#platformAccountDefenseCard{scroll-margin-top:96px}

/* 3.5.97 Super Admin pricing + dropdown polish */
.topnav{z-index:500}
.topnav nav{overflow:visible}
.admin-nav-group{position:relative;z-index:700}
.admin-nav-menu{display:none;position:absolute;top:calc(100% + 10px);left:0;right:auto;z-index:1000;width:min(390px,90vw);max-height:70vh;overflow:auto}
.admin-nav-menu.menu-open{display:block!important}
.pricing-plan-editor-head{display:grid!important;grid-template-columns:minmax(0,1fr)!important;gap:14px!important}
.pricing-plan-controls{display:flex!important;flex-direction:row!important;align-items:center!important;justify-content:flex-start!important;flex-wrap:wrap!important;gap:10px 16px!important;min-width:0!important;width:100%!important;padding-top:12px;border-top:1px solid #ece8f5}
.pricing-plan-enabled,.pricing-plan-visible{white-space:normal!important;display:inline-flex!important;align-items:center!important;gap:8px!important;font-size:.9rem!important}
.pricing-customer-state{margin-left:auto}
@media(max-width:620px){.pricing-customer-state{margin-left:0;width:100%}}

/* 3.5.98 email & support conversations */
.feedback-ticket-head{display:flex;align-items:center;justify-content:space-between;gap:12px}.feedback-thread{display:grid;gap:8px;margin:8px 0}.feedback-thread-message{border:1px solid #e7e5ef;border-radius:14px;padding:11px 12px;background:#fafafe}.feedback-thread-message.admin{background:#f2efff;border-color:#dcd5ff}.feedback-thread-message>div{display:flex;align-items:center;justify-content:space-between;gap:10px}.feedback-thread-message p{margin:7px 0 0;white-space:pre-wrap}.feedback-thread-message small{color:#777187}.email-delivery-badge{display:inline-flex;margin-top:7px;border-radius:999px;padding:4px 8px;font-size:.68rem;font-weight:800;background:#eef0f5;color:#596072}.email-delivery-badge.sent,.email-delivery-badge.pickup{background:#def4e7;color:#25643c}.email-delivery-badge.failed{background:#ffe2e2;color:#9a2727}.email-delivery-badge.disabled{background:#f0eef7;color:#5f5871}.feedback-reply-compose,.admin-support-reply{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:9px;align-items:end;margin-top:10px}.feedback-reply-compose textarea,.admin-support-reply textarea{min-height:82px;resize:vertical}.feedback-reply-compose .status,.admin-support-reply .status{grid-column:1/-1;margin:0}.admin-support-reply{padding-top:12px;border-top:1px solid #eeeaf5}.admin-support-reply label{margin:0}.admin-thread{margin-top:10px}.beta-feedback-admin-actions{margin-top:12px}@media(max-width:760px){.feedback-reply-compose,.admin-support-reply{grid-template-columns:1fr}.feedback-reply-compose button,.admin-support-reply button{width:100%}}

/* 3.5.98 approved login concept — functional card + locked brand masters + approved classroom artwork */
.approved-login-page{min-height:100vh;display:grid;place-items:center;padding:0;background:linear-gradient(135deg,#f4f8fc,#eaf2fb);overflow-x:hidden}
.approved-login-shell{width:min(1600px,100vw);min-height:min(900px,100vh);display:grid;grid-template-columns:minmax(410px,40%) minmax(0,60%);background:#fff;overflow:hidden;box-shadow:0 24px 80px rgba(31,55,96,.14)}
.approved-login-card{position:relative;z-index:2;margin:40px 0 40px clamp(28px,6.5vw,110px);width:min(510px,calc(100% - 56px));align-self:center;background:rgba(255,255,255,.97);border:1px solid #e4ecf7;border-radius:18px;padding:36px 42px 24px;box-shadow:0 14px 38px rgba(30,57,101,.10);box-sizing:border-box}
.approved-login-lockup{display:grid;justify-items:center;gap:5px;margin:0 auto 18px}
.approved-frontboard-logo{display:block;width:min(320px,88%);height:auto}
.approved-by-ervina{display:flex;align-items:center;justify-content:center;gap:7px;color:#60718a;font-size:12px;margin-top:-2px}
.approved-by-ervina img{display:block;width:92px;height:auto}
.approved-login-card .frontboard-auth-welcome h2{font-size:31px;line-height:1.05;margin:6px 0 4px;color:#08255c;letter-spacing:-.035em}
.approved-login-card .frontboard-auth-welcome p{font-size:15px;line-height:1.42;color:#37567f;margin:0 0 18px}
.approved-auth-tabs{margin:0 0 12px;border-bottom:1px solid #e1e8f2}
.approved-auth-tabs button{font-size:12px;padding:8px 12px}
.approved-login-card label{display:block;font-size:12px;font-weight:800;color:#12305e;margin-top:12px}
.approved-login-card input{width:100%;box-sizing:border-box;margin-top:6px;padding:12px 14px;border:1px solid #cbd8ea;border-radius:8px;background:#fff;color:#152a4f}
.approved-login-card input::placeholder{color:#96a7bd}
.approved-login-card input:focus{outline:2px solid rgba(20,109,232,.18);border-color:#1471e8}
.approved-login-helper{display:flex;align-items:center;justify-content:space-between;gap:14px;margin:9px 0 2px;color:#6f8199;font-size:11px}
.approved-text-link{border:0;background:transparent;box-shadow:none;color:#075fc8;text-decoration:underline;padding:2px 0;font:inherit;font-weight:750;cursor:pointer}
.approved-text-link:hover{background:transparent;transform:none;color:#034a9d}
.approved-signin-button{min-height:46px!important;border-radius:6px!important;margin-top:12px!important;background:#0874ec!important;box-shadow:none!important;font-size:14px!important}
.approved-login-footer{display:flex;align-items:center;justify-content:flex-start;gap:9px;margin-top:20px;padding-top:14px;border-top:1px solid #e5ebf3;color:#6d7f98;font-size:11px}
.approved-login-footer img{width:92px;height:auto}
.approved-login-visual{position:relative;overflow:hidden;min-height:min(900px,100vh);background:#eaf3fb}
.approved-login-visual>img{position:absolute;right:0;top:50%;height:100%;width:auto;max-width:none;transform:translateY(-50%);display:block}
.approved-login-card #registerForm{max-height:52vh;overflow:auto;padding-right:6px}
.approved-login-card #forgotPasswordForm .primary,.approved-login-card #registerForm .primary{border-radius:7px}
@media(max-width:1120px){
  .approved-login-shell{grid-template-columns:minmax(390px,46%) minmax(0,54%)}
  .approved-login-card{margin-left:28px;width:calc(100% - 46px);padding:32px 34px 22px}
}
@media(max-width:820px){
  .approved-login-page{padding:20px 12px}
  .approved-login-shell{display:block;width:min(560px,100%);min-height:0;border-radius:20px}
  .approved-login-card{margin:0;width:100%;border:0;border-radius:0;padding:34px 30px 26px;box-shadow:none}
  .approved-login-visual{display:none}
  .approved-frontboard-logo{width:min(310px,88%)}
}
@media(max-width:520px){
  .approved-login-card{padding:28px 22px 22px}
  .approved-login-card .two{grid-template-columns:1fr}
  .approved-login-helper{align-items:flex-start;flex-direction:column;gap:5px}
}
/* 3.5.98 selected dark login model — locked brand vectors */
body.model-dark-login-page{display:block!important;position:relative;min-height:100vh;margin:0;padding:0!important;overflow-x:hidden;background:radial-gradient(circle at 58% -10%,#1264d3 0,transparent 34%),linear-gradient(135deg,#003d8c 0%,#0053b7 34%,#043d83 67%,#001f54 100%)!important;color:#fff}
body.model-dark-login-page:before{content:"";position:fixed;inset:0;pointer-events:none;background:linear-gradient(125deg,rgba(0,92,222,.22),transparent 34%),radial-gradient(circle at 80% 34%,rgba(64,157,255,.16),transparent 30%)}
.model-dark-tagline{position:fixed;z-index:5;top:28px;left:6.2vw;display:flex;align-items:center;gap:15px;font-size:10px;font-weight:800;letter-spacing:.22em;color:rgba(255,255,255,.72);white-space:nowrap}.model-dark-tagline i{display:block;width:1px;height:13px;background:rgba(255,255,255,.55)}
.model-dark-shell{position:relative;z-index:2;width:100%;min-height:100vh;display:grid;grid-template-columns:minmax(500px,39vw) minmax(0,1fr);align-items:stretch;overflow:hidden}
.model-dark-card{align-self:center;width:min(520px,calc(100% - 70px));max-height:calc(100vh - 118px);overflow:auto;box-sizing:border-box;margin:58px auto 34px;padding:38px 46px 30px;border:1px solid rgba(220,232,248,.9);border-radius:18px;background:#fff;color:#0d2855;box-shadow:0 28px 75px rgba(0,16,54,.35)}
.model-dark-lockup{display:grid;justify-items:center;text-align:center;margin-bottom:22px}.model-dark-frontboard-logo{display:block;width:min(300px,90%);height:auto}.model-dark-by-ervina{display:flex;align-items:center;justify-content:center;gap:10px;margin-top:12px;color:#64748b;font-size:12px}.model-dark-by-ervina img{width:86px;height:auto}
.model-dark-welcome h2{margin:0 0 5px!important;color:#0a2555!important;font-size:31px!important;letter-spacing:-.035em}.model-dark-welcome p{margin:0 0 19px!important;color:#526889!important;font-size:14px!important;line-height:1.45!important;max-width:390px}
.model-dark-tabs{margin:0 0 16px!important;border-bottom:1px solid #d7e1ef!important}.model-dark-tabs button{padding:9px 16px!important;font-size:13px!important}.model-dark-tabs button.active{color:#0877ff!important;border-bottom-color:#0877ff!important}
.model-dark-form label,.model-dark-card>form label{font-size:12px!important;font-weight:800!important;color:#102a52!important;margin-top:12px!important}.model-dark-form input,.model-dark-card>form input{padding:12px 14px!important;border:1px solid #c5d6ed!important;border-radius:8px!important;background:#eaf2fe!important;color:#10213e!important;font-size:13px!important}.model-dark-form input:focus,.model-dark-card>form input:focus{background:#fff!important;border-color:#1680ff!important}
.model-dark-helper{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:10px;color:#6d7f9c;font-size:11px}.model-dark-link{border:0;background:transparent;padding:0;color:#006ee6;text-decoration:underline;font:inherit;font-weight:800;cursor:pointer;box-shadow:none}.model-dark-link:hover{transform:none;background:transparent;color:#004fae}.model-dark-signin{width:100%!important;min-height:48px!important;margin-top:18px!important;border-radius:8px!important;background:linear-gradient(90deg,#0879ff,#0872ed)!important;box-shadow:0 10px 25px rgba(8,121,255,.2)!important;font-size:15px!important}.model-dark-signin span{margin-left:12px}.model-dark-powered{display:flex;align-items:center;justify-content:center;gap:13px;margin-top:26px;padding-top:20px;border-top:1px solid #dfe7f2;color:#71819b;font-size:11px}.model-dark-powered img{width:82px;height:auto}
.model-dark-card #forgotPasswordForm,.model-dark-card #registerForm{color:#142c52}.model-dark-card .auth-section-copy{color:#637493}.model-dark-card .auth-link-button{color:#0877ee}.model-dark-card .verification-fieldset{border-color:#d7e2ef;background:#f7faff}.model-dark-card .verification-help,.model-dark-card .legal-note{color:#62738f}.model-dark-card .two{gap:9px}.model-dark-card #registerForm{padding-bottom:4px}
.model-dark-hero{position:relative;min-height:100vh;overflow:hidden}.model-dark-hero:before{content:"";position:absolute;inset:0;background-image:url('/marketing/assets/login-concept.png');background-repeat:no-repeat;background-size:245% auto;background-position:84% 80%;filter:brightness(.60) saturate(1.35) contrast(1.07);transform:scale(1.02)}.model-dark-hero:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,31,83,.72) 0%,rgba(0,43,101,.44) 25%,rgba(0,35,82,.18) 55%,rgba(0,27,67,.82) 100%),linear-gradient(90deg,rgba(0,46,106,.74) 0%,rgba(0,36,88,.18) 36%,rgba(0,26,67,.38) 100%)}
.model-dark-hero-copy{position:relative;z-index:3;width:min(740px,82%);margin:88px 0 0 7.5%;text-shadow:0 2px 18px rgba(0,24,65,.3)}.model-dark-hero-copy>span{display:block;margin-bottom:12px;font-size:10px;font-weight:800;letter-spacing:.28em;color:#9fc8ff}.model-dark-hero-copy h1{margin:0;color:#fff;font-size:clamp(38px,4vw,62px);line-height:.98;letter-spacing:-.04em}.model-dark-hero-copy h1 strong{display:block;margin-top:7px;color:#56cbff;font-weight:900}.model-dark-hero-copy p{margin:15px 0 0;color:rgba(255,255,255,.94);font-size:clamp(16px,1.35vw,22px);line-height:1.35}
.model-dark-benefits{position:absolute;z-index:4;left:7.5%;right:5%;bottom:12%;display:grid;grid-template-columns:repeat(3,1fr);padding:15px 16px;border-top:1px solid rgba(173,210,255,.36);border-bottom:1px solid rgba(173,210,255,.2);background:rgba(0,40,91,.38);backdrop-filter:blur(8px)}.model-dark-benefits>div{display:flex;align-items:center;gap:13px;padding:0 20px;border-right:1px solid rgba(205,226,255,.35)}.model-dark-benefits>div:last-child{border-right:0}.model-dark-benefits b{font-size:31px;line-height:1;color:#50baff}.model-dark-benefits span{display:grid}.model-dark-benefits strong{color:#fff;font-size:13px}.model-dark-benefits small{margin-top:2px;color:#c3daf8;font-size:11px}
.model-dark-hero{border-left:1px solid rgba(255,255,255,.08)}.model-dark-hero .wave-one,.model-dark-hero .wave-two{pointer-events:none}@media(min-width:1400px){.model-dark-card{width:540px;padding:42px 48px 32px}.model-dark-shell{grid-template-columns:minmax(560px,40vw) minmax(0,1fr)}}
@media(max-width:1050px){.model-dark-shell{grid-template-columns:minmax(430px,48vw) minmax(0,1fr)}.model-dark-card{width:calc(100% - 38px);padding:34px 32px}.model-dark-hero-copy{margin-left:6%;width:88%}.model-dark-benefits{left:5%;right:4%;gap:0}.model-dark-benefits>div{padding:0 10px}.model-dark-benefits b{font-size:25px}}
@media(max-width:800px){body.model-dark-login-page{overflow:auto}.model-dark-tagline{position:absolute;top:18px;left:50%;transform:translateX(-50%);font-size:8px;gap:9px}.model-dark-shell{display:block;min-height:100vh;padding:54px 14px 26px;box-sizing:border-box}.model-dark-card{width:min(560px,100%);max-height:none;margin:0 auto;padding:32px 26px}.model-dark-hero{display:none}.model-dark-frontboard-logo{width:270px}}
@media(max-height:760px) and (min-width:801px){.model-dark-card{margin-top:48px;max-height:calc(100vh - 76px);padding-top:26px;padding-bottom:22px}.model-dark-lockup{margin-bottom:14px}.model-dark-frontboard-logo{width:245px}.model-dark-welcome h2{font-size:27px!important}.model-dark-welcome p{margin-bottom:13px!important}.model-dark-form label{margin-top:9px!important}.model-dark-form input{padding:10px 12px!important}.model-dark-powered{margin-top:18px;padding-top:14px}.model-dark-hero-copy{margin-top:70px}.model-dark-benefits{bottom:7%}}
/* Decorative blue wave at the bottom of the selected model */
.model-dark-hero{clip-path:inset(0)}
.model-dark-hero-copy:after{content:"Same Learning.  Brighter Futures.";position:fixed;z-index:6;right:3.5vw;top:38px;width:150px;color:rgba(255,255,255,.86);font-family:cursive;font-size:20px;line-height:1.05;text-align:center;transform:rotate(-5deg)}
@media(max-width:1180px){.model-dark-hero-copy:after{display:none}}

/* 3.5.99 account closeout + Super Admin provisioning */
.first-login-password-notice{margin:0 0 20px;padding:16px 18px;border:1px solid #f0c66b;border-radius:16px;background:#fff8e7;color:#6f5100;display:grid;gap:4px}.first-login-password-notice[hidden]{display:none!important}
.first-login-password-notice strong{font-size:1rem}.first-login-password-notice span{font-size:.9rem;line-height:1.5}
.account-deletion-card{margin-top:22px;border-color:#efc7c7;background:linear-gradient(180deg,#fff,#fffafa)}
.account-deletion-card h2{margin:4px 0 8px}.account-deletion-readiness{margin:16px 0;padding:13px 15px;border-radius:13px;font-weight:700;font-size:.88rem}
.account-deletion-readiness.ready{background:#edfdf4;border:1px solid #cdeedb;color:#276749}.account-deletion-readiness.blocked{background:#fff4e8;border:1px solid #f0d0a5;color:#7b4d10}
.account-deletion-confirmations{display:grid;gap:13px;margin-top:16px;max-width:760px}.danger-confirm{display:flex!important;gap:10px;align-items:flex-start!important;padding:12px 14px;border:1px solid #edd6d6;border-radius:13px;background:#fff}
.danger-confirm input{width:auto!important;margin-top:3px;flex:none}.danger-confirm span{font-weight:650;line-height:1.45;color:#5f3d3d}
.account-deletion-card .form-actions{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin-top:18px}
.account-deletion-card .button-link{margin-top:0}
.platform-lifetime-account-card{margin-bottom:22px}.platform-lifetime-form{display:grid;gap:14px;max-width:760px;margin-top:16px}.platform-lifetime-form .checkbox-row{display:flex;align-items:center;gap:9px;margin:4px 0 0;font-weight:750}.platform-lifetime-form .checkbox-row input{width:auto!important;min-width:18px;height:18px;margin:0!important;padding:0!important}
.platform-lifetime-form .two{display:grid;grid-template-columns:1fr 1fr;gap:14px}
@media(max-width:700px){.platform-lifetime-form .two{grid-template-columns:1fr}}

/* 3.5.102 — branded Billing & Plans + immediate trial conversion */
.billing-brand-hero{display:flex;align-items:center;gap:26px;margin:0 0 16px;padding:18px 24px;border:1px solid #e4e9f4;border-radius:22px;background:linear-gradient(135deg,#fff,#f8fbff);box-shadow:0 10px 30px rgba(22,48,88,.06)}
.billing-brand-hero img{display:block;object-fit:contain}.billing-ervina-logo{width:min(220px,35%);max-height:62px}.billing-frontboard-logo{width:min(300px,48%);max-height:70px}.billing-brand-separator{width:1px;height:52px;background:#dde4f0;flex:none}
.account-billing-card{margin-top:22px;display:grid;grid-template-columns:minmax(260px,.8fr) minmax(320px,1.4fr) auto;gap:24px;align-items:center;border-color:#dbe5f2;background:linear-gradient(135deg,#fff,#f6faff)}
.account-billing-card[hidden]{display:none}.account-billing-brand{display:flex;align-items:center;gap:12px}.account-billing-brand img:first-child{width:150px;max-height:48px}.account-billing-brand img:last-child{width:170px;max-height:52px}.brand-divider{font-size:18px;font-weight:900;color:#a3afbf}
.account-billing-card h2{margin:3px 0 6px}.account-billing-card .primary{white-space:nowrap}
.stripe-checkout-card{border-color:#dce5f1;background:linear-gradient(180deg,#fff,#fbfdff)}
.checkout-plan-row{position:relative;overflow:hidden;box-shadow:0 7px 24px rgba(37,55,92,.05);transition:transform .16s ease,border-color .16s ease,box-shadow .16s ease}.checkout-plan-row:hover{transform:translateY(-1px);border-color:#bfcde2;box-shadow:0 11px 30px rgba(37,55,92,.08)}
.checkout-plan-row.current-plan{border:2px solid #3a78d8;background:linear-gradient(135deg,#fff,#f4f8ff)}.checkout-plan-row.current-plan:before{content:"CURRENT";position:absolute;right:0;top:0;padding:5px 11px;border-radius:0 15px 0 12px;background:#e6f0ff;color:#245aa6;font-size:10px;font-weight:950;letter-spacing:.08em}
.checkout-plan-actions{display:flex;flex-direction:column;gap:7px;align-items:stretch;width:224px;min-width:224px}.checkout-plan-actions button{width:100%;min-width:0;height:38px}.checkout-plan-actions small{text-align:center;color:#748096;font-weight:700;font-size:11px}
.start-paid-now{background:linear-gradient(180deg,#2f82ee,#1769d2)!important;border-color:#1769d2!important;box-shadow:0 7px 16px rgba(23,105,210,.18)}.start-paid-now:hover{filter:brightness(.97)}
.billing-start-now-status{margin:14px 2px 0;font-weight:800}.billing-start-now-status.success-text{color:#17653c}.billing-start-now-status.error-text{color:#a1263b}
.subscription-management{border-color:#dce6f2!important;background:#f7faff!important}
@media(max-width:950px){.account-billing-card{grid-template-columns:1fr}.account-billing-brand{margin-bottom:2px}.account-billing-card .primary{width:fit-content}.billing-brand-hero{gap:18px}.billing-ervina-logo{width:min(190px,40%)}.billing-frontboard-logo{width:min(260px,50%)}}
@media(max-width:620px){.billing-brand-hero{padding:15px 16px;gap:13px}.billing-brand-separator{height:42px}.billing-ervina-logo{width:38%}.billing-frontboard-logo{width:52%}.checkout-plan-actions,.checkout-plan-actions button{width:100%;min-width:0}.account-billing-brand{flex-wrap:wrap}}

.style-title-row{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:12px}.style-title-row h3{margin:0}.scroll-toggle{display:inline-flex!important;grid-template-columns:none!important;align-items:center!important;gap:10px!important;margin:0!important;cursor:pointer;user-select:none}.scroll-toggle input{position:absolute;opacity:0;pointer-events:none}.scroll-toggle span{position:relative;width:74px;height:34px;border-radius:999px;background:linear-gradient(180deg,#d9dde3,#bcc2ca);border:1px solid #aeb5bf;box-shadow:inset 0 1px 2px rgba(255,255,255,.75),inset 0 -2px 4px rgba(60,70,85,.16),0 2px 6px rgba(28,38,55,.14);transition:.22s ease}.scroll-toggle span:before{content:"OFF";position:absolute;right:9px;top:50%;transform:translateY(-50%);font-size:10px;font-weight:900;letter-spacing:.04em;color:#5b6472;transition:.22s ease}.scroll-toggle span:after{content:"";position:absolute;top:3px;left:3px;width:26px;height:26px;border-radius:50%;background:linear-gradient(180deg,#ffffff,#eef1f4);border:1px solid rgba(95,106,120,.18);box-shadow:0 2px 6px rgba(0,0,0,.28),inset 0 1px 1px rgba(255,255,255,.95);transition:.22s cubic-bezier(.2,.8,.2,1)}.scroll-toggle input:checked+span{background:linear-gradient(180deg,#18c7a0,#0aa981);border-color:#079975;box-shadow:inset 0 1px 2px rgba(255,255,255,.35),inset 0 -2px 4px rgba(0,80,64,.18),0 0 0 2px rgba(24,199,160,.10),0 3px 9px rgba(8,151,117,.24)}.scroll-toggle input:checked+span:before{content:"ON";left:11px;right:auto;color:#fff;text-shadow:0 1px 2px rgba(0,90,70,.35)}.scroll-toggle input:checked+span:after{transform:translateX(40px)}.scroll-toggle input:focus-visible+span{outline:3px solid rgba(79,70,229,.22);outline-offset:2px}.scroll-toggle strong{font-size:12px;white-space:nowrap;color:#596174}.scroll-toggle input:checked~strong{color:#0b8f70}

/* 3.5.103 premium 3D action button theme */
.primary,.success,.secondary,.danger,.bubble-btn,.navbtn,.quiet,.link-button{position:relative;border-top:1px solid rgba(255,255,255,.78)!important;box-shadow:inset 0 1px 0 rgba(255,255,255,.58),inset 0 -2px 4px rgba(20,30,55,.10),0 7px 0 rgba(28,37,62,.10),0 11px 20px rgba(25,35,65,.14)!important;transform:translateY(0);transition:transform .16s ease,box-shadow .16s ease,filter .16s ease!important}.primary:hover:not(:disabled),.success:hover:not(:disabled),.secondary:hover:not(:disabled),.danger:hover:not(:disabled),.bubble-btn:hover:not(:disabled),.navbtn:hover:not(:disabled),.quiet:hover:not(:disabled),.link-button:hover:not(:disabled){transform:translateY(-2px)!important;filter:saturate(1.04) brightness(1.02)}.primary:active:not(:disabled),.success:active:not(:disabled),.secondary:active:not(:disabled),.danger:active:not(:disabled),.bubble-btn:active:not(:disabled),.navbtn:active:not(:disabled),.quiet:active:not(:disabled),.link-button:active:not(:disabled){transform:translateY(3px)!important;box-shadow:inset 0 2px 5px rgba(20,30,55,.14),0 3px 0 rgba(28,37,62,.10),0 5px 10px rgba(25,35,65,.12)!important}

/* 3.5.103 subtle gray neutral buttons */
.secondary,.quiet,.navbtn:not(.active){background:linear-gradient(180deg,#f8f9fb,#eef1f4)!important;border-color:#d9dee5!important;color:#4f5870}.secondary:hover:not(:disabled),.quiet:hover:not(:disabled),.navbtn:not(.active):hover:not(:disabled){background:linear-gradient(180deg,#f4f6f8,#e8ecf0)!important}

.apple-pay-availability{margin:14px 0 16px;padding:14px 16px;border:1px solid #d9dce5;border-radius:16px;background:#fbfbfc;display:flex;align-items:center;gap:14px}
.apple-pay-availability[hidden]{display:none!important}
.apple-pay-availability img{width:72px;height:auto;object-fit:contain}
.apple-pay-availability div{display:grid;gap:3px}
.apple-pay-availability strong{font-size:17px;color:#111827}
.apple-pay-availability span{font-size:14px;line-height:1.4;color:#606a7d}
.native-apple-pay-panel{margin-top:18px;border:2px solid #171717;border-radius:20px;background:#fff;padding:22px;box-shadow:0 14px 34px rgba(20,25,40,.10);display:grid;gap:16px}
.native-apple-pay-panel[hidden]{display:none!important}
.native-apple-pay-brand{display:flex;align-items:center;gap:16px}
.native-apple-pay-brand img{width:94px;height:auto;object-fit:contain}
.native-apple-pay-brand div{display:grid;gap:4px}
.native-apple-pay-brand strong{font-size:22px;color:#111827}
.native-apple-pay-brand span{color:#5f687a;line-height:1.45}
.native-apple-pay-plan{padding:12px 14px;border-radius:12px;background:#f6f7fb;color:#27324a;font-weight:800}
.native-apple-pay-element{min-height:54px;max-width:520px}
.native-apple-pay-fallback{display:flex;gap:12px;align-items:center;flex-wrap:wrap;padding-top:10px;border-top:1px solid #e7e9f0;color:#687187}
.card-payment-option{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.inline-card-brands{display:flex;align-items:center;gap:7px}
.inline-card-logo,.inline-card-amex{height:34px;min-width:52px;padding:4px 7px;border:1px solid #dfe3ec;border-radius:8px;background:#fff;display:inline-flex;align-items:center;justify-content:center;box-sizing:border-box}
.inline-card-logo img{display:block;max-width:42px;max-height:24px;object-fit:contain}
.inline-card-amex{font-weight:900;font-size:14px;letter-spacing:-.03em;color:#1f5f99}
@media(max-width:620px){.card-payment-option{width:100%}.inline-card-brands{gap:5px}.inline-card-logo,.inline-card-amex{height:31px;min-width:47px;padding:3px 6px}.inline-card-logo img{max-width:38px;max-height:22px}}
@media(max-width:700px){.native-apple-pay-brand{align-items:flex-start}.native-apple-pay-brand img{width:78px}.native-apple-pay-panel{padding:18px}.native-apple-pay-element{max-width:none}.apple-pay-availability{align-items:flex-start}}

.native-apple-pay-step-head{display:flex;align-items:center;justify-content:space-between;gap:16px}
.native-apple-pay-step-head h3{margin:2px 0 0;font-size:24px;color:#111827}
.native-apple-pay-step-head .eyebrow{margin:0}
.native-apple-pay-step-head button{white-space:nowrap}
@media(max-width:620px){.native-apple-pay-step-head{align-items:stretch;flex-direction:column}.native-apple-pay-step-head button{width:100%}}

/* FrontBoard 3.5.103 coordinated display themes */
.theme-hero{background:linear-gradient(135deg,#eff7ff,#f8fff3)}
.theme-picker-card{padding:24px}
.theme-grid{display:grid;grid-template-columns:repeat(4,minmax(180px,1fr));gap:18px}
.theme-card{border:2px solid #e4e8f2;border-radius:20px;background:#fff;padding:0;overflow:hidden;text-align:left;color:var(--ink);box-shadow:0 12px 28px rgba(36,48,90,.08);transform:none}
.theme-card:hover{transform:translateY(-3px);box-shadow:0 18px 36px rgba(36,48,90,.14)}
.theme-card.selected{border-color:var(--brand);box-shadow:0 0 0 3px rgba(91,78,232,.12),0 18px 36px rgba(36,48,90,.14)}
.theme-card.previewing{border-color:#16a085;box-shadow:0 0 0 4px rgba(22,160,133,.16),0 18px 36px rgba(36,48,90,.14)}
.theme-card strong,.theme-card small{display:block;padding-left:16px;padding-right:16px}.theme-card strong{font-size:17px;padding-top:14px}.theme-card small{color:var(--muted);line-height:1.35;padding-top:5px;padding-bottom:16px;min-height:56px}
.theme-preview{display:block;height:132px;position:relative;overflow:hidden}
.theme-preview:before,.theme-preview:after{content:"";position:absolute;border-radius:999px;opacity:.8}
.theme-preview:before{width:170px;height:170px;right:-35px;top:-70px;background:rgba(255,255,255,.38)}
.theme-preview:after{width:110px;height:110px;left:-25px;bottom:-55px;background:rgba(255,255,255,.24)}
.theme-preview.bright{background:url('/assets/theme-elementary-bright.webp') center/cover no-repeat}
.theme-preview.warm{background:url('/assets/theme-elementary-cozy.webp') center/cover no-repeat}
.theme-preview.connected{background:url('/assets/theme-middle-school.webp') center/cover no-repeat}
.theme-preview.horizon{background:url('/assets/theme-high-school-classroom.webp') center/cover no-repeat}
.theme-preview.fall{background:url('/assets/theme-fall.webp') center/cover no-repeat}
.theme-preview.winter{background:url('/assets/theme-winter.webp') center/cover no-repeat}
.theme-preview.spring{background:url('/assets/theme-high-school-campus.webp') center/cover no-repeat}
.theme-preview.summer{background:url('/assets/theme-high-school-campus.webp') center/cover no-repeat}
.theme-footer{padding-top:18px}
@media(max-width:1050px){.theme-grid{grid-template-columns:repeat(2,minmax(180px,1fr))}}
@media(max-width:620px){.theme-grid{grid-template-columns:1fr}.theme-preview{height:118px}}
.theme-preview-toolbar{display:flex;align-items:center;gap:14px;justify-content:space-between;margin-bottom:18px;flex-wrap:wrap}.theme-actions{display:flex;gap:10px;padding:0 16px 16px}.theme-actions button{flex:1}.theme-card.previewing .preview-theme-btn{background:#e9fbf6;border-color:#16a085;color:#0d6f5e}.theme-card .apply-theme-btn:disabled{opacity:.55;cursor:default}

/* Approved locked theme artwork */
.theme-preview:before,.theme-preview:after{display:none!important}
.theme-preview.fall{background:url('/assets/theme-fall.webp') center/cover no-repeat!important}
.theme-preview.winter{background:url('/assets/theme-winter.webp') center/cover no-repeat!important}
.theme-preview.spring{background:url('/assets/theme-high-school-campus.webp') center/cover no-repeat!important}
.theme-preview.summer{background:url('/assets/theme-high-school-campus.webp') center/cover no-repeat!important}


/* Batch 2 approved Welcome theme thumbnails */
.theme-preview.makerspace{background:url('/assets/theme-makerspace.webp') center/cover no-repeat!important}
.theme-preview.colorful{background:url('/assets/theme-colorful-classroom.webp') center/cover no-repeat!important}
.theme-preview.rainbow{background:url('/assets/theme-elementary-rainbow.webp') center/cover no-repeat!important}
.theme-preview.library{background:url('/assets/theme-sunlit-library.webp') center/cover no-repeat!important}
.theme-preview.classic{background:url('/assets/theme-high-school-classic.webp') center/cover no-repeat!important}
.theme-preview.commons{background:url('/assets/theme-learning-commons.webp') center/cover no-repeat!important}
.theme-preview.autumn{background:url('/assets/theme-autumn-campus.webp') center/cover no-repeat!important}
.theme-preview.snowcampus{background:url('/assets/theme-winter-campus.webp') center/cover no-repeat!important}



/* Have a Nice Day scene selector */
.farewell-picker-card{margin-top:22px}
.farewell-grid{grid-template-columns:repeat(2,minmax(220px,1fr));max-width:820px}
.theme-preview.farewell-preview.general{background:url('/assets/have-a-nice-day-general.webp') center/cover no-repeat!important}
.theme-preview.farewell-preview.original{background:url('/assets/have-a-nice-day.webp') center/cover no-repeat!important}
.farewell-card .apply-farewell-btn:disabled{opacity:.55;cursor:default}
.farewell-card.previewing .preview-farewell-btn{background:#e9fbf6;border-color:#16a085;color:#0d6f5e}
@media(max-width:620px){.farewell-grid{grid-template-columns:1fr}}

/* Approved Middle/High School Have a Nice Weekend themes */
.weekend-picker-card{margin-top:22px}
.weekend-grid{grid-template-columns:repeat(3,minmax(220px,1fr))}
.theme-preview.weekend-preview{background-position:center;background-size:cover;background-repeat:no-repeat}
.weekend-card .apply-weekend-btn:disabled{opacity:.55;cursor:default}
.weekend-card.previewing .preview-weekend-btn{background:#e9fbf6;border-color:#16a085;color:#0d6f5e}
@media(max-width:1050px){.weekend-grid{grid-template-columns:repeat(2,minmax(220px,1fr))}}
@media(max-width:620px){.weekend-grid{grid-template-columns:1fr}}
