@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@400;500;600;700;800&display=swap');
:root{--navy:#11233f;--navy2:#193653;--teal:#087e8b;--teal2:#12a6ad;--gold:#f4b942;--bg:#f4f7fb;--card:#ffffff;--ink:#202f43;--muted:#718096;--line:#e0e7ef;--soft:#ecf5f7;--success:#107c55;--danger:#b42318;--shadow:0 12px 35px rgba(16,35,63,.08);font-family:'DM Sans',Arial,sans-serif;color:var(--ink)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);font-family:'DM Sans',Arial,sans-serif;color:var(--ink);line-height:1.5}a{color:var(--teal);text-decoration:none}a:hover{text-decoration:underline}button,input,select,textarea{font:inherit}button{cursor:pointer}.muted,.small{color:var(--muted)}.small{font-size:12px}.eyebrow{font-size:10px;font-weight:800;letter-spacing:.16em;color:var(--teal);margin:0 0 8px;text-transform:uppercase}.brand-mark{width:54px;height:54px;display:grid;place-items:center;background:linear-gradient(145deg,var(--teal),#12a6ad);color:white;font-family:Manrope,Arial,sans-serif;font-weight:800;letter-spacing:-.06em;font-size:21px;border-radius:16px;box-shadow:0 10px 22px rgba(8,126,139,.22)}
/* Login and installer */
.login-body,.install-body{min-height:100vh;background:radial-gradient(circle at 10% 10%,rgba(18,166,173,.16),transparent 34%),linear-gradient(140deg,#edf4f8,#f8fafc);display:grid;place-items:center;padding:24px}.login-shell{width:min(1050px,100%);min-height:620px;display:grid;grid-template-columns:1.05fr .95fr;border-radius:28px;overflow:hidden;background:var(--card);box-shadow:0 25px 80px rgba(17,35,63,.16)}.login-brand{background:linear-gradient(145deg,var(--navy),#193c56);color:white;padding:56px 48px;position:relative;overflow:hidden}.login-brand:after{content:'';width:360px;height:360px;border:1px solid rgba(255,255,255,.12);border-radius:50%;position:absolute;right:-160px;bottom:-120px;box-shadow:0 0 0 38px rgba(255,255,255,.025),0 0 0 85px rgba(255,255,255,.02)}.login-brand .eyebrow{color:var(--gold);margin-top:30px}.login-brand h1{font-family:Manrope,Arial,sans-serif;font-size:38px;line-height:1.16;letter-spacing:-.04em;margin:12px 0 18px;position:relative;z-index:1}.login-brand p:not(.eyebrow){color:#c9d8e8;max-width:400px;font-size:15px}.brand-chips{display:flex;flex-wrap:wrap;gap:8px;margin-top:30px}.brand-chips span{border:1px solid rgba(255,255,255,.18);background:rgba(255,255,255,.06);color:#e6edf4;border-radius:30px;padding:8px 12px;font-size:11px}.login-panel{padding:58px 46px;align-self:center}.login-panel h2,.install-wrap h1{font-family:Manrope,Arial,sans-serif;font-size:27px;letter-spacing:-.04em;margin:0 0 8px}.stack-form{display:grid;gap:17px;margin-top:25px}.stack-form label,.installer-form label,.form-grid label{display:grid;gap:7px;font-size:12px;font-weight:700;color:#43536a}.stack-form input,.installer-form input,.form-grid input,.form-grid select,.adjust-form input{width:100%;border:1px solid #d7e0e9;border-radius:10px;padding:12px 13px;background:#fff;color:var(--ink);outline:none;min-width:0}.stack-form input:focus,.installer-form input:focus,.form-grid input:focus,.form-grid select:focus{border-color:var(--teal);box-shadow:0 0 0 3px rgba(8,126,139,.12)}.login-help{margin-top:30px;padding-top:18px;border-top:1px solid var(--line);font-size:12px;color:var(--muted)}.login-help p{margin:8px 0}.install-wrap{width:min(600px,100%);text-align:center}.install-wrap .brand-mark{margin:0 auto 18px}.install-wrap>h1{font-size:30px}.installer-form{text-align:left;margin-top:24px;padding:28px;display:grid;gap:14px}.installer-form h2{font-size:15px;font-family:Manrope,Arial,sans-serif;margin:8px 0 0}.footer-note{font-size:12px;color:var(--muted);margin-top:25px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:7px;border:1px solid transparent;border-radius:10px;padding:11px 15px;font-size:12px;font-weight:800;white-space:nowrap;transition:transform .15s ease,box-shadow .15s ease,background .15s ease}.btn:hover{transform:translateY(-1px);text-decoration:none}.btn.primary{background:var(--teal);color:white;box-shadow:0 7px 15px rgba(8,126,139,.16)}.btn.primary:hover{background:#076e79}.btn.outline{border-color:#cddbe5;background:white;color:var(--navy)}.btn.subtle{background:transparent;border-color:var(--line);color:var(--ink)}.btn.tiny{padding:7px 9px;font-size:11px;background:var(--teal);color:white}.btn.danger{background:#fff0ef;border-color:#ffd0cb;color:var(--danger);padding:7px 10px;font-size:11px}.btn.full{width:100%}.alert{padding:12px 15px;margin:0 0 16px;border:1px solid;border-radius:12px;font-size:13px}.alert.error{background:#fff2f1;color:#9b1c13;border-color:#ffd3ce}.alert.success{background:#eaf8f0;color:#15633e;border-color:#bde9cf}
/* App frame */
.app-body{min-height:100vh;display:grid;grid-template-columns:250px minmax(0,1fr);background:var(--bg)}.sidebar{background:var(--navy);color:white;min-height:100vh;padding:25px 18px 18px;display:flex;flex-direction:column;position:sticky;top:0;height:100vh;overflow:auto}.sidebrand{display:flex;align-items:center;gap:11px;color:white;padding:3px 6px 28px}.sidebrand:hover{text-decoration:none}.sidebrand strong{display:block;font-family:Manrope,Arial,sans-serif;font-size:13px}.sidebrand small{display:block;color:#aebfd0;font-size:10px;margin-top:3px}.small-mark{width:42px;height:42px;border-radius:13px;font-size:17px;flex-shrink:0}.side-label{font-size:9px;font-weight:800;letter-spacing:.18em;color:#7691a8;margin:0 10px 10px}.side-nav{display:grid;gap:5px}.side-nav a{display:flex;align-items:center;gap:12px;padding:12px 13px;color:#c4d1df;border-radius:11px;font-size:12px;font-weight:600}.side-nav a.active,.side-nav a:hover{background:rgba(255,255,255,.09);color:white;text-decoration:none}.side-nav a.active{box-shadow:inset 3px 0 var(--gold)}.nav-dot{width:7px;height:7px;border-radius:2px;background:#6f8ba3}.side-nav a.active .nav-dot{background:var(--gold)}.sidebar-bottom{margin-top:auto;padding:20px 11px 8px;border-top:1px solid rgba(255,255,255,.1);display:grid;gap:7px;font-size:11px}.sidebar-bottom p{color:#7f9ab0;font-size:9px;text-transform:uppercase;font-weight:800;letter-spacing:.14em;margin:0}.sidebar-bottom strong{font-size:13px}.sidebar-bottom a{color:#b2e4e6}.sidebar-bottom span{color:#94aabe}.main-area{min-width:0;padding:25px clamp(18px,3.2vw,48px) 22px;max-width:1700px;width:100%;margin:0 auto}.topbar{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:22px}.topbar h1{font-family:Manrope,Arial,sans-serif;font-size:25px;letter-spacing:-.045em;margin:0;color:var(--navy)}.top-actions{display:flex;align-items:center;gap:11px}.theme-toggle{border:1px solid var(--line);background:var(--card);color:var(--ink);border-radius:10px;padding:10px 12px;font-size:11px;font-weight:800}.user-pill{display:flex;align-items:center;gap:8px;padding:6px 9px;background:var(--card);border:1px solid var(--line);border-radius:14px}.avatar{display:grid;place-items:center;width:33px;height:33px;background:#e7f4f5;color:var(--teal);font-weight:800;border-radius:10px}.user-pill strong{display:block;font-size:11px;max-width:140px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.user-pill small{display:block;text-transform:capitalize;color:var(--muted);font-size:10px}.logout-form{margin:0}.ad-banner{display:flex;align-items:center;justify-content:space-between;gap:18px;background:linear-gradient(110deg,#fef7e5,#fffdf8);border:1px solid #f5e4b9;border-radius:15px;padding:15px 19px;margin-bottom:23px}.ad-banner strong{display:block;color:#76541a;font-size:12px;margin:3px 0}.ad-banner small{display:block;color:#917c4e;font-size:10px}.ad-label{display:inline-block;color:#94701c;font-size:9px;font-weight:800;letter-spacing:.15em}.ad-button{background:#f4b942;color:#3d2c0e;border-radius:9px}.welcome-card{position:relative;min-height:235px;padding:29px 32px;display:flex;align-items:center;justify-content:space-between;gap:24px;background:linear-gradient(110deg,#11233f,#1a4961);color:white;border-radius:22px;overflow:hidden;box-shadow:var(--shadow)}.welcome-card:after{content:'';position:absolute;width:420px;height:420px;border:1px solid rgba(255,255,255,.11);border-radius:50%;right:-130px;top:-210px;box-shadow:0 0 0 40px rgba(255,255,255,.025),0 0 0 90px rgba(255,255,255,.02)}.welcome-card>div:first-child{position:relative;z-index:1;max-width:630px}.welcome-card .eyebrow{color:var(--gold)}.welcome-card h2{font-family:Manrope,Arial,sans-serif;font-size:27px;letter-spacing:-.04em;margin:4px 0 10px}.welcome-card p{color:#c5d6e6;max-width:560px;font-size:13px;margin:0}.welcome-actions{display:flex;gap:10px;margin-top:22px;flex-wrap:wrap}.welcome-actions .outline{background:rgba(255,255,255,.06);color:white;border-color:rgba(255,255,255,.2)}.welcome-orbit{position:relative;width:200px;height:175px;flex-shrink:0;z-index:1}.orbit-core{position:absolute;width:94px;height:94px;border-radius:50%;background:linear-gradient(150deg,#12a6ad,#087e8b);left:53px;top:42px;display:grid;place-items:center;text-align:center;font-size:24px;font-family:Manrope,Arial,sans-serif;font-weight:800;box-shadow:0 0 0 14px rgba(18,166,173,.12),0 0 0 29px rgba(18,166,173,.06)}.orbit-core small{font-size:7px;letter-spacing:.16em}.welcome-orbit i,.welcome-orbit b,.welcome-orbit em{position:absolute;width:10px;height:10px;border-radius:50%;background:var(--gold);box-shadow:0 0 18px var(--gold)}.welcome-orbit i{top:22px;left:23px}.welcome-orbit b{right:14px;top:74px;width:7px;height:7px}.welcome-orbit em{bottom:10px;left:96px;width:5px;height:5px}.kpi-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin:20px 0}.kpi{padding:18px 18px;background:var(--card);border:1px solid var(--line);border-radius:16px;box-shadow:0 6px 20px rgba(16,35,63,.025);min-width:0}.kpi-top{display:flex;justify-content:space-between;gap:6px;align-items:center;font-size:11px;color:var(--muted)}.kpi-icon{width:28px;height:28px;display:grid;place-items:center;color:var(--teal);background:var(--soft);border-radius:9px;font-weight:800}.kpi>strong{font-family:Manrope,Arial,sans-serif;display:block;font-size:24px;letter-spacing:-.035em;color:var(--navy);margin:11px 0 4px;overflow-wrap:anywhere}.kpi>small{color:var(--muted);font-size:10px}.content-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:15px}.panel{background:var(--card);border:1px solid var(--line);border-radius:16px;padding:22px;margin-bottom:17px;box-shadow:0 6px 20px rgba(16,35,63,.025);min-width:0}.panel h3{font-family:Manrope,Arial,sans-serif;font-size:15px;margin:0;color:var(--navy);letter-spacing:-.02em}.panel p{font-size:12px;color:var(--muted)}.panel-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:15px;margin-bottom:17px}.panel-heading p{margin:4px 0 0;font-size:11px}.panel-heading>a{font-size:11px;font-weight:800;white-space:nowrap}.lesson-mini-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.lesson-mini{border:1px solid var(--line);padding:13px;border-radius:12px;display:grid;gap:7px;color:var(--ink)}.lesson-mini:hover{border-color:#a8d8db;text-decoration:none;background:#fbfefe}.lesson-number{width:27px;height:27px;display:grid;place-items:center;background:#e8f6f6;color:var(--teal);border-radius:8px;font-size:10px;font-weight:800}.lesson-mini strong{font-size:11px}.lesson-mini small{font-size:10px;color:var(--muted)}.quick-list{display:grid;gap:4px}.quick-list a{display:flex;gap:12px;align-items:center;padding:10px 6px;border-bottom:1px solid #edf0f4;color:var(--ink)}.quick-list a:last-child{border-bottom:0}.quick-list a>span{width:32px;height:32px;display:grid;place-items:center;background:var(--soft);color:var(--teal);border-radius:10px}.quick-list strong{display:block;font-size:11px}.quick-list small{display:block;color:var(--muted);font-size:10px;margin-top:3px}.notice{padding:15px 18px;border:1px solid #d6e8ec;background:#f1f8f9;border-radius:13px;margin:8px 0 20px}.notice strong{font-size:11px;color:var(--teal)}.notice p{margin:5px 0 0;color:#526979;font-size:11px}.page-intro{margin:4px 0 21px}.page-intro h2{font-family:Manrope,Arial,sans-serif;font-size:21px;letter-spacing:-.035em;margin:0 0 5px;color:var(--navy)}.page-intro p{margin:0;color:var(--muted);font-size:12px;max-width:750px}.split-intro{display:flex;align-items:center;justify-content:space-between;gap:14px}.video-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px}.video-card{padding:0;overflow:hidden}.video-card video{width:100%;background:#0e1f33;display:block;aspect-ratio:16/9;object-fit:contain}.video-copy{padding:17px 19px 18px}.video-copy h3{margin:3px 0 6px}.video-copy p{margin:0}.resource-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-bottom:18px}.resource-card{display:block;background:var(--card);border:1px solid var(--line);border-radius:16px;padding:22px;color:var(--ink);min-width:0;box-shadow:0 6px 20px rgba(16,35,63,.025);transition:transform .15s,border .15s}.resource-card:hover{transform:translateY(-2px);border-color:#a3d9dc;text-decoration:none}.resource-icon{width:42px;height:42px;border-radius:13px;background:var(--soft);color:var(--teal);display:grid;place-items:center;font-size:19px;margin-bottom:16px}.resource-card h3{font-family:Manrope,Arial,sans-serif;font-size:14px;margin:0 0 5px;color:var(--navy)}.resource-card p{font-size:11px;color:var(--muted);min-height:32px;margin:0 0 14px}.resource-card span:last-child{font-size:10px;font-weight:800;color:var(--teal);overflow-wrap:anywhere}.tag-row{display:flex;gap:7px;flex-wrap:wrap}.tag{display:inline-flex;align-items:center;border-radius:50px;background:#edf4f8;color:#4e6479;padding:5px 8px;font-size:9px;font-weight:800}.tag-ok{background:#e8f7ed;color:#187647}.tag-off{background:#fff1f0;color:#b42318}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px}.form-grid .wide{grid-column:1/-1}.form-grid label{min-width:0}.table-wrap{overflow:auto;border:1px solid var(--line);border-radius:11px}table{width:100%;border-collapse:collapse;min-width:730px;font-size:11px}thead{background:#f4f7fa}th{text-align:left;text-transform:uppercase;letter-spacing:.07em;font-size:9px;color:#687a8d;padding:12px 13px;white-space:nowrap}td{padding:12px 13px;border-top:1px solid #edf1f5;vertical-align:middle}tbody tr:hover{background:#fbfdfe}.empty-cell{text-align:center;color:var(--muted);padding:28px}.stock-pill{padding:5px 8px;border-radius:7px;background:#eaf8f0;color:#176b45;font-weight:800}.stock-pill.low{background:#fff4dd;color:#8a5b00}.adjust-form{display:flex;gap:5px;min-width:285px}.adjust-form input{padding:7px 8px;font-size:10px}.adjust-form input:first-of-type{width:75px}.adjust-form input:nth-of-type(2){width:105px}.empty-state{border:1px dashed #cddce5;border-radius:12px;padding:20px;color:var(--muted);font-size:12px;background:#f9fbfc}.narrow-panel{max-width:600px}.app-footer{border-top:1px solid var(--line);padding:18px 0;margin-top:26px;display:flex;justify-content:space-between;gap:14px;flex-wrap:wrap;color:var(--muted);font-size:10px}.app-footer a{color:var(--teal)}
/* Chat tutor and sponsor prompt */
.chat-launch{position:fixed;z-index:50;left:20px;bottom:20px;display:flex;align-items:center;gap:9px;border:0;border-radius:50px;background:var(--navy);color:white;padding:12px 17px;box-shadow:0 12px 30px rgba(17,35,63,.25);font-weight:800;font-size:12px}.chat-launch:hover{background:#194a63}.chat-panel{position:fixed;z-index:55;left:20px;bottom:78px;width:min(375px,calc(100vw - 40px));height:min(550px,calc(100vh - 115px));background:var(--card);border:1px solid var(--line);border-radius:19px;box-shadow:0 24px 70px rgba(10,27,48,.25);display:flex;flex-direction:column;overflow:hidden}.chat-panel[hidden],.ad-overlay[hidden]{display:none!important}.chat-head{background:var(--navy);color:white;padding:14px 15px;display:flex;justify-content:space-between;align-items:center}.chat-head strong{display:block;font-size:12px}.chat-head small{display:block;font-size:10px;color:#b5d2e0;margin-top:3px}.chat-head button{background:transparent;color:white;border:0;font-size:25px}.chat-lang{display:flex;gap:6px;padding:9px 11px;border-bottom:1px solid var(--line)}.chat-lang button{border:1px solid var(--line);background:var(--card);border-radius:20px;font-size:10px;padding:6px 10px;color:var(--muted)}.chat-lang button.selected{background:#e8f6f6;color:var(--teal);border-color:#bde4e5;font-weight:800}.chat-messages{padding:13px;overflow:auto;display:flex;flex-direction:column;gap:9px;flex:1}.chat-bubble{max-width:91%;padding:10px 12px;border-radius:13px;font-size:11px;line-height:1.55;white-space:pre-wrap}.chat-bubble.bot{align-self:flex-start;background:#f0f5f8;color:#2c4356;border-bottom-left-radius:4px}.chat-bubble.user{align-self:flex-end;background:var(--teal);color:white;border-bottom-right-radius:4px}.chat-compose{display:flex;padding:10px;gap:7px;border-top:1px solid var(--line)}.chat-compose input{min-width:0;flex:1;border:1px solid var(--line);border-radius:9px;padding:10px;font-size:11px;background:var(--card);color:var(--ink)}.chat-compose button{width:38px;border:0;background:var(--teal);color:white;border-radius:9px;font-weight:800}.chat-tools{padding:0 10px 8px;display:flex;gap:7px}.chat-tools button{border:1px solid var(--line);background:var(--card);color:var(--muted);font-size:9px;border-radius:20px;padding:6px 8px}.chat-disclaimer{font-size:9px!important;margin:0;padding:0 12px 10px}.support-fab{position:fixed;z-index:49;right:20px;bottom:20px;display:flex;align-items:center;gap:7px;padding:12px 15px;background:#147b4c;color:white;border-radius:50px;box-shadow:0 12px 25px rgba(20,123,76,.22);font-size:11px;font-weight:800}.support-fab:hover{text-decoration:none;background:#0f663e}.ad-overlay{position:fixed;z-index:100;inset:0;display:flex;justify-content:center;align-items:center;padding:18px;background:rgba(5,16,30,.68);backdrop-filter:blur(5px)}.ad-modal{width:min(440px,100%);background:var(--card);border-radius:22px;padding:30px;box-shadow:0 28px 90px rgba(0,0,0,.3);text-align:center}.ad-modal h2{font-family:Manrope,Arial,sans-serif;color:var(--navy);font-size:22px;line-height:1.25;letter-spacing:-.04em;margin:10px 0}.ad-modal p{font-size:12px;color:var(--muted);margin:0 0 18px}.ad-modal small{display:block;font-size:9px;color:var(--muted);margin-top:12px}.ad-modal-actions{margin-top:18px}.chat-panel[hidden]{display:none}
/* Dark theme */
body[data-theme="dark"]{--bg:#0d1828;--card:#142338;--ink:#e5edf5;--muted:#9cafc2;--line:#263a51;--soft:#19374a;color:var(--ink)}body[data-theme="dark"] .topbar h1,body[data-theme="dark"] .panel h3,body[data-theme="dark"] .page-intro h2,body[data-theme="dark"] .kpi>strong,body[data-theme="dark"] .resource-card h3,body[data-theme="dark"] .ad-modal h2{color:#edf5fc}body[data-theme="dark"] .panel,body[data-theme="dark"] .kpi,body[data-theme="dark"] .resource-card,body[data-theme="dark"] .user-pill,body[data-theme="dark"] .theme-toggle{background:var(--card)}body[data-theme="dark"] .lesson-mini{border-color:var(--line);color:var(--ink)}body[data-theme="dark"] .lesson-mini:hover{background:#172c40}body[data-theme="dark"] .notice{background:#132d3e;border-color:#28495b}body[data-theme="dark"] .notice p{color:#a8bdce}body[data-theme="dark"] thead{background:#1a2a40}body[data-theme="dark"] td,body[data-theme="dark"] th{border-color:#273a4e}body[data-theme="dark"] tbody tr:hover{background:#182a3d}body[data-theme="dark"] .stack-form input,body[data-theme="dark"] .form-grid input,body[data-theme="dark"] .form-grid select,body[data-theme="dark"] .adjust-form input,body[data-theme="dark"] .chat-compose input{background:#0f1b2c;border-color:#2e435a;color:#e5edf5}body[data-theme="dark"] .btn.outline,body[data-theme="dark"] .btn.subtle{background:#192b41;color:#e5edf5;border-color:#334a62}body[data-theme="dark"] .chat-bubble.bot{background:#20354a;color:#dfe9f2}body[data-theme="dark"] .chat-lang button,body[data-theme="dark"] .chat-tools button{background:#172a40;border-color:#2b4057;color:#a8bdce}body[data-theme="dark"] .chat-lang button.selected{background:#123a43;color:#8de2e5}body[data-theme="dark"] .ad-banner{background:#3c321e;border-color:#65522a}body[data-theme="dark"] .ad-banner strong{color:#ffe3a0}body[data-theme="dark"] .ad-banner small{color:#dfc47c}
@media(max-width:1120px){.app-body{grid-template-columns:220px minmax(0,1fr)}.sidebar{padding-left:14px;padding-right:14px}.kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.welcome-orbit{transform:scale(.85);margin-right:-15px}.resource-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:820px){.login-shell{grid-template-columns:1fr;max-width:550px}.login-brand{padding:34px 32px}.login-brand h1{font-size:30px}.login-panel{padding:34px 32px}.app-body{display:block}.sidebar{position:relative;top:auto;height:auto;min-height:0;padding:12px 14px;overflow:visible}.sidebrand{padding:0 4px 11px}.side-label,.sidebar-bottom{display:none}.side-nav{display:flex;overflow-x:auto;gap:4px;padding-bottom:2px}.side-nav a{white-space:nowrap;padding:9px 12px;font-size:11px}.main-area{padding:18px 14px 25px}.topbar{align-items:flex-start;flex-direction:column}.top-actions{width:100%;flex-wrap:wrap}.user-pill{margin-left:auto}.content-grid{grid-template-columns:1fr}.welcome-orbit{display:none}.welcome-card{padding:24px}.video-grid{grid-template-columns:1fr}.topbar h1{font-size:23px}.app-footer{display:grid}.ad-banner{align-items:flex-start;flex-direction:column}.ad-button{align-self:stretch}}
@media(max-width:560px){.login-body,.install-body{padding:12px}.login-brand{padding:28px 24px}.login-panel{padding:28px 23px}.login-brand h1{font-size:27px}.login-panel h2{font-size:24px}.kpi-grid{grid-template-columns:1fr 1fr;gap:9px}.kpi{padding:13px}.kpi>strong{font-size:19px}.kpi-top{font-size:10px}.lesson-mini-grid{grid-template-columns:1fr}.panel{padding:16px}.form-grid{grid-template-columns:1fr}.form-grid .wide{grid-column:auto}.resource-grid{grid-template-columns:1fr}.resource-card p{min-height:0}.split-intro{align-items:flex-start;flex-direction:column}.top-actions{gap:6px}.user-pill{max-width:calc(100vw - 190px)}.user-pill strong{max-width:85px}.chat-launch{left:12px;bottom:12px}.support-fab{right:12px;bottom:12px;padding:11px 12px}.support-fab span{display:none}.chat-panel{left:10px;bottom:68px;width:calc(100vw - 20px);height:min(570px,calc(100vh - 90px))}.ad-modal{padding:24px 19px}.app-footer{font-size:9px}}
