:root{--bg:#f5f7fb;--card:#fff;--ink:#172033;--muted:#6b7484;--brand:#173f67;--accent:#1769aa;--line:#e5e9ef;--danger:#b42318;--success:#087443;--shadow:0 8px 28px rgba(20,40,70,.08)}*{box-sizing:border-box}body{margin:0;font-family:Inter,Segoe UI,Arial,sans-serif;background:var(--bg);color:var(--ink)}button,input,select,textarea{font:inherit}button{cursor:pointer}.hidden{display:none!important}.login{min-height:100vh;display:grid;place-items:center;background:linear-gradient(135deg,#173f67,#0c6a86)}.login-card{width:min(430px,92vw);background:#fff;padding:34px;border-radius:20px;box-shadow:0 25px 70px #0004}.login-card h1{margin:12px 0 4px}.login-card form{display:grid;gap:12px;margin-top:24px}.login-card input{padding:13px;border:1px solid #ccd4df;border-radius:10px}.brand-mark{width:58px;height:58px;border-radius:16px;display:grid;place-items:center;background:var(--brand);color:#fff;font-weight:800;letter-spacing:1px}.brand-mark.small{width:40px;height:40px;border-radius:11px;font-size:13px}.full{width:100%}.error{color:var(--danger);min-height:20px}.sidebar{position:fixed;left:0;top:0;bottom:0;width:250px;background:#102f4e;color:#dce9f5;padding:18px;display:flex;flex-direction:column;z-index:10}.brand{display:flex;gap:10px;align-items:center;margin-bottom:20px}.brand b{display:block;color:#fff}.brand span{font-size:12px;color:#9eb5ca}.sidebar nav{overflow:auto;display:grid;gap:4px}.sidebar nav button,.logout{background:transparent;border:0;color:#dce9f5;text-align:left;padding:11px 12px;border-radius:9px}.sidebar nav button:hover,.sidebar nav button.active{background:#1d527f;color:#fff}.logout{margin-top:auto;background:#173f67}.main{margin-left:250px;min-height:100vh}.topbar{position:sticky;top:0;background:#fff;border-bottom:1px solid var(--line);padding:14px 24px;display:flex;align-items:center;justify-content:space-between;gap:15px;z-index:5}.topbar h1{font-size:21px;margin:0}.top-actions{display:flex;gap:8px}.top-actions input{width:min(420px,42vw);padding:10px;border:1px solid #ccd4df;border-radius:9px}.top-actions button,.primary,.secondary{border:0;border-radius:9px;padding:10px 14px}.primary{background:var(--accent);color:#fff}.secondary{background:#eaf1f8;color:#173f67}.danger{background:var(--danger);color:#fff}.content,.main>#content{padding:24px}.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:14px}.card{background:var(--card);border:1px solid var(--line);border-radius:14px;padding:18px;box-shadow:var(--shadow)}.stat .num{font-size:28px;font-weight:800;margin-top:7px}.muted{color:var(--muted)}.pill{display:inline-block;background:#edf4fb;color:#17517c;border-radius:999px;padding:5px 9px;font-size:12px}.section{margin-top:18px}.toolbar{display:flex;gap:9px;flex-wrap:wrap;margin:12px 0}.toolbar input,.toolbar select,.formgrid input,.formgrid select,.formgrid textarea{padding:10px;border:1px solid #ccd4df;border-radius:8px;background:#fff}.formgrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:10px}.formgrid label{display:grid;gap:5px;font-size:13px}.tablewrap{overflow:auto}.table{width:100%;border-collapse:collapse}.table th,.table td{padding:10px;border-bottom:1px solid var(--line);text-align:left;white-space:nowrap}.table th{font-size:12px;text-transform:uppercase;color:var(--muted);background:#fafbfd}.progress{height:9px;background:#e9eef4;border-radius:99px;overflow:hidden}.progress span{display:block;height:100%;background:var(--accent)}.modal{position:fixed;inset:0;background:#0006;display:grid;place-items:center;z-index:50}.modal-card{background:#fff;width:min(850px,94vw);max-height:90vh;overflow:auto;border-radius:16px;padding:20px}.modal-head{display:flex;justify-content:space-between;align-items:center}.close{border:0;background:#eee;border-radius:50%;width:34px;height:34px}.search-result{padding:12px;border-bottom:1px solid var(--line)}#toast{position:fixed;right:20px;bottom:20px;z-index:100}.toast{background:#173f67;color:#fff;padding:12px 16px;border-radius:10px;box-shadow:var(--shadow);margin-top:8px}.empty{padding:30px;text-align:center;color:var(--muted)}@media(max-width:900px){.sidebar{width:70px;padding:12px}.sidebar .brand div:not(.brand-mark),.sidebar nav button span,.logout span{display:none}.main{margin-left:70px}.sidebar nav button,.logout{text-align:center}.topbar{align-items:flex-start;flex-direction:column}.top-actions input{width:100%}.top-actions{width:100%}}@media(max-width:600px){.main{margin-left:0}.sidebar{position:fixed;left:0;right:0;bottom:auto;width:100%;height:60px;flex-direction:row;align-items:center;padding:8px}.sidebar .brand,.logout{display:none}.sidebar nav{display:flex;overflow:auto}.sidebar nav button{white-space:nowrap}.topbar{margin-top:60px}.content,.main>#content{padding:14px}.top-actions{display:none}}

.actions{display:flex;gap:6px}.actions button{white-space:nowrap}.wide{grid-column:1/-1}.formgrid textarea{min-height:76px;resize:vertical}.card h3,.modal-card h2{margin-top:0}

/* v31.3 teacher management */
.teacher-thumb{width:48px;height:48px;border-radius:50%;object-fit:cover;border:1px solid #d7dce5}.teacher-placeholder{width:48px;height:48px;border-radius:50%;display:grid;place-items:center;background:#eef1f6;font-size:24px}.teacher-photo-preview{width:160px;height:160px;border-radius:16px;object-fit:cover;border:1px solid #d7dce5}.teacher-photo-large{width:160px;height:160px;border-radius:16px;display:grid;place-items:center;background:#eef1f6;font-size:72px}.photo-editor{text-align:center}.photo-editor label{display:block;margin:14px auto;max-width:420px}.teacher-profile{display:grid;grid-template-columns:220px 1fr;gap:28px;align-items:start}.teacher-profile-photo,.teacher-profile-placeholder{width:200px;height:240px;border-radius:16px;object-fit:cover;border:1px solid #d7dce5}.teacher-profile-placeholder{display:grid;place-items:center;background:#eef1f6;font-size:90px}@media(max-width:700px){.teacher-profile{grid-template-columns:1fr}.teacher-profile-photo,.teacher-profile-placeholder{width:160px;height:190px}}

.teacher-form-card{max-width:1000px;max-height:92vh;overflow:auto}.teacher-form-card h3{grid-column:1/-1;margin:18px 0 4px}.profile-sections{display:grid;grid-template-columns:repeat(auto-fit,minmax(360px,1fr));gap:16px}.profile-row{display:grid;grid-template-columns:minmax(150px,42%) 1fr;gap:12px;padding:8px 0;border-bottom:1px solid #e5e7eb}.profile-row b{font-size:13px}.profile-row span{font-size:13px;word-break:break-word}


/* v31.5 selectable interface themes */
body[data-theme="classic-blue"]{--bg:#f5f7fb;--card:#fff;--ink:#172033;--muted:#6b7484;--brand:#173f67;--accent:#1769aa;--line:#e5e9ef;--sidebar:#102f4e;--sideactive:#1d527f;--soft:#eaf1f8}
body[data-theme="emerald"]{--bg:#f1f8f5;--card:#fff;--ink:#16342a;--muted:#61756e;--brand:#116149;--accent:#168a67;--line:#dceae4;--sidebar:#0d4938;--sideactive:#167458;--soft:#e4f5ee}
body[data-theme="royal-purple"]{--bg:#f7f4fb;--card:#fff;--ink:#2c2141;--muted:#746a82;--brand:#5b2c83;--accent:#7a3db0;--line:#e8dff0;--sidebar:#3e1f5c;--sideactive:#673494;--soft:#f0e7f8}
body[data-theme="sunset"]{--bg:#fff7f1;--card:#fff;--ink:#45291e;--muted:#806d65;--brand:#a84218;--accent:#df651f;--line:#f1dfd4;--sidebar:#753015;--sideactive:#b64b19;--soft:#fff0e5}
body[data-theme="rose"]{--bg:#fff5f8;--card:#fff;--ink:#442331;--muted:#806974;--brand:#9f315c;--accent:#d14c7c;--line:#f0dce4;--sidebar:#742441;--sideactive:#ab3863;--soft:#fce9f0}
body[data-theme="slate"]{--bg:#f3f5f7;--card:#fff;--ink:#1e293b;--muted:#64748b;--brand:#334155;--accent:#475569;--line:#dfe4ea;--sidebar:#1e293b;--sideactive:#475569;--soft:#e8edf2}
body[data-theme="gold"]{--bg:#fbf8ef;--card:#fff;--ink:#3d3520;--muted:#786f58;--brand:#765b14;--accent:#a77b13;--line:#ece4cf;--sidebar:#55410e;--sideactive:#826318;--soft:#f8efd4}
body[data-theme="midnight"]{--bg:#101622;--card:#182132;--ink:#e7edf6;--muted:#9aa8bb;--brand:#245c9c;--accent:#3b82f6;--line:#2b384c;--sidebar:#090f19;--sideactive:#1d4f86;--soft:#223047;--shadow:0 8px 28px rgba(0,0,0,.28)}
body[data-theme] .sidebar{background:var(--sidebar)}body[data-theme] .sidebar nav button:hover,body[data-theme] .sidebar nav button.active{background:var(--sideactive)}body[data-theme] .logout{background:var(--brand)}body[data-theme] .brand-mark{background:var(--brand)}body[data-theme] .primary{background:var(--accent)}body[data-theme] .secondary{background:var(--soft);color:var(--brand)}body[data-theme] .pill{background:var(--soft);color:var(--brand)}body[data-theme] .progress span{background:var(--accent)}body[data-theme] .toast{background:var(--brand)}body[data-theme] .topbar{background:var(--card)}body[data-theme] .table th{background:color-mix(in srgb,var(--card) 92%,var(--brand) 8%)}body[data-theme] input,body[data-theme] select,body[data-theme] textarea{background:var(--card);color:var(--ink);border-color:var(--line)}body[data-theme="midnight"] .modal-card,body[data-theme="midnight"] .login-card{background:var(--card);color:var(--ink)}
.appearance-modal{max-width:980px}.theme-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px;margin:12px 0 24px}.theme-option input,.report-template-option input{position:absolute;opacity:0}.theme-swatch{display:grid;gap:7px;padding:10px;border:2px solid var(--line);border-radius:12px;cursor:pointer}.theme-swatch i{height:54px;border-radius:8px;background:linear-gradient(135deg,var(--sw1),var(--sw2))}.theme-option input:checked+.theme-swatch,.report-template-option input:checked+span{border-color:var(--accent);box-shadow:0 0 0 2px color-mix(in srgb,var(--accent) 22%,transparent)}.theme-classic-blue{--sw1:#173f67;--sw2:#1769aa}.theme-emerald{--sw1:#116149;--sw2:#168a67}.theme-royal-purple{--sw1:#5b2c83;--sw2:#7a3db0}.theme-sunset{--sw1:#a84218;--sw2:#df651f}.theme-rose{--sw1:#9f315c;--sw2:#d14c7c}.theme-slate{--sw1:#334155;--sw2:#64748b}.theme-gold{--sw1:#765b14;--sw2:#c59a27}.theme-midnight{--sw1:#090f19;--sw2:#245c9c}.report-template-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:10px;margin:12px 0 22px}.report-template-option span{display:grid;gap:6px;min-height:85px;padding:14px;border:2px solid var(--line);border-radius:12px;cursor:pointer;background:var(--card)}.report-template-option small{color:var(--muted);line-height:1.35}.appearance-button{white-space:nowrap}

.force-upper,[data-upper]{text-transform:uppercase}.school-profile-form{max-width:900px}
/* v32 operations enhancements */
.birthday-row{display:flex;align-items:center;gap:12px;padding:9px 0;border-bottom:1px solid var(--line,#e5e7eb)}
.birthday-photo{width:46px;height:46px;border-radius:50%;object-fit:cover;border:2px solid var(--primary,#2563eb)}
.birthday-icon{width:46px;height:46px;border-radius:50%;display:grid;place-items:center;background:#fff7ed;font-size:22px}
.signature-preview{max-width:180px;max-height:70px;object-fit:contain;border-bottom:1px solid #888;padding:4px}
.signature-mini{width:100px;height:38px;object-fit:contain}
.checkline{display:block;padding:8px 4px;border-bottom:1px solid var(--line,#e5e7eb)}
.attendance-line{display:grid;grid-template-columns:1fr 160px;gap:12px;align-items:center;padding:7px 0;border-bottom:1px solid var(--line,#e5e7eb)}
.calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));border:1px solid var(--line,#d1d5db);background:var(--line,#d1d5db);gap:1px}
.cal-head{background:var(--primary,#1d4ed8);color:white;font-weight:700;text-align:center;padding:10px 4px}
.cal-cell{min-height:118px;background:var(--card,#fff);padding:7px;overflow:hidden}.cal-cell.empty{background:rgba(127,127,127,.06)}
.cal-day{font-weight:800;margin-bottom:5px}.cal-event{font-size:11px;background:rgba(37,99,235,.10);border-left:3px solid var(--primary,#2563eb);padding:4px 5px;margin:3px 0;border-radius:4px}.cal-event small{display:block;opacity:.7;margin-top:2px}
@media(max-width:900px){.calendar-grid{font-size:11px}.cal-cell{min-height:85px;padding:4px}.attendance-line{grid-template-columns:1fr}}

/* v32.1 icon & polish upgrade */
#nav button{display:flex;align-items:center;gap:11px;text-align:left}
.nav-icon{width:25px;height:25px;display:inline-flex;align-items:center;justify-content:center;border-radius:8px;background:rgba(255,255,255,.09);font-size:16px;flex:0 0 25px}
#nav button.active .nav-icon{background:rgba(255,255,255,.22);transform:scale(1.05)}
.nav-label{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.stat{position:relative;overflow:hidden;display:flex;align-items:center;gap:12px}
.stat-icon{width:42px;height:42px;border-radius:12px;display:flex;align-items:center;justify-content:center;font-size:22px;background:rgba(80,120,220,.10);box-shadow:inset 0 0 0 1px rgba(0,0,0,.04);flex:0 0 42px}
.stat>div:last-child{min-width:0}.stat b{display:block;margin-top:3px}
button{transition:transform .12s ease,box-shadow .12s ease,opacity .12s ease}
button:hover{transform:translateY(-1px)}
.top-actions button{white-space:nowrap}
@media(max-width:900px){.nav-icon{width:28px;height:28px}.stat-icon{width:38px;height:38px;flex-basis:38px}}

/* v32.3 student photo + assessment entry */
.student-profile-head{display:flex;align-items:center;gap:18px;margin-bottom:14px}
.student-profile-photo{width:130px;height:150px;object-fit:cover;border-radius:14px;border:3px solid rgba(50,90,160,.16);box-shadow:0 6px 20px rgba(0,0,0,.12)}
.student-profile-photo.placeholder{display:flex;align-items:center;justify-content:center;font-size:58px;background:rgba(100,120,150,.08)}
#assessmentArea table input{min-width:78px;width:100%}
#assessmentArea .ass-remark{min-width:145px}

/* v32.4 four-part assessment */
.assessment-scroll{overflow:auto;max-width:100%}
.assessment-scroll table{min-width:1650px}
.assessment-scroll th{position:sticky;top:0;background:var(--card,#fff);z-index:2}
.assessment-scroll input,.assessment-scroll select{min-width:78px}
.assessment-scroll .teacher-comment{min-width:170px}
.score-incomplete{background:rgba(245,158,11,.08)}
.score-absent{background:rgba(239,68,68,.08)}
.score-focus{outline:2px solid #f59e0b;outline-offset:-2px}
.raw-ca,.scaled-ca,.scaled-exam,.ass-total,.ass-grade,.ass-pos{text-align:center}

/* v32.5 attendance/report controls */
#attendanceArea table input,#attendanceArea table select{min-width:100px}.report-comment-score{font-size:1.1rem;font-weight:700}.modal-head .close{font-size:22px}

/* v32.6 csv import */
.csv-import-modal{max-width:1050px;width:min(96vw,1050px)}.csv-import-modal .grid{grid-template-columns:1fr 1.2fr}.csv-import-modal input[type=file]{display:block;width:100%;padding:14px;border:1px dashed #94a3b8;border-radius:10px;margin:8px 0 12px}@media(max-width:800px){.csv-import-modal .grid{grid-template-columns:1fr}}

/* v32.7 advanced inventory/results */
.inventory-row td{vertical-align:top}.inventory-row .pill{white-space:nowrap}

/* v32.8 */
.dashboard-stat-grid{grid-template-columns:repeat(auto-fit,minmax(205px,1fr))}.dashboard-stat-grid .stat{min-height:92px;padding:16px}.dashboard-stat-grid .stat b{font-size:clamp(18px,2vw,25px);line-height:1.15;overflow-wrap:anywhere}.check-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:8px;padding:10px 0}.check-grid label{border:1px solid rgba(120,135,160,.25);border-radius:9px;padding:9px;background:rgba(100,120,160,.05)}.toggle-label{display:inline-flex;align-items:center;gap:6px;padding:8px 10px;border:1px solid rgba(120,135,160,.25);border-radius:8px}

/* v32.9 */
.retirement-highlight{padding:8px 10px;background:rgba(245,158,11,.12);border-left:4px solid #f59e0b;border-radius:7px}
.branding-previews{display:flex;gap:20px;align-items:center;margin:10px 0 18px}.branding-previews>div{text-align:center}
.link-button{background:none;border:none;color:#2563eb;text-decoration:underline;padding:8px;box-shadow:none}
.link-button:hover{transform:none}

/* v33.0 report/dashboard polish */
.best-students-wrap{border-top:1px solid rgba(120,135,160,.22);margin-top:16px;padding-top:12px}
.best-student-card{position:relative;display:grid;grid-template-columns:105px 1fr;gap:14px;align-items:center;margin:14px 0;padding:14px;border-radius:18px;background:linear-gradient(135deg,rgba(255,215,0,.12),rgba(99,102,241,.08));border:1px solid rgba(202,160,20,.28);overflow:hidden}
.best-student-card.empty{display:flex;justify-content:space-between;padding:15px}
.best-confetti{position:absolute;right:8px;top:5px;font-size:20px;letter-spacing:3px;opacity:.9}
.best-photo-ring{width:96px;height:96px;border-radius:50%;padding:5px;background:conic-gradient(#f59e0b,#fde047,#22c55e,#3b82f6,#a855f7,#f59e0b);box-shadow:0 8px 22px rgba(0,0,0,.14);display:flex;align-items:center;justify-content:center}
.best-photo-ring img,.best-placeholder{width:86px;height:86px;border-radius:50%;object-fit:cover;border:4px solid var(--card,#fff)}
.best-placeholder{display:flex;align-items:center;justify-content:center;background:#fff;font-size:34px}
.best-info{display:flex;flex-direction:column;gap:3px}.best-info>b{font-size:15px}.best-label{font-size:11px;font-weight:800;text-transform:uppercase;color:#a16207;letter-spacing:.5px}
.best-metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;margin-top:7px}.best-metrics span{padding:6px;border-radius:9px;background:rgba(255,255,255,.65);text-align:center;font-size:10px}.best-metrics strong{display:block;font-size:15px}

/* v33.1 */
.payment-modal-large{width:min(780px,96vw);max-width:780px;padding:24px}.payment-modal-large input,.payment-modal-large select{font-size:16px;padding:11px}.payment-modal-large h2{font-size:24px}
.library-stat-grid{grid-template-columns:repeat(auto-fit,minmax(175px,1fr))}.library-stat-grid .stat{min-height:90px}.library-charge-cell{min-width:120px;font-size:15px;white-space:nowrap}

/* v33.2 */
.teacher-profile>div:first-child{padding:7px;border:3px double var(--accent,#315f8e);border-radius:16px;background:linear-gradient(145deg,rgba(49,95,142,.08),rgba(255,255,255,.55))}
.teacher-profile-photo,.teacher-profile-placeholder{border:2px solid rgba(49,95,142,.35);box-shadow:0 6px 16px rgba(0,0,0,.12)}
.payment-full-payment{background:rgba(34,197,94,.15)}.payment-half-payment{background:rgba(245,158,11,.18)}.payment-part-payment{background:rgba(59,130,246,.15)}.payment-no-payment{background:rgba(239,68,68,.14)}

/* v33.3 */
.student-profile-stats-v333{grid-template-columns:repeat(auto-fit,minmax(210px,1fr))}.student-profile-stats-v333 .stat{min-height:105px;padding:18px}.student-profile-stats-v333 .stat b{font-size:20px;overflow-wrap:anywhere}.teacher-photo-frame{padding:7px;border:4px double var(--accent,#315f8e);border-radius:18px;background:linear-gradient(145deg,rgba(49,95,142,.08),rgba(255,255,255,.9));box-shadow:0 8px 22px rgba(0,0,0,.12)}.teacher-identity-v333{align-items:center}.portal-nav-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:14px}.portal-nav-card{min-height:135px;display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:5px;padding:18px;text-align:left;border-radius:16px}.portal-nav-card span{font-size:30px}.portal-nav-card b{font-size:16px}.portal-nav-card small{opacity:.75;line-height:1.3}

/* v33.4 */
.admission-v334{width:min(980px,96vw);max-width:980px}
.payment-modal-v334{width:min(900px,97vw);max-width:900px;padding:26px}
.payment-modal-v334 input,.payment-modal-v334 select{font-size:16px;padding:11px}
.payment-balance-panel{display:grid;grid-template-columns:repeat(5,minmax(120px,1fr));gap:8px;padding:12px;border:1px solid rgba(49,95,142,.25);border-radius:12px;background:rgba(49,95,142,.06)}
.payment-balance-panel div{padding:8px;background:var(--card,#fff);border-radius:8px;text-align:center}
.payment-balance-panel b,.payment-balance-panel span{display:block}.payment-balance-panel span{font-size:17px;font-weight:800;margin-top:4px}
.profile-stat-grid{grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}
.profile-stat-grid .stat{min-height:94px}
.teacher-profile{border:1px solid rgba(49,95,142,.25)}
.teacher-profile>div:first-child{padding:8px;border:4px double #315f8e;border-radius:18px;background:linear-gradient(145deg,#eef5fb,#fff)}
@media(max-width:800px){.payment-balance-panel{grid-template-columns:1fr 1fr}.admission-v334,.payment-modal-v334{width:98vw}}

/* ========================= v34.0 ========================= */
.premium-login{position:relative;overflow:hidden;max-width:440px;padding:34px;border:1px solid rgba(255,255,255,.28);box-shadow:0 26px 70px rgba(15,23,42,.28);backdrop-filter:blur(12px)}
.premium-login:before,.premium-login:after{content:"";position:absolute;border-radius:50%;filter:blur(1px);pointer-events:none}.premium-login:before{width:180px;height:180px;right:-75px;top:-75px;background:rgba(59,130,246,.13)}.premium-login:after{width:120px;height:120px;left:-55px;bottom:-55px;background:rgba(16,185,129,.12)}
.login-brand-wrap{display:flex;justify-content:center;align-items:center;min-height:88px}.login-school-logo{width:86px;height:86px;object-fit:contain;border-radius:18px;background:#fff;padding:7px;box-shadow:0 8px 24px rgba(0,0,0,.14)}
.login-motto{text-align:center;font-weight:600;margin:6px 0}.login-version{text-align:center;font-size:11px;opacity:.68;margin-bottom:20px}
.session-clock{font-size:11px;font-weight:700;opacity:.72;margin-left:8px;white-space:nowrap}
.live-search-wrap{position:relative;min-width:min(430px,42vw)}.live-search-wrap>input{width:100%}.live-search-results{position:absolute;z-index:1000;top:calc(100% + 8px);left:0;right:0;max-height:430px;overflow:auto;background:var(--card,#fff);border:1px solid rgba(100,116,139,.25);border-radius:14px;box-shadow:0 18px 50px rgba(15,23,42,.22);padding:7px}.live-search-results button{display:flex;width:100%;flex-direction:column;align-items:flex-start;gap:2px;padding:9px 11px;border:0;background:transparent;text-align:left;border-radius:9px;box-shadow:none}.live-search-results button:hover{background:rgba(59,130,246,.08);transform:none}.live-search-results span{font-size:11px;opacity:.72}
.phone-field{display:block}.phone-combo{display:grid;grid-template-columns:minmax(135px,auto) 1fr;border:1px solid rgba(100,116,139,.35);border-radius:9px;overflow:hidden;background:var(--card,#fff);margin-top:5px}.phone-combo select,.phone-combo input{border:0!important;border-radius:0!important;margin:0!important}.phone-combo select{border-right:1px solid rgba(100,116,139,.25)!important;background:rgba(148,163,184,.08)}
input[type=date]{min-height:42px;padding-right:9px;border-radius:9px;background:linear-gradient(180deg,rgba(255,255,255,.96),rgba(248,250,252,.96));font-variant-numeric:tabular-nums}input[type=date]::-webkit-calendar-picker-indicator{cursor:pointer;padding:7px;border-radius:7px;background-color:rgba(59,130,246,.10)}
.fee-stat-grid{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));align-items:stretch}.fee-stat-grid .stat,.grid .stat{display:flex;min-height:108px;flex-direction:column;align-items:center;justify-content:center;text-align:center;overflow:visible;padding:14px}.fee-stat-grid .stat .num,.stat .num{max-width:100%;font-size:clamp(16px,1.8vw,25px);line-height:1.15;overflow-wrap:anywhere;word-break:break-word;text-align:center}
.fee-billing-card{overflow:hidden}.sticky-fee-table{max-height:610px;overflow:auto;position:relative}.sticky-fee-table table{min-width:1750px;border-collapse:separate;border-spacing:0}.sticky-fee-table thead th{position:sticky;top:0;z-index:10;background:var(--card,#fff);box-shadow:0 1px 0 rgba(100,116,139,.35)}.sticky-fee-table .sticky-col-1{position:sticky;left:0;z-index:8;background:var(--card,#fff);min-width:105px}.sticky-fee-table .sticky-col-2{position:sticky;left:105px;z-index:8;background:var(--card,#fff);min-width:175px}.sticky-fee-table thead .sticky-col-1,.sticky-fee-table thead .sticky-col-2{z-index:15}
.payment-modal-v340{width:min(940px,97vw);max-width:940px;padding:26px}.payment-modal-v340 input,.payment-modal-v340 select{font-size:15px;min-height:43px}.warning-box{padding:12px;border-radius:9px;background:rgba(239,68,68,.1);border:1px solid rgba(239,68,68,.35);font-weight:700;margin:10px 0}.switch-row{display:flex;align-items:center;gap:10px}.switch-row input{width:22px;height:22px}
.fee-history-hero{display:flex;align-items:center;gap:18px;padding:18px}.fee-history-photo{width:105px;height:105px;border-radius:18px;object-fit:cover;border:3px double rgba(49,95,142,.55);display:flex;align-items:center;justify-content:center;font-size:32px;background:rgba(49,95,142,.07)}
.teacher-profile{display:grid;grid-template-columns:150px 1fr;gap:20px;align-items:center}.teacher-profile>div:first-child{display:flex;align-items:center;justify-content:center;min-height:165px;border:5px double rgba(49,95,142,.65);border-radius:20px;background:linear-gradient(145deg,rgba(49,95,142,.08),rgba(255,255,255,.75))}.teacher-profile-photo,.teacher-profile-placeholder{width:130px;height:145px;object-fit:cover;border-radius:13px}
.settings-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:14px}.setting-tile{min-height:120px;display:flex;flex-direction:column;justify-content:center;align-items:flex-start;gap:7px;padding:18px;border-radius:14px;text-align:left}.setting-tile b{font-size:16px}.setting-tile span{font-size:12px;opacity:.72}
.chart-modal{width:min(860px,96vw);max-width:860px}.chart-modal canvas{width:100%;height:auto;max-height:430px;border:1px solid rgba(100,116,139,.18);border-radius:10px;background:#fff}
.assessment-scroll{max-height:650px;overflow:auto}.assessment-scroll table{min-width:1450px}.assessment-scroll thead th{position:sticky;top:0;z-index:5;background:var(--card,#fff)}
.v340-appearance{width:min(1050px,97vw);max-width:1050px}
body[data-theme="ocean-glass"]{--accent:#0e7490;--accent2:#67e8f9;--surface:#effcff;background:linear-gradient(135deg,#e7fbff,#f7fbff)}
body[data-theme="forest-modern"]{--accent:#166534;--accent2:#86efac;--surface:#f0fdf4;background:linear-gradient(135deg,#effbf1,#fbfffc)}
body[data-theme="burgundy-premium"]{--accent:#7f1d1d;--accent2:#fca5a5;--surface:#fff7f7;background:linear-gradient(135deg,#fff5f5,#fffafb)}
body[data-theme="graphite-pro"]{--accent:#27272a;--accent2:#a1a1aa;--surface:#f4f4f5;background:linear-gradient(135deg,#f4f4f5,#fff)}
body[data-theme="ocean-glass"] .sidebar,body[data-theme="forest-modern"] .sidebar,body[data-theme="burgundy-premium"] .sidebar,body[data-theme="graphite-pro"] .sidebar{backdrop-filter:blur(14px)}
@media(max-width:850px){.live-search-wrap{min-width:210px}.teacher-profile{grid-template-columns:1fr}.payment-balance-panel{grid-template-columns:1fr 1fr}.fee-stat-grid{grid-template-columns:1fr 1fr}}

body[data-theme="ocean-glass"]{--bg:#eefcff;--card:rgba(255,255,255,.92);--ink:#15343d;--muted:#617980;--brand:#0e7490;--accent:#0891b2;--line:#d4edf2;--sidebar:#0b5568;--sideactive:#0e7490;--soft:#e0f7fb}
body[data-theme="forest-modern"]{--bg:#f1fbf4;--card:#fff;--ink:#173b25;--muted:#627568;--brand:#166534;--accent:#16803d;--line:#dcebe1;--sidebar:#104a29;--sideactive:#1d6b3d;--soft:#e8f7ed}
body[data-theme="burgundy-premium"]{--bg:#fff6f7;--card:#fff;--ink:#431f27;--muted:#806a70;--brand:#7f1d1d;--accent:#a52a38;--line:#eedde0;--sidebar:#59151c;--sideactive:#84212c;--soft:#fae9ec}
body[data-theme="graphite-pro"]{--bg:#f5f5f6;--card:#fff;--ink:#202124;--muted:#686b70;--brand:#27272a;--accent:#3f3f46;--line:#dfdfe2;--sidebar:#18181b;--sideactive:#3f3f46;--soft:#ececef}
.theme-ocean-glass{--sw1:#0e7490;--sw2:#67e8f9}.theme-forest-modern{--sw1:#166534;--sw2:#86efac}.theme-burgundy-premium{--sw1:#7f1d1d;--sw2:#fca5a5}.theme-graphite-pro{--sw1:#27272a;--sw2:#a1a1aa}

.portal-login-brand{text-align:center;margin-bottom:16px}.portal-login-brand img{width:78px;height:78px;object-fit:contain;border-radius:16px;background:#fff;padding:6px;box-shadow:0 8px 22px rgba(0,0,0,.12);margin-bottom:8px}

/* ========================= v34.1 ========================= */
.idle-warning-v341{position:fixed;right:24px;bottom:24px;z-index:5000;display:flex;align-items:center;gap:18px;max-width:470px;padding:16px 18px;border-radius:15px;background:#1f2937;color:#fff;box-shadow:0 22px 60px rgba(0,0,0,.32);border:1px solid rgba(255,255,255,.18)}
.idle-warning-v341.hidden{display:none}.idle-warning-v341 div{display:flex;flex-direction:column;gap:4px}.idle-warning-v341 span{font-size:12px;color:#dbe4ee}.idle-warning-v341 strong{font-size:15px;color:#fff}.idle-warning-v341 button{white-space:nowrap;background:#fff;color:#172033}
.security-setting-card{max-width:860px;margin:0 auto}.idle-setting-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin:22px 0}.input-suffix{display:flex;align-items:center;margin-top:7px;border:1px solid var(--line,#d8e0e8);border-radius:10px;overflow:hidden}.input-suffix input{border:0!important;border-radius:0!important;margin:0!important;font-size:20px;font-weight:800;min-height:52px}.input-suffix span{padding:0 14px;font-weight:700;color:var(--muted,#64748b)}.quick-preset-row{display:flex;gap:8px;flex-wrap:wrap;margin:15px 0}.security-preview{padding:13px 15px;margin:15px 0;border-radius:10px;background:var(--soft,#eef5fb);border:1px solid var(--line,#d8e0e8)}.security-setting-tile{border-color:rgba(239,68,68,.22)!important}.finance-setting-tile{border-color:rgba(16,185,129,.24)!important}
.fee-summary-toolbar{position:sticky;top:0;z-index:20;background:var(--bg,#f5f7fa);padding:8px 0;border-bottom:1px solid var(--line,#dde4ea)}
.fee-summary-hero{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:20px 22px;border-radius:18px;background:linear-gradient(135deg,var(--brand,#244e7d),var(--accent,#3d76a8));color:#fff;box-shadow:0 12px 30px rgba(36,78,125,.18);margin-bottom:15px}.fee-summary-hero h2{margin:0 0 4px;font-size:22px}.fee-summary-hero p{margin:0;opacity:.86}.collection-gauge{width:120px;height:120px;flex:0 0 120px;border-radius:50%;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;background:rgba(255,255,255,.14);border:8px solid rgba(255,255,255,.28);box-shadow:inset 0 0 0 3px rgba(255,255,255,.08)}.collection-gauge strong{font-size:25px}.collection-gauge span{font-size:10px;text-transform:uppercase;letter-spacing:.08em;opacity:.86}
.fee-summary-stat-grid{grid-template-columns:repeat(auto-fit,minmax(175px,1fr));align-items:stretch}.fee-summary-stat-grid .stat{min-height:112px;overflow:visible}.fee-summary-stat-grid .num{font-size:clamp(16px,1.8vw,24px);overflow-wrap:anywhere;text-align:center}
.finance-insight-grid{grid-template-columns:repeat(auto-fit,minmax(235px,1fr))}.finance-insight-grid .card{min-height:165px}.finance-insight-grid h3{margin-top:0}.finance-insight-grid p{margin:8px 0;line-height:1.35}
.finance-ranking-card{min-width:0;overflow:hidden}.finance-ranking-card .tablewrap{max-height:520px;overflow:auto}.finance-ranking-card thead th{position:sticky;top:0;background:var(--card,#fff);z-index:3}
.section-title-row{display:flex;align-items:center;justify-content:space-between;gap:10px}.section-title-row h3{margin:0 0 10px}
.finance-chart-picker{width:min(900px,96vw);max-width:900px}
@media(max-width:760px){.idle-setting-grid{grid-template-columns:1fr}.fee-summary-hero{align-items:flex-start}.collection-gauge{width:95px;height:95px;flex-basis:95px}.fee-summary-toolbar{position:static}.idle-warning-v341{left:12px;right:12px;bottom:12px;flex-direction:column;align-items:stretch}}

/* ========================= v34.2 ========================= */
.position-report-toolbar{position:sticky;top:0;z-index:20;background:var(--bg,#f5f7fa);padding:8px 0;border-bottom:1px solid var(--line,#dfe6ec)}
.position-report-card .tablewrap{max-height:560px;overflow:auto}
.position-report-card thead th{position:sticky;top:0;background:var(--card,#fff);z-index:3}
.position-report-card td:nth-child(n+3),.position-report-card th:nth-child(n+3){text-align:center}
.position-badge-v342,.rank-medal-v342{display:inline-flex;align-items:center;justify-content:center;min-width:30px;height:30px;padding:0 8px;border-radius:999px;font-weight:800;background:var(--soft,#eaf1f8);color:var(--brand,#244e7d);border:1px solid var(--line,#d8e0e8)}
.top-five-grid-v342{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start}
.top-five-card-v342{overflow:hidden}.top-five-card-v342 h2,.top-five-card-v342 h3{margin-top:0}
.top-five-card-v342.paid{border-top:4px solid #16803d}.top-five-card-v342.debt{border-top:4px solid #b42318}
.top-five-card-v342 .tablewrap{overflow:auto}
@media(max-width:850px){.top-five-grid-v342{grid-template-columns:1fr}.position-report-toolbar{position:static}}

/* ========================= v34.3 ========================= */
.preference-grid-v343{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));align-items:start}.preference-grid-v343 .card{min-height:260px}
.remark-scale-v343{display:grid;grid-template-columns:1fr;gap:5px;margin-top:12px}.remark-scale-v343 span{display:flex;justify-content:space-between;gap:14px;padding:7px 9px;border:1px solid var(--line,#d9e1e8);border-radius:8px;background:var(--soft,#f2f6fa);font-size:12px}.remark-scale-v343 b{text-align:right}
.aggregate-rule-box,.template-help-v343,.info-box-v343,.message-preview-v343,.curriculum-summary-v343{padding:11px 13px;border-radius:10px;border:1px solid var(--line,#d9e1e8);background:var(--soft,#f4f7fa);margin:10px 0;line-height:1.45}
.whatsapp-settings-v343{max-width:920px;margin:auto}.whatsapp-send-modal-v343{width:min(720px,95vw);max-width:720px}.whatsapp-send-modal-v343 .toolbar a{display:inline-flex;align-items:center;text-decoration:none}
.curriculum-summary-v343{margin:10px 0 14px}.wa-student-check{width:18px;height:18px}.pill.danger{background:rgba(220,38,38,.12);color:#b91c1c;border-color:rgba(220,38,38,.28)}
html[dir="rtl"] body{text-align:right}html[dir="rtl"] .sidebar{direction:rtl}html[dir="rtl"] .toolbar{direction:rtl}html[dir="rtl"] .table{text-align:right}
@media(max-width:720px){.preference-grid-v343{grid-template-columns:1fr}.remark-scale-v343 span{flex-direction:column;gap:2px}.remark-scale-v343 b{text-align:left}}

/* v34.4 login designer credit */
.login{position:relative}
.login-designer-credit{position:fixed;left:22px;bottom:18px;z-index:5;max-width:330px;padding:10px 14px;border-radius:12px;background:rgba(255,255,255,.86);border:1px solid rgba(148,163,184,.35);box-shadow:0 8px 28px rgba(15,23,42,.12);backdrop-filter:blur(10px);font-size:12px;line-height:1.6;color:#334155;letter-spacing:.01em}
.login-designer-credit b{color:#0f172a;font-size:13px}.login-designer-credit span{white-space:nowrap}
@media(max-width:640px){.login-designer-credit{left:12px;right:12px;bottom:10px;max-width:none;text-align:center;font-size:11px;padding:7px 10px}}

/* v34.5 supplied report-card design gallery */
.v345-design-intro{margin-bottom:16px}.v345-design-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;align-items:start}
.v345-design-card{background:var(--card,#fff);border:1px solid var(--line,#dbe3ec);border-radius:16px;overflow:hidden;box-shadow:0 10px 30px rgba(15,23,42,.08)}
.v345-design-preview{height:620px;background:#eef2f6;padding:10px;display:flex;align-items:flex-start;justify-content:center;overflow:hidden}
.v345-design-preview img{width:100%;height:100%;object-fit:contain;object-position:top center;background:#fff;border-radius:8px}
.v345-design-meta{padding:14px}.v345-design-meta h3{margin:8px 0 5px}.v345-design-meta p{min-height:62px;color:var(--muted,#64748b);font-size:13px;line-height:1.45}
.v345-preview-modal{width:min(900px,96vw);max-width:900px}.v345-preview-modal>img{display:block;max-height:78vh;max-width:100%;margin:auto;object-fit:contain}
@media(max-width:1100px){.v345-design-grid{grid-template-columns:1fr 1fr}.v345-design-preview{height:560px}}
@media(max-width:720px){.v345-design-grid{grid-template-columns:1fr}.v345-design-preview{height:520px}}

/* v34.6 BECE stanine */
.v346-stanine-modal{width:min(760px,95vw);max-width:760px}
.v346-stanine-summary{padding:12px 14px;margin-bottom:12px;border:1px solid var(--line,#d9e1e8);border-radius:10px;background:var(--soft,#f5f8fb);line-height:1.5}
.v346-category-strip{display:grid;grid-template-columns:repeat(6,1fr);gap:6px;margin-top:12px}
.v346-category-strip span{padding:9px 6px;border-radius:8px;border:1px solid var(--line,#d9e1e8);text-align:center;font-size:11px;font-weight:700}
@media(max-width:720px){.v346-category-strip{grid-template-columns:repeat(2,1fr)}}

/* ========================= v34.7 Student ID, DOB & Disability ========================= */
.phone-field{max-width:470px}
.phone-combo{grid-template-columns:145px 230px!important;width:max-content;max-width:100%}
.phone-combo input[data-phone-local]{width:230px;max-width:230px}
@media(max-width:620px){.phone-field{max-width:100%}.phone-combo{grid-template-columns:132px minmax(145px,1fr)!important;width:100%}.phone-combo input[data-phone-local]{width:100%;max-width:none}}

.student-summary-v347{grid-template-columns:repeat(auto-fit,minmax(155px,1fr))}
.disability-panel-v347{padding:14px;border:1px solid rgba(99,102,241,.22);border-radius:12px;background:rgba(99,102,241,.05)}
.disability-panel-v347 .switch-row{min-height:38px}.disability-panel-v347 .switch-row input{width:21px;height:21px}
.support-pill-v347{background:rgba(124,58,237,.11)!important;color:#6d28d9!important;border-color:rgba(124,58,237,.22)!important}

.bulk-id-card-panel-v347{max-width:920px;margin:auto}
.id-layout-explain-v347{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:16px 0}
.id-layout-explain-v347>div{display:flex;flex-direction:column;gap:5px;padding:14px;border:1px solid var(--line,#d9e1e8);border-radius:12px;background:var(--soft,#f5f8fb)}
.id-layout-explain-v347 span{font-size:12px;color:var(--muted,#64748b)}

.id-layout-selector-v347{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin:18px 0}
.id-layout-selector-v347 label{cursor:pointer}.id-layout-selector-v347 input{position:absolute;opacity:0;pointer-events:none}
.id-layout-selector-v347 span{display:flex;align-items:center;justify-content:center;gap:8px;min-height:70px;border:2px solid var(--line,#d9e1e8);border-radius:14px;font-size:23px;background:var(--card,#fff)}
.id-layout-selector-v347 small{font-size:11px;color:var(--muted,#64748b)}
.id-layout-selector-v347 input:checked+span{border-color:var(--brand,#244e7d);box-shadow:0 0 0 3px rgba(36,78,125,.11);background:var(--soft,#edf4fb)}

.id-theme-grid-v347{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:15px;margin:18px 0}
.id-theme-card-v347{cursor:pointer}.id-theme-card-v347>input{position:absolute;opacity:0;pointer-events:none}
.id-theme-preview-v347{position:relative;display:flex;flex-direction:column;justify-content:flex-end;min-height:142px;padding:14px;border-radius:15px;overflow:hidden;border:2px solid transparent;box-shadow:0 9px 25px rgba(15,23,42,.09);transition:.18s ease}
.id-theme-preview-v347:before{content:"";position:absolute;inset:0;background:linear-gradient(145deg,var(--id1,#0b3c6f),var(--id2,#4ea7e1));z-index:0}
.id-theme-preview-v347>*{position:relative;z-index:1;color:#fff}.id-theme-preview-v347 strong{font-size:14px}.id-theme-preview-v347 small{font-size:9px;opacity:.9}.id-theme-preview-v347 em{position:absolute;right:12px;bottom:15px;width:52px;height:66px;border:2px solid rgba(255,255,255,.8);display:flex;align-items:center;justify-content:center;font-style:normal;font-size:8px;border-radius:7px}.id-theme-preview-v347 b{font-size:8px;margin-top:8px}
.id-mini-logo-v347{position:absolute;left:13px;top:12px;font-style:normal;font-size:23px}
.id-theme-card-v347 input:checked+.id-theme-preview-v347{border-color:#fff;box-shadow:0 0 0 4px var(--brand,#244e7d),0 12px 30px rgba(15,23,42,.16);transform:translateY(-2px)}
.id-theme-premium-blue{--id1:#0b3c6f;--id2:#4ea7e1}.id-theme-gold-crest{--id1:#3a2a10;--id2:#d6b13e}.id-theme-emerald-wave{--id1:#075e54;--id2:#42c69a}.id-theme-dark-modern{--id1:#151923;--id2:#667085}.id-theme-minimal-white{--id1:#244e7d;--id2:#b9d2e7}
.id-theme-royal-academy{--id1:#1d2a6d;--id2:#c7a64a}.id-theme-aurora-glass{--id1:#3157a4;--id2:#8c6ee8}.id-theme-crest-luxe{--id1:#5b1731;--id2:#d4af37}.id-theme-modern-geometric{--id1:#134e4a;--id2:#14b8a6}.id-theme-heritage-formal{--id1:#173f35;--id2:#b38a3e}

.dob-picker-v347{width:min(100%,330px)}
.dob-display-v347{width:100%;min-height:42px;display:flex;align-items:center;justify-content:space-between;padding:9px 12px;background:var(--card,#fff);color:var(--ink,#1f2937);border:1px solid var(--line,#d4dde6);border-radius:9px;text-align:left;box-shadow:none}
.dob-display-v347:after{content:"📅";font-size:15px}
.dob-modal-v347{width:min(680px,96vw);max-width:680px}
.dob-selected-v347{text-align:center;padding:13px;border-radius:11px;background:var(--brand,#244e7d);color:#fff;font-size:20px;font-weight:800;margin-bottom:12px}
.year-nav-v347{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:8px}.year-nav-v347 span{font-weight:800}
.year-grid-v347{display:grid;grid-template-columns:repeat(4,1fr);gap:7px}.month-grid-v347{display:grid;grid-template-columns:repeat(4,1fr);gap:7px}.day-grid-v347{display:grid;grid-template-columns:repeat(7,1fr);gap:5px;max-height:205px;overflow:auto}
.year-grid-v347 button,.month-grid-v347 button,.day-grid-v347 button{min-height:39px;border:1px solid var(--line,#d6dee6);border-radius:8px;background:var(--card,#fff);box-shadow:none}
.year-grid-v347 button.selected,.month-grid-v347 button.selected,.day-grid-v347 button.selected{background:var(--brand,#244e7d);color:#fff;border-color:var(--brand,#244e7d);font-weight:800}
@media(max-width:650px){.id-layout-explain-v347,.id-layout-selector-v347{grid-template-columns:1fr}.year-grid-v347,.month-grid-v347{grid-template-columns:repeat(3,1fr)}}

/* ========================= v34.8 Teacher Support & International Phones ========================= */
.teacher-summary-v348{grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}
.teacher-disability-v348{margin:7px 0 2px;background:linear-gradient(135deg,rgba(124,58,237,.045),rgba(59,130,246,.045));border-color:rgba(124,58,237,.22)}
.teacher-support-card-v348{border-top:4px solid rgba(124,58,237,.65)}
.phone-combo{grid-template-columns:185px 205px!important;max-width:410px}
.phone-combo select{width:185px;max-width:185px;text-overflow:ellipsis}
.phone-combo input[data-phone-local]{width:205px!important;max-width:205px!important}
.phone-hint-v348{display:block;margin-top:5px;font-size:10px;color:var(--muted,#64748b);line-height:1.25}
@media(max-width:620px){.phone-combo{grid-template-columns:145px minmax(140px,1fr)!important;width:100%;max-width:100%}.phone-combo select{width:145px;max-width:145px}.phone-combo input[data-phone-local]{width:100%!important;max-width:none!important}}

/* ========================= v34.9 Premium UI ========================= */
body{font-size:15px}.main{font-size:15px}.card,.modal-card{font-size:14px}.table{font-size:13px}
.login-wrap{background:radial-gradient(circle at 18% 18%,rgba(37,99,235,.22),transparent 34%),radial-gradient(circle at 82% 75%,rgba(168,85,247,.20),transparent 34%),linear-gradient(135deg,#071426,#0b2447 48%,#17113a)!important}
.login-card{box-shadow:0 35px 90px rgba(0,0,0,.42)!important;border:1px solid rgba(255,255,255,.22)!important;backdrop-filter:blur(18px);position:relative;overflow:hidden}
.login-card:before{content:"";position:absolute;inset:0;background:linear-gradient(120deg,rgba(255,255,255,.14),transparent 32%);pointer-events:none}
.premium-credit-v349{display:flex!important;flex-direction:column;align-items:center;gap:5px;padding:16px 22px!important;border-radius:18px!important;background:linear-gradient(135deg,rgba(255,255,255,.14),rgba(255,255,255,.06))!important;border:1px solid rgba(255,255,255,.22);box-shadow:0 18px 45px rgba(0,0,0,.2);letter-spacing:.2px}
.premium-credit-v349 .credit-title-v349{font-size:10px;text-transform:uppercase;letter-spacing:2px;opacity:.78}.premium-credit-v349 b{font-size:17px;letter-spacing:1.3px}.premium-credit-v349 span:not(.credit-title-v349){font-size:11px}
.sidebar-exit-v349{display:grid;grid-template-columns:1fr 1fr;gap:7px;padding:8px}.sidebar-exit-v349 .logout{margin:0!important}.close-system-v349{opacity:.86}
.confirm-exit-v349{max-width:500px!important;text-align:center}.confirm-exit-v349 p{font-size:15px;line-height:1.65}
.transcript-intro-v349,.transcript-statement-v349{border-left:5px solid #17365D;background:linear-gradient(90deg,#f3f7fc,#fff);padding:15px 18px;border-radius:10px}.transcript-statement-v349 p{font-family:Georgia,serif;line-height:1.55}
.assessment-checks-v349{display:flex;gap:10px;flex-wrap:wrap}.assessment-checks-v349 label,.attendance-ticks-v349 label{display:inline-flex;align-items:center;gap:5px;padding:6px 9px;border:1px solid var(--border,#d5dbe5);border-radius:9px;background:var(--card,#fff)}
.class-score-v349,.scaled-ca{font-weight:800;font-size:14px}
input[type=date]{width:148px!important;max-width:148px;padding:7px 8px!important;min-height:34px!important}
.phone-combo{grid-template-columns:132px 155px!important;max-width:295px!important}.phone-combo select{width:132px!important;max-width:132px!important;font-size:11px}.phone-combo input[data-phone-local]{width:155px!important;max-width:155px!important}
.modal-card{max-width:min(940px,94vw)!important;max-height:92vh;overflow:auto}.formgrid{gap:11px 14px!important;grid-template-columns:repeat(3,minmax(180px,1fr))!important}.formgrid .wide{grid-column:span 3}.teacher-form-card{max-width:min(1080px,96vw)!important}
.admission-v334{max-width:min(1080px,96vw)!important;max-height:94vh!important}.admission-v334 h3{margin:8px 0 4px}.admission-v334 textarea{min-height:48px}.admission-save-v349{position:sticky;bottom:-1px;background:var(--card,#fff);padding:10px 0;z-index:2}
.admission-photo,.admission-v334 img{max-width:72px!important;max-height:82px!important;object-fit:cover!important}
.teacher-profile-photo{width:170px!important;height:190px!important;object-fit:cover!important}.teacher-profile{grid-template-columns:190px 1fr!important}
.profile-sections{grid-template-columns:repeat(auto-fit,minmax(330px,1fr))!important;gap:18px!important}.profile-sections>.card{min-height:190px;padding:18px!important}
.student-list-photo-v349{width:54px;height:62px;object-fit:cover;border-radius:8px;border:4px solid #d5d9e2;display:flex;align-items:center;justify-content:center}.section-dot-v349{display:inline-block;width:25px;height:25px;border-radius:50%;box-shadow:0 0 0 3px rgba(0,0,0,.07)}.section-badge-v349{display:inline-block;border-left:5px solid var(--section);padding:5px 8px;border-radius:6px;background:rgba(148,163,184,.12)}
.section-colors-v349{display:flex;gap:12px;flex-wrap:wrap;margin-top:10px}.section-colors-v349 label{width:34px;height:34px;border-radius:50%;cursor:pointer;box-shadow:0 0 0 2px #fff,0 0 0 3px #cbd5e1}.section-colors-v349 input{opacity:0;width:100%;height:100%;cursor:pointer}.section-colors-v349 label:has(input:checked){box-shadow:0 0 0 3px #fff,0 0 0 6px #111}
.award-media-grid-v349{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:14px;margin-top:15px}.award-media-grid-v349 img,.award-media-grid-v349 video{width:100%;max-height:190px;object-fit:contain}.award-media-grid-v349 audio{width:100%}.cloud-targets-v349{display:flex;flex-wrap:wrap;gap:10px;margin:14px 0}
.report-sheet,.report-card{font-size:12px!important}.report-sheet table,.report-card table{font-size:10.5px!important}
#v27TeacherSignature+*{margin-left:2px!important}
@media(max-width:760px){.formgrid{grid-template-columns:1fr!important}.formgrid .wide{grid-column:auto}.phone-combo{grid-template-columns:120px minmax(130px,1fr)!important;max-width:100%!important}.phone-combo select{width:120px!important}.phone-combo input[data-phone-local]{width:100%!important;max-width:none!important}}

/* ========================= v35.0 QR, Working Clock & Celebrations ========================= */
.working-clock-v350{display:inline-flex;align-items:center;gap:8px;margin-left:8px;vertical-align:middle;transition:.2s ease;white-space:nowrap}
.working-clock-v350.hidden{display:none!important}
.clock-time-v350{font-weight:900;font-variant-numeric:tabular-nums;letter-spacing:.04em}.clock-date-v350{font-size:10px;opacity:.78}
body[data-clock-style="glass"] .working-clock-v350{padding:7px 11px;border-radius:12px;background:rgba(255,255,255,.62);border:1px solid rgba(148,163,184,.30);box-shadow:0 6px 20px rgba(15,23,42,.10);backdrop-filter:blur(12px)}
body[data-clock-style="transparent"] .working-clock-v350{padding:5px 7px;background:transparent;border:0;box-shadow:none}
body[data-clock-style="digital-dark"] .working-clock-v350{padding:7px 11px;border-radius:8px;background:#0b1220;color:#86efac;border:1px solid #1f2937;font-family:Consolas,monospace;box-shadow:inset 0 0 15px #000}
body[data-clock-style="neon"] .working-clock-v350{padding:7px 12px;border-radius:11px;background:#101323;color:#a5f3fc;border:1px solid #22d3ee;box-shadow:0 0 10px #22d3ee66,0 0 24px #a855f744}
body[data-clock-style="minimal"] .working-clock-v350{padding:4px 6px;border-left:3px solid var(--brand,#244e7d);border-radius:0;background:transparent}
body[data-clock-style="pill"] .working-clock-v350{padding:6px 12px;border-radius:999px;background:var(--soft,#edf4fb);border:1px solid var(--line,#d8e0e8)}
.visual-settings-grid-v350{grid-template-columns:repeat(auto-fit,minmax(300px,1fr));align-items:start}.visual-settings-grid-v350>.card{min-height:420px}
.clock-preview-v350{margin-top:16px;display:flex;align-items:center;justify-content:center;flex-direction:column;min-height:92px;border-radius:16px;font-size:25px;font-weight:900}.clock-preview-v350 small{font-size:11px;margin-top:5px;font-weight:500}
.clock-preview-v350.clock-glass{background:linear-gradient(135deg,#ffffffc9,#dbeafeaa);border:1px solid #cbd5e1;box-shadow:0 15px 30px #0001;backdrop-filter:blur(12px)}
.clock-preview-v350.clock-transparent{background:transparent;border:1px dashed #cbd5e1}
.clock-preview-v350.clock-digital-dark{background:#0b1220;color:#86efac;font-family:Consolas,monospace;box-shadow:inset 0 0 28px #000}
.clock-preview-v350.clock-neon{background:#101323;color:#a5f3fc;border:1px solid #22d3ee;box-shadow:0 0 20px #22d3ee55,0 0 38px #a855f733}
.clock-preview-v350.clock-minimal{background:#fff;border-left:6px solid var(--brand,#244e7d)}
.clock-preview-v350.clock-pill{min-height:66px;border-radius:999px;background:var(--soft,#edf4fb);border:1px solid var(--line,#d8e0e8)}
.celebration-preview-v350{display:flex;align-items:center;justify-content:center;gap:24px;min-height:130px;margin-top:15px;border-radius:17px;background:radial-gradient(circle,#fff,#f4f7fb);overflow:hidden}
.celebration-preview-v350>span{font-size:32px;animation:v350Float 2s ease-in-out infinite}.demo-ring-v350{display:grid;place-items:center;width:76px;height:76px;border-radius:50%;font-size:36px;position:relative;background:#fff}.demo-ring-v350:before{content:"";position:absolute;inset:-6px;border-radius:50%;background:conic-gradient(#f43f5e,#f59e0b,#22c55e,#06b6d4,#6366f1,#d946ef,#f43f5e);z-index:-1;animation:v350Spin 2.8s linear infinite}

/* Dashboard animation speeds and intensity */
body[data-animation-speed="slow"]{--v350-speed:5.5s;--v350-float:3.6s}
body[data-animation-speed="normal"]{--v350-speed:3.2s;--v350-float:2.3s}
body[data-animation-speed="fast"]{--v350-speed:1.6s;--v350-float:1.25s}
body[data-animation-intensity="low"]{--v350-glow:8px;--v350-move:3px}
body[data-animation-intensity="medium"]{--v350-glow:16px;--v350-move:6px}
body[data-animation-intensity="high"]{--v350-glow:28px;--v350-move:10px}
body[data-dashboard-animation]:not([data-dashboard-animation="none"]) .birthday-photo{border:4px solid #22c55e;box-shadow:0 0 var(--v350-glow,16px) #a855f788}
body[data-dashboard-animation]:not([data-dashboard-animation="none"]) .birthday-icon,
body[data-dashboard-animation]:not([data-dashboard-animation="none"]) .best-confetti{display:inline-block}
body[data-dashboard-animation="rainbow-orbit"] .birthday-photo{animation:v350Rainbow var(--v350-speed,3.2s) linear infinite}
body[data-dashboard-animation="rainbow-orbit"] .best-photo-ring{position:relative;isolation:isolate}
body[data-dashboard-animation="rainbow-orbit"] .best-photo-ring:before{content:"";position:absolute;inset:-7px;border-radius:50%;background:conic-gradient(#f43f5e,#f59e0b,#22c55e,#06b6d4,#6366f1,#d946ef,#f43f5e);animation:v350Spin var(--v350-speed,3.2s) linear infinite;z-index:-1}
body[data-dashboard-animation="rainbow-orbit"] .birthday-icon,body[data-dashboard-animation="rainbow-orbit"] .best-confetti{animation:v350Float var(--v350-float,2.3s) ease-in-out infinite}
body[data-dashboard-animation="pulse-glow"] .birthday-photo,body[data-dashboard-animation="pulse-glow"] .best-photo-ring{animation:v350Pulse var(--v350-speed,3.2s) ease-in-out infinite}
body[data-dashboard-animation="pulse-glow"] .birthday-icon,body[data-dashboard-animation="pulse-glow"] .best-confetti{animation:v350Pulse var(--v350-float,2.3s) ease-in-out infinite}
body[data-dashboard-animation="sparkle"] .birthday-photo,body[data-dashboard-animation="sparkle"] .best-photo-ring{animation:v350Sparkle var(--v350-speed,3.2s) ease-in-out infinite}
body[data-dashboard-animation="sparkle"] .birthday-icon,body[data-dashboard-animation="sparkle"] .best-confetti{animation:v350Spin var(--v350-speed,3.2s) linear infinite}
body[data-dashboard-animation="confetti-float"] .birthday-row,body[data-dashboard-animation="confetti-float"] .best-student-card{animation:v350Float var(--v350-float,2.3s) ease-in-out infinite}
body[data-dashboard-animation="confetti-float"] .birthday-icon,body[data-dashboard-animation="confetti-float"] .best-confetti{animation:v350Wiggle calc(var(--v350-float,2.3s)*.75) ease-in-out infinite}
body[data-dashboard-animation="color-wave"] .birthday-photo,body[data-dashboard-animation="color-wave"] .best-photo-ring{animation:v350ColorWave var(--v350-speed,3.2s) linear infinite}
body[data-dashboard-animation="gentle-float"] .birthday-photo,body[data-dashboard-animation="gentle-float"] .best-photo-ring,body[data-dashboard-animation="gentle-float"] .birthday-icon,body[data-dashboard-animation="gentle-float"] .best-confetti{animation:v350Float var(--v350-float,2.3s) ease-in-out infinite}
@keyframes v350Spin{to{transform:rotate(360deg)}}@keyframes v350Float{0%,100%{transform:translateY(0)}50%{transform:translateY(calc(-1 * var(--v350-move,6px)))}}@keyframes v350Pulse{0%,100%{transform:scale(1);filter:drop-shadow(0 0 2px #8b5cf6)}50%{transform:scale(1.06);filter:drop-shadow(0 0 var(--v350-glow,16px) #f59e0b)}}@keyframes v350Rainbow{0%{filter:hue-rotate(0deg) drop-shadow(0 0 6px #22c55e)}100%{filter:hue-rotate(360deg) drop-shadow(0 0 var(--v350-glow,16px) #8b5cf6)}}@keyframes v350Sparkle{0%,100%{filter:brightness(1) drop-shadow(0 0 4px #f59e0b)}50%{filter:brightness(1.35) drop-shadow(0 0 var(--v350-glow,16px) #fde047)}}@keyframes v350Wiggle{0%,100%{transform:rotate(-5deg) translateY(0)}50%{transform:rotate(7deg) translateY(calc(-1 * var(--v350-move,6px)))}}@keyframes v350ColorWave{0%{filter:hue-rotate(0deg)}100%{filter:hue-rotate(360deg)}}
@media(prefers-reduced-motion:reduce){body [class*=birthday],body [class*=best-]{animation:none!important}.demo-ring-v350:before,.celebration-preview-v350>span{animation:none!important}}
@media(max-width:820px){.working-clock-v350{margin:5px 0 0}.topbar>div:first-child{display:flex;flex-wrap:wrap;gap:5px}.visual-settings-grid-v350{grid-template-columns:1fr}}

/* ========================= v35.1 Student, Admission & Portal UI Corrections ========================= */

/* Restore a small date-control footprint while preserving the year-grid picker. */
input[type="date"]{width:124px!important;max-width:124px!important;min-height:31px!important;padding:5px 7px!important;font-size:12px!important}
.dob-picker-v347{width:188px!important;max-width:188px!important}
.dob-display-v347{min-height:34px!important;padding:6px 9px!important;font-size:12px!important;border-radius:7px!important}
.dob-display-v347:after{font-size:12px!important}
.dob-modal-v347{width:min(470px,94vw)!important;max-width:470px!important;padding:15px!important}
.dob-modal-v347 .modal-head h2{font-size:17px!important}
.dob-selected-v347{padding:8px!important;font-size:15px!important;margin-bottom:8px!important}
.dob-modal-v347 h3{font-size:12px!important;margin:9px 0 5px!important}
.year-nav-v347{margin-bottom:5px!important}.year-nav-v347 button{padding:5px 8px!important;font-size:11px!important}
.year-grid-v347,.month-grid-v347{gap:4px!important}
.day-grid-v347{gap:3px!important;max-height:150px!important}
.year-grid-v347 button,.month-grid-v347 button,.day-grid-v347 button{min-height:29px!important;padding:3px 5px!important;font-size:10.5px!important;border-radius:6px!important}

/* Admission photographs back to the compact student-list size. */
.admission-thumb-v351,.admission-profile-photo-v351{width:54px!important;height:62px!important;max-width:54px!important;max-height:62px!important;object-fit:cover!important;border-radius:8px!important;border:2px solid var(--line,#d7dee7)!important}
.admissions-card-v351 td:first-child{width:68px!important}
.admission-v334 input[type=file]{max-width:210px!important}

/* Cleaner three-column Student form. */
.student-form-grid-v351{grid-template-columns:repeat(3,minmax(185px,1fr))!important;gap:9px 13px!important;align-items:start}
.student-id-field-v351{grid-column:1!important}
.student-id-spacer-v351{display:block;min-height:1px}
.student-form-grid-v351 label{margin:0!important}
.student-form-grid-v351 input,.student-form-grid-v351 select,.student-form-grid-v351 textarea{min-height:36px!important}
.student-form-grid-v351 textarea{min-height:50px!important}
.student-form-grid-v351 .parent-phone-field-v351{grid-column:auto!important;width:auto!important;max-width:none!important}
.student-form-grid-v351 .parent-phone-field-v351 .phone-combo{max-width:100%!important}
.parent-phone-warning-v351{grid-column:1/-1;margin:5px 0 1px;padding:9px 11px;border-radius:9px;border:1px solid #f3c26b;background:#fff8e8;color:#7a4b00;font-size:11.5px;line-height:1.45}

/* Freeze the Student table headings. The filter toolbar and summary remain outside this scrolling area. */
.students-table-card-v351{padding:0!important;overflow:hidden!important}
.students-table-scroll-v351{max-height:calc(100vh - 330px);min-height:260px;overflow:auto!important;position:relative}
.students-table-scroll-v351 .tablewrap{overflow:visible!important;max-height:none!important}
.students-table-scroll-v351 table{border-collapse:separate!important;border-spacing:0!important;min-width:1450px}
.students-table-scroll-v351 thead th{position:sticky!important;top:0!important;z-index:9!important;background:var(--card,#fff)!important;box-shadow:0 2px 0 var(--line,#d9e1e8),0 5px 12px rgba(15,23,42,.06)!important}
.students-table-scroll-v351 tbody tr:hover td{background:var(--soft,#f6f8fb)}
.students-table-scroll-v351 th:first-child,.students-table-scroll-v351 td:first-child{position:sticky;left:0;z-index:5;background:var(--card,#fff)}
.students-table-scroll-v351 thead th:first-child{z-index:12}

/* Section colour is now clearly visible around the big Student Profile photograph. */
.student-profile-section-frame-v351{border:6px solid var(--section-color,#d5d9e2)!important;box-shadow:0 0 0 3px rgba(255,255,255,.95),0 0 0 7px var(--section-color,#d5d9e2),0 12px 30px rgba(15,23,42,.15)!important}

/* Portal setup guide. */
.portal-setup-guide-v351{border:1px solid rgba(37,99,235,.22)!important;background:linear-gradient(135deg,rgba(239,246,255,.96),rgba(255,255,255,.98),rgba(245,243,255,.95))!important}
.portal-guide-title-v351{display:flex;gap:14px;align-items:flex-start}.portal-guide-title-v351>span{display:grid;place-items:center;width:48px;height:48px;border-radius:14px;background:#1d4ed8;color:#fff;font-size:25px;box-shadow:0 10px 22px rgba(29,78,216,.22)}
.portal-guide-title-v351 h2{margin:0 0 4px;font-size:20px}.portal-guide-title-v351 p{margin:0;color:#536273;line-height:1.5}
.portal-steps-v351{display:grid;grid-template-columns:repeat(5,minmax(145px,1fr));gap:9px;margin:16px 0}
.portal-steps-v351>div{display:flex;gap:8px;padding:11px;border-radius:12px;border:1px solid #dbe5f0;background:#fff;min-height:135px}
.portal-steps-v351>div>b{display:grid;place-items:center;flex:0 0 28px;height:28px;border-radius:50%;background:#17365d;color:#fff}
.portal-steps-v351 span{display:flex;flex-direction:column;gap:5px}.portal-steps-v351 strong{font-size:12px;color:#172033}.portal-steps-v351 small{font-size:10.5px;line-height:1.42;color:#667085}
.portal-login-rules-v351{display:flex;flex-wrap:wrap;gap:8px}.portal-login-rules-v351 span{padding:7px 10px;border-radius:999px;background:#17365d;color:#fff;font-size:11px}
.portal-help-v351{border-left:5px solid #f59e0b!important}

/* Larger section colour palette with clear selection rings, including white/black. */
.section-colors-v349{gap:10px!important}
.section-colors-v349 label{width:32px!important;height:32px!important;border:1px solid #9ca3af!important}
.section-colors-v349 label:has(input:checked){box-shadow:0 0 0 3px var(--card,#fff),0 0 0 6px #2563eb!important;transform:scale(1.05)}

/* Keep phone entry compact in the Student form. */
.student-form-grid-v351 .phone-combo{grid-template-columns:118px 150px!important;max-width:276px!important}
.student-form-grid-v351 .phone-combo select{width:118px!important;max-width:118px!important}
.student-form-grid-v351 .phone-combo input[data-phone-local]{width:150px!important;max-width:150px!important}

@media(max-width:1050px){.portal-steps-v351{grid-template-columns:repeat(2,1fr)}}
@media(max-width:760px){
 .student-form-grid-v351{grid-template-columns:1fr!important}.student-id-spacer-v351{display:none}.student-id-field-v351{grid-column:auto!important}
 .portal-steps-v351{grid-template-columns:1fr}.students-table-scroll-v351{max-height:calc(100vh - 280px)}
 .dob-picker-v347{width:165px!important}.dob-modal-v347{width:min(420px,94vw)!important}
}

/* ========================= v35.2 Login, Phone, DOB, Wallpaper & Chat ========================= */

/* Developer credit now lives inside the login card and remains clearly readable. */
.premium-login{padding-bottom:18px!important}
.premium-credit-v352{position:static!important;display:flex!important;flex-direction:column!important;align-items:flex-start!important;gap:3px!important;margin:15px 0 0!important;padding:11px 13px!important;border-radius:12px!important;background:linear-gradient(135deg,rgba(15,23,42,.94),rgba(30,41,59,.91))!important;color:#fff!important;border:1px solid rgba(255,255,255,.16)!important;box-shadow:0 8px 22px rgba(0,0,0,.18)!important;text-align:left!important;max-width:none!important;font-size:10.5px!important;line-height:1.38!important}
.premium-credit-v352 .credit-title-v352{font-size:9px!important;text-transform:uppercase;letter-spacing:1.4px;color:#cbd5e1!important}
.premium-credit-v352 b{font-size:13px!important;letter-spacing:.8px;color:#fff!important}
.premium-credit-v352 span{white-space:normal!important;color:#e2e8f0!important}

/* Phone code is intentionally short: ISO-style country shortcut + calling code only. */
.phone-combo{grid-template-columns:92px 150px!important;max-width:250px!important}
.phone-combo select{width:92px!important;max-width:92px!important;font-size:10.5px!important;padding-left:6px!important;padding-right:3px!important}
.phone-combo input[data-phone-local]{width:150px!important;max-width:150px!important}
.phone-hint-v348{font-size:9.5px!important;max-width:270px;line-height:1.35}

/* Even smaller DOB picker while retaining year/month/day grids. */
.dob-picker-v347{width:160px!important;max-width:160px!important}
.dob-display-v347{min-height:31px!important;padding:4px 7px!important;font-size:11px!important}
.dob-modal-v352{width:min(388px,94vw)!important;max-width:388px!important;padding:11px!important}
.dob-modal-v352 .modal-head{margin-bottom:4px!important}.dob-modal-v352 .modal-head h2{font-size:14px!important}
.dob-modal-v352 .close{width:27px!important;height:27px!important;font-size:17px!important}
.dob-selected-v347{padding:6px 8px!important;font-size:13px!important;margin:3px 0 6px!important}
.dob-compact-columns-v352{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.dob-modal-v352 h3{font-size:10px!important;margin:5px 0 3px!important}
.year-nav-v347{gap:3px!important;margin-bottom:3px!important}.year-nav-v347 span{font-size:9px!important}.year-nav-v347 button{min-width:25px!important;padding:2px 4px!important;font-size:10px!important}
.year-grid-v347,.month-grid-v347{grid-template-columns:repeat(4,1fr)!important;gap:2px!important}
.year-grid-v347 button,.month-grid-v347 button{min-height:23px!important;padding:1px 3px!important;font-size:8.8px!important;border-radius:5px!important}
.calendar-title-v352{text-align:center!important;margin:6px 0 2px!important}
.weekday-grid-v352,.day-calendar-v352{display:grid!important;grid-template-columns:repeat(7,1fr)!important;gap:2px!important}
.weekday-grid-v352 b{text-align:center;font-size:8px;color:var(--muted,#64748b);padding:2px 0}
.day-calendar-v352{max-height:none!important;overflow:visible!important}
.day-calendar-v352 button,.day-blank-v352{min-height:22px!important;height:22px!important;padding:0!important;font-size:8.7px!important;border-radius:5px!important}
.day-blank-v352{display:block}
.dob-toolbar-v352{margin-top:6px!important;gap:4px!important}.dob-toolbar-v352 button{padding:4px 7px!important;font-size:9px!important}

/* System wallpaper layer, kept behind all working content for readability. */
#shell{position:relative;isolation:isolate;background:transparent!important}
#shell:before{content:"";position:fixed;inset:0;z-index:-2;background-image:var(--system-wallpaper-image,none);background-position:center;background-repeat:no-repeat;background-size:var(--system-wallpaper-fit,cover);opacity:var(--system-wallpaper-opacity,.18);filter:blur(var(--system-wallpaper-blur,0));transform:scale(1.02);pointer-events:none;transition:opacity .25s ease,filter .25s ease}
body:not(.system-wallpaper-enabled-v352) #shell:before{display:none}
body.system-wallpaper-enabled-v352 .main{background:rgba(247,249,252,.70)!important;backdrop-filter:blur(2px)}
body.system-wallpaper-enabled-v352 .sidebar{background:color-mix(in srgb,var(--sidebar,#12385c) 90%,transparent)!important;backdrop-filter:blur(8px)}
body.system-wallpaper-enabled-v352 .card,body.system-wallpaper-enabled-v352 .modal-card{backdrop-filter:blur(8px)}
.wallpaper-settings-v352{max-width:1100px;margin:auto}
.wallpaper-grid-v352{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px;margin:12px 0 18px}
.wallpaper-choice-v352{cursor:pointer}.wallpaper-choice-v352 input{position:absolute;opacity:0}
.wallpaper-choice-v352 span{display:flex;align-items:flex-end;min-height:110px;padding:11px;border-radius:14px;border:2px solid transparent;box-shadow:0 8px 22px rgba(15,23,42,.10);background-size:cover!important;color:#172033;overflow:hidden}
.wallpaper-choice-v352 span b{background:rgba(255,255,255,.80);padding:5px 8px;border-radius:8px;backdrop-filter:blur(6px)}
.wallpaper-choice-v352 input:checked+span{border-color:#2563eb;box-shadow:0 0 0 3px rgba(37,99,235,.15),0 10px 26px rgba(15,23,42,.14)}
.wallpaper-upload-v352{margin:16px 0!important;background:var(--soft,#f6f8fb)!important}

/* Admin WhatsApp-style school chat. */
.chat-shell-v352{height:calc(100vh - 130px);min-height:560px;display:grid;grid-template-columns:320px 1fr;border:1px solid var(--line,#d8e0e8);border-radius:16px;overflow:hidden;background:var(--card,#fff);box-shadow:0 12px 34px rgba(15,23,42,.08)}
.chat-contacts-v352{border-right:1px solid var(--line,#d8e0e8);display:flex;flex-direction:column;min-width:0;background:rgba(248,250,252,.95)}
.chat-brand-v352{padding:14px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line,#d8e0e8)}.chat-brand-v352 div{display:flex;flex-direction:column}.chat-brand-v352 small{font-size:10px;color:var(--muted,#64748b)}
.chat-contacts-v352>input{margin:10px;border-radius:999px}
.chat-filter-v352{display:flex;gap:4px;padding:0 9px 9px;overflow:auto}.chat-filter-v352 button{padding:5px 8px;border-radius:999px;font-size:10px}
#chatContactsListV352{overflow:auto;flex:1;padding:2px 6px 10px}
.chat-contact-v352{width:100%;display:grid;grid-template-columns:42px 1fr auto;align-items:center;gap:9px;text-align:left;background:transparent;border:0;border-bottom:1px solid #eef2f6;border-radius:9px;padding:9px;box-shadow:none}.chat-contact-v352:hover,.chat-contact-v352.selected{background:#eaf4ff}
.chat-contact-v352 img,.chat-thread-head-v352 img{width:40px;height:40px;border-radius:50%;object-fit:cover}.chat-avatar-v352{display:grid;place-items:center;width:40px;height:40px;border-radius:50%;background:#dbeafe;font-size:21px}
.chat-contact-v352>span:nth-child(2){min-width:0}.chat-contact-v352 b{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.chat-contact-v352 small{display:block;color:var(--muted,#64748b);font-size:9.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.chat-contact-v352 em{font-style:normal;background:#22c55e;color:#fff;border-radius:999px;padding:2px 6px;font-size:9px}
.chat-thread-v352{display:flex;min-width:0;background:linear-gradient(rgba(247,250,252,.92),rgba(247,250,252,.92)),radial-gradient(circle at 20% 20%,#dbeafe,transparent 32%)}
#chatThreadV352{display:flex;flex-direction:column;width:100%;min-width:0}
.chat-empty-v352,.chat-empty-thread-v352{margin:auto;text-align:center;color:var(--muted,#64748b)}.chat-empty-v352>div{font-size:56px}
.chat-thread-head-v352{display:flex;align-items:center;gap:10px;padding:10px 14px;background:rgba(255,255,255,.96);border-bottom:1px solid var(--line,#d8e0e8)}.chat-thread-head-v352 div{display:flex;flex:1;flex-direction:column}.chat-thread-head-v352 small{font-size:9.5px;color:var(--muted,#64748b)}
.chat-messages-v352{flex:1;overflow:auto;padding:18px 22px;scroll-behavior:smooth}
.chat-bubble-row-v352{display:flex;margin:5px 0}.chat-bubble-row-v352.mine{justify-content:flex-end}.chat-bubble-v352{max-width:min(72%,610px);padding:8px 10px;border-radius:13px;background:#fff;box-shadow:0 2px 7px rgba(15,23,42,.07);font-size:12px;line-height:1.45}.chat-bubble-row-v352.mine .chat-bubble-v352{background:#d9fdd3;border-bottom-right-radius:4px}.chat-bubble-row-v352.theirs .chat-bubble-v352{border-bottom-left-radius:4px}
.chat-bubble-v352 footer{display:flex;justify-content:flex-end;align-items:center;gap:5px;margin-top:4px;color:#667085;font-size:8.5px}.chat-bubble-v352 footer button{padding:0 2px;border:0;background:transparent;box-shadow:none;font-size:10px}
.chat-reply-v352{display:block;border-left:3px solid #22c55e;padding:3px 5px;background:#ffffff66;margin-bottom:4px}.chat-image-v352,.chat-video-v352{display:block;max-width:260px;max-height:220px;border-radius:9px;margin-top:7px}.chat-file-v352{display:block;margin-top:7px;padding:8px;border-radius:8px;background:#ffffff88}
.chat-composer-v352{position:relative;display:grid;grid-template-columns:auto auto 1fr auto;gap:7px;padding:9px 12px;background:#fff;border-top:1px solid var(--line,#d8e0e8);align-items:end}.chat-composer-v352 textarea{resize:none;min-height:38px;max-height:110px;border-radius:18px;padding:9px 12px}.chat-composer-v352>button,.chat-composer-v352>label{display:grid;place-items:center;min-width:38px;height:38px;border-radius:50%;cursor:pointer}
.emoji-pop-v352{position:absolute;bottom:55px;left:10px;display:grid;grid-template-columns:repeat(7,34px);gap:3px;padding:7px;background:#fff;border:1px solid var(--line,#d8e0e8);border-radius:12px;box-shadow:0 10px 30px #0002;z-index:20}.emoji-pop-v352 button{padding:4px;border:0;background:transparent;font-size:18px}

@media(max-width:820px){.chat-shell-v352{grid-template-columns:250px 1fr}.chat-bubble-v352{max-width:86%}}
@media(max-width:620px){.chat-shell-v352{display:block;height:auto}.chat-contacts-v352{height:260px;border-right:0;border-bottom:1px solid var(--line,#d8e0e8)}.chat-thread-v352{height:520px}.dob-compact-columns-v352{grid-template-columns:1fr}.dob-modal-v352{width:min(350px,94vw)!important}.phone-combo{grid-template-columns:88px minmax(130px,1fr)!important}.phone-combo select{width:88px!important;max-width:88px!important}}

/* ========================= v35.3 AI COMMAND CENTER & PERMANENT ENGLISH GUIDE ========================= */
.no-translate-v353,.english-guide-v353{direction:ltr!important;text-align:left}
.ai-floating-v353{position:fixed;right:20px;bottom:22px;z-index:80;width:58px;height:58px;border-radius:50%;display:grid;place-items:center;background:linear-gradient(145deg,#312e81,#7c3aed,#2563eb);color:#fff;border:2px solid rgba(255,255,255,.7);box-shadow:0 15px 35px rgba(49,46,129,.34),0 0 0 5px rgba(124,58,237,.10);font-size:23px;animation:v353AiFloat 3s ease-in-out infinite}
.ai-floating-v353 span{position:absolute;bottom:3px;font-size:8px;font-weight:900;letter-spacing:.08em}.ai-floating-v353.hidden{display:none!important}
@keyframes v353AiFloat{0%,100%{transform:translateY(0)}50%{transform:translateY(-5px)}}

.ai-command-center-v353{max-width:1500px;margin:auto}
.ai-hero-v353{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:24px 26px;border-radius:22px;background:radial-gradient(circle at 20% 20%,rgba(125,211,252,.25),transparent 36%),radial-gradient(circle at 88% 76%,rgba(216,180,254,.22),transparent 36%),linear-gradient(135deg,#0f172a,#172554 48%,#312e81);color:#fff;box-shadow:0 18px 45px rgba(15,23,42,.20);overflow:hidden}
.ai-hero-v353 h1{font-size:29px;margin:4px 0 6px}.ai-hero-v353 p{max-width:740px;margin:0;color:#dbeafe;line-height:1.55}.ai-kicker-v353{font-size:9px;letter-spacing:2.4px;font-weight:900;color:#a5f3fc}
.ai-status-card-v353{min-width:230px;padding:14px;border:1px solid rgba(255,255,255,.20);background:rgba(255,255,255,.10);backdrop-filter:blur(14px);border-radius:16px;display:flex;flex-direction:column;gap:5px}.ai-status-card-v353 small{color:#dbeafe}.ai-status-card-v353 button{margin-top:6px;background:#fff;color:#172554}
.ai-health-grid-v353{margin:16px 0;grid-template-columns:repeat(6,minmax(135px,1fr))}
.ai-main-grid-v353{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:16px}
.ai-ask-card-v353 textarea{width:100%;min-height:115px;font-size:14px;line-height:1.5;border-radius:13px;padding:13px}
.ai-prompt-chips-v353{display:flex;gap:7px;flex-wrap:wrap;margin:10px 0}.ai-prompt-chips-v353 button{padding:6px 9px;border-radius:999px;font-size:10px;background:#eef2ff;border:1px solid #c7d2fe;color:#3730a3}
.ai-answer-v353{margin-top:12px;min-height:165px;border-radius:14px;border:1px solid #dbe3ec;background:linear-gradient(135deg,#f8fafc,#fff);padding:14px}
.ai-empty-answer-v353{min-height:130px;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:4px;color:#64748b;font-size:30px}.ai-empty-answer-v353 b{font-size:13px;color:#334155}.ai-empty-answer-v353 small{font-size:10px}
.ai-answer-head-v353{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid #e2e8f0;padding-bottom:9px;margin-bottom:10px;font-size:11px;font-weight:800}.ai-answer-text-v353{font-family:Georgia,serif;font-size:13.5px;line-height:1.7;color:#172033;white-space:normal}
.ai-thinking-v353{display:flex;align-items:center;justify-content:center;gap:6px;min-height:125px;color:#4f46e5}.ai-thinking-v353 span{width:9px;height:9px;border-radius:50%;background:#6366f1;animation:v353Thinking .9s infinite alternate}.ai-thinking-v353 span:nth-child(2){animation-delay:.2s}.ai-thinking-v353 span:nth-child(3){animation-delay:.4s}@keyframes v353Thinking{to{transform:translateY(-8px);opacity:.35}}
.ai-side-v353{display:flex;flex-direction:column;gap:12px}.ai-side-v353>.card{margin:0}.ai-side-v353 button{width:100%;margin-top:6px;text-align:left}
.ai-privacy-note-v353{margin-top:12px;padding:10px;border-radius:10px;background:#ecfdf3;border:1px solid #bbf7d0;color:#166534;font-size:11px;line-height:1.5}
.ai-history-preview-v353{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.ai-history-preview-v353 button{display:flex;flex-direction:column;gap:4px;text-align:left;padding:10px;border-radius:10px;background:#f8fafc;border:1px solid #e2e8f0}.ai-history-preview-v353 small{font-size:9px;color:#64748b}
.ai-settings-grid-v353{grid-template-columns:repeat(3,minmax(260px,1fr));align-items:start}.ai-settings-grid-v353>.card{min-height:355px}.ai-connection-status-v353{padding:9px 11px;border-radius:10px;font-weight:800;font-size:11px;margin:10px 0}.ai-connection-status-v353.ok{background:#dcfce7;color:#166534}.ai-connection-status-v353.warn{background:#fff7ed;color:#9a3412}.ai-simple-steps-v353{padding-left:20px;font-size:11px;line-height:1.7}.ai-simple-steps-v353 code{font-size:10px;background:#eef2f7;padding:2px 4px;border-radius:4px}
.ai-generated-comment-v353{margin:12px 0;padding:12px;border-radius:10px;background:#f8fafc;border-left:4px solid #6366f1;font-family:Georgia,serif;line-height:1.55}
.ai-history-modal-v353{max-width:780px!important}

.ai-quick-panel-v353{position:fixed;right:20px;bottom:92px;width:min(390px,calc(100vw - 32px));z-index:95;background:#fff;border:1px solid #dbe3ec;border-radius:17px;box-shadow:0 25px 65px rgba(15,23,42,.26);overflow:hidden}.ai-quick-head-v353{display:flex;justify-content:space-between;align-items:center;padding:11px 13px;background:linear-gradient(135deg,#312e81,#5b21b6);color:#fff}.ai-quick-head-v353 button{background:transparent;color:#fff;border:0;box-shadow:none;font-size:18px}.ai-quick-answer-v353{max-height:260px;overflow:auto;padding:12px;font-size:11.5px;line-height:1.55;background:#f8fafc;min-height:90px}.ai-quick-panel-v353 textarea{width:calc(100% - 20px);margin:10px;resize:vertical}.ai-quick-panel-v353 .toolbar{padding:0 10px 10px}

/* Fixed-English User Guide */
.english-guide-v353{max-width:1250px;margin:auto;color:#172033}
.guide-hero-v353{display:grid;grid-template-columns:1fr 280px;gap:18px;align-items:center;padding:24px 26px;border-radius:20px;background:linear-gradient(135deg,#eff6ff,#ffffff 52%,#f5f3ff);border:1px solid #cbdcf2;box-shadow:0 12px 35px rgba(15,23,42,.08)}
.guide-hero-v353>div:first-child>span{font-size:9px;letter-spacing:2px;font-weight:900;color:#2563eb}.guide-hero-v353 h1{font-size:27px;margin:5px 0}.guide-hero-v353 p{margin:0;line-height:1.55;color:#536273}.guide-quick-v353{padding:14px;border-radius:14px;background:#17365d;color:#fff;display:flex;flex-direction:column;gap:5px}.guide-quick-v353 small{line-height:1.5;color:#dbeafe}
.guide-search-v353{position:sticky;top:0;z-index:25;display:flex;gap:8px;padding:12px 0;background:rgba(247,249,252,.92);backdrop-filter:blur(10px)}.guide-search-v353 input{flex:1;min-width:220px}
.guide-checklist-v353{padding:16px 18px;border-radius:14px;background:#fffaf0;border:1px solid #fde68a;margin-bottom:14px}.guide-checklist-v353 h2{margin:0 0 10px;font-size:17px}.guide-checklist-v353>div{display:grid;grid-template-columns:repeat(2,1fr);gap:7px}.guide-checklist-v353 label{font-size:11px;padding:6px;background:#fff;border-radius:7px;border:1px solid #f5e6b7}
.guide-sections-v353{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.guide-sections-v353 article{display:grid;grid-template-columns:48px 1fr;gap:12px;padding:17px;border-radius:14px;background:#fff;border:1px solid #dbe3ec;box-shadow:0 6px 20px rgba(15,23,42,.05)}.guide-number-v353{display:grid;place-items:center;width:42px;height:42px;border-radius:12px;background:#17365d;color:#fff;font-weight:900}.guide-sections-v353 h2{margin:0 0 4px;font-size:16px}.guide-sections-v353 h4{margin:0 0 7px;font-size:11px;color:#2563eb}.guide-sections-v353 p{margin:0;font-size:11.5px;line-height:1.65;color:#475569}.guide-footer-v353{margin-top:16px;padding:14px;border-radius:12px;background:#0f172a;color:#fff;text-align:center}

@media(max-width:1050px){.ai-health-grid-v353{grid-template-columns:repeat(3,1fr)}.ai-main-grid-v353{grid-template-columns:1fr}.ai-side-v353{display:grid;grid-template-columns:repeat(3,1fr)}.ai-settings-grid-v353{grid-template-columns:1fr}.guide-sections-v353{grid-template-columns:1fr}}
@media(max-width:720px){.ai-hero-v353{display:block}.ai-status-card-v353{margin-top:14px;min-width:0}.ai-health-grid-v353{grid-template-columns:repeat(2,1fr)}.ai-side-v353{grid-template-columns:1fr}.ai-history-preview-v353{grid-template-columns:1fr}.guide-hero-v353{grid-template-columns:1fr}.guide-checklist-v353>div{grid-template-columns:1fr}.guide-search-v353{flex-wrap:wrap}.ai-floating-v353{right:12px;bottom:14px}.ai-quick-panel-v353{right:10px;bottom:80px}}
@media print{#sidebar,#shell .sidebar,.topbar,.ai-floating-v353,.guide-search-v353{display:none!important}.english-guide-v353{max-width:none}.guide-sections-v353 article{break-inside:avoid;box-shadow:none}.guide-hero-v353{box-shadow:none}}

.dashboard-ai-brief-v353{display:grid;grid-template-columns:60px 1fr auto;align-items:center;gap:14px;margin-bottom:14px!important;background:linear-gradient(135deg,#f5f3ff,#fff 48%,#eff6ff)!important;border:1px solid #c7d2fe!important}.dashboard-ai-icon-v353{display:grid;place-items:center;width:54px;height:54px;border-radius:16px;background:linear-gradient(145deg,#312e81,#7c3aed);font-size:28px;box-shadow:0 10px 22px #7c3aed33}.dashboard-ai-brief-v353 span{font-size:8.5px;letter-spacing:1.8px;font-weight:900;color:#6d28d9}.dashboard-ai-brief-v353 h3{margin:3px 0 4px}.dashboard-ai-brief-v353 p{margin:0;font-size:11px;color:#536273}.dashboard-ai-actions-v353{display:flex;gap:7px;flex-wrap:wrap;justify-content:flex-end}
@media(max-width:760px){.dashboard-ai-brief-v353{grid-template-columns:52px 1fr}.dashboard-ai-actions-v353{grid-column:1/-1;justify-content:flex-start}}

.login-help-v353{max-width:620px!important}.login-help-v353 ol{padding-left:24px;line-height:1.75;font-size:12px}.login-help-v353 li{margin:4px 0}

/* ========================= v35.5 Premium Operations ========================= */

/* Always keep large settings/profile modals inside the laptop screen. */
.modal{padding:10px!important;align-items:center!important;justify-content:center!important;overflow:auto!important}
.modal-card,.school-profile-form,.teacher-form-card,.appearance-modal{width:min(1080px,96vw)!important;max-width:96vw!important;max-height:92vh!important;overflow:auto!important;margin:auto!important;left:auto!important;right:auto!important}
.settings-grid{max-width:100%!important;overflow:visible!important}

/* Global compact date control + picker trigger. */
.date-open-v355{display:inline-grid!important;place-items:center!important;width:27px!important;height:29px!important;padding:0!important;margin-left:3px!important;border-radius:6px!important;vertical-align:middle!important}
input[type=date][data-v355-date]{width:116px!important;max-width:116px!important}
.date-modal-v355{width:min(370px,94vw)!important}

/* Student add form: tighter parent phone / disability panel / footer buttons. */
.student-form-v355 .phone-combo{grid-template-columns:76px 138px!important;max-width:220px!important}
.student-form-v355 .phone-combo select{width:76px!important;max-width:76px!important;padding:4px!important;font-size:10px!important}
.student-form-v355 .phone-combo input{width:138px!important;max-width:138px!important}
.parent-phone-compact-v355{position:relative!important;padding-top:0!important}
.phone-optional-v355{float:right!important;margin-left:5px!important;padding:1px 5px!important;border-radius:999px!important;background:#eef2ff!important;color:#4f46e5!important;font-size:8px!important;font-weight:700!important}
.disability-compact-v355{padding:8px 10px!important;margin:3px 0!important;min-height:0!important}
.disability-compact-v355 small{font-size:9px!important;line-height:1.3!important}
.disability-compact-v355 .switch-row{min-height:26px!important;margin:0!important}
.student-form-v355 .toolbar{position:sticky!important;bottom:-1px!important;background:var(--card,#fff)!important;padding:8px 0!important;z-index:8!important}

/* Assessment workspace */
.assessment-rule-v355{border-left:5px solid #4f46e5!important;background:linear-gradient(135deg,#eef2ff,#fff)!important}
.assessment-rule-v355 .assessment-checks-v349 label{transition:.15s ease}
.assessment-rule-v355 .assessment-checks-v349 label:has(input:checked){background:#dcfce7!important;border-color:#22c55e!important;box-shadow:0 0 0 2px #22c55e18}
.assessment-scroll input[type=number]{width:72px!important;text-align:center!important;font-weight:700!important}
.assessment-scroll .class-score-v349{background:#fff7ed!important;color:#9a3412!important;font-weight:900!important}
.assessment-scroll .scaled-ca{background:#eef2ff!important;color:#3730a3!important;font-weight:900!important}

/* Biometric enrollment */
.biometric-enrol-v355{max-width:900px!important}
.credential-grid-v355{display:flex;flex-wrap:wrap;gap:8px;margin-top:8px}
.credential-grid-v355 label{display:flex;align-items:center;gap:5px;padding:7px 9px;border:1px solid #d8e0e8;border-radius:9px;background:#f8fafc}
.credential-grid-v355 label:has(input:checked){background:#dcfce7;border-color:#22c55e}

/* Fees: no wrapped header lanes and sticky Actions always visible. */
.fee-table-v355{max-height:calc(100vh - 330px)!important;overflow:auto!important}
.fee-table-v355 table{min-width:1900px!important;border-collapse:separate!important;border-spacing:0!important}
.fee-table-v355 th,.fee-table-v355 td{white-space:nowrap!important;vertical-align:middle!important}
.fee-table-v355 thead th{position:sticky!important;top:0!important;z-index:15!important;background:var(--card,#fff)!important;min-width:92px!important;max-width:160px!important;overflow:hidden!important;text-overflow:ellipsis!important}
.fee-table-v355 .sticky-col-1{left:0!important;min-width:110px!important;z-index:18!important}
.fee-table-v355 .sticky-col-2{left:110px!important;min-width:175px!important;z-index:18!important}
.fee-table-v355 .sticky-action-v355{position:sticky!important;right:0!important;z-index:18!important;background:var(--card,#fff)!important;min-width:145px!important;box-shadow:-5px 0 10px rgba(15,23,42,.08)!important}
.fee-status-v355{display:inline-block;padding:5px 8px;border-radius:999px;font-size:9px;font-weight:800;border:1px solid #d8e0e8;background:#f8fafc}
.fee-overpayment{background:#ede9fe!important;color:#5b21b6!important;border-color:#c4b5fd!important}.fee-full-scholarship,.fee-fully-sponsored{background:#dcfce7!important;color:#166534!important;border-color:#86efac!important}.fee-full-discount{background:#dbeafe!important;color:#1d4ed8!important}.fee-part-scholarship,.fee-part-scholarship-part-payment,.fee-part-discount,.fee-part-discount-part-payment{background:#fff7ed!important;color:#9a3412!important}
.payment-modal-v355{width:min(900px,96vw)!important}.support-current-v355{padding:10px!important;border-radius:10px!important;background:#f0fdf4!important;border:1px solid #bbf7d0!important;line-height:1.5!important}

/* WhatsApp / Telegram style chat composer. */
.chat-shell-v355{height:calc(100vh - 126px)!important}
.chat-thread-head-v352{position:sticky;top:0;z-index:5}.chat-head-actions-v355{display:flex!important;gap:4px!important}.chat-head-actions-v355 button{min-width:34px!important;padding:6px!important}
.chat-reply-banner-v355{padding:7px 12px;background:#eef2ff;border-bottom:1px solid #c7d2fe;color:#3730a3;font-size:10px}.chat-reply-banner-v355.hidden{display:none}.chat-reply-banner-v355 button{float:right;padding:0 5px}
.chat-composer-v355{grid-template-columns:auto auto auto auto minmax(120px,1fr) auto!important;position:sticky!important;bottom:0!important;z-index:8!important;padding:9px 12px!important;box-shadow:0 -4px 18px rgba(15,23,42,.07)!important}
.chat-composer-v355>button,.chat-composer-v355>label{border:0!important;background:#f1f5f9!important;color:#334155!important;box-shadow:none!important}
.chat-composer-v355 textarea{min-height:40px!important;max-height:120px!important;border:1px solid #cbd5e1!important;background:#fff!important}
.voice-btn-v355{transition:.2s}.voice-btn-v355:has(+textarea){font-size:16px}
.chat-compose-hint-v355{padding:4px 14px 7px;background:#fff;color:#94a3b8;font-size:8.5px;text-align:center}
.chat-reaction-v355{display:inline-block;margin:-4px 0 2px 5px;padding:1px 5px;border-radius:999px;background:#fff;border:1px solid #e2e8f0;font-size:12px}
.chat-search-hit-v355 .chat-bubble-v352{box-shadow:0 0 0 3px #fde047,0 4px 12px #0001!important}
.chat-image-v352,.chat-video-v352{max-width:320px!important;max-height:280px!important}

/* Notifications */
.notify-priority-v355{display:inline-block;padding:5px 8px;border-radius:999px;font-size:9px;font-weight:900}.p-urgent{background:#fee2e2;color:#991b1b}.p-high{background:#ffedd5;color:#9a3412}.p-normal{background:#dbeafe;color:#1d4ed8}.p-low{background:#f1f5f9;color:#475569}
#notifyCountV355{display:inline-grid;place-items:center;min-width:18px;height:18px;border-radius:999px;background:#dc2626;color:#fff;font-size:9px;margin-left:2px}

/* Entertainment */
.entertainment-hero-v355{display:flex;align-items:center;gap:15px;padding:22px;border-radius:18px;background:linear-gradient(135deg,#312e81,#7c3aed,#2563eb);color:#fff;margin-bottom:15px}.entertainment-hero-v355>div:first-child{font-size:50px}.entertainment-hero-v355 h1{margin:0}.entertainment-hero-v355 p{margin:5px 0 0;color:#dbeafe}
.game-grid-v355{display:grid;grid-template-columns:repeat(auto-fit,minmax(175px,1fr));gap:10px;margin-bottom:14px}.game-grid-v355 button{display:flex;flex-direction:column;align-items:center;min-height:130px;justify-content:center;gap:5px;border-radius:15px;background:linear-gradient(145deg,#fff,#f8fafc);border:1px solid #dbe3ec}.game-grid-v355 span{font-size:32px}.game-grid-v355 small{color:#64748b}
.game-area-v355{text-align:center;min-height:330px}.ttt-v355,.puzzle-v355{display:grid;grid-template-columns:repeat(3,82px);gap:7px;justify-content:center;margin:18px}.ttt-v355 button,.puzzle-v355 button{height:82px;font-size:31px;font-weight:900}.memory-v355{display:grid;grid-template-columns:repeat(4,68px);gap:7px;justify-content:center;margin:18px}.memory-v355 button{height:68px;font-size:26px}.reaction-wait-v355,.reaction-go-v355{width:min(500px,90%);height:170px;font-size:24px;margin:20px}.reaction-wait-v355{background:#ef4444;color:#fff}.reaction-go-v355{background:#22c55e;color:#fff}.focus-clock-v355{font-size:70px;font-weight:900;font-variant-numeric:tabular-nums;margin:30px}

/* Appraisal */
.appraisal-teacher-grid-v355{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:9px}.appraisal-teacher-grid-v355 button{display:flex;flex-direction:column;gap:4px;text-align:left}.portal-rating-list-v355{display:grid;gap:8px;margin:14px 0}.portal-rating-list-v355 label{display:grid;grid-template-columns:1fr 190px;gap:12px;align-items:center;padding:9px;border-radius:9px;background:#f8fafc;border:1px solid #e2e8f0}

/* Backup */
.backup-grid-v355{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:14px 0}.backup-table-grid-v355{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:6px;max-height:370px;overflow:auto}.backup-table-grid-v355>div{display:flex;justify-content:space-between;padding:7px 9px;border-radius:7px;background:#f8fafc;border:1px solid #eef2f7;font-size:10px}

/* Certificates */
.certificate-preview-strip-v355{display:flex;gap:8px;flex-wrap:wrap;margin:12px 0}.certificate-preview-strip-v355 span{padding:7px 10px;border-radius:999px;background:#fff7ed;border:1px solid #fed7aa;color:#9a3412;font-size:10px;font-weight:700}

/* More working-clock interfaces */
body[data-clock-style="executive"] .working-clock-v350{padding:7px 13px;border-radius:10px;background:linear-gradient(135deg,#2b2110,#5b4015);color:#facc15;border:1px solid #d4a72c;box-shadow:0 6px 18px #0003}
body[data-clock-style="matrix"] .working-clock-v350{padding:7px 12px;border-radius:6px;background:#020b05;color:#4ade80;border:1px solid #166534;font-family:Consolas,monospace;text-shadow:0 0 8px #22c55e}
body[data-clock-style="gradient"] .working-clock-v350{padding:7px 13px;border-radius:12px;background:linear-gradient(135deg,#2563eb,#7c3aed,#db2777);color:white;box-shadow:0 8px 22px #7c3aed44}
body[data-clock-style="outline"] .working-clock-v350{padding:6px 11px;border-radius:9px;background:transparent;border:2px solid currentColor;box-shadow:none}
body[data-clock-style="split-flap"] .working-clock-v350{padding:7px 12px;border-radius:5px;background:#111827;color:#f8fafc;font-family:Consolas,monospace;letter-spacing:.12em;border-bottom:3px solid #374151}
body[data-clock-style="ice-glass"] .working-clock-v350{padding:7px 13px;border-radius:15px;background:linear-gradient(135deg,#ecfeffbb,#dbeafeaa);color:#164e63;border:1px solid #a5f3fc;backdrop-filter:blur(16px);box-shadow:0 8px 25px #22d3ee22}

/* More animation speed levels */
body[data-animation-speed="very-slow"]{--v350-speed:8s;--v350-float:5s}
body[data-animation-speed="very-fast"]{--v350-speed:1s;--v350-float:.85s}
body[data-animation-speed="turbo"]{--v350-speed:.55s;--v350-float:.5s}
body[data-dashboard-animation="shimmer-ring"] .birthday-photo,body[data-dashboard-animation="shimmer-ring"] .best-photo-ring{animation:v355Shimmer var(--v350-speed,3s) linear infinite}
body[data-dashboard-animation="comet-orbit"] .birthday-photo,body[data-dashboard-animation="comet-orbit"] .best-photo-ring{animation:v355Comet var(--v350-speed,3s) linear infinite}
body[data-dashboard-animation="heartbeat"] .birthday-photo,body[data-dashboard-animation="heartbeat"] .best-photo-ring{animation:v355Heartbeat var(--v350-speed,1.5s) ease-in-out infinite}
body[data-dashboard-animation="bounce"] .birthday-photo,body[data-dashboard-animation="bounce"] .best-photo-ring{animation:v355Bounce var(--v350-float,2s) ease-in-out infinite}
body[data-dashboard-animation="rotate-zoom"] .birthday-photo,body[data-dashboard-animation="rotate-zoom"] .best-photo-ring{animation:v355RotateZoom var(--v350-speed,3s) linear infinite}
body[data-dashboard-animation="fireworks-glow"] .birthday-photo,body[data-dashboard-animation="fireworks-glow"] .best-photo-ring{animation:v355Fireworks var(--v350-speed,2s) ease-in-out infinite}
@keyframes v355Shimmer{0%{box-shadow:0 0 4px #38bdf8}50%{box-shadow:0 0 var(--v350-glow,24px) #e879f9,0 0 35px #fde047}100%{box-shadow:0 0 4px #38bdf8}}
@keyframes v355Comet{0%{filter:hue-rotate(0);transform:rotate(0)}100%{filter:hue-rotate(360deg);transform:rotate(360deg)}}
@keyframes v355Heartbeat{0%,100%{transform:scale(1)}15%{transform:scale(1.08)}30%{transform:scale(.98)}45%{transform:scale(1.06)}}
@keyframes v355Bounce{0%,100%{transform:translateY(0)}50%{transform:translateY(calc(-1*var(--v350-move,10px))) scale(1.04)}}
@keyframes v355RotateZoom{0%{transform:rotate(0) scale(1)}50%{transform:rotate(180deg) scale(1.06)}100%{transform:rotate(360deg) scale(1)}}
@keyframes v355Fireworks{0%,100%{box-shadow:0 0 4px #f43f5e}25%{box-shadow:0 0 25px #fde047,18px -12px 22px #22d3ee}50%{box-shadow:0 0 30px #a855f7,-18px -12px 22px #22c55e}75%{box-shadow:0 0 25px #f97316,12px 16px 22px #ec4899}}

/* Premium charts */
.chart-modal-v355{max-width:960px!important}.chart-modal-v355 canvas{width:100%!important;height:auto!important;border-radius:14px!important;border:1px solid #dbe3ec!important;box-shadow:inset 0 0 35px #00000008!important}

/* Keep fee and other table headings inside their own cells. */
.table th{overflow:hidden;text-overflow:ellipsis}
@media(max-width:900px){.backup-grid-v355{grid-template-columns:1fr}.chat-composer-v355{grid-template-columns:auto auto auto minmax(120px,1fr) auto!important}.chat-composer-v355 label:nth-of-type(2){display:none}.portal-rating-list-v355 label{grid-template-columns:1fr}.fee-table-v355{max-height:60vh}}

/* ========================= v35.6 Header, Billing & Mock Exams ========================= */
.topbar-v356{display:grid!important;grid-template-columns:minmax(210px,.55fr) minmax(700px,1.8fr)!important;gap:14px!important;align-items:center!important;padding:8px 14px!important;min-height:92px!important}
.topbar-title-v356{display:flex!important;align-items:center!important;gap:8px!important;min-width:0!important;flex-wrap:wrap!important}
.topbar-title-v356 h1{width:100%!important;margin:0!important}
.topbar-right-v356{display:grid!important;gap:6px!important;min-width:0!important}
.topbar-utility-row-v356,.topbar-main-row-v356{display:flex!important;align-items:center!important;justify-content:flex-end!important;gap:6px!important;min-width:0!important;flex-wrap:nowrap!important}
.topbar-utility-row-v356 button{padding:5px 8px!important;font-size:9px!important;white-space:nowrap!important}
.topbar-main-row-v356 button{padding:6px 8px!important;font-size:9px!important;white-space:nowrap!important}
.live-search-wrap-v356{width:260px!important;max-width:26vw!important;min-width:150px!important;flex:0 1 260px!important}
.live-search-wrap-v356 input{width:100%!important}
.topbar-main-row-v356 .working-clock-v350{flex:0 0 auto!important;white-space:nowrap!important}
.report-billing-toggle-v356{display:grid!important;grid-template-columns:auto 1fr!important;column-gap:5px!important;align-items:center!important;padding:5px 8px!important;border-radius:9px!important;border:1px solid #bbf7d0!important;background:#f0fdf4!important;color:#166534!important}
.report-billing-toggle-v356 small{grid-column:2;font-size:7.8px!important;color:#64748b!important}
.mock-score-grid-v356{display:grid!important;grid-template-columns:repeat(auto-fit,minmax(520px,1fr))!important;gap:12px!important}
.mock-score-grid-v356>.card{margin:0!important}
.mock-subject-scroll-v356{max-height:470px!important;overflow:auto!important}
.mock-subject-scroll-v356 thead th{position:sticky!important;top:0!important;z-index:4!important;background:var(--card,#fff)!important}
.mock-score-input-v356{width:80px!important;text-align:center!important;font-weight:800!important}
.mock-exam-btn-v356{box-shadow:0 6px 18px rgba(79,70,229,.18)!important}
@media(max-width:1250px){.topbar-v356{grid-template-columns:220px 1fr!important}.topbar-utility-row-v356,.topbar-main-row-v356{flex-wrap:wrap!important}.live-search-wrap-v356{max-width:260px!important}.topbar-v356{min-height:118px!important}}
@media(max-width:850px){.topbar-v356{grid-template-columns:1fr!important}.topbar-utility-row-v356,.topbar-main-row-v356{justify-content:flex-start!important}.live-search-wrap-v356{width:210px!important;max-width:210px!important}.mock-score-grid-v356{grid-template-columns:1fr!important}}

/* ========================= v35.7 Compact Dates + Academic Intelligence ========================= */

/* Date selector reduced to about half the former modal footprint while retaining year grid,
   month grid, Mon-Sun headings, date grid, Today, Clear and Use Date. */
.date-modal-v355,.dob-modal-v352,.dob-modal-v356{width:220px!important;max-width:92vw!important;padding:6px!important;border-radius:10px!important}
.date-modal-v355 .modal-head,.dob-modal-v352 .modal-head{margin-bottom:2px!important;min-height:22px!important}
.date-modal-v355 .modal-head h2,.dob-modal-v352 .modal-head h2{font-size:11px!important;margin:0!important}
.date-modal-v355 .close,.dob-modal-v352 .close{width:21px!important;height:21px!important;font-size:13px!important}
.date-modal-v355 .dob-selected-v347,.dob-modal-v352 .dob-selected-v347{font-size:9px!important;padding:3px 4px!important;margin:2px 0 3px!important}
.date-modal-v355 .dob-compact-columns-v352,.dob-modal-v352 .dob-compact-columns-v352{grid-template-columns:1fr 1fr!important;gap:4px!important}
.date-modal-v355 h3,.dob-modal-v352 h3{font-size:7.5px!important;margin:2px 0!important}
.date-modal-v355 .year-nav-v347,.dob-modal-v352 .year-nav-v347{gap:1px!important;margin:0 0 2px!important}
.date-modal-v355 .year-nav-v347 span,.dob-modal-v352 .year-nav-v347 span{font-size:6.5px!important}
.date-modal-v355 .year-nav-v347 button,.dob-modal-v352 .year-nav-v347 button{min-width:18px!important;height:17px!important;padding:0!important;font-size:8px!important}
.date-modal-v355 .year-grid-v347,.date-modal-v355 .month-grid-v347,.dob-modal-v352 .year-grid-v347,.dob-modal-v352 .month-grid-v347{grid-template-columns:repeat(4,1fr)!important;gap:1px!important}
.date-modal-v355 .year-grid-v347 button,.date-modal-v355 .month-grid-v347 button,.dob-modal-v352 .year-grid-v347 button,.dob-modal-v352 .month-grid-v347 button{min-height:17px!important;height:17px!important;padding:0!important;font-size:6.6px!important;border-radius:3px!important}
.date-modal-v355 .weekday-grid-v352,.dob-modal-v352 .weekday-grid-v352{gap:1px!important;margin-top:3px!important}
.date-modal-v355 .weekday-grid-v352 b,.dob-modal-v352 .weekday-grid-v352 b{font-size:6px!important;padding:1px 0!important}
.date-modal-v355 .day-calendar-v352,.dob-modal-v352 .day-calendar-v352{gap:1px!important}
.date-modal-v355 .day-calendar-v352 button,.date-modal-v355 .day-blank-v352,.dob-modal-v352 .day-calendar-v352 button,.dob-modal-v352 .day-blank-v352{height:16px!important;min-height:16px!important;font-size:6.6px!important;border-radius:3px!important}
.date-modal-v355 .toolbar,.dob-modal-v352 .toolbar{gap:2px!important;margin-top:4px!important}
.date-modal-v355 .toolbar button,.dob-modal-v352 .toolbar button{padding:3px 4px!important;font-size:6.8px!important;min-height:20px!important}

/* Dashboard/header hierarchy: utilities above; session + working time together; polished 260px search follows. */
.topbar-v357{display:grid!important;grid-template-columns:minmax(190px,.42fr) minmax(760px,1.9fr)!important;gap:10px!important;align-items:center!important;padding:8px 12px!important;min-height:96px!important}
.topbar-title-v357{display:flex!important;align-items:center!important;gap:7px!important;min-width:0!important}
.topbar-title-v357 h1{font-size:20px!important;margin:0!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important}
.topbar-controls-v357{display:grid!important;grid-template-rows:auto auto!important;gap:5px!important;min-width:0!important}
.topbar-utility-row-v357,.topbar-main-row-v357{display:flex!important;align-items:center!important;justify-content:flex-start!important;gap:5px!important;min-width:0!important;white-space:nowrap!important}
.topbar-utility-row-v357{padding-left:1px!important}
.topbar-utility-row-v357 button{padding:4px 7px!important;font-size:8.7px!important;border-radius:7px!important}
.topbar-main-row-v357 button{padding:5px 7px!important;font-size:8.5px!important;border-radius:7px!important}
.topbar-main-row-v357 .session-clock{margin:0!important;padding:5px 8px!important;border-radius:8px!important;background:#f8fafc!important;border:1px solid #e2e8f0!important;font-size:9px!important}
.topbar-main-row-v357 .working-clock-v350{margin:0 1px 0 0!important;flex:0 0 auto!important}
.live-search-wrap-v357{position:relative!important;width:260px!important;max-width:260px!important;min-width:260px!important;flex:0 0 260px!important}
.live-search-wrap-v357 input{width:100%!important;height:36px!important;padding:7px 52px 7px 32px!important;border-radius:12px!important;border:1px solid #cbd5e1!important;background:linear-gradient(135deg,#fff,#f8fafc)!important;box-shadow:0 5px 15px rgba(15,23,42,.07)!important;font-size:10.5px!important;transition:.18s!important}
.live-search-wrap-v357 input:focus{border-color:#6366f1!important;box-shadow:0 0 0 3px rgba(99,102,241,.12),0 8px 22px rgba(15,23,42,.08)!important;outline:none!important}
.search-icon-v357{position:absolute;left:11px;top:8px;z-index:2;font-size:17px;color:#6366f1;font-weight:900;pointer-events:none}
.live-search-wrap-v357 kbd{position:absolute;right:8px;top:9px;font-size:7px;padding:2px 4px;border:1px solid #dbe3ec;background:#fff;border-radius:4px;color:#64748b;pointer-events:none}
@media(max-width:1260px){.topbar-v357{grid-template-columns:180px 1fr!important;min-height:122px!important}.topbar-utility-row-v357,.topbar-main-row-v357{flex-wrap:wrap!important}}
@media(max-width:850px){.topbar-v357{grid-template-columns:1fr!important}.topbar-main-row-v357,.topbar-utility-row-v357{justify-content:flex-start!important}.live-search-wrap-v357{width:260px!important;min-width:260px!important;max-width:260px!important}}

/* Academic year */
.active-year-v357{background:#dcfce7!important;color:#166534!important;border-color:#86efac!important}

/* Mock index and advanced comparison */
.index-config-v357{background:linear-gradient(135deg,#eff6ff,#fff 55%,#f5f3ff)!important;border:1px solid #c7d2fe!important}
.index-config-v357 input[type=number],.index-config-v357 input[type=text]{font-weight:700!important}
.mock-multi-select-v357{display:flex!important;gap:5px!important;flex-wrap:wrap!important;max-width:650px!important}
.mock-multi-select-v357 label{display:flex!important;align-items:center!important;gap:3px!important;padding:4px 6px!important;border-radius:8px!important;background:#f8fafc!important;border:1px solid #e2e8f0!important;font-size:8.5px!important}
.mock-multi-select-v357 label:has(input:checked){background:#eef2ff!important;border-color:#818cf8!important;color:#3730a3!important}
.analysis-tabs-v357{display:flex;gap:5px;flex-wrap:wrap;margin:12px 0}.analysis-tabs-v357 button{border-radius:999px;padding:6px 10px;background:#f8fafc}.analysis-tabs-v357 button:hover{background:#eef2ff}
.analysis-panel-v357{overflow:auto}.trend-up-v357{font-weight:900;color:#15803d!important;background:#f0fdf4!important}.trend-down-v357{font-weight:900;color:#b91c1c!important;background:#fef2f2!important}

/* Online assessment */
.online-feature-strip-v357{display:flex;gap:6px;flex-wrap:wrap;margin:10px 0}.online-feature-strip-v357 span{padding:6px 9px;border-radius:999px;background:linear-gradient(135deg,#eff6ff,#f5f3ff);border:1px solid #c7d2fe;font-size:9px;font-weight:700;color:#3730a3}
.online-activity-form-v357,.online-question-form-v357{max-width:980px!important}
.question-list-v357{display:grid;gap:10px}.question-card-v357{display:grid;grid-template-columns:42px 1fr;gap:12px;padding:15px;border:1px solid #dbe3ec;border-radius:14px;background:#fff;box-shadow:0 6px 20px rgba(15,23,42,.05)}
.question-order-v357{display:grid;place-items:center;width:38px;height:38px;border-radius:12px;background:linear-gradient(145deg,#312e81,#6366f1);color:#fff;font-weight:900}
.question-prompt-v357{font-size:13px;line-height:1.55}.question-image-v357{display:block;max-width:340px;max-height:230px;object-fit:contain;border-radius:10px;border:1px solid #dbe3ec;margin:8px 0}
.question-meta-v357{display:flex;gap:6px;flex-wrap:wrap;margin-top:8px}.question-meta-v357 span{padding:5px 7px;border-radius:7px;background:#f8fafc;border:1px solid #e2e8f0;font-size:8.5px}
.ai-question-draft-v357{display:flex;flex-direction:column;gap:3px;padding:8px;border-bottom:1px solid #eef2f7}.ai-question-draft-v357 small{color:#64748b}
.student-answer-v357{padding:10px;border-left:4px solid #6366f1;background:#eef2ff;border-radius:7px;margin:8px 0}

/* NaCCA lesson plan + scheme */
.nacca-banner-v357{display:flex;flex-direction:column;gap:4px;margin:10px 0;padding:14px 16px;border-radius:14px;background:linear-gradient(135deg,#0f3d2e,#166534,#0f766e);color:#fff;box-shadow:0 10px 30px rgba(22,101,52,.14)}
.nacca-banner-v357 b{font-size:14px}.nacca-banner-v357 span{font-size:11px}.nacca-banner-v357 small{color:#d1fae5}
.lesson-plan-form-v357{max-width:1050px!important}.lesson-plan-form-v357 textarea{line-height:1.45}
.scheme-week-list-v357{display:grid;gap:12px}.scheme-week-list-v357>.card{margin:0;border-left:4px solid #0f766e}
.scheme-week-list-v357 textarea{min-height:65px}
@media print{.analysis-tabs-v357,.topbar-v357{display:none!important}}

.curriculum-phase-grid-v357{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.curriculum-phase-grid-v357>.card{margin:0;border-top:4px solid #166534}.curriculum-subject-chips-v357{display:flex;flex-wrap:wrap;gap:5px}.curriculum-subject-chips-v357 span{padding:5px 7px;border-radius:999px;background:#f0fdf4;border:1px solid #bbf7d0;color:#166534;font-size:8.5px;font-weight:700}@media(max-width:800px){.curriculum-phase-grid-v357{grid-template-columns:1fr}}

/* ========================= v35.8 Header / Chat / Duty / Teaching Tools ========================= */
.topbar-v357{grid-template-columns:minmax(285px,.58fr) minmax(820px,1.85fr)!important;min-height:136px!important;padding:13px 18px!important;gap:16px!important}
.topbar-title-v357 h1{font-size:29px!important;line-height:1.1!important}.topbar-title-v357 .pill{font-size:11px!important;padding:6px 10px!important}
.topbar-controls-v357{gap:9px!important}.topbar-utility-row-v357,.topbar-main-row-v357{gap:8px!important}.topbar-utility-row-v357 button{padding:7px 11px!important;font-size:11px!important;min-height:35px!important}.topbar-main-row-v357 button{padding:8px 11px!important;font-size:10.5px!important;min-height:38px!important}.topbar-main-row-v357 .session-clock{padding:8px 11px!important;font-size:11px!important;min-height:36px!important;display:inline-flex!important;align-items:center!important}.topbar-main-row-v357 .working-clock-v350{font-size:11px!important;min-height:36px!important;display:inline-flex!important;align-items:center!important}.live-search-wrap-v357{width:260px!important;min-width:260px!important;max-width:260px!important}.live-search-wrap-v357 input{height:40px!important;font-size:11px!important}
@media(max-width:1350px){.topbar-v357{grid-template-columns:250px 1fr!important;min-height:158px!important}.topbar-utility-row-v357,.topbar-main-row-v357{flex-wrap:wrap!important}}

.motivation-banner-v358{display:flex;gap:13px;align-items:center;padding:14px 17px;margin-bottom:12px;border-radius:16px;background:linear-gradient(135deg,#fefce8,#fff7ed,#eff6ff);border:1px solid #fde68a;box-shadow:0 8px 24px rgba(120,80,20,.08)}.motivation-banner-v358>span{font-size:31px}.motivation-banner-v358 p{margin:3px 0;font-size:12px}.motivation-banner-v358 small{color:#64748b}
.chat-attachment-preview-v358{display:flex;align-items:center;gap:9px;padding:7px 10px;background:#f8fafc;border:1px solid #dbe3ec;border-radius:10px;margin:5px 10px}.chat-attachment-preview-v358 img{width:54px;height:54px;object-fit:cover;border-radius:8px}.chat-attachment-preview-v358 span:nth-child(2){display:flex;flex-direction:column;flex:1}.chat-attachment-preview-v358 small{color:#64748b}.chat-attachment-preview-v358 button{margin-left:auto}.chat-file-icon-v358{font-size:27px}
.duty-layout-v358{display:grid;grid-template-columns:minmax(290px,.7fr) minmax(500px,1.3fr);gap:12px}.duty-person-row-v358{display:flex;align-items:center;gap:8px;padding:8px;border-bottom:1px solid #eef2f7}.duty-person-row-v358 span{display:flex;flex-direction:column}.duty-person-row-v358 small{color:#64748b}.duty-module-grid-v358{display:grid;grid-template-columns:repeat(3,1fr);gap:6px}.duty-module-grid-v358 label,.duty-action-grid-v358 label{padding:7px 8px;border:1px solid #dbe3ec;border-radius:9px;background:#f8fafc}.duty-module-grid-v358 label:has(input:checked),.duty-action-grid-v358 label:has(input:checked){background:#eef2ff;border-color:#818cf8}.duty-action-grid-v358{display:flex;gap:8px;margin:8px 0 12px}.status-active-v358{background:#dcfce7!important;color:#166534!important}.status-inactive-v358{background:#fee2e2!important;color:#991b1b!important}
.ai-v358-shell{max-width:1050px;margin:auto}.ai-v358-head{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:20px;border-radius:17px;background:linear-gradient(135deg,#172554,#312e81,#4338ca);color:white}.ai-v358-head>div:first-child{display:grid;grid-template-columns:auto 1fr;column-gap:10px}.ai-v358-head span{font-size:38px;grid-row:1/4}.ai-v358-head h1,.ai-v358-head p{margin:2px}.ai-v358-head select{min-width:230px}.ai-transcript-v358{height:48vh;overflow:auto;padding:16px;background:#f8fafc;border:1px solid #dbe3ec;border-radius:14px;margin:10px 0;display:flex;flex-direction:column;gap:9px}.ai-msg-v358{max-width:78%;padding:10px 12px;border-radius:13px;line-height:1.55}.ai-msg-v358.mine{align-self:flex-end;background:#4338ca;color:#fff}.ai-msg-v358.theirs{align-self:flex-start;background:#fff;border:1px solid #dbe3ec}.ai-msg-v358 small{display:block;color:#6366f1;font-weight:800;margin-bottom:4px}.ai-system-msg-v358{padding:10px;border-radius:10px;background:#eff6ff;color:#1e3a8a}.ai-compose-v358{display:grid;grid-template-columns:1fr auto;gap:8px}.ai-compose-v358 textarea{min-height:90px}
.lesson-note-v358{max-width:1120px!important}.lesson-note-v358 textarea{line-height:1.45}.phone-guide-v358{display:grid;gap:9px;line-height:1.5}.phone-guide-v358 code{background:#eef2f7;padding:2px 5px;border-radius:4px}
@media(max-width:900px){.duty-layout-v358{grid-template-columns:1fr}.duty-module-grid-v358{grid-template-columns:repeat(2,1fr)}.topbar-v357{grid-template-columns:1fr!important}.ai-v358-head{flex-direction:column;align-items:flex-start}}

/* ========================= v35.9 Visual & Layout Refinements ========================= */
/* Date picker increased by about 50% from the compact v35.8 popup. */
.date-modal-v355,.dob-modal-v352,.dob-modal-v356{width:330px!important;max-width:94vw!important;padding:9px!important;border-radius:13px!important}
.date-modal-v355 .modal-head h2,.dob-modal-v352 .modal-head h2{font-size:14px!important}.date-modal-v355 .close,.dob-modal-v352 .close{width:28px!important;height:28px!important;font-size:16px!important}
.date-modal-v355 .dob-selected-v347,.dob-modal-v352 .dob-selected-v347{font-size:11px!important;padding:5px 6px!important}
.date-modal-v355 h3,.dob-modal-v352 h3{font-size:10px!important}.date-modal-v355 .year-nav-v347 button,.dob-modal-v352 .year-nav-v347 button{min-width:27px!important;height:25px!important;font-size:10px!important}
.date-modal-v355 .year-grid-v347 button,.date-modal-v355 .month-grid-v347 button,.dob-modal-v352 .year-grid-v347 button,.dob-modal-v352 .month-grid-v347 button{min-height:25px!important;height:25px!important;font-size:9px!important}
.date-modal-v355 .weekday-grid-v352 b,.dob-modal-v352 .weekday-grid-v352 b{font-size:8px!important}.date-modal-v355 .day-calendar-v352 button,.date-modal-v355 .day-blank-v352,.dob-modal-v352 .day-calendar-v352 button,.dob-modal-v352 .day-blank-v352{height:24px!important;min-height:24px!important;font-size:9px!important}
.date-modal-v355 .toolbar button,.dob-modal-v352 .toolbar button{padding:5px 7px!important;font-size:9px!important;min-height:27px!important}

/* Bigger dashboard command area without shrinking individual controls. */
.topbar-v357{grid-template-columns:minmax(330px,.62fr) minmax(900px,1.8fr)!important;min-height:182px!important;padding:17px 22px!important;gap:20px!important}
.topbar-title-v357 h1{font-size:34px!important}.topbar-title-v357 .pill{font-size:13px!important;padding:7px 12px!important}.topbar-controls-v357{gap:11px!important}
.topbar-utility-row-v357,.topbar-main-row-v357{gap:10px!important}.topbar-utility-row-v357 button{padding:9px 13px!important;font-size:12.5px!important;min-height:41px!important}.topbar-main-row-v357 button{padding:9px 12px!important;font-size:11.5px!important;min-height:42px!important}.topbar-main-row-v357 .session-clock,.topbar-main-row-v357 .working-clock-v350{font-size:13px!important;min-height:41px!important;padding:9px 12px!important}.live-search-wrap-v357{width:260px!important;min-width:260px!important;max-width:260px!important}
@media(max-width:1450px){.topbar-v357{grid-template-columns:285px 1fr!important;min-height:200px!important}.topbar-utility-row-v357,.topbar-main-row-v357{flex-wrap:wrap!important}}
.required-v359{display:block;color:#b91c1c;font-size:8px;font-weight:800;margin-bottom:2px}
.daily-message-grid-v359{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:12px}.daily-message-grid-v359 .motivation-banner-v358{margin:0}.bible-banner-v359{display:flex;gap:13px;align-items:center;padding:14px 17px;border-radius:16px;background:linear-gradient(135deg,#eff6ff,#eef2ff,#faf5ff);border:1px solid #c7d2fe;box-shadow:0 8px 24px rgba(49,46,129,.08)}.bible-banner-v359>span{font-size:31px}.bible-banner-v359 p{font-size:12px;margin:3px 0;font-style:italic}.bible-banner-v359 small{color:#64748b}
.result-unfilled-v359 td{background:#fff7cc!important;box-shadow:inset 0 1px #facc15,inset 0 -1px #facc15}.result-quick-tools-v359{position:sticky;top:0;z-index:7;background:var(--card,#fff);padding:7px;border:1px solid #fde68a;border-radius:9px}
.mock-subject-ticks-v359{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:6px;margin:10px 0}.mock-subject-ticks-v359 label{padding:7px;border:1px solid #dbe3ec;border-radius:8px}.mock-subject-ticks-v359 label:has(input:checked){background:#eef2ff;border-color:#818cf8}
.nacca-live-status-v359{grid-column:1/-1;padding:9px 11px;border-radius:9px;background:#f0fdf4;border:1px solid #bbf7d0;color:#166534;margin-bottom:5px}
.payment-filter-row-v359{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;padding:10px;border-radius:11px;background:#f8fafc;border:1px solid #e2e8f0;margin-bottom:10px}.compact-student-select-v359{max-width:520px!important}.payment-modal-v359{width:min(930px,96vw)!important}
.staff-att-summary-v359{margin:10px 0}
.chat-composer-v355,.chat-composer-v358{max-width:calc(100% - 76px)!important;margin-right:76px!important;border-radius:0 14px 14px 0!important}.chat-thread-v352{background:linear-gradient(180deg,#f8fafc,#eef6f2)!important}.chat-bubble-v352{box-shadow:0 3px 10px rgba(15,23,42,.06)!important}
.calendar-grid{max-width:980px!important;margin:auto!important;font-size:9.5px!important}.cal-cell{min-height:58px!important;padding:3px!important}
body[data-button-shape="pill"] button{border-radius:999px!important}body[data-button-shape="square"] button{border-radius:2px!important}body[data-button-shape="soft-square"] button{border-radius:8px!important}body[data-button-shape="rounded"] button{border-radius:12px!important}
body[data-button-effect="hologram"] button{background-image:linear-gradient(120deg,rgba(34,211,238,.16),rgba(168,85,247,.16),rgba(244,114,182,.16))!important;box-shadow:0 4px 15px rgba(124,58,237,.13)!important}body[data-button-effect="glass"] button{backdrop-filter:blur(12px);box-shadow:inset 0 0 0 1px rgba(255,255,255,.35),0 5px 14px rgba(15,23,42,.10)}body[data-button-effect="flat"] button{box-shadow:none!important}
body[data-button-size="compact"] button{padding:5px 8px!important;font-size:9px!important}body[data-button-size="large"] button{padding:10px 15px!important;font-size:12px!important}
.preview-stage-v359{min-height:220px;border:1px dashed #94a3b8;border-radius:14px;padding:16px;background:linear-gradient(135deg,#f8fafc,#fff);display:grid;place-items:center}.preview-card-v359{width:min(420px,95%);min-height:165px;padding:15px;border:4px double #315b8a;border-radius:8px;background:white;box-shadow:0 10px 30px #0001}
@media(max-width:900px){.daily-message-grid-v359{grid-template-columns:1fr}.topbar-v357{grid-template-columns:1fr!important}.payment-filter-row-v359{grid-template-columns:1fr}.chat-composer-v355,.chat-composer-v358{max-width:calc(100% - 50px)!important;margin-right:50px!important}}

/* v35.10 */
.students-table-scroll-v351 table th:last-child,.students-table-scroll-v351 table td:last-child{position:sticky;right:0;z-index:5;background:var(--card,#fff);box-shadow:-8px 0 12px rgba(0,0,0,.06);min-width:180px}
.students-table-scroll-v351 table th:last-child{z-index:8}
.payment-modal-v359,.student-form-v355{max-height:92vh;display:flex;flex-direction:column}
.payment-modal-v359>.formgrid,.student-form-v355>.formgrid{overflow:auto;min-height:0}
.payment-modal-v359>.toolbar:last-child,.student-form-v355>.toolbar:last-child{position:sticky;bottom:0;background:var(--card,#fff);padding:10px;z-index:10;border-top:1px solid rgba(127,127,127,.25)}
.disability-compact-v355{padding:8px!important;margin:4px 0!important}
.daily-message-grid-v359>*{animation:dailyFloatV3510 5s ease-in-out infinite}
@keyframes dailyFloatV3510{0%,100%{transform:translateY(0)}50%{transform:translateY(-5px)}}
.result-quick-tools-v3510{margin-top:8px;padding-top:8px;border-top:1px dashed rgba(127,127,127,.35)}

.boarding-rate-row-v3510{display:grid;grid-template-columns:1.4fr 1fr .8fr 1fr;gap:8px;align-items:center;padding:7px;border-bottom:1px solid rgba(127,127,127,.2)}
.boarding-student-v3510{padding:8px;border:1px solid rgba(127,127,127,.25);border-radius:10px}
/* v35.11 continuation */
@media print{.sidebar,.topbar,.toolbar button,.toolbar input,.toolbar select{display:none!important}.content{margin:0!important;padding:8px!important}.card{break-inside:avoid}}

/* v35.12 required-field clarity */
.required-field-v3512>input,.required-field-v3512>select{border-color:#c7902f}
.required-field-v3512>b:first-child,.required-field-v3512::before{font-weight:700}
.required-note-v3512{padding:8px 11px;border:1px solid #e2c27c;border-radius:9px;background:rgba(255,245,214,.72);font-size:12px;margin-bottom:5px}

/* v35.12.2 visible-feature launchers */
.feature-launch-grid-v35122{display:grid;grid-template-columns:repeat(4,minmax(150px,1fr));gap:10px}
.feature-launch-v35122{min-height:88px!important;display:flex!important;flex-direction:column;align-items:flex-start!important;justify-content:center!important;gap:3px!important;padding:12px!important;font-size:21px!important;border:1px solid rgba(100,116,139,.24)!important}
.feature-launch-v35122 b{font-size:11px!important}.feature-launch-v35122 small{font-size:8px!important;opacity:.75;text-align:left}
.boarding-launch-v35122{background:linear-gradient(135deg,#ecfdf5,#d1fae5)!important;border-color:#6ee7b7!important;color:#065f46!important}
.mock-launch-v35122{background:linear-gradient(135deg,#eff6ff,#e0e7ff)!important;border-color:#93c5fd!important;color:#1e3a8a!important}
.feature-hero-v35122{display:flex;justify-content:space-between;gap:16px;align-items:center;padding:16px;border-radius:16px;background:linear-gradient(135deg,#f8fafc,#ecfdf5);border:1px solid #dbeafe;margin-bottom:12px}
.feature-hero-v35122 span{font-size:8px;font-weight:900;letter-spacing:.16em;color:#64748b}.feature-hero-v35122 h2{margin:3px 0;font-size:20px}
.mock-hero-v35122{background:linear-gradient(135deg,#eff6ff,#eef2ff)}
.mock-matrix-table-v35122{max-height:62vh;overflow:auto}.mock-matrix-table-v35122 th{position:sticky;top:0;z-index:3}.sticky-col-v35122{position:sticky!important;left:0!important;z-index:4!important;background:var(--card,#fff)!important;min-width:180px}
.mock-matrix-table-v35122 input{width:68px;text-align:center;font-weight:800}
.error-card-v35122{border:2px solid #fecaca;background:#fef2f2}
@media(max-width:1000px){.feature-launch-grid-v35122{grid-template-columns:repeat(2,1fr)}.feature-hero-v35122{flex-direction:column;align-items:flex-start}}

.mobile-portal-hero-v35126{display:flex;justify-content:space-between;gap:18px;align-items:center;padding:20px;border-radius:18px;background:linear-gradient(135deg,rgba(37,99,235,.12),rgba(124,58,237,.12));margin-bottom:14px}
.mobile-portal-hero-v35126 h2{margin:0 0 6px}.portal-url-list-v35126{display:grid;gap:10px}.portal-url-v35126{display:flex;gap:8px;align-items:center;flex-wrap:wrap;padding:12px;border:1px solid var(--border,#dbe3ef);border-radius:14px}.portal-url-v35126 code{flex:1;min-width:220px;overflow-wrap:anywhere;font-size:14px}.portal-check-grid-v35126{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.portal-check-grid-v35126>div{padding:14px;border:1px solid var(--border,#dbe3ef);border-radius:14px}.mobile-portal-settings-btn-v35126{min-height:42px}@media(max-width:760px){.portal-check-grid-v35126{grid-template-columns:1fr}.mobile-portal-hero-v35126{align-items:flex-start;flex-direction:column}.portal-url-v35126 code{min-width:100%;font-size:12px}}

.mobile-portal-visible-card-v35127{margin-top:14px;border:2px solid rgba(37,99,235,.24);background:linear-gradient(135deg,rgba(239,246,255,.96),rgba(245,243,255,.96))}
.mobile-portal-visible-card-v35127 .primary{min-width:190px}

.lesson-note-v35129 select{width:100%;min-height:38px}
.lesson-note-v35129 textarea[name="main_activity"]{min-height:150px}

/* v35.13.0 Secure Internet Access */
.internet-hero-v35130{display:flex;justify-content:space-between;gap:18px;align-items:center;padding:20px;border-radius:18px;background:linear-gradient(135deg,#ecfeff,#eef2ff,#faf5ff);border:1px solid #c7d2fe;margin-bottom:14px}.internet-hero-v35130 span{font-size:9px;font-weight:900;letter-spacing:.14em;color:#475569}.internet-hero-v35130 h2{margin:4px 0 5px}.internet-status-pill-v35130{padding:9px 14px;border-radius:999px;background:white;border:1px solid #cbd5e1;font-weight:800;white-space:nowrap}
.internet-url-card-v35130{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:13px;border:1px solid #86efac;background:#f0fdf4;border-radius:14px;margin:12px 0}.internet-url-card-v35130 small,.internet-url-card-v35130 code{display:block}.internet-url-card-v35130 code{font-size:13px;margin-top:5px;overflow-wrap:anywhere}
.internet-empty-url-v35130{display:flex;flex-direction:column;gap:4px;padding:13px;border:1px dashed #94a3b8;border-radius:14px;margin:12px 0;color:#64748b}.internet-warning-v35130{padding:13px;border:1px solid #fbbf24;background:#fffbeb;border-radius:14px}.internet-log-v35130{max-height:165px;overflow:auto;background:#0f172a;color:#cbd5e1;border-radius:12px;padding:10px;font:11px/1.5 Consolas,monospace;margin-top:10px}.internet-check-grid-v35130{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-top:12px}.internet-check-grid-v35130>div{padding:13px;border:1px solid #dbe4ef;border-radius:13px}.internet-check-grid-v35130 small{display:block;margin-top:5px;color:#64748b}.numbered-guide-v35130{display:grid;gap:9px}.numbered-guide-v35130>div{display:flex;align-items:flex-start;gap:10px;padding:10px;border:1px solid #e2e8f0;border-radius:12px}.numbered-guide-v35130 b{display:grid;place-items:center;min-width:27px;height:27px;border-radius:50%;background:#1d4ed8;color:#fff}.qr-modal-v35130{text-align:center;max-width:430px}.qr-modal-v35130 img{width:300px;max-width:90%;background:white;padding:10px;border-radius:16px;margin:8px auto;display:block}.qr-modal-v35130 code{display:block;overflow-wrap:anywhere;margin:8px 0}.secure-internet-link-v35130,.secure-internet-settings-v35130{display:flex;justify-content:space-between;align-items:center;gap:12px;border:2px solid rgba(59,130,246,.20);background:linear-gradient(135deg,#eff6ff,#f5f3ff)}
@media(max-width:900px){.internet-check-grid-v35130{grid-template-columns:repeat(2,1fr)}.internet-url-card-v35130,.internet-hero-v35130,.secure-internet-link-v35130,.secure-internet-settings-v35130{flex-direction:column;align-items:flex-start}}
@media(max-width:560px){.internet-check-grid-v35130{grid-template-columns:1fr}}

/* v35.14.0 PWA */
.pwa-install-btn-v35140{white-space:nowrap}
@media(max-width:900px){.pwa-install-btn-v35140{order:99}}

/* v35.14.1 QR preview */
.qr-mobile-modal-v35141{z-index:100000!important}.qr-mobile-card-v35141{max-width:520px!important;text-align:center}.qr-mobile-preview-v35141{display:grid;place-items:center;padding:14px;background:#fff;border:1px solid #dbe4ef;border-radius:18px}.qr-mobile-preview-v35141 img{width:330px;max-width:82vw;height:auto;display:block}.qr-mobile-url-v35141{display:block;margin:10px 0 14px;padding:10px;border-radius:10px;background:#f6f8fb;overflow-wrap:anywhere;font-size:12px}

.backup-premium-v35145{border:1px solid #b7d7c3;background:linear-gradient(135deg,#f7fff9,#f5f9ff);margin:16px 0}.backup-dest-v35145{padding:12px;border-radius:10px;background:rgba(255,255,255,.82);margin-top:10px}

.auto-backup-v35146{border:1px solid #b8d8c5;background:linear-gradient(135deg,#f7fff9,#f4f8ff);margin-top:16px}.backup-next-v35146{margin-top:12px;padding:10px;border-radius:10px;background:#fff;border:1px solid #dbe7df}


/* v35.14.8 expanded button shapes */
body[data-button-shape="bevel"] button{border-radius:5px!important;clip-path:polygon(8px 0,calc(100% - 8px) 0,100% 8px,100% calc(100% - 8px),calc(100% - 8px) 100%,8px 100%,0 calc(100% - 8px),0 8px)}
body[data-button-shape="cut-corner"] button{border-radius:0!important;clip-path:polygon(10px 0,100% 0,100% calc(100% - 10px),calc(100% - 10px) 100%,0 100%,0 10px)}
body[data-button-shape="ticket"] button{border-radius:12px!important;clip-path:polygon(0 0,100% 0,100% 35%,94% 50%,100% 65%,100% 100%,0 100%,0 65%,6% 50%,0 35%)}
body[data-button-shape="leaf"] button{border-radius:18px 3px 18px 3px!important}
body[data-button-shape="arch"] button{border-radius:22px 22px 7px 7px!important}
body[data-button-shape="hex"] button{border-radius:0!important;clip-path:polygon(8% 0,92% 0,100% 50%,92% 100%,8% 100%,0 50%)}
body[data-button-shape="tab"] button{border-radius:12px 12px 3px 3px!important}
body[data-button-shape="slant"] button{border-radius:4px!important;clip-path:polygon(8px 0,100% 0,calc(100% - 8px) 100%,0 100%)}

/* v35.14.8 expanded effects */
body[data-button-effect="gradient"] button{background-image:linear-gradient(135deg,rgba(14,165,233,.16),rgba(99,102,241,.18),rgba(168,85,247,.14))!important;box-shadow:0 5px 15px rgba(30,64,175,.14)}
body[data-button-effect="neon"] button{box-shadow:0 0 0 1px currentColor,0 0 9px rgba(34,211,238,.4),0 0 20px rgba(168,85,247,.22)!important}
body[data-button-effect="outline"] button{background:transparent!important;border:2px solid currentColor!important;box-shadow:none!important}
body[data-button-effect="elevated"] button{box-shadow:0 8px 18px rgba(15,23,42,.18),0 2px 4px rgba(15,23,42,.12)!important;transform:translateY(-1px)}
body[data-button-effect="glossy"] button{background-image:linear-gradient(to bottom,rgba(255,255,255,.48) 0,rgba(255,255,255,.12) 48%,rgba(0,0,0,.05) 52%,rgba(255,255,255,.06) 100%)!important;box-shadow:inset 0 1px rgba(255,255,255,.55),0 5px 12px rgba(15,23,42,.14)!important}
body[data-button-effect="metallic"] button{background-image:linear-gradient(135deg,rgba(255,255,255,.55),rgba(148,163,184,.18),rgba(255,255,255,.35),rgba(100,116,139,.18))!important;box-shadow:inset 0 1px rgba(255,255,255,.7),0 4px 10px rgba(15,23,42,.16)!important}
body[data-button-effect="three-d"] button{box-shadow:0 5px 0 rgba(15,23,42,.25),0 8px 13px rgba(15,23,42,.12)!important;transform:translateY(-3px)}
body[data-button-effect="three-d"] button:active{transform:translateY(1px);box-shadow:0 1px 0 rgba(15,23,42,.25)!important}
body[data-button-effect="deep-shadow"] button{box-shadow:0 10px 25px rgba(15,23,42,.28)!important}
body[data-button-effect="frosted"] button{background:rgba(255,255,255,.62)!important;backdrop-filter:blur(18px) saturate(140%);box-shadow:inset 0 0 0 1px rgba(255,255,255,.7),0 6px 16px rgba(15,23,42,.12)!important}
body[data-button-effect="ink"] button{background:transparent!important;box-shadow:none!important;border:0!important;border-bottom:2px solid currentColor!important}
@keyframes v35148Shimmer{0%{background-position:-180% 0}100%{background-position:180% 0}}
body[data-button-effect="shimmer"] button{background-image:linear-gradient(105deg,transparent 30%,rgba(255,255,255,.55) 48%,transparent 65%)!important;background-size:220% 100%!important;animation:v35148Shimmer 2.5s linear infinite}
@keyframes v35148Pulse{0%,100%{box-shadow:0 0 0 0 rgba(59,130,246,.3)}50%{box-shadow:0 0 0 6px rgba(59,130,246,0),0 0 16px rgba(59,130,246,.28)}}
body[data-button-effect="pulse"] button{animation:v35148Pulse 2s ease-in-out infinite}

/* v35.14.8 expanded button sizes */
body[data-button-size="micro"] button{padding:3px 6px!important;font-size:8px!important;min-height:24px!important}
body[data-button-size="small"] button{padding:6px 10px!important;font-size:10px!important;min-height:31px!important}
body[data-button-size="normal"] button{padding:8px 12px!important;font-size:11px!important}
body[data-button-size="xlarge"] button{padding:13px 19px!important;font-size:13px!important;min-height:48px!important}
body[data-button-size="jumbo"] button{padding:16px 24px!important;font-size:15px!important;min-height:56px!important}

.button-studio-v35148{grid-template-columns:minmax(310px,.85fr) minmax(430px,1.15fr)!important}
.button-preview-v35148{gap:18px;align-content:center}.button-preview-row-v35148{display:flex;gap:12px;flex-wrap:wrap;justify-content:center}
.basic9-raw-launch-v35148{border:2px solid rgba(99,102,241,.18);background:linear-gradient(135deg,#f8fbff,#f7f5ff)}
.raw-entry-highlight-v35148{box-shadow:0 8px 24px rgba(79,70,229,.15)!important}
.raw-score-v35122.raw-missing-v35148{background:#fff7c2!important;border:2px solid #eab308!important}
.raw-score-tools-v35148{position:sticky;left:0;margin-bottom:8px}
@media(max-width:900px){.button-studio-v35148{grid-template-columns:1fr!important}}

/* v35.14.9 final isolated fixes */
.button-studio-v35149{grid-template-columns:minmax(300px,.85fr) minmax(430px,1.15fr)!important}.button-live-preview-v35149{min-height:260px;border:1px dashed #94a3b8;border-radius:16px;padding:20px;display:flex;gap:14px;flex-wrap:wrap;align-content:center;justify-content:center;background:linear-gradient(135deg,#f8fafc,#fff)}
.feature-hero-v35149{padding:18px;border-radius:18px;background:linear-gradient(135deg,#eff6ff,#f5f3ff);border:1px solid #c7d2fe;margin-bottom:14px}.feature-hero-v35149 span{font-size:9px;font-weight:900;letter-spacing:.13em}.feature-hero-v35149 h2{margin:5px 0}
.mock149-subjects{display:flex;gap:12px;flex-wrap:wrap}.mock149-subjects label{padding:8px 10px;border:1px solid #dbe4ef;border-radius:10px;background:#fff}.mock149-table{max-height:62vh;overflow:auto}.mock149-table table{min-width:max-content}.mock149-sticky{position:sticky;left:0;background:#fff;z-index:4;min-width:190px}.mock149-table thead .mock149-sticky{z-index:7}.mock149-score{width:68px;text-align:center}.mock149-missing{background:#fff3b0!important;border:2px solid #eab308!important}.mock149-launcher{border:2px solid rgba(79,70,229,.16);background:linear-gradient(135deg,#fbfdff,#f8f7ff)}.mock149-main{box-shadow:0 7px 22px rgba(79,70,229,.15)!important}.build-badge-v35149{font-size:10px;font-weight:900;padding:5px 8px;border-radius:999px;background:#0f766e;color:white;white-space:nowrap}
@media(max-width:900px){.button-studio-v35149{grid-template-columns:1fr!important}}

/* v35.15.0 dashboard and break room */
.dashboard-demographics-v35150 .stat{min-width:130px}.game-grid-v35150{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));max-height:48vh;overflow:auto;padding-right:5px}.game-grid-v35150 button{min-height:108px}.game-question-v35150{font-size:18px;font-weight:700;line-height:1.45}.mini-game-v359 input{max-width:430px;font-size:16px}

/* v35.15.1 */
.game-question-v35151{font-size:clamp(22px,2.1vw,34px)!important;line-height:1.45!important;font-weight:800!important;padding:24px;border-radius:16px;background:#f8fafc;border:1px solid #dbe5ef;text-align:center}.game-live-stats-v35151 .stat,.game-analysis-v35151 .stat{min-height:88px}.mock149-subjects label{user-select:none}.payment-modal-v359 input[name="amount"]:focus{outline:3px solid rgba(37,99,235,.22);border-color:#2563eb!important}

/* ========================= v35.15.2 PREMIUM LOGIN ========================= */
.login-v35152{
  position:fixed!important;inset:0!important;min-height:100vh!important;overflow:auto!important;
  display:grid!important;place-items:center!important;padding:clamp(18px,3vw,42px)!important;
  background:
    radial-gradient(circle at 10% 15%,rgba(16,185,129,.18),transparent 31%),
    radial-gradient(circle at 90% 75%,rgba(59,130,246,.22),transparent 35%),
    linear-gradient(135deg,#071b2f 0%,#0b2c43 42%,#0c3b36 100%)!important;
  color:#0f172a!important;
}
.login-v35152.hidden{display:none!important}
.login-backdrop-v35152{position:fixed;inset:0;pointer-events:none;overflow:hidden}
.login-grid-v35152{position:absolute;inset:0;opacity:.14;background-image:linear-gradient(rgba(255,255,255,.08) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.08) 1px,transparent 1px);background-size:48px 48px;mask-image:linear-gradient(to bottom,transparent,#000 18%,#000 82%,transparent)}
.login-orb-v35152{position:absolute;border-radius:999px;filter:blur(3px);opacity:.45}
.orb-a-v35152{width:420px;height:420px;left:-120px;top:-130px;background:radial-gradient(circle,#34d399,transparent 68%)}
.orb-b-v35152{width:520px;height:520px;right:-160px;bottom:-190px;background:radial-gradient(circle,#60a5fa,transparent 68%)}

.login-stage-v35152{
  position:relative;z-index:2;width:min(1160px,96vw);display:grid;grid-template-columns:minmax(0,1.08fr) minmax(390px,.92fr);
  border:1px solid rgba(255,255,255,.18);border-radius:30px;overflow:hidden;
  box-shadow:0 35px 100px rgba(0,0,0,.38),0 0 0 1px rgba(255,255,255,.04);
  backdrop-filter:blur(20px);
}
.login-showcase-v35152{
  min-height:650px;padding:clamp(38px,5vw,68px);color:#fff;
  background:
    linear-gradient(160deg,rgba(9,39,61,.91),rgba(8,77,66,.88)),
    radial-gradient(circle at 20% 20%,rgba(52,211,153,.35),transparent 36%);
  display:flex;flex-direction:column;justify-content:center;gap:28px;position:relative;
}
.login-showcase-v35152:after{content:"";position:absolute;right:25px;bottom:20px;width:170px;height:170px;border-radius:50%;border:1px solid rgba(255,255,255,.11);box-shadow:0 0 0 25px rgba(255,255,255,.025),0 0 0 52px rgba(255,255,255,.018)}
.login-showcase-brand-v35152{display:flex;gap:18px;align-items:flex-start}
.login-showcase-mark-v35152{width:62px;height:62px;display:grid;place-items:center;border-radius:18px;background:linear-gradient(145deg,#34d399,#0ea5e9);font-weight:950;font-size:20px;box-shadow:0 14px 36px rgba(14,165,233,.28);flex:0 0 auto}
.login-kicker-v35152{font-size:10px;font-weight:900;letter-spacing:.22em;color:#a7f3d0}
.login-showcase-v35152 h2{font-size:clamp(28px,3vw,43px);line-height:1.08;margin:8px 0 0;max-width:620px;letter-spacing:-.035em}
.login-showcase-copy-v35152{font-size:15px;line-height:1.75;color:#d8edf0;max-width:670px;margin:0}
.login-feature-grid-v35152{display:grid;grid-template-columns:1fr 1fr;gap:12px;max-width:690px}
.login-feature-grid-v35152>div{display:grid;grid-template-columns:42px 1fr;column-gap:10px;align-items:center;padding:14px;border:1px solid rgba(255,255,255,.12);border-radius:16px;background:rgba(255,255,255,.055);backdrop-filter:blur(10px)}
.login-feature-grid-v35152 span{grid-row:1/3;font-size:24px}.login-feature-grid-v35152 b{font-size:12px}.login-feature-grid-v35152 small{font-size:9.5px;color:#c7dde0;line-height:1.35}
.login-security-strip-v35152{display:flex;gap:10px;flex-wrap:wrap}.login-security-strip-v35152 span{padding:7px 10px;border-radius:999px;background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.11);font-size:9.5px;color:#d7f5ee}

.login-card-v35152{
  width:auto!important;max-width:none!important;min-height:650px!important;margin:0!important;padding:clamp(30px,4vw,48px)!important;
  border-radius:0!important;border:0!important;background:rgba(250,252,255,.97)!important;color:#0f172a!important;
  box-shadow:none!important;display:flex!important;flex-direction:column!important;justify-content:center!important;position:relative!important;
}
.login-card-v35152:before{content:"";position:absolute;inset:0;background:linear-gradient(120deg,rgba(255,255,255,.84),transparent 43%);pointer-events:none}
.login-card-top-v35152{display:grid;grid-template-columns:82px 1fr;gap:17px;align-items:center;position:relative;z-index:1}
.login-logo-shell-v35152{width:80px;height:80px;margin:0!important;display:grid;place-items:center;border-radius:21px;background:#fff;border:1px solid #dbe5ee;box-shadow:0 12px 28px rgba(15,23,42,.11)}
.login-logo-shell-v35152 .login-school-logo{width:66px!important;height:66px!important;max-width:66px!important;max-height:66px!important;object-fit:contain!important;margin:0!important;border-radius:14px!important;padding:2px!important;box-shadow:none!important}
.login-fallback-v35152{width:62px!important;height:62px!important;margin:0!important;border-radius:17px!important}
.login-school-title-v35152 h1{font-size:clamp(20px,2vw,28px)!important;line-height:1.08!important;margin:5px 0 6px!important;color:#102a43!important;text-align:left!important}
.login-school-title-v35152 .login-motto{margin:0!important;text-align:left!important;color:#64748b!important;font-size:11px!important}
.login-access-badge-v35152{display:inline-flex;padding:5px 8px;border-radius:999px;background:#dcfce7;color:#166534;font-size:8px;font-weight:950;letter-spacing:.12em}
.login-version-v35152{position:relative;z-index:1;margin:20px 0 14px!important;padding:8px 11px!important;border-radius:10px;background:#eff6ff!important;color:#315b78!important;border:1px solid #dbeafe!important;text-align:center!important;font-size:9px!important;font-weight:800!important}

.login-form-v35152{position:relative;z-index:1;display:grid;gap:12px!important;margin:0!important}
.login-field-v35152{display:grid;gap:6px;color:#334155;font-size:10px;font-weight:850;text-align:left}
.login-input-wrap-v35152{position:relative;display:flex;align-items:center}
.login-input-wrap-v35152>i{position:absolute;left:13px;font-style:normal;font-size:15px;z-index:2;filter:saturate(.7)}
.login-input-wrap-v35152 input{
  width:100%!important;min-height:48px!important;margin:0!important;padding:11px 45px 11px 42px!important;border:1.5px solid #d7e0e9!important;
  border-radius:13px!important;background:#fff!important;color:#0f172a!important;font-size:13px!important;box-shadow:0 2px 3px rgba(15,23,42,.025)!important;
  transition:border-color .18s,box-shadow .18s,transform .18s!important
}
.login-input-wrap-v35152 input:focus{border-color:#0f766e!important;box-shadow:0 0 0 4px rgba(13,148,136,.11)!important;outline:none!important;transform:translateY(-1px)}
.login-eye-v35152{position:absolute!important;right:7px!important;width:36px!important;height:34px!important;min-height:34px!important;padding:0!important;margin:0!important;border:0!important;background:transparent!important;box-shadow:none!important;font-size:15px!important}
.login-caps-v35152{color:#b45309!important;background:#fffbeb;padding:5px 8px;border-radius:7px;border:1px solid #fde68a;font-size:8.5px!important}
.login-submit-v35152{min-height:49px!important;margin-top:4px!important;border-radius:13px!important;display:flex!important;align-items:center!important;justify-content:center!important;gap:12px!important;font-size:12px!important;font-weight:900!important;letter-spacing:.02em!important;background:linear-gradient(135deg,#0f766e,#0d9488)!important;box-shadow:0 10px 20px rgba(13,148,136,.22)!important}
.login-submit-v35152 b{font-size:18px}
.login-error-v35152{min-height:17px;font-size:10px!important;text-align:center!important}
.login-form-actions-v35152{display:flex;justify-content:space-between;align-items:center;gap:8px;flex-wrap:wrap;margin-top:-2px}
.login-form-actions-v35152 .link-button{font-size:9px!important;padding:5px 2px!important;color:#41647d!important}
.login-portal-link-v35152{color:#0f766e!important;font-weight:800!important}
.login-trust-v35152{position:relative;z-index:1;display:flex;justify-content:space-between;gap:10px;margin:13px 0 10px;padding:9px 10px;border-radius:10px;background:#f8fafc;border:1px solid #e2e8f0;font-size:8.5px;color:#64748b}

.login-credit-v35152{
  position:relative!important;z-index:1!important;margin-top:4px!important;padding:12px 14px!important;border-radius:13px!important;
  background:linear-gradient(135deg,#f0fdf4,#eff6ff)!important;border:1px solid #d7e7df!important;color:#28485c!important;
  box-shadow:none!important;align-items:flex-start!important;gap:3px!important;text-align:left!important
}
.login-credit-v35152 .credit-title-v352{color:#64748b!important;font-size:7.5px!important;letter-spacing:.13em!important}
.login-credit-v35152>b{font-size:12px!important;color:#0f3d3a!important;letter-spacing:.06em!important}
.login-credit-contact-v35152{display:flex;gap:7px 12px;flex-wrap:wrap;font-size:8.5px;color:#567080}
.login-credit-v35152 span{color:inherit!important}

/* The floating AI must never exist visually on the sign-in screen. */
body:has(#login:not(.hidden)) #aiFloatingV353{display:none!important;visibility:hidden!important;pointer-events:none!important}

@media(max-width:900px){
 .login-stage-v35152{grid-template-columns:1fr;width:min(600px,96vw)}
 .login-showcase-v35152{min-height:auto;padding:28px 30px;gap:18px}
 .login-showcase-v35152 h2{font-size:28px}
 .login-feature-grid-v35152{display:none}
 .login-security-strip-v35152{display:none}
 .login-card-v35152{min-height:auto!important;padding:30px!important}
}
@media(max-width:520px){
 .login-v35152{padding:10px!important;align-items:start!important}
 .login-stage-v35152{border-radius:20px;margin:8px 0}
 .login-showcase-v35152{padding:22px 20px}
 .login-showcase-brand-v35152{gap:11px}.login-showcase-mark-v35152{width:49px;height:49px;border-radius:14px;font-size:16px}
 .login-showcase-v35152 h2{font-size:22px}.login-showcase-copy-v35152{font-size:11px;line-height:1.55}
 .login-card-v35152{padding:24px 18px!important}
 .login-card-top-v35152{grid-template-columns:64px 1fr}.login-logo-shell-v35152{width:62px;height:62px}.login-logo-shell-v35152 .login-school-logo{width:51px!important;height:51px!important}
 .login-school-title-v35152 h1{font-size:18px!important}
 .login-form-actions-v35152{display:grid;justify-items:start}
 .login-trust-v35152{font-size:7.5px}
 .login-credit-contact-v35152{display:grid;gap:3px}
}

/* ========================= v35.15.3 ========================= */
.profile-update-stamp-v35153{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin:10px 0;padding:10px 13px;border-radius:11px;border:1px solid #cfe2d8;background:linear-gradient(135deg,#f0fdf4,#eff6ff);font-size:10px}.profile-update-stamp-v35153 span{font-weight:800;color:#456}.profile-update-stamp-v35153 b{color:#0f766e}.profile-update-stamp-v35153 small{margin-left:auto;color:#64748b}
.parent-profile-v35153 h2{margin:7px 0}.student-name-row-v35153{display:grid!important;grid-template-columns:1fr 1fr 1fr!important;gap:10px!important}.student-name-row-v35153 label{min-width:0!important}.student-name-row-v35153 input{width:100%!important;min-width:0!important}
.student-form-v35153 .formgrid{gap:7px 10px!important;grid-template-columns:repeat(3,minmax(145px,1fr))!important}.student-form-v35153 .disability-compact-v355,.student-form-v35153 .boarding-student-v3510{padding:6px 8px!important;margin:2px 0!important}.student-form-v35153 textarea{min-height:38px!important}.student-form-v35153 .toolbar{position:sticky!important;bottom:-2px!important;background:#fff!important;z-index:20!important;padding:7px 0!important}
.stream-master-toggle-v35153{display:inline-flex;align-items:center;gap:6px;padding:8px 10px;border:1px solid #d5dfe8;border-radius:10px;background:#fff}.stream-pill-v35153{display:inline-block;margin:2px}.teacher-assign-guide-v35153{border-left:5px solid #0f766e;background:linear-gradient(135deg,#f0fdfa,#fff)}.teacher-assign-guide-v35153 li{margin:5px 0}.school-id-box-v35153{border:1px solid #bfdbfe;background:#f8fbff}.ai-grounded-badge-v35153{display:inline-block;margin:8px 0;padding:6px 9px;border-radius:999px;background:#dcfce7;color:#166534;font-size:9px;font-weight:800}
.login-biometric-v35153{display:grid;grid-template-columns:1fr 1fr;gap:8px}.login-biometric-v35153 button{min-height:40px!important;border-radius:11px!important;background:#f8fafc!important;color:#21445b!important;border:1px solid #d5e1e8!important;box-shadow:none!important;font-size:9.5px!important;font-weight:850!important}.login-biometric-note-v35153{font-size:8px;color:#64748b;text-align:center;line-height:1.4}
@media(max-width:720px){.student-name-row-v35153{grid-template-columns:1fr!important}.student-form-v35153 .formgrid{grid-template-columns:1fr 1fr!important}.student-form-v35153 .wide{grid-column:1/-1!important}.login-biometric-v35153{grid-template-columns:1fr}}

/* v35.15.4 */
.field-caption-v35154{display:block;font-weight:800}.field-caption-v35154 em{font-style:normal;color:#dc2626;font-size:8px;margin-left:3px}.ai-catalog154{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:9px}.ai-catalog154>div{padding:11px;border:1px solid #dbe5ee;border-radius:12px;background:#f8fafc;display:grid;gap:4px}.ai-catalog154 small{font-size:8px;color:#64748b;line-height:1.5}.signout154{max-width:480px!important}.game-grid-v355 button>span{font-family:"Segoe UI Emoji","Apple Color Emoji",sans-serif!important;font-size:29px!important;line-height:1.1!important;min-height:34px;display:block}
\n/* v35.15.5 DOB picker */\n.date-modal-v35155{width:min(690px,92vw)!important;max-height:88vh!important;padding:18px!important;overflow:auto!important}.date-modal-v35155 .dob-selected-v347{font-size:16px!important;font-weight:800!important;text-align:center!important;white-space:normal!important}.date-modal-v35155 .year-grid-v347,.date-modal-v35155 .month-grid-v347{gap:7px!important}.date-modal-v35155 .day-calendar-v352 button{min-width:38px!important;min-height:34px!important}.date-help-v35155{display:block;margin-top:8px;color:#64748b;text-align:center}\n
/* ========================= v35.15.6 ========================= */
.teacher-photo-edit-v35156{border:1px solid #cbdde7;border-radius:15px;padding:12px;background:linear-gradient(135deg,#f8fbff,#f3fbf7);margin-bottom:5px}
.teacher-photo-preview-wrap-v35156{display:grid;grid-template-columns:115px 1fr;gap:15px;align-items:center}
.teacher-photo-preview-v35156{width:108px;height:118px;border-radius:15px;border:1px solid #d6e1e8;background:white;overflow:hidden;display:grid;place-items:center;box-shadow:0 6px 18px rgba(15,23,42,.08)}
.teacher-photo-preview-v35156 img{width:100%;height:100%;object-fit:cover}
.teacher-photo-placeholder-v35156{display:grid;place-items:center;gap:3px;font-size:34px;color:#64748b}.teacher-photo-placeholder-v35156 small{font-size:8px}
.teacher-photo-actions-v35156 p{font-size:9px;color:#64748b;line-height:1.45;margin:4px 0 8px}
.indicator-status-v35156{display:block;margin-top:5px;padding:5px 7px;border-radius:7px;font-size:8.5px;line-height:1.4}
.indicator-status-v35156.ok{background:#ecfdf5;color:#166534;border:1px solid #bbf7d0}.indicator-status-v35156.warn{background:#fffbeb;color:#92400e;border:1px solid #fde68a}
.indicator-retry-v35156{margin-top:5px!important;padding:5px 8px!important;font-size:8px!important;min-height:27px!important}
.game-icon-v35156{font-family:"Segoe UI Emoji","Apple Color Emoji","Noto Color Emoji",sans-serif!important;font-size:28px!important;line-height:1.15!important;display:block!important;min-height:34px!important;filter:none!important}
@media(max-width:650px){.teacher-photo-preview-wrap-v35156{grid-template-columns:88px 1fr}.teacher-photo-preview-v35156{width:82px;height:92px}}

/* ========================= v35.15.7 professional interface ========================= */
.premium-content157{background:linear-gradient(180deg,rgba(248,250,252,.96),rgba(244,248,252,.88));border-radius:18px}
.premium-card157{border:1px solid rgba(148,163,184,.28)!important;border-radius:16px!important;box-shadow:0 7px 24px rgba(15,23,42,.055)!important;background:rgba(255,255,255,.96)!important}
.premium-toolbar157{gap:8px!important;align-items:center!important}.premium-toolbar157 button,.premium-toolbar157 .secondary{border-radius:10px!important;transition:transform .16s ease,box-shadow .16s ease!important}.premium-toolbar157 button:hover{transform:translateY(-1px);box-shadow:0 5px 14px rgba(15,23,42,.09)!important}
.indicator-note157{display:block;margin-top:5px;padding:6px 8px;border-radius:8px;font-size:8.5px;line-height:1.35}.indicator-note157.ok{background:#ecfdf5;border:1px solid #bbf7d0;color:#166534}.indicator-note157.warn{background:#fff7ed;border:1px solid #fed7aa;color:#9a3412}.indicator-reload157{margin-top:5px!important;min-height:28px!important;padding:5px 9px!important;font-size:8px!important}
.mock-print-tools157{display:inline-flex;gap:6px;flex-wrap:wrap}.mock-print-tools157 button{white-space:nowrap}
.teacher-profile-photo{box-shadow:0 8px 26px rgba(15,23,42,.16)!important}

/* ========================= v35.15.8 ========================= */
.student-disability-contained-v35158{grid-column:1/-1!important;margin-bottom:4px!important;padding:9px 10px!important;border:1px solid #d8e2ea!important;border-radius:12px!important;background:#fbfdff!important}
.student-status-photo-row-v35158{grid-column:1/-1!important;display:grid!important;grid-template-columns:1fr 1fr!important;gap:10px!important;padding:8px 10px!important;border:1px solid #dbe5ec!important;border-radius:12px!important;background:linear-gradient(135deg,#f8fbff,#f7fbf8)!important;margin-top:2px!important}
.student-status-photo-title-v35158{grid-column:1/-1;font-size:8px;font-weight:900;letter-spacing:.09em;text-transform:uppercase;color:#64748b;margin-bottom:-3px}
.student-status-photo-row-v35158 label{min-width:0!important;margin:0!important}
.student-status-photo-row-v35158 input[type=file],.student-status-photo-row-v35158 select{width:100%!important;max-width:100%!important}
.student-form-actions-v35158{position:sticky!important;bottom:-1px!important;z-index:25!important;background:rgba(255,255,255,.98)!important;border-top:1px solid #dce6ec!important;padding:8px 0 4px!important;box-shadow:0 -6px 16px rgba(15,23,42,.05)!important}
.student-clear-visible-v35158{border:1px solid #94a3b8!important;background:#fff!important;color:#334155!important;font-weight:800!important}
@media(max-width:650px){.student-status-photo-row-v35158{grid-template-columns:1fr!important}}

/* v35.15.9 — no-overlap student form + advanced cleaner */
.student-disability-contained-v35158{display:block!important;position:relative!important;overflow:visible!important;min-height:auto!important;clear:both!important}
.student-status-photo-row-v35158{position:relative!important;clear:both!important;display:grid!important;grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;width:100%!important;max-width:100%!important;height:auto!important;min-height:96px!important;margin-top:12px!important;margin-bottom:8px!important;overflow:visible!important;align-items:start!important}
.student-status-photo-row-v35158 label{position:relative!important;display:block!important;width:100%!important;height:auto!important;overflow:visible!important}
.student-status-photo-row-v35158 input[type=file]{display:block!important;position:static!important;width:100%!important;box-sizing:border-box!important;white-space:normal!important;overflow:visible!important}
.cleaner-warning-v35159,.cleaner-safety-v35159{display:flex;gap:12px;align-items:center;padding:14px 16px;border:1px solid #e8c56d;border-radius:14px;background:#fffaf0;margin-bottom:14px}
.cleaner-warning-v35159 span,.cleaner-safety-v35159 span{color:#64748b;font-size:12px}
.cleaner-grid-v35159{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.cleaner-card-v35159{border:1px solid #dce5ec;border-radius:16px;padding:16px;background:#fff;box-shadow:0 8px 24px rgba(15,23,42,.05)}
.cleaner-card-v35159 h3{margin:0 0 5px}.cleaner-card-v35159 p{margin:0 0 12px;color:#64748b;font-size:12px}
.cleaner-card-v35159>label{display:block;margin:8px 0}.cleaner-two-v35159{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:10px 0}
.cleaner-checklist-v35159{max-height:210px;overflow:auto;border:1px solid #e2e8f0;border-radius:10px;padding:8px;margin:8px 0;background:#fbfdff}
.cleaner-checklist-v35159 label{display:block;padding:6px;border-bottom:1px solid #eef2f7}.cleaner-checklist-v35159 small{color:#64748b}
.cleaner-note-v35159{padding:10px;border-radius:9px;background:#f5f8fb;color:#526476;margin:8px 0;font-size:12px}
.cleaner-preview-v35159{text-align:center;padding:18px;border-radius:14px;background:#fff4f4;border:1px solid #fecaca;margin:10px 0}.cleaner-preview-v35159 b{display:block;font-size:28px;color:#b42318}.cleaner-preview-v35159 span{font-size:12px;color:#64748b}
.cleaner-confirm-v35159{max-width:520px!important}
@media(max-width:850px){.cleaner-grid-v35159{grid-template-columns:1fr}.student-status-photo-row-v35158{grid-template-columns:1fr!important}}

/* ========================= v35.16.0 ========================= */
.upload-progress160{height:12px;border-radius:999px;background:#e7edf3;overflow:hidden;margin:10px 0}.upload-progress160 i{display:block;width:0;height:100%;background:linear-gradient(90deg,#0f766e,#2563eb);transition:width .15s ease}
#admissionPeriodNote160,.admission-period-note160{padding:8px 10px;border:1px solid #bfdbfe;border-radius:10px;background:#eff6ff;color:#31546d;font-size:9px}
.award-certificate-hero160{border:1px solid #ead8a2;background:linear-gradient(135deg,#fffdf5,#f8fbff);border-radius:16px}
/* ========================= v35.16.1 ========================= */
.fee-status-dot161{display:inline-block;width:9px;height:9px;border-radius:50%;margin-left:5px;vertical-align:middle;box-shadow:0 0 0 2px rgba(255,255,255,.95),0 1px 4px rgba(15,23,42,.22)}
.fee-dot-green{background:#16a34a}.fee-dot-yellow{background:#eab308}.fee-dot-red{background:#dc2626}
.bulk-select-box161{grid-column:1/-1;border:1px solid #dbe5ec;border-radius:13px;padding:10px;background:#fbfdff;margin:8px 0}.bulk-select-box161>input{width:100%;margin-bottom:7px}.bulk-master161{display:block;padding:7px 8px;border-radius:8px;background:#eef6ff;font-size:10px;font-weight:800}.bulk-student-list161{max-height:260px;overflow:auto;margin-top:7px;border-top:1px solid #e4eaf0}.bulk-student-list161 label{display:block;padding:7px 8px;border-bottom:1px solid #edf1f5;font-size:10px}.bulk-student-list161 label:hover{background:#f0f9ff}.whole-mode161 .bulk-student-list161,.whole-mode161>input,.whole-mode161>.bulk-master161{opacity:.45;pointer-events:none}.bulk-route-modal161,.bulk-canteen-modal161{max-width:800px!important}

/* v35.16.2 reliability/visibility patch */
.fee-status-badge162{display:inline-flex;align-items:center;justify-content:center;min-width:88px;padding:5px 9px;border-radius:999px;font-weight:800;font-size:10px;border:1px solid transparent}
.fee-status-paid162{background:#dcfce7;color:#166534;border-color:#86efac}.fee-status-part162{background:#fef9c3;color:#854d0e;border-color:#fde047}.fee-status-none162{background:#fee2e2;color:#991b1b;border-color:#fca5a5}
.fee-row-paid162 td:first-child{box-shadow:inset 4px 0 #16a34a}.fee-row-part162 td:first-child{box-shadow:inset 4px 0 #eab308}.fee-row-none162 td:first-child{box-shadow:inset 4px 0 #dc2626}
.bulk-student-list161 input[type=checkbox],.bulk-master161 input[type=checkbox]{width:16px;height:16px;accent-color:var(--primary,#2563eb);vertical-align:middle;cursor:pointer}.bulk-student-list161 label{cursor:pointer;user-select:none}


/* v35.16.7 */
.guardian-summary-v35166 .stat-card{min-height:100px}.portal-bulk-help-v35166,.report-design-match-v35166{margin:10px 0;padding:12px 14px;border:1px solid var(--border,#d7dee8);border-radius:10px;background:rgba(59,130,246,.06)}
.bulk-cred-modal-v35166{max-width:980px;max-height:92vh;overflow:auto}.cred-row-v35166 input[type=checkbox]{transform:scale(1.15)}


/* ========================= v35.16.8 premium report studio ========================= */
.report-previous-toggle-v35168{display:inline-flex;flex-direction:column;gap:2px;padding:7px 10px;border:1px solid #d8e2ec;border-radius:10px;background:#fff;min-width:220px}.report-previous-toggle-v35168 input{margin-right:6px}.report-previous-toggle-v35168 small{font-size:8px;color:#64748b;margin-left:22px}.custom-report-studio-btn-v35168{white-space:nowrap}
.custom-studio-v35168{display:grid;grid-template-columns:280px minmax(0,1fr);gap:18px;align-items:start}.custom-tools-v35168{position:sticky;top:10px;background:#fff;border:1px solid #dce4ec;border-radius:16px;padding:14px;box-shadow:0 8px 24px rgba(15,23,42,.06)}.custom-tools-v35168 h3{margin:14px 0 7px}.custom-tools-v35168 label{display:block;margin:7px 0;font-size:10px}.custom-tools-v35168 input[type=color]{width:100%;height:34px;padding:2px}.custom-element-toggle-v35168{padding:5px 7px;border:1px solid #e5eaf0;border-radius:8px;background:#fafcff}
.custom-canvas-wrap-v35168{overflow:auto;padding:16px;border:1px solid #dbe3eb;border-radius:16px;background:#eef2f6}.custom-canvas-v35168{position:relative;width:min(720px,100%);aspect-ratio:595/842;margin:auto;box-shadow:0 15px 40px rgba(15,23,42,.18);border:1px solid #cbd5e1;overflow:hidden}.custom-block-v35168{position:absolute;border:2px dashed;box-sizing:border-box;border-radius:8px;padding:7px;cursor:move;user-select:none;touch-action:none;overflow:hidden}.custom-block-v35168 b{display:block;font-size:10px}.custom-block-v35168 span{display:block;font-size:7px;margin-top:3px;opacity:.8}.custom-block-v35168 small{position:absolute;right:4px;bottom:3px;font-size:6px;opacity:.75}.block-results{background:#fff!important}.block-signatures{background:rgba(255,255,255,.9)!important}.custom-thumb-v35168{height:240px;border-radius:12px;background:linear-gradient(135deg,#111827,#1d4ed8);color:#fff;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px}.custom-thumb-v35168 b{font-size:18px}.custom-thumb-v35168 span{letter-spacing:.2em;font-weight:900}.custom-thumb-v35168 i{font-size:10px;color:#dbeafe}.custom-design-card-v35168{border:2px solid rgba(37,99,235,.22)!important}
@media(max-width:980px){.custom-studio-v35168{grid-template-columns:1fr}.custom-tools-v35168{position:static}.custom-canvas-v35168{min-width:580px}}


/* v35.16.8.1 rebuilt report studio */
.report-studio-toolbar-v351681{border:1px solid #cbd5e1;background:linear-gradient(135deg,#fff,#f8fafc);box-shadow:0 10px 30px rgba(15,23,42,.08)}
.report-options-v351681{margin-top:10px;padding-top:10px;border-top:1px solid #e2e8f0;align-items:center}
.report-options-v351681 label{display:inline-flex;align-items:center;gap:6px;padding:8px 10px;border:1px solid #dbe3ec;border-radius:10px;background:#fff}
.report-options-v351681 .report-previous-toggle-v35168{align-items:flex-start;flex-direction:column;position:relative;padding-left:34px}.report-options-v351681 .report-previous-toggle-v35168 input{position:absolute;left:10px;top:12px}.report-options-v351681 small{display:block;color:#64748b;font-size:11px}
.report-studio-state-v351681{margin-top:10px;padding:9px 12px;border-radius:10px;background:#eef6ff;color:#17365d}

/* ================= v35.16.9 premium report studio + Ghana kente dashboard ================= */
.dashboard-kente-canvas-v35169{
  position:relative;
  isolation:isolate;
  border-radius:18px;
  padding:14px;
  background-color:#fffdf7;
  background-image:
    linear-gradient(90deg,rgba(173,21,25,.075) 25%,transparent 25%,transparent 50%,rgba(5,96,68,.075) 50%,rgba(5,96,68,.075) 75%,transparent 75%),
    linear-gradient(0deg,rgba(218,165,32,.08) 25%,transparent 25%,transparent 50%,rgba(20,42,91,.06) 50%,rgba(20,42,91,.06) 75%,transparent 75%),
    repeating-linear-gradient(45deg,transparent 0 20px,rgba(218,165,32,.04) 20px 24px,transparent 24px 44px);
  background-size:96px 96px,96px 96px,68px 68px;
}
.dashboard-kente-canvas-v35169::before{
  content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;border-radius:18px;
  box-shadow:inset 0 0 0 2px rgba(184,134,11,.24),inset 0 0 28px rgba(255,255,255,.72);
}
.dashboard-kente-canvas-v35169>.card,.dashboard-kente-canvas-v35169 .grid>.card{backdrop-filter:blur(2px)}
.golden-champion-card-v35169{position:relative;border:2px solid #c99a19!important;box-shadow:0 10px 30px rgba(128,89,0,.15),inset 0 0 0 2px rgba(255,235,158,.45)!important;background:linear-gradient(145deg,rgba(255,255,255,.97),rgba(255,249,224,.96))!important;overflow:hidden}
.golden-champion-card-v35169::after{content:"";position:absolute;width:180px;height:180px;right:-85px;top:-95px;background:radial-gradient(circle,rgba(255,215,0,.24),transparent 68%);pointer-events:none}
.golden-champion-ribbon-v35169{display:inline-flex;align-items:center;gap:6px;margin:0 0 12px;padding:5px 11px;border-radius:999px;background:linear-gradient(90deg,#8a6500,#d4af37,#f6dc7a,#b8860b);color:#fff;font-size:10px;font-weight:900;letter-spacing:.12em;box-shadow:0 4px 12px rgba(128,89,0,.22)}
.custom-preset-grid-v35169{display:grid;grid-template-columns:1fr 1fr;gap:6px;margin-bottom:10px}.custom-preset-grid-v35169 button{font-size:11px;padding:7px 5px}
.custom-photo-placeholder-v35169{height:calc(100% - 24px);margin:4px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;border:2px dashed currentColor;background:rgba(255,255,255,.75);overflow:hidden}.custom-photo-placeholder-v35169.circle{border-radius:999px}.custom-photo-placeholder-v35169.rounded{border-radius:12px}.custom-photo-placeholder-v35169.square{border-radius:0}.custom-photo-placeholder-v35169 span{font-size:24px}.custom-photo-placeholder-v35169 b{font-size:8px}
.fee-sms-premium-v35169{border:1px solid rgba(37,99,235,.22);background:linear-gradient(135deg,rgba(239,246,255,.95),rgba(248,250,252,.96))}.fee-sms-switch-v35169{display:flex!important;align-items:center;gap:9px;padding:10px;border-radius:10px;background:#fff;border:1px solid rgba(37,99,235,.18)}
.position-report-card .table th{white-space:nowrap}.position-report-card .table td{font-variant-numeric:tabular-nums}


/* ========================= v35.16.10 premium system customization ========================= */
.fee-sms-live-v351610{grid-column:1/-1;border:2px solid rgba(37,99,235,.28);border-radius:16px;padding:14px;background:linear-gradient(135deg,#eff6ff,#fff,#f0fdf4);box-shadow:0 8px 24px rgba(37,99,235,.08)}
.fee-sms-live-v351610 h3{margin:0 0 3px}.fee-sms-context-v351610{padding:9px 11px;border-radius:10px;background:#fff;border:1px solid #dbeafe;margin:8px 0;font-size:11px}.payment-modal-v351610{max-width:980px!important}
.position-breakdown-v351610{max-width:900px!important}.position-breakdown-v351610 table td,.position-breakdown-v351610 table th{font-variant-numeric:tabular-nums}
.custom-premium-box-v351610{margin-top:14px;padding-top:12px;border-top:2px solid #e2e8f0}.custom-premium-box-v351610 .toolbar{gap:5px}.custom-premium-box-v351610 input[type=file]{width:100%;font-size:10px}.custom-premium-tags-v351610{display:flex;flex-wrap:wrap;gap:5px;margin-top:8px}.custom-premium-tags-v351610 span{font-size:8px;padding:4px 7px;border-radius:999px;background:#eef2ff;color:#3730a3;font-weight:800}
.layout-edit-mode-v351610 .layout-edit-surface-v351610{outline:2px dashed rgba(245,158,11,.7);outline-offset:3px;border-radius:10px}.layout-edit-mode-v351610 .layout-movable-v351610{cursor:grab!important;box-shadow:0 0 0 2px rgba(245,158,11,.22)!important}.layout-edit-mode-v351610 .layout-movable-v351610:active{cursor:grabbing!important;opacity:.78}.layout-edit-mode-v351610::after{content:'LAYOUT EDIT MODE — DRAG HIGHLIGHTED ITEMS';position:fixed;right:18px;bottom:18px;z-index:99999;background:#111827;color:#fbbf24;border:2px solid #f59e0b;border-radius:12px;padding:9px 13px;font-size:10px;font-weight:900;box-shadow:0 10px 30px rgba(0,0,0,.25)}
.sidebar{width:var(--custom-sidebar-width-v351610,240px)}.main{transform:scale(var(--custom-ui-scale-v351610,1));transform-origin:top left;width:calc(100% / var(--custom-ui-scale-v351610,1))}button,.button-like-v351610{border-radius:var(--custom-button-radius-v351610,9px)!important}.layout-compact-v351610 .card{padding:10px!important}.layout-compact-v351610 .toolbar{gap:5px!important}.layout-hide-nav-labels-v351610 .sidebar{width:78px}.layout-hide-nav-labels-v351610 .sidebar .nav-label,.layout-hide-nav-labels-v351610 .sidebar .brand>div:last-child,.layout-hide-nav-labels-v351610 .sidebar-exit-v349 button{font-size:0}.layout-hide-nav-labels-v351610 .sidebar-exit-v349 button::first-letter{font-size:16px}.layout-glass-v351610 #content .card{background:rgba(255,255,255,.84)!important;backdrop-filter:blur(12px);box-shadow:0 12px 32px rgba(15,23,42,.08)}
.layout-studio-grid-v351610 label{display:block;margin:12px 0}.layout-studio-grid-v351610 input[type=range]{width:100%}.button-like-v351610{display:inline-flex;align-items:center;padding:8px 11px;border:1px solid var(--border,#cbd5e1);background:#fff;cursor:pointer}.report-date-preview-v351610{margin:10px 0;padding:10px 12px;border-radius:10px;background:#fff8e1;border:1px solid #f3d477;color:#6b4f00}

/* v35.16.11 — reliable layout controls and mouse-resizable report designer */
.layout-move-dock-v351611{position:fixed;right:18px;bottom:18px;z-index:9998;max-width:620px;padding:12px 14px;border:2px solid #d4a017;border-radius:14px;background:rgba(255,255,255,.98);box-shadow:0 14px 40px rgba(15,23,42,.22);color:#172033}.layout-move-dock-v351611>div:first-child{display:flex;gap:12px;align-items:center;justify-content:space-between}.layout-move-dock-v351611 #layoutSelectedNameV351611{font-size:12px;color:#5b6472;max-width:340px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.layout-move-dock-v351611 .toolbar{margin:8px 0 4px;gap:5px}.layout-move-dock-v351611 button{padding:6px 9px}.layout-selected-v351611{outline:3px solid #d4a017!important;outline-offset:2px!important}.layout-hidden-preview-v351611{opacity:.42!important;outline-style:dashed!important}
.custom-block-v35168{touch-action:none;user-select:none}.custom-block-selected-v351611{outline:3px solid #d4a017;outline-offset:2px;z-index:30}.custom-block-locked-v351611{outline-style:dashed}.custom-block-locked-v351611:after{content:'🔒';position:absolute;right:3px;top:2px;font-size:12px}.custom-resize-handle-v351611{position:absolute;display:block;width:10px;height:10px;border:2px solid #fff;background:#d4a017;border-radius:50%;z-index:40;box-shadow:0 0 0 1px #5c4300}.handle-nw{left:-6px;top:-6px;cursor:nwse-resize}.handle-n{left:calc(50% - 5px);top:-6px;cursor:ns-resize}.handle-ne{right:-6px;top:-6px;cursor:nesw-resize}.handle-e{right:-6px;top:calc(50% - 5px);cursor:ew-resize}.handle-se{right:-6px;bottom:-6px;cursor:nwse-resize}.handle-s{left:calc(50% - 5px);bottom:-6px;cursor:ns-resize}.handle-sw{left:-6px;bottom:-6px;cursor:nesw-resize}.handle-w{left:-6px;top:calc(50% - 5px);cursor:ew-resize}.designer-grid-v351611{background-image:linear-gradient(to right,rgba(148,163,184,.18) 1px,transparent 1px),linear-gradient(to bottom,rgba(148,163,184,.18) 1px,transparent 1px)!important;background-size:5% 5%!important}.custom-nudge-v351611 button{min-width:42px;font-size:18px}.position-aggregate-note-v351611{margin:8px 0 12px}
@media(max-width:700px){.layout-move-dock-v351611{left:10px;right:10px;bottom:10px;max-width:none}.layout-move-dock-v351611 .toolbar{flex-wrap:wrap}}

/* v35.16.12 MOBILE WORKSPACE */
@media(max-width:850px){
html,body{max-width:100%;overflow-x:hidden}.main{margin-left:0!important}
.topbar.topbar-v357{position:sticky!important;top:0!important;z-index:40!important;margin-top:60px!important;min-height:0!important;display:flex!important;flex-direction:column!important;align-items:stretch!important;gap:6px!important;padding:7px 10px!important;box-shadow:0 4px 14px rgba(15,23,42,.08)!important}
.topbar-title-v357{min-height:30px!important;width:100%!important}.topbar-title-v357 h1{font-size:16px!important;max-width:72%!important}.topbar-title-v357 .pill{margin-left:auto!important;font-size:8px!important;padding:3px 6px!important}
.topbar-controls-v357{display:block!important;width:100%!important}.topbar-utility-row-v357{display:none!important}
.topbar-main-row-v357{display:grid!important;grid-template-columns:auto minmax(0,1fr) auto!important;gap:6px!important;align-items:center!important;width:100%!important;white-space:normal!important}
.topbar-main-row-v357 .session-clock{font-size:8px!important;padding:4px 6px!important;white-space:nowrap!important}.topbar-main-row-v357 .working-clock-v350{display:none!important}
.live-search-wrap-v357{width:100%!important;min-width:0!important;max-width:none!important;flex:auto!important}.live-search-wrap-v357 input{height:32px!important;font-size:10px!important;padding:5px 29px!important}.search-icon-v357{top:6px!important;font-size:15px!important}.live-search-wrap-v357 kbd{display:none!important}
.topbar-main-row-v357>button{display:none!important}.topbar-main-row-v357::after{content:"☰ More";display:inline-flex;align-items:center;justify-content:center;min-height:32px;padding:4px 9px;border-radius:9px;background:var(--soft,#eaf1f8);color:var(--brand,#173f67);font-size:9px;font-weight:800;white-space:nowrap;cursor:pointer}
body.mobile-tools-open-v351612 .topbar-utility-row-v357{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:5px!important;margin-top:6px!important;padding:7px!important;border:1px solid var(--line,#e5e9ef)!important;border-radius:12px!important;background:var(--card,#fff)!important;white-space:normal!important}
body.mobile-tools-open-v351612 .topbar-utility-row-v357 button{min-height:38px!important;font-size:9px!important;padding:6px 7px!important;white-space:normal!important}
body.mobile-tools-open-v351612 .topbar-main-row-v357>button{display:block!important;min-height:36px!important;font-size:9px!important}
.content,.main>#content{padding:10px!important}.modal-card{width:calc(100vw - 18px)!important;max-height:88vh!important;padding:13px!important}.tablewrap{max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}.ai-floating-v353{right:10px!important;bottom:12px!important;transform:scale(.82);transform-origin:bottom right}
}
@media(max-width:520px){.sidebar{height:52px!important;padding:5px 7px!important}.topbar.topbar-v357{margin-top:52px!important}.sidebar nav button{padding:8px 9px!important;font-size:10px!important}.topbar-main-row-v357 .session-clock{max-width:88px!important;overflow:hidden!important;text-overflow:ellipsis!important}}

/* ================= v36.9.0 ORIGINAL KENTE EXPERIENCE ================= */
.dashboard-kente-canvas-v35169{
  --kente-wash:.62;--kente-size:210px;
  background-color:#fffdf7!important;
  background-image:linear-gradient(rgba(255,255,255,var(--kente-wash)),rgba(255,255,255,var(--kente-wash))),url('/assets/kente-original-v351613.svg')!important;
  background-repeat:repeat!important;background-size:auto,var(--kente-size) var(--kente-size)!important;background-position:0 0!important;
}
.dashboard-kente-canvas-v35169.kente-off-v351613{background-image:none!important}
.dashboard-kente-canvas-v35169 .card,.dashboard-kente-canvas-v35169 .stat{background:rgba(255,255,255,.94)!important;backdrop-filter:blur(3px)}
.kente-dashboard-control-v351613{display:flex;gap:7px;align-items:center;flex-wrap:wrap;margin:0 0 12px;padding:9px 11px;border-radius:13px;border:1px solid rgba(180,120,0,.25);background:rgba(255,255,255,.95);box-shadow:0 6px 16px rgba(0,0,0,.07)}
.kente-dashboard-control-v351613 b{color:#7c3f00}.kente-dashboard-control-v351613 select{min-width:130px}
.custom-kente-preview-v351613{position:absolute;inset:0;pointer-events:none;z-index:0;background-image:url('/assets/kente-original-v351613.svg');background-repeat:repeat;background-size:var(--kente-scale,120px) var(--kente-scale,120px);opacity:var(--kente-opacity,.18)}
.custom-kente-preview-v351613.kente-header{inset:0 0 auto 0;height:15%}.custom-kente-preview-v351613.kente-sides{inset:0;background:none;opacity:1}
.custom-kente-preview-v351613.kente-sides:before,.custom-kente-preview-v351613.kente-sides:after{content:"";position:absolute;top:0;bottom:0;width:6%;background:url('/assets/kente-original-v351613.svg') repeat;background-size:var(--kente-scale,120px);opacity:var(--kente-opacity,.18)}
.custom-kente-preview-v351613.kente-sides:before{left:0}.custom-kente-preview-v351613.kente-sides:after{right:0}
.custom-kente-preview-v351613.kente-frame{background:none;border:18px solid transparent;border-image:url('/assets/kente-original-v351613.svg') 30 round;opacity:var(--kente-opacity,.55);box-sizing:border-box}
.custom-kente-preview-v351613.kente-corners{background:none;opacity:1}
.custom-kente-preview-v351613.kente-corners:before,.custom-kente-preview-v351613.kente-corners:after{content:"";position:absolute;width:22%;height:10%;background:url('/assets/kente-original-v351613.svg') repeat;background-size:var(--kente-scale,120px);opacity:var(--kente-opacity,.3)}
.custom-kente-preview-v351613.kente-corners:before{left:0;top:0}.custom-kente-preview-v351613.kente-corners:after{right:0;bottom:0}
.custom-canvas-v35168 .custom-block-v35168{z-index:2}.kente-preset-grid-v351613{display:grid;grid-template-columns:1fr 1fr;gap:6px}.kente-swatch-v351613{height:62px;border-radius:10px;background:url('/assets/kente-original-v351613.svg') center/150px repeat;border:2px solid #d4a017;margin:7px 0}
@media(max-width:850px){.kente-dashboard-control-v351613{padding:6px 8px}.kente-dashboard-control-v351613 span{display:none}}

/* ========================= v36.9.0 — KENTE ZONES + TRUE MOBILE WORKSPACE ========================= */
body{--kente-zone-wash-v351614:.82;--kente-zone-size-v351614:180px}
body[data-kente-intensity-v351614="medium"]{--kente-zone-wash-v351614:.66}
body[data-kente-intensity-v351614="strong"]{--kente-zone-wash-v351614:.46}
body.kente-zone-sidebar-v351614 .sidebar{
 background-image:linear-gradient(rgba(16,47,78,var(--kente-zone-wash-v351614)),rgba(16,47,78,var(--kente-zone-wash-v351614))),url('/assets/kente-original-v351613.svg')!important;
 background-size:auto,var(--kente-zone-size-v351614)!important;background-repeat:repeat!important
}
body.kente-zone-topbar-v351614 .topbar{
 background-image:linear-gradient(rgba(255,255,255,var(--kente-zone-wash-v351614)),rgba(255,255,255,var(--kente-zone-wash-v351614))),url('/assets/kente-original-v351613.svg')!important;
 background-size:auto,var(--kente-zone-size-v351614)!important
}
body.kente-zone-workspace-v351614 .main>#content{
 background-image:linear-gradient(rgba(255,255,255,var(--kente-zone-wash-v351614)),rgba(255,255,255,var(--kente-zone-wash-v351614))),url('/assets/kente-original-v351613.svg')!important;
 background-size:auto,var(--kente-zone-size-v351614)!important;background-attachment:local;min-height:calc(100vh - 90px)
}
body.kente-zone-cards-v351614 #content .card,body.kente-zone-cards-v351614 #content .stat{
 background-image:linear-gradient(rgba(255,255,255,.91),rgba(255,255,255,.91)),url('/assets/kente-original-v351613.svg')!important;background-size:160px!important
}
body.kente-zone-login-v351614 #login{
 background-image:linear-gradient(rgba(4,34,52,.70),rgba(4,34,52,.70)),url('/assets/kente-original-v351613.svg')!important;background-size:220px!important
}
#nav button.kente-nav-selected-v351614{background-image:linear-gradient(rgba(16,47,78,.48),rgba(16,47,78,.48)),url('/assets/kente-original-v351613.svg')!important;background-size:120px!important;color:#fff!important;border:1px solid rgba(255,215,0,.55)!important}
.kente-zone-modal-v351614{max-width:960px}.kente-zone-preview-v351614{height:100px;border-radius:14px;background:url('/assets/kente-original-v351613.svg') center/220px repeat;border:2px solid #d4a017}.kente-zone-grid-v351614,.kente-module-grid-v351614{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:7px;margin:9px 0 16px}.kente-zone-grid-v351614 label,.kente-module-grid-v351614 label{display:flex;align-items:center;gap:8px;padding:9px;border:1px solid var(--line);border-radius:10px;background:var(--card)}.kente-module-grid-v351614 span{font-size:18px}

/* Never let the whole page drift horizontally. */
html,body,#shell,.main,#content{max-width:100%!important;overflow-x:hidden!important}
#content>*{min-width:0;max-width:100%}.grid>*{min-width:0}.card,.toolbar,.formgrid{max-width:100%;min-width:0}.toolbar>*{max-width:100%}
img,video,canvas,svg{max-width:100%}
.custom-canvas-v35168{max-width:100%!important}

/* Mobile navigation becomes an icon/label drawer instead of a clipped horizontal strip. */
.mobile-nav-toggle-v351614,.mobile-nav-backdrop-v351614{display:none}
.offline-badge-v351614{display:inline-flex;align-items:center;margin-left:7px;padding:4px 7px;border-radius:999px;background:#dcfce7;color:#166534;font-size:8px;font-weight:900}.offline-badge-v351614.is-offline{background:#fef3c7;color:#92400e}
.offline-state-v351614{display:flex;flex-direction:column;gap:3px;padding:12px;border-radius:12px;margin-bottom:12px}.offline-state-v351614.online{background:#ecfdf5;color:#065f46}.offline-state-v351614.offline{background:#fff7ed;color:#9a3412}

@media(max-width:850px){
 .mobile-nav-toggle-v351614{display:flex;position:fixed;left:8px;top:8px;z-index:151;align-items:center;gap:4px;min-height:42px;padding:5px 9px;border:0;border-radius:12px;background:#102f4e;color:#fff;box-shadow:0 8px 24px rgba(15,23,42,.24)}
 .mobile-nav-toggle-v351614 span{font-size:20px}.mobile-nav-toggle-v351614 small{font-size:8px;font-weight:900}
 .mobile-nav-backdrop-v351614{position:fixed;inset:0;z-index:145;background:rgba(2,6,23,.45)}
 body.mobile-nav-open-v351614 .mobile-nav-backdrop-v351614{display:block}
 .sidebar{display:flex!important;position:fixed!important;left:0!important;top:0!important;bottom:0!important;right:auto!important;width:min(88vw,360px)!important;height:100dvh!important;padding:14px!important;flex-direction:column!important;align-items:stretch!important;z-index:150!important;transform:translateX(-105%);transition:transform .2s ease;box-shadow:12px 0 35px rgba(2,6,23,.25);overflow:hidden!important}
 body.mobile-nav-open-v351614 .sidebar{transform:translateX(0)}
 .sidebar .brand{display:flex!important;margin:0 0 10px 54px!important;min-height:42px}.sidebar .brand div:not(.brand-mark){display:block!important}.sidebar .brand b{font-size:12px}.sidebar .brand span{display:block!important;font-size:9px}
 .sidebar nav{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:6px!important;overflow-y:auto!important;overflow-x:hidden!important;padding:4px 0 12px!important;flex:1}
 .sidebar nav button{display:flex!important;align-items:center!important;gap:8px!important;min-width:0!important;min-height:48px!important;padding:8px!important;text-align:left!important;white-space:normal!important}
 .sidebar nav button span{display:inline-flex!important}.sidebar .nav-icon{width:30px!important;height:30px!important;flex:0 0 30px!important;font-size:17px!important}.sidebar .nav-label{display:block!important;font-size:9px!important;line-height:1.2!important;white-space:normal!important;overflow:visible!important}
 .sidebar-exit-v349{display:flex!important;gap:6px!important}.sidebar .logout{display:block!important;margin:0!important;flex:1!important;text-align:center!important;font-size:9px!important}
 .main{margin-left:0!important;width:100%!important}.topbar.topbar-v357{margin-top:0!important;padding:7px 8px 7px 64px!important;min-height:0!important}.content,.main>#content{padding:9px!important;width:100%!important}
 .custom-studio-v35168{grid-template-columns:1fr!important}.custom-tools-v35168{position:static!important}.custom-canvas-wrap-v35168{overflow:hidden!important;padding:7px!important}.custom-canvas-v35168{min-width:0!important;width:100%!important;max-width:100%!important}
 .toolbar{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px!important}.toolbar>input,.toolbar>select,.toolbar>label,.toolbar>.wide{grid-column:1/-1}.toolbar>button{white-space:normal!important;min-width:0!important;padding:8px 7px!important}
 .formgrid{grid-template-columns:1fr!important}.wide{grid-column:1!important}
 .tablewrap{overflow:visible!important;width:100%!important}
 table.mobile-card-table-v351614{display:block!important;width:100%!important;min-width:0!important}
 table.mobile-card-table-v351614 thead{display:none!important}
 table.mobile-card-table-v351614 tbody{display:grid!important;gap:9px!important}
 table.mobile-card-table-v351614 tbody tr{display:block!important;border:1px solid var(--line)!important;border-radius:12px!important;background:var(--card)!important;padding:7px!important;box-shadow:0 4px 12px rgba(15,23,42,.05)!important}
 table.mobile-card-table-v351614 tbody td{display:grid!important;grid-template-columns:minmax(90px,38%) minmax(0,1fr)!important;gap:8px!important;align-items:start!important;width:100%!important;max-width:100%!important;white-space:normal!important;word-break:break-word!important;padding:6px 4px!important;border-bottom:1px dashed var(--line)!important;font-size:10px!important}
 table.mobile-card-table-v351614 tbody td:last-child{border-bottom:0!important}
 table.mobile-card-table-v351614 tbody td::before{content:attr(data-label);font-size:8px;font-weight:900;text-transform:uppercase;color:var(--muted);letter-spacing:.03em}
 table.mobile-card-table-v351614 .actions{display:flex!important;flex-wrap:wrap!important;gap:5px!important}
 table.mobile-card-table-v351614 button{white-space:normal!important;font-size:9px!important;padding:6px 7px!important}
 .credential-count-grid-v351614{grid-template-columns:repeat(3,minmax(0,1fr))!important}.credential-count-grid-v351614 .stat{padding:9px!important}.credential-count-grid-v351614 .num{font-size:18px!important}
}
@media(max-width:480px){
 .sidebar{width:94vw!important}.sidebar nav{grid-template-columns:1fr 1fr!important}
 .topbar-title-v357 h1{font-size:14px!important}
 .toolbar{grid-template-columns:1fr 1fr!important}
 .credential-count-grid-v351614{grid-template-columns:1fr!important}
}

/* ========================= v36.9.0 — MOBILE: KEEP EVERY ACTION REACHABLE ========================= */
@media(max-width:850px){
  /* Undo previous mobile hiding: all top tools are compact but visible. */
  .topbar.topbar-v357{
    padding:6px 8px 7px 62px!important;
    gap:4px!important;
    overflow:visible!important;
  }
  .topbar-title-v357{min-height:27px!important}
  .topbar-title-v357 h1{font-size:14px!important;line-height:1.1!important}
  .topbar-controls-v357{display:grid!important;gap:4px!important;width:100%!important;overflow:visible!important}
  .topbar-utility-row-v357{
    display:grid!important;
    grid-template-columns:repeat(5,minmax(0,1fr))!important;
    gap:3px!important;
    width:100%!important;
    margin:0!important;
    padding:0!important;
    border:0!important;
    background:transparent!important;
    white-space:normal!important;
    overflow:visible!important;
  }
  .topbar-utility-row-v357 button{
    display:flex!important;align-items:center!important;justify-content:center!important;
    min-width:0!important;min-height:29px!important;height:auto!important;
    padding:4px 3px!important;font-size:7.2px!important;line-height:1.05!important;
    white-space:normal!important;overflow:visible!important;text-overflow:clip!important;
    border-radius:8px!important;
  }
  .topbar-main-row-v357{
    display:grid!important;
    grid-template-columns:auto minmax(0,1fr) auto auto!important;
    gap:3px!important;width:100%!important;align-items:center!important;overflow:visible!important;
  }
  .topbar-main-row-v357::after{display:none!important;content:none!important}
  .topbar-main-row-v357>button{
    display:flex!important;align-items:center!important;justify-content:center!important;
    min-width:0!important;min-height:30px!important;padding:4px 5px!important;
    font-size:7.2px!important;line-height:1.05!important;white-space:normal!important;
  }
  .topbar-main-row-v357 .session-clock{
    display:inline-flex!important;max-width:72px!important;min-height:29px!important;
    padding:4px!important;font-size:6.8px!important;overflow:hidden!important;text-overflow:ellipsis!important
  }
  .topbar-main-row-v357 .working-clock-v350{
    display:none!important; /* duplicate clock only; current phone/system clock and session stay available */
  }
  .live-search-wrap-v357{min-width:0!important;width:100%!important}
  .live-search-wrap-v357 input{height:30px!important;font-size:9px!important;padding:4px 24px!important}
  .live-search-wrap-v357 kbd{display:none!important}

  /* Legacy responsive rules must not remove page actions. */
  .top-actions{
    display:flex!important;flex-wrap:wrap!important;width:100%!important;gap:5px!important;
    overflow:visible!important
  }
  .top-actions>*{display:flex;min-width:0;max-width:100%}
  .top-actions input{width:100%!important;flex:1 1 100%!important}
  .chat-composer-v355 label:nth-of-type(2){display:block!important}

  /* Every ordinary page/action toolbar remains visible and wraps into the phone. */
  #content .toolbar,
  #content .actions,
  #content .button-row,
  #content .top-actions,
  .modal-card .toolbar,
  .modal-card .actions{
    visibility:visible!important;opacity:1!important;
    overflow:visible!important;
  }
  #content .actions,.modal-card .actions{display:flex!important;flex-wrap:wrap!important;gap:5px!important}
  #content .actions button,.modal-card .actions button{
    flex:1 1 120px!important;min-width:0!important;max-width:100%!important;
    white-space:normal!important;overflow-wrap:anywhere!important
  }
  #content button,.modal-card button{
    max-width:100%!important;
    white-space:normal!important;
    overflow-wrap:anywhere!important;
  }

  /* Do not clip action groups/cards merely to avoid horizontal movement. */
  #content .card,#content .section,#content .grid,#content .formgrid,#content .toolbar,
  .modal-card,.modal-card .formgrid,.modal-card .toolbar{
    min-width:0!important;max-width:100%!important;
  }
  #content .card,.modal-card{overflow-wrap:anywhere}
  #content [style*="overflow:hidden"]{overflow-x:clip!important;overflow-y:visible}

  /* Inputs/selects shrink instead of forcing other controls off-screen. */
  #content input,#content select,#content textarea,
  .modal-card input,.modal-card select,.modal-card textarea{
    min-width:0!important;max-width:100%!important;width:100%;
  }
  #content label,.modal-card label{min-width:0!important;max-width:100%!important}

  /* Navigation drawer: all module names/icons remain visible when opened. */
  .sidebar nav button{overflow:visible!important}
  .sidebar nav button .nav-icon,.sidebar nav button .nav-label{visibility:visible!important;opacity:1!important}
  .sidebar nav button .nav-label{display:block!important}
  .sidebar-exit-v349,.sidebar-exit-v349 button{visibility:visible!important;opacity:1!important}

  /* A subtle marker is added by JS where an action group was repaired. */
  .mobile-actions-repaired-v351615{outline:1px dashed color-mix(in srgb,var(--accent) 25%,transparent);outline-offset:2px}
}
@media(max-width:520px){
  .topbar-utility-row-v357{grid-template-columns:repeat(4,minmax(0,1fr))!important}
  .topbar-main-row-v357{grid-template-columns:auto minmax(0,1fr) auto auto!important}
  .topbar-main-row-v357>button{font-size:6.7px!important;padding:3px!important}
  #content .toolbar{grid-template-columns:repeat(2,minmax(0,1fr))!important}
}
@media(max-width:380px){
  .topbar-utility-row-v357{grid-template-columns:repeat(3,minmax(0,1fr))!important}
  .topbar-main-row-v357{grid-template-columns:auto minmax(0,1fr)!important}
  .topbar-main-row-v357>button{display:flex!important}
  .topbar-main-row-v357>button:nth-of-type(1),
  .topbar-main-row-v357>button:nth-of-type(2){grid-column:auto!important}
}

/* ========================= v36.9.0 — DESKTOP WORKSPACE VISIBILITY FIX ========================= */
@media (min-width:851px){
  /* The v35.16.14 global anti-scroll rule was clipping desktop content.
     Keep the page itself tidy, but let content fit and give genuinely-wide items
     their own local scroller instead of hiding controls. */
  html,body{max-width:100%!important;overflow-x:hidden!important}
  #shell,.main,#content{overflow-x:visible!important;min-width:0!important}
  .main{width:auto!important;max-width:none!important;margin-left:250px!important}
  #content{width:auto!important;max-width:none!important;padding-left:18px!important;padding-right:18px!important}

  /* Desktop top bar must fit the available area and wrap instead of clipping. */
  .topbar.topbar-v357{
    width:auto!important;max-width:none!important;min-width:0!important;
    grid-template-columns:minmax(180px,260px) minmax(0,1fr)!important;
    gap:10px!important;min-height:0!important;padding:10px 14px!important;
    overflow:visible!important
  }
  .topbar-title-v357,.topbar-controls-v357,
  .topbar-utility-row-v357,.topbar-main-row-v357{min-width:0!important;max-width:100%!important}
  .topbar-controls-v357{width:100%!important;overflow:visible!important}
  .topbar-utility-row-v357,.topbar-main-row-v357{
    display:flex!important;flex-wrap:wrap!important;align-items:center!important;
    justify-content:flex-start!important;gap:6px!important;overflow:visible!important;
    white-space:normal!important
  }
  .topbar-utility-row-v357 button,.topbar-main-row-v357 button{
    display:inline-flex!important;visibility:visible!important;opacity:1!important;
    flex:0 1 auto!important;min-width:0!important;max-width:100%!important;
    white-space:normal!important;line-height:1.15!important
  }
  .live-search-wrap-v357{
    flex:1 1 240px!important;width:auto!important;min-width:180px!important;
    max-width:420px!important
  }

  /* All ordinary action bars remain visible and wrap on desktop. */
  #content .toolbar,#content .actions,#content .top-actions,
  .modal-card .toolbar,.modal-card .actions,.modal-card .top-actions{
    display:flex!important;flex-wrap:wrap!important;align-items:center!important;
    gap:7px!important;max-width:100%!important;min-width:0!important;
    overflow:visible!important;visibility:visible!important
  }
  #content .toolbar>*,
  #content .actions>*,
  #content .top-actions>*,
  .modal-card .toolbar>*,
  .modal-card .actions>*{
    min-width:0!important;max-width:100%!important
  }
  #content button,.modal-card button{
    max-width:100%!important;white-space:normal!important;overflow-wrap:anywhere!important
  }

  /* Cards/grids should shrink within the workspace, never disappear past the right edge. */
  #content .grid,#content .formgrid,#content .card,#content .section,
  .modal-card .grid,.modal-card .formgrid,.modal-card .card{
    min-width:0!important;max-width:100%!important
  }
  #content .grid>*,
  #content .formgrid>*,
  .modal-card .grid>*,
  .modal-card .formgrid>*{min-width:0!important;max-width:100%!important}

  /* Wide data belongs in a local scroll area, not behind a clipped screen edge. */
  .tablewrap,.assessment-scroll,.analysis-panel,.matrix-wrap,
  .custom-canvas-wrap-v35168,.bulk-cred-modal-v35166{
    max-width:100%!important;overflow-x:auto!important;
    -webkit-overflow-scrolling:touch
  }
  .tablewrap table,.assessment-scroll table,.matrix-wrap table{
    max-width:none!important
  }

  /* Inputs and selectors must fit inside their owning toolbars/cards. */
  #content input,#content select,#content textarea,
  .modal-card input,.modal-card select,.modal-card textarea{
    max-width:100%!important;min-width:0
  }

  /* Keep desktop sidebar fixed and fully visible. */
  .sidebar{
    display:flex!important;visibility:visible!important;opacity:1!important;
    width:250px!important;overflow:hidden!important
  }
  .sidebar nav{overflow-y:auto!important;overflow-x:hidden!important}
  .sidebar nav button,.sidebar nav .nav-icon,.sidebar nav .nav-label{
    visibility:visible!important;opacity:1!important
  }

  /* Inline fixed-width sections should never exceed the usable desktop workspace. */
  #content [style*="width:"],.modal-card [style*="width:"]{max-width:100%!important}
}

/* Mid-size computers/laptops: use a slightly narrower sidebar and denser top bar. */
@media (min-width:851px) and (max-width:1180px){
  .sidebar{width:210px!important;padding:13px!important}
  .main{margin-left:210px!important}
  .topbar.topbar-v357{grid-template-columns:minmax(150px,210px) minmax(0,1fr)!important}
  .topbar-title-v357 h1{font-size:20px!important}
  .topbar-utility-row-v357 button,.topbar-main-row-v357 button{
    padding:6px 8px!important;font-size:9px!important
  }
  .live-search-wrap-v357{flex-basis:200px!important;min-width:160px!important}
}

/* ========================= v36.9.0 — MODULE KENTE + PUBLISHING + DESIGNER PRO ========================= */
body.kente-module-page-v351617 #content{
 background-image:linear-gradient(rgba(255,255,255,var(--kente-zone-wash-v351614,.82)),rgba(255,255,255,var(--kente-zone-wash-v351614,.82))),url('/assets/kente-original-v351613.svg')!important;
 background-size:auto,var(--kente-zone-size-v351614,180px)!important;background-repeat:repeat!important;
 border-radius:14px
}
.report-publish-modal-v351617{max-width:1050px!important}.publish-audience-v351617{display:flex;gap:8px;flex-wrap:wrap;padding:10px;border:1px solid var(--line);border-radius:12px;background:var(--soft)}.publish-audience-v351617 h3{width:100%;margin:0 0 4px}.publish-audience-v351617 label{padding:7px 9px;background:var(--card);border:1px solid var(--line);border-radius:9px}.publish-student-list-v351617{max-height:340px;overflow:auto;border:1px solid var(--line);border-radius:12px}.publish-student-list-v351617>label{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:10px;align-items:center;padding:9px 11px;border-bottom:1px solid var(--line);cursor:pointer}.publish-student-list-v351617>label:last-child{border-bottom:0}.publish-student-list-v351617 span{display:flex;flex-direction:column;min-width:0}.publish-student-list-v351617 small{color:var(--muted);margin-top:2px}.publish-student-list-v351617 em{font-style:normal;white-space:nowrap}.block-style-pro-v351617{margin-top:14px;padding-top:12px;border-top:1px solid var(--line)}.designer-safe-area-v351617:after{content:"PRINT SAFE AREA";position:absolute;inset:3%;border:1px dashed rgba(220,38,38,.45);pointer-events:none;z-index:12;color:rgba(220,38,38,.7);font-size:7px;padding:2px}.custom-premium-box-v351610 input[type=color]{min-height:32px}
@media(max-width:850px){.publish-audience-v351617{display:grid;grid-template-columns:1fr 1fr}.publish-student-list-v351617>label{grid-template-columns:auto minmax(0,1fr)}.publish-student-list-v351617 em{grid-column:2}.report-publish-modal-v351617{width:calc(100vw - 14px)!important}}

/* ========================= v36.9.0 ========================= */
.shape-choice-grid-v351618{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;margin:8px 0}.shape-choice-grid-v351618 button{display:flex;align-items:center;gap:7px;padding:7px;text-align:left}.shape-choice-grid-v351618 button.selected{outline:2px solid var(--accent)}.shape-demo-v351618{display:block;width:34px;height:24px;background:linear-gradient(135deg,var(--brand),var(--accent));flex:0 0 auto}.shape-rounded{border-radius:9px}.shape-pill{border-radius:999px}.shape-cut{clip-path:polygon(15% 0,85% 0,100% 24%,100% 76%,85% 100%,15% 100%,0 76%,0 24%)}.shape-hexagon{clip-path:polygon(12% 0,88% 0,100% 50%,88% 100%,12% 100%,0 50%)}.shape-diamond{clip-path:polygon(50% 0,100% 50%,50% 100%,0 50%)}.shape-arch{border-radius:50% 50% 6px 6px}.shape-shield{clip-path:polygon(0 0,100% 0,100% 58%,82% 78%,50% 100%,18% 78%,0 58%)}.shape-tag{clip-path:polygon(0 0,87% 0,100% 50%,87% 100%,0 100%)}.shape-wave{clip-path:polygon(0 15%,15% 0,30% 15%,45% 0,60% 15%,75% 0,90% 15%,100% 5%,100% 100%,0 100%)}.extra-report-image-v351618{position:absolute;background-repeat:no-repeat;background-position:center;background-size:contain;border:1px solid rgba(0,0,0,.28);z-index:18;cursor:move;box-shadow:0 3px 12px rgba(15,23,42,.16)}.extra-report-image-v351618 span{position:absolute;left:2px;bottom:2px;background:rgba(255,255,255,.8);font-size:6px;padding:1px 3px;border-radius:3px}.teacher-secret-v351618 button{font-size:8px;padding:2px 5px;margin-left:5px}.teacher-csv-v351618{max-width:1000px}.import-errors-v351618{max-height:180px;overflow:auto;font-size:10px;padding:8px;background:#fff7ed;border-radius:8px}.fine-loan-list-v351618{display:grid;gap:6px;max-height:430px;overflow:auto;margin-top:10px}.fine-loan-list-v351618 button{display:flex;flex-direction:column;align-items:flex-start;text-align:left}.fine-loan-list-v351618 button span,.fine-loan-list-v351618 button small{font-size:9px;color:var(--muted)}
@media(max-width:850px){.shape-choice-grid-v351618{grid-template-columns:1fr 1fr}.profile-sections{grid-template-columns:1fr!important}}

/* ========================= v36.9.0 — SMART HELP TIPS ========================= */
.smart-help-tip-v351619{position:fixed;z-index:100000;max-width:290px;padding:8px 10px;border-radius:9px;background:#0f172a;color:#fff;font-size:10px;line-height:1.35;font-weight:600;box-shadow:0 10px 28px rgba(2,6,23,.28);pointer-events:none;animation:helpTipInV351619 .12s ease-out}
.smart-help-tip-v351619:before{content:"💡";margin-right:5px}
@keyframes helpTipInV351619{from{opacity:0;transform:translateY(3px)}to{opacity:1;transform:none}}
@media(max-width:850px){.smart-help-tip-v351619{max-width:min(260px,calc(100vw - 20px));font-size:9px}}

/* v36.9.0 reliability */
.error-card-v351620{border:1px solid #fca5a5;background:#fff7f7}.warning-v351620{border-left:4px solid #f59e0b}

/* ========================= v36.9.0 — VISIBLE HELP + CUSTOM ID CARD DESIGNER ========================= */
.help-tips-prominent-v351621{border:2px solid var(--accent);box-shadow:0 8px 24px rgba(15,23,42,.08);margin-bottom:14px}.help-tips-prominent-v351621 h2{margin:0}
.id-custom-studio-v351621{display:grid;grid-template-columns:minmax(280px,360px) minmax(0,1fr);gap:14px;align-items:start}.id-custom-studio-v351621 aside{max-height:calc(100vh - 110px);overflow:auto;position:sticky;top:78px}.idc-toggles-v351621{display:grid;grid-template-columns:1fr 1fr;gap:5px}.idc-toggles-v351621 label{padding:6px;border:1px solid var(--line);border-radius:8px}.idc-preview-stage-v351621{min-height:440px;display:flex;align-items:center;justify-content:center;padding:25px;overflow:auto;background:repeating-linear-gradient(45deg,rgba(148,163,184,.08),rgba(148,163,184,.08) 10px,transparent 10px,transparent 20px);border-radius:14px}.idc-canvas-v351621{position:relative;box-sizing:border-box;overflow:hidden;box-shadow:0 18px 45px rgba(15,23,42,.2);flex:0 0 auto}.idc-canvas-v351621.landscape{width:680px;height:428px}.idc-canvas-v351621.portrait{width:340px;height:540px}.idc-header-deco-v351621{position:absolute;left:0;top:0;width:100%;height:22%;z-index:0}.idc-header-deco-v351621.diagonal{clip-path:polygon(0 0,100% 0,100% 68%,0 100%)}.idc-header-deco-v351621.wave{clip-path:polygon(0 0,100% 0,100% 70%,85% 83%,70% 72%,55% 88%,40% 74%,25% 91%,10% 78%,0 91%)}.idc-header-deco-v351621.pill{left:3%;top:2%;width:94%;height:18%}.idc-el-v351621{position:absolute;z-index:3;display:flex;align-items:center;justify-content:flex-start;box-sizing:border-box;cursor:move;overflow:hidden;padding:2px;font-weight:600;line-height:1.1}.idc-el-v351621:hover,.idc-el-v351621.selected{outline:2px dashed #ef4444;outline-offset:1px;background:rgba(255,255,255,.14)}.idc-logo,.idc-qr,.idc-photo{justify-content:center;text-align:center;border-style:solid}.idc-logo span{font-size:26px}.idc-photo{background:rgba(255,255,255,.8);flex-direction:column}.idc-photo span{font-size:38px}.idc-photo small{font-size:7px}.idc-qr{background:#fff;color:#111;font-size:28px;border:1px solid #cbd5e1}.idc-school,.idc-title,.idc-name,.idc-contact{justify-content:center;text-align:center}.idc-school,.idc-name{font-weight:800}.idc-element-editor-v351621{margin-top:12px;padding:12px;border:1px solid var(--line);border-radius:12px;background:var(--soft)}.custom-id-callout-v351621{padding:12px;margin-bottom:12px;border:1px dashed var(--accent);border-radius:12px;background:var(--soft)}
@media(max-width:1050px){.id-custom-studio-v351621{grid-template-columns:1fr}.id-custom-studio-v351621 aside{position:static;max-height:none}.idc-canvas-v351621.landscape{width:min(680px,92vw);height:auto;aspect-ratio:1.588}.idc-canvas-v351621.portrait{width:min(340px,78vw);height:auto;aspect-ratio:.63}}

/* ========================= v36.9.0 ========================= */
.teacher-form-card.teacher-form-sticky-v351622{display:flex!important;flex-direction:column;max-height:min(94vh,980px)!important;overflow:hidden!important;padding-bottom:0!important}.teacher-form-sticky-v351622>.modal-head{flex:0 0 auto}.teacher-form-sticky-v351622>h3,.teacher-form-sticky-v351622>.formgrid{flex:0 0 auto}.teacher-form-sticky-v351622{overflow-y:auto!important}.teacher-form-sticky-v351622 .teacher-form-actions-v351622{position:sticky!important;bottom:0;z-index:60;background:var(--panel,#fff);border-top:1px solid var(--line);padding:10px 8px;margin:14px -2px 0;box-shadow:0 -8px 22px rgba(15,23,42,.12);backdrop-filter:blur(8px)}
.section-colors-v349{grid-template-columns:repeat(auto-fill,minmax(30px,1fr))!important;max-height:220px;overflow:auto;padding:8px}.section-custom-color-v351622{display:flex;align-items:center;gap:10px;margin-top:8px}.section-custom-color-v351622 input{width:70px;height:36px}
.appraisal-admin-guide-v351622{border-left:4px solid var(--accent)}
@media(max-width:850px){.teacher-form-sticky-v351622 .teacher-form-actions-v351622{display:flex!important;position:sticky!important;bottom:0!important}.section-colors-v349{grid-template-columns:repeat(7,1fr)!important}}

/* ========================= v36.9.0 — WEEKLY REPORTS ========================= */
.weekly-source-note-v351623{border-left:4px solid var(--accent)}.weekly-report-form-v351623>h2{text-align:center;text-decoration:underline}.input-with-button-v351623{display:flex;gap:6px}.input-with-button-v351623 input{min-width:0;flex:1}.weekly-table-scroll-v351623{overflow:auto;max-height:55vh;border:1px solid var(--line);border-radius:12px}.weekly-entry-table-v351623{min-width:650px}.weekly-entry-table-v351623 thead{position:sticky;top:0;z-index:3;background:var(--panel,#fff)}.weekly-entry-table-v351623 input{width:100%;min-width:90px;text-align:center}.weekly-entry-table-v351623 td:first-child{position:sticky;left:0;background:var(--panel,#fff);z-index:2}.weekly-total-grid-v351623{margin-top:12px}@media(max-width:700px){.input-with-button-v351623{flex-direction:column}.weekly-table-scroll-v351623{max-height:48vh}}

/* ========================= v36.9.0 — TEACHER FORM SCROLL + WEEKLY ANALYTICS ========================= */
.teacher-form-card.teacher-form-sticky-v351622.teacher-form-shell-v351624{display:flex!important;flex-direction:column!important;height:min(94vh,980px)!important;max-height:94vh!important;overflow:hidden!important;padding-bottom:0!important}
.teacher-form-shell-v351624>.modal-head{flex:0 0 auto!important}
.teacher-form-shell-v351624>.teacher-form-scroll-v351624{flex:1 1 auto!important;min-height:0!important;overflow-y:auto!important;overflow-x:hidden!important;padding:0 4px 18px 0;overscroll-behavior:contain}
.teacher-form-shell-v351624>.teacher-form-actions-v351624{position:relative!important;bottom:auto!important;flex:0 0 auto!important;margin:0 -2px!important;padding:11px 8px!important;background:var(--panel,#fff)!important;border-top:1px solid var(--line)!important;box-shadow:0 -8px 22px rgba(15,23,42,.12)!important;z-index:80}
.weekly-chart-grid-v351624{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-top:14px}.weekly-svg-chart-v351624{display:block;width:100%;min-height:230px;overflow:visible}.weekly-svg-chart-v351624 text{font-size:9px;fill:currentColor}.weekly-svg-chart-v351624 line{stroke:#94a3b8;stroke-width:1}.weekly-svg-chart-v351624 .chart-a-v351624{fill:#2563eb}.weekly-svg-chart-v351624 .chart-b-v351624{fill:#f59e0b}.weekly-svg-chart-v351624.line polyline{stroke:#7c3aed}.weekly-svg-chart-v351624.line circle{fill:#7c3aed}.weekly-insights-v351624{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:12px 0}.weekly-insights-v351624>div{padding:10px;border:1px solid var(--line);border-radius:10px;background:var(--soft);display:flex;flex-direction:column;gap:4px}.weekly-insights-v351624 span{font-size:1.08em}.weekly-hbar-v351624{display:grid;gap:9px}.weekly-hbar-v351624>div{display:grid;grid-template-columns:minmax(110px,1.2fr) 2.2fr 50px;align-items:center;gap:8px}.weekly-hbar-v351624 span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.weekly-hbar-v351624 i{height:13px;border-radius:999px;background:linear-gradient(90deg,#2563eb,#7c3aed);width:var(--p)}.weekly-hbar-v351624 b{text-align:right}.weekly-status-chart-v351624{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;text-align:center}.weekly-status-chart-v351624>div{padding:20px 10px;border-radius:14px;background:var(--soft);border:1px solid var(--line)}.weekly-status-chart-v351624 b{display:block;font-size:2rem}.weekly-live-insights-v351624{margin-top:12px}
@media(max-width:900px){.weekly-chart-grid-v351624{grid-template-columns:1fr}.weekly-insights-v351624{grid-template-columns:repeat(2,1fr)}}@media(max-width:600px){.weekly-insights-v351624{grid-template-columns:1fr}.teacher-form-shell-v351624>.teacher-form-actions-v351624{flex-wrap:wrap!important}}

/* ========================= v36.9.0 ========================= */
.admission-period-note-v351625{margin:8px 0 12px}
.more-geometry-v351625{border-top:1px solid var(--line);margin-top:12px;padding-top:10px}.shape-demo-v351625{display:inline-block;width:30px;height:22px;background:var(--accent);margin-right:5px;vertical-align:middle}.s-triangle{clip-path:polygon(50% 0,100% 100%,0 100%)}.s-trapezoid{clip-path:polygon(14% 0,86% 0,100% 100%,0 100%)}.s-parallelogram{clip-path:polygon(15% 0,100% 0,85% 100%,0 100%)}.s-octagon{clip-path:polygon(25% 0,75% 0,100% 25%,100% 75%,75% 100%,25% 100%,0 75%,0 25%)}.s-star{clip-path:polygon(50% 0,61% 35%,98% 35%,68% 56%,79% 92%,50% 70%,21% 92%,32% 56%,2% 35%,39% 35%)}.s-speech{clip-path:polygon(0 0,100% 0,100% 78%,62% 78%,48% 100%,45% 78%,0 78%)}
.chart-studio-v351625{border-top:1px solid var(--line);margin-top:14px;padding-top:10px}.chart-type-pills-v351625{display:flex;flex-wrap:wrap;gap:5px;margin:8px 0}.chart-type-pills-v351625 span{padding:3px 7px;border-radius:999px;background:var(--soft);border:1px solid var(--line);font-size:10px}
.custom-chart-v351625{position:absolute;z-index:15;border:1.5px solid;box-sizing:border-box;padding:5px;overflow:hidden;cursor:move;display:flex;flex-direction:column;gap:2px;color:#334155;box-shadow:0 4px 12px #0001}.custom-chart-v351625.selected,.custom-chart-v351625:hover{outline:2px dashed #ef4444;outline-offset:2px}.custom-chart-v351625>b{font-size:7px;text-align:center;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.custom-chart-v351625>small{font-size:5px;text-align:center}.custom-chart-v351625 svg{width:100%;height:65%}.chart-preview-bars-v351625{height:65%;display:flex;align-items:flex-end;justify-content:space-around;gap:3px}.chart-preview-bars-v351625 i{display:block;width:12%;background:#2563eb;border-radius:2px 2px 0 0}.chart-preview-pie-v351625{width:38px;height:38px;border-radius:50%;margin:auto;background:conic-gradient(#2563eb 0 30%,#f59e0b 30% 55%,#10b981 55% 78%,#8b5cf6 78%)}.chart-preview-pie-v351625.donut{position:relative}.chart-preview-pie-v351625.donut:after{content:"";position:absolute;inset:11px;background:white;border-radius:50%}
.midterm-intro-v351625{border-left:4px solid #7c3aed}.midterm-band-chart-v351625{display:grid;gap:9px}.midterm-band-chart-v351625>div{display:grid;grid-template-columns:85px 1fr 45px;gap:8px;align-items:center}.midterm-band-chart-v351625 i{height:16px;border-radius:999px;background:linear-gradient(90deg,#7c3aed,#2563eb);width:var(--v)}.mt-score-v351625{min-width:90px;text-align:center}.mt-comment-v351625{min-width:180px}

/* ========================= v36.9.0 — MID-TERM ANALYSIS ========================= */
.midterm-analysis-grid-v351626{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-top:14px}.midterm-gender-v351626{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.midterm-gender-v351626>div{padding:14px;border:1px solid var(--line);border-radius:12px;background:var(--soft);display:flex;flex-direction:column;gap:4px}.midterm-gender-v351626 strong{font-size:1.35rem}.midterm-gender-v351626 small{color:var(--muted)}
@media(max-width:850px){.midterm-analysis-grid-v351626{grid-template-columns:1fr}.midterm-gender-v351626{grid-template-columns:1fr}}

/* ========================= v36.9.0 — GOVERNANCE ========================= */
.governance-grid-v351627{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:14px 0}.governance-grid-v351627 button{min-height:125px;border:1px solid var(--line);background:var(--panel);border-radius:14px;padding:16px;text-align:left;display:flex;flex-direction:column;gap:5px;cursor:pointer}.governance-grid-v351627 button:hover{transform:translateY(-1px);box-shadow:0 8px 22px rgba(15,23,42,.09)}.governance-grid-v351627 button span{font-size:28px}.governance-grid-v351627 button b{font-size:15px}.governance-grid-v351627 button small{color:var(--muted)}.lifecycle-guide-v351627{border-left:4px solid #2563eb}.lifecycle-open{background:#dcfce7}.lifecycle-closed{background:#fee2e2}.lifecycle-archived{background:#e2e8f0}.approval-pending{background:#fef3c7}.approval-approved{background:#dcfce7}.approval-rejected{background:#fee2e2}.audit-diff-v351627{display:grid;grid-template-columns:1fr 1fr;gap:12px}.audit-diff-v351627 pre{white-space:pre-wrap;word-break:break-word;max-height:52vh;overflow:auto;padding:10px;background:var(--soft);border:1px solid var(--line);border-radius:10px}.governance-setting-v351627{border:2px solid var(--accent)!important}.class-history-v351627 .tablewrap{max-height:65vh;overflow:auto}
@media(max-width:900px){.governance-grid-v351627{grid-template-columns:repeat(2,1fr)}.audit-diff-v351627{grid-template-columns:1fr}}@media(max-width:600px){.governance-grid-v351627{grid-template-columns:1fr}}

/* ========================= v36.0 COMMERCIAL EDITION ========================= */
.commercial-hero-v3600{display:flex;justify-content:space-between;gap:18px;align-items:center;padding:22px;border-radius:18px;background:linear-gradient(135deg,#0f172a,#1e3a5f);color:#fff;margin-bottom:14px}.commercial-hero-v3600 span{font-size:11px;letter-spacing:.12em;opacity:.75}.commercial-hero-v3600 h2{margin:5px 0}.license-badge-v3600{min-width:135px;padding:14px;border-radius:14px;background:#fff;color:#0f172a;text-align:center}.license-badge-v3600 b,.license-badge-v3600 small{display:block}.license-badge-v3600.active{background:#dcfce7}.license-badge-v3600.expired{background:#fee2e2}.license-badge-v3600.grace-period{background:#fef3c7}.commercial-grid-v3600{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:14px 0}.commercial-grid-v3600 button{min-height:125px;padding:16px;text-align:left;border:1px solid var(--line);border-radius:14px;background:var(--panel);display:flex;flex-direction:column;gap:5px}.commercial-grid-v3600 button span{font-size:26px}.commercial-grid-v3600 button small{color:var(--muted)}.commercial-setting-v3600{border:2px solid #d4af37!important}.onboarding-list-v3600{display:grid;gap:10px;margin:14px 0}.onboarding-list-v3600 label{display:flex;gap:12px;align-items:center;padding:15px;border:1px solid var(--line);border-radius:12px;background:var(--panel)}.onboarding-list-v3600 input{width:22px;height:22px}.onboarding-list-v3600 span{display:flex;flex-direction:column}.onboarding-list-v3600 small{color:var(--muted)}
@media(max-width:850px){.commercial-grid-v3600{grid-template-columns:repeat(2,1fr)}.commercial-hero-v3600{align-items:flex-start;flex-direction:column}}@media(max-width:560px){.commercial-grid-v3600{grid-template-columns:1fr}}


/* v36.1 customer split */
.trust-v3610{white-space:nowrap}

/* v36.10.2 governance click reliability */
.governance-setting-v351627{position:relative!important;z-index:50!important;pointer-events:auto!important;cursor:pointer!important}.governance-grid-v351627 button{position:relative;z-index:2;pointer-events:auto!important}
/* v36.11.0 Premium operations */
.optional-services-v36111{margin:14px 0;border:1px solid var(--border,#d7dee8)}
.attendance-chip-v36111,.attendance-status-v36111{display:inline-block;padding:3px 9px;border-radius:999px;font-weight:800}.attendance-chip-v36111.present,.attendance-status-v36111.present{background:#dcfce7;color:#166534}.attendance-chip-v36111.late,.attendance-status-v36111.late{background:#fef9c3;color:#854d0e}.attendance-chip-v36111.absent,.attendance-status-v36111.absent{background:#fee2e2;color:#991b1b}.discipline-summary-v36111{display:grid;gap:4px;padding:10px 0;border-bottom:1px solid #e5e7eb}.discipline-summary-v36111 span,.discipline-summary-v36111 small{display:block}.discipline-suggestions-v36111{position:absolute;z-index:10050;left:0;right:0;top:100%;background:#fff;border:1px solid #cbd5e1;box-shadow:0 12px 30px #0002;max-height:260px;overflow:auto;display:none}.discipline-suggestions-v36111 button{display:block;width:100%;text-align:left;padding:9px;border:0;border-bottom:1px solid #eef2f7;background:#fff}.action-icon-v36111{min-width:38px;font-size:16px}.family-modal-v36111{max-width:980px}.family-row-v36111{margin:10px 0}.premium-grid-v36111{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:14px}.premium-grid-v36111>button,.premium-grid-v36111>article{display:flex;flex-direction:column;gap:8px;text-align:left;padding:18px;border:1px solid #dbe3ed;border-radius:14px;background:var(--card,#fff);color:inherit}.premium-grid-v36111>button b,.premium-grid-v36111>article b{font-size:17px}.premium-grid-v36111>button span,.premium-grid-v36111>article span{font-size:13px}.weekly-custom-v36111{flex-wrap:wrap}.weekly-custom-v36111 label{white-space:nowrap}

/* v36.11.1 Live Bus Tracking */
.bus-live-grid-v36111{display:grid;grid-template-columns:repeat(auto-fit,minmax(310px,1fr));gap:16px;margin-top:16px}.bus-live-card-v36111{padding:18px}.bus-live-head-v36111{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}.bus-live-head-v36111 h3{margin:0}.bus-live-head-v36111 small{opacity:.72}.bus-live-meta-v36111{display:grid;grid-template-columns:1fr 1fr;gap:6px 16px;margin:14px 0}.bus-live-meta-v36111 p{margin:0}.bus-coords-v36111,.bus-no-location-v36111{border:1px solid var(--border,#d9e2ec);border-radius:12px;padding:12px;margin:10px 0}.bus-coords-v36111{display:flex;justify-content:space-between;gap:10px;flex-wrap:wrap}.bus-no-location-v36111{background:rgba(245,158,11,.08)}.bus-empty-v36111{text-align:center;padding:28px}.bus-empty-v36111 .toolbar{justify-content:center}.bus-auto-refresh-v36111{display:flex!important;align-items:center;gap:7px;white-space:nowrap}.bus-auto-refresh-v36111 input{width:auto!important}@media(max-width:700px){.bus-live-meta-v36111{grid-template-columns:1fr}}
/* v36.12 premium document/timetable UI */
.pdf-viewer-v36120{width:min(1180px,96vw)!important;height:94vh!important;max-width:none!important;display:flex!important;flex-direction:column}.pdf-viewer-v36120 iframe{width:100%;flex:1;border:1px solid var(--border,#ccd3dd);background:white}.tt-slot{break-inside:avoid}.action-icon-v36111,.actions button{min-width:34px}
/* v36.13.0 */
.header-studio-v36130{border-top:1px solid var(--line,#d7dde7);margin-top:12px;padding-top:12px}.header-item-row-v36130{border:1px solid var(--line,#d7dde7);border-radius:10px;padding:8px;margin:8px 0;background:var(--panel,#fff)}.header-item-row-v36130 .toolbar{margin:4px 0}.optional-services-v36111{position:static!important;top:auto!important;bottom:auto!important;transform:none!important;max-height:none!important}.pdf-viewer-v36120{width:min(96vw,1200px)!important;height:94vh!important}.pdf-viewer-v36120 iframe{width:100%;height:calc(94vh - 105px);border:1px solid #ccd4df;border-radius:8px}.fee-payer-check-v36130{width:18px;height:18px}
/* v36.14.0 */
.student-service-scroll-v36140{max-height:92vh!important;height:auto!important;overflow-y:auto!important;overflow-x:hidden!important;align-self:center!important}
.student-service-scroll-v36140 .optional-services-v36111{position:static!important;inset:auto!important;max-height:none!important;height:auto!important;overflow:visible!important;width:auto!important;margin:14px 0!important}
.class-check-grid-v36140{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:7px;margin-top:8px;padding:10px;border:1px solid var(--border,#ddd);border-radius:10px}
.full-content-studio-v36140,.header-studio-v36130{border-top:2px solid var(--border,#ddd);margin-top:14px;padding-top:12px}
.fee-payer-selector-v36140{margin:10px 0}
/* v36.15.0 */
.student-modal-flow-v36150{display:block!important;max-height:92vh!important;height:auto!important;overflow-y:auto!important;overflow-x:hidden!important;padding-bottom:18px!important}
.student-modal-flow-v36150>.student-form-grid-v351{display:grid!important;overflow:visible!important;max-height:none!important;height:auto!important}
.student-modal-flow-v36150 .student-service-flow-v36150{grid-column:1/-1!important;position:static!important;inset:auto!important;max-height:none!important;height:auto!important;overflow:visible!important;margin:12px 0!important}
.student-modal-flow-v36150>.toolbar:last-child{position:static!important;bottom:auto!important;z-index:auto!important;box-shadow:none!important;margin-top:14px!important}
.sms-provider-help-v36150{padding:10px;border:1px solid #bfdbfe;border-radius:10px;background:#eff6ff;color:#1e3a5f}

/* v36.17.0 student modal + certificate live preview */
.student-modal-v36160{display:flex!important;flex-direction:column!important;overflow:hidden!important;max-height:92vh!important;padding-bottom:0!important}
.student-modal-v36160>.modal-head{flex:0 0 auto}
.student-scroll-body-v36160{flex:1 1 auto!important;min-height:0!important;overflow-y:auto!important;overflow-x:hidden!important;padding-right:5px!important}
.student-scroll-body-v36160 .optional-services-v36111{position:static!important;inset:auto!important;max-height:none!important;height:auto!important;overflow:visible!important;width:auto!important}
.student-fixed-actions-v36160{flex:0 0 auto!important;position:sticky!important;bottom:0!important;z-index:30!important;background:var(--card,#fff)!important;border-top:1px solid var(--line,#ddd)!important;margin:0 -18px!important;padding:11px 18px!important;box-shadow:0 -8px 18px rgba(15,23,42,.08)!important}
.certificate-live-modal-v36160{width:min(1180px,96vw)!important;max-height:94vh!important;overflow:hidden!important;display:flex!important;flex-direction:column!important}
.certificate-live-layout-v36160{display:grid;grid-template-columns:minmax(330px,.82fr) minmax(520px,1.25fr);gap:16px;overflow:auto;min-height:0;padding:4px}
.certificate-controls-v36160{overflow:auto}.certificate-sheet-v36160{aspect-ratio:1.414/1;width:100%;background:#fff;border:4px solid var(--cp,#173f7a);padding:12px;box-shadow:0 8px 24px #0002;position:relative}
.certificate-sheet-v36160.cert-border-double{outline:2px solid var(--ca,#c89b3c);outline-offset:-12px}.certificate-sheet-v36160.cert-border-ornamental{border-width:8px;outline:2px double var(--ca,#c89b3c);outline-offset:-14px}.certificate-sheet-v36160.cert-border-rounded{border-radius:22px}.certificate-sheet-v36160.cert-border-geometric{outline:6px double var(--ca,#c89b3c);outline-offset:-16px}
.cert-inner-v36160{height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:28px}.cert-school-v36160{font-weight:900;font-size:18px}.cert-heading-v36160{font-weight:900;margin:22px 0 18px}.cert-copy-v36160{font-size:13px}.cert-student-v36160{font-size:27px;font-weight:900;border-bottom:1px solid currentColor;margin:10px 0 16px}.cert-body-v36160{max-width:80%;font-size:12px;line-height:1.5}.cert-sign-v36160{margin-top:24px;margin-left:auto;font-size:10px}.cert-footer-v36160{margin-top:auto;font-size:8px;color:#666}.certificate-savebar-v36160{flex:0 0 auto}
@media(max-width:900px){.certificate-live-layout-v36160{grid-template-columns:1fr}.certificate-sheet-v36160{min-width:600px}}

/* v36.18.0 AI Intelligence Center */
.ai18{display:flex;flex-direction:column;gap:16px}.ai18-hero{display:flex;justify-content:space-between;gap:20px;padding:22px;border-radius:20px;background:linear-gradient(135deg,rgba(79,70,229,.12),rgba(6,182,212,.08));border:1px solid var(--border)}.ai18-hero h1{margin:5px 0}.ai18-provider{max-width:330px;display:flex;flex-direction:column;gap:8px;padding:14px;border:1px solid var(--border);border-radius:16px;background:var(--card)}.ai18-pulse{grid-template-columns:repeat(6,minmax(130px,1fr))}.ai18-stat{padding:14px}.ai18-stat small,.ai18-stat span{display:block;color:var(--muted)}.ai18-stat b{display:block;font-size:21px;margin:6px 0}.ai18-grid{display:grid;grid-template-columns:minmax(0,1fr) 310px;gap:16px}.ai18-main{min-height:610px}.ai18-chips{display:flex;gap:8px;flex-wrap:wrap;margin:10px 0}.ai18-chips button{border-radius:999px}.ai18-main textarea{width:100%;resize:vertical;min-height:120px}.ai18-controls{align-items:end}.ai18-controls label{display:flex;flex-direction:column;gap:4px;font-size:12px}.ai18-toggle{flex-direction:row!important;align-items:center!important;padding-bottom:9px}.ai18-conversation{margin-top:14px;max-height:520px;overflow:auto;border-top:1px solid var(--border);padding-top:12px}.ai18-turn{display:grid;grid-template-columns:42px minmax(0,1fr);gap:10px;margin:10px 0}.ai18-avatar{width:38px;height:38px;border-radius:12px;display:grid;place-items:center;font-weight:700;background:var(--soft)}.ai18-user>div:last-child{background:var(--soft);padding:10px 13px;border-radius:14px}.ai18-user p{margin:3px 0}.ai18-answer{border:1px solid var(--border);border-radius:15px;padding:14px;background:var(--card);line-height:1.55}.ai18-answer h2,.ai18-answer h3{margin:10px 0 5px}.ai18-meta{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:10px}.ai18-meta span{font-size:11px;padding:3px 7px;border-radius:999px;background:var(--soft)}.ai18-answer-actions{display:flex;gap:6px;flex-wrap:wrap;margin-top:12px;padding-top:10px;border-top:1px solid var(--border)}.ai18-thinking{padding:12px;color:var(--muted)}.ai18-side{display:flex;flex-direction:column;gap:12px}.ai18-side .card>button,.ai18-alerts button{width:100%;text-align:left;margin:4px 0}.ai18-alerts button{display:flex;flex-direction:column;gap:3px}.ai18-alerts button span{font-size:12px;color:var(--muted)}
@media(max-width:1100px){.ai18-pulse{grid-template-columns:repeat(3,1fr)}.ai18-grid{grid-template-columns:1fr}.ai18-side{display:grid;grid-template-columns:repeat(3,1fr)}}@media(max-width:700px){.ai18-hero{flex-direction:column}.ai18-pulse{grid-template-columns:repeat(2,1fr)}.ai18-side{display:block}.ai18-side .card{margin-bottom:10px}}

/* v36.22.0 non-blocking save/status notifications */
#toast{pointer-events:none!important;max-width:min(460px,calc(100vw - 24px))}
#toast .toast{pointer-events:none!important;opacity:0;transform:translateY(8px);transition:opacity .18s ease,transform .18s ease;max-width:100%;white-space:normal}
#toast .toast.toast-show{opacity:1;transform:translateY(0)}
.fee-sms-context-v351610{min-height:38px}

/* v36.24.0 — visual 100-font library */
.font100-wrap-v36240{display:grid;gap:7px;min-width:0}.font100-select-v36240{font-size:15px!important;min-height:40px}.font100-tools-v36240{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.font100-sample-v36240{flex:1;min-width:210px;padding:8px 10px;border:1px dashed #cbd5e1;border-radius:9px;background:#fff;font-size:15px;line-height:1.25;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.font100-browse-v36240{padding:7px 10px!important}.font-browser-card-v36240{width:min(1120px,96vw)!important;max-width:1120px!important;height:min(840px,92vh);display:flex;flex-direction:column}.font-browser-top-v36240{display:grid;grid-template-columns:1fr 230px 1.5fr;gap:10px;margin:4px 0 10px}.font-browser-note-v36240{padding:9px 12px;border-radius:9px;background:#f8fafc;color:#475569;font-size:12px;margin-bottom:10px}.font-grid-v36240{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;overflow:auto;padding:2px 4px 14px}.font-card-v36240{text-align:left!important;background:#fff!important;color:#0f172a!important;border:1px solid #dbe4ee!important;border-radius:12px!important;padding:12px!important;min-height:112px;display:grid!important;gap:7px;align-content:center;box-shadow:none!important}.font-card-v36240:hover,.font-card-v36240.selected{border-color:#2563eb!important;box-shadow:0 0 0 2px rgba(37,99,235,.12)!important;transform:none!important}.font-card-name-v36240{font-family:"Segoe UI",Arial,sans-serif!important;font-size:11px!important;font-weight:700!important;color:#475569!important}.font-card-v36240 strong{font:inherit;font-size:18px;line-height:1.3;overflow-wrap:anywhere}.font-card-v36240 small{font-family:"Segoe UI",Arial,sans-serif!important;font-size:10px!important;color:#64748b!important}.font-browser-footer-v36240{margin-top:8px;justify-content:space-between}.font-browser-footer-v36240 span{font-weight:700;color:#475569}@media(max-width:850px){.font-browser-top-v36240{grid-template-columns:1fr}.font-grid-v36240{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:560px){.font-grid-v36240{grid-template-columns:1fr}.font100-tools-v36240{display:grid}.font100-sample-v36240{min-width:0}}

/* v36.25.0 Super Premium report content layout studio */
.super-content-studio-v36250{border:1px solid #c4b5fd!important;background:linear-gradient(180deg,#faf5ff,#fff)!important;border-radius:14px;padding:12px}.sp-section-grid-v36250,.sp-field-grid-v36250{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.sp-field-help-v36250{padding:9px 10px;background:#eef2ff;border-radius:9px;margin:8px 0;font-size:12px}.sp-field-card-v36250{border:1px solid #dbe4ee;border-radius:12px;padding:10px;margin:9px 0;background:#fff}.sp-field-card-v36250>header{display:flex;justify-content:space-between;gap:8px;align-items:center;margin-bottom:8px}.sp-field-card-v36250>header button{padding:4px 8px!important}.sp-field-live-v36250{margin-top:8px;padding:9px;min-height:36px;overflow:hidden}.sp-field-grid-v36250 label,.sp-section-grid-v36250 label{font-size:11px}.sp-field-grid-v36250 input,.sp-field-grid-v36250 select,.sp-section-grid-v36250 input,.sp-section-grid-v36250 select{min-height:34px!important}@media(max-width:650px){.sp-section-grid-v36250,.sp-field-grid-v36250{grid-template-columns:1fr}}
/* v36.28 PTA + compact designer performance-safe styling */
.pta-form-v36280{max-width:980px}.pta-teacher-grid-v36280{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:8px;max-height:260px;overflow:auto;padding:10px;border:1px solid #dbe4ee;border-radius:12px}.pta-teacher-grid-v36280 label{padding:7px 9px;border-radius:8px;background:#f8fafc}.pta-search-hit-v36280{display:grid;grid-template-columns:minmax(220px,1fr) minmax(320px,1.4fr) auto;gap:10px;align-items:center;padding:10px;margin:8px 0;border:1px solid #dbe4ee;border-radius:12px;background:#fff}.pta-finance-mini-v36280{display:grid;grid-template-columns:repeat(4,1fr);gap:5px}.pta-finance-mini-v36280 span{background:#f8fafc;border-radius:8px;padding:6px;font-size:11px}.pta-notes-v36280{white-space:pre-wrap;max-height:260px;overflow:auto;padding:10px;border:1px solid #dbe4ee;border-radius:10px;background:#fbfdff}.credit-live-v36280 small{display:block;font-size:9px;opacity:.75;margin-top:3px}.designer-layout-v36280{grid-template-columns:minmax(300px,360px) minmax(0,1fr)!important;align-items:start}.designer-sidebar-v36280{position:sticky;top:8px;max-height:calc(100vh - 125px);overflow:auto;overscroll-behavior:contain;padding-right:8px}.designer-accordion-title-v36280{cursor:pointer;position:relative;padding:9px 28px 9px 9px!important;margin:8px 0 5px!important;background:#eef4f8;border-radius:9px;user-select:none}.designer-accordion-title-v36280:after{content:'▾';position:absolute;right:10px}.designer-accordion-title-v36280.collapsed-v36280:after{content:'▸'}.designer-collapsed-v36280{display:none!important}.designer-compact-grid-v36280{display:grid;grid-template-columns:1fr 1fr;gap:8px}.report-tool-panel-v36280{border:1px solid #cbd5e1;border-radius:12px;padding:10px;margin-top:10px}.custom-canvas-wrap-v35168{position:sticky;top:8px}.pta-checkin-head-v36280{margin-bottom:12px}@media(max-width:900px){.pta-search-hit-v36280{grid-template-columns:1fr}.pta-finance-mini-v36280{grid-template-columns:1fr 1fr}.designer-layout-v36280{grid-template-columns:1fr!important}.designer-sidebar-v36280,.custom-canvas-wrap-v35168{position:static;max-height:none}}


/* v36.29.0 — PTA attendance desk + compact report designer */
.pta-attendance-desk-v36290{border:2px solid var(--accent,#2b6cb0);box-shadow:0 10px 30px #173f7a12}
.pta-attendance-title-v36290{display:flex;gap:16px;align-items:center;justify-content:space-between;flex-wrap:wrap}
.pta-attendance-desk-v36290 .toolbar input{min-width:280px;flex:1}
.pta-attendance-desk-v36290 .table-scroll{max-height:440px;overflow:auto;border:1px solid #dbe4ee;border-radius:12px}
.pta-attendance-desk-v36290 thead th{position:sticky;top:0;z-index:2;background:var(--panel,#fff)}
.pta-present-tick-v36290{width:20px;height:20px;cursor:pointer}
.designer-layout-v36290{align-items:start}
.designer-sidebar-v36290{max-height:calc(100vh - 210px);overflow:auto;scrollbar-gutter:stable;padding-right:8px}
.designer-important-panel-v36290{border:2px solid #7c3aed!important;border-radius:14px;padding:12px!important;margin:12px 0!important;background:linear-gradient(180deg,#faf5ff,#fff)!important}
.designer-jumps-v36290{display:flex;gap:8px;flex-wrap:wrap;position:sticky;top:0;z-index:6;background:var(--page,#f6f8fb);padding:8px 0}
@media(max-width:900px){.designer-sidebar-v36290{max-height:none}.pta-attendance-desk-v36290 .toolbar input{min-width:100%}}

/* v36.41.0 — weekly report view/analysis actions */
.weekly-actions-v36410{display:flex;gap:6px;align-items:center;flex-wrap:wrap}.weekly-actions-v36410 button{white-space:nowrap}.weekly-analysis-summary-v351624 .section-title-row{gap:12px;align-items:flex-start}.weekly-analysis-summary-v351624 .section-title-row>button{flex:0 0 auto}
/* v36.48.0 */
.cert-seal-select-v36470{display:flex;align-items:center;gap:7px;padding:0 4px;font-size:12px;color:var(--muted,#64748b)}
.cert-seal-select-v36470 select{min-height:40px;max-width:230px}
#content td.actions{white-space:nowrap}

/* v36.67.0 exact-minute timetable picker */
.tt-time-picker-v36670{width:min(96vw,760px);max-height:92vh;overflow:auto}.tt-time-summary-v36670{display:flex;justify-content:space-between;gap:12px;align-items:center;padding:10px 12px;border:1px solid var(--border,#d9e2ec);border-radius:10px;margin-bottom:10px}.tt-time-summary-v36670 b{font-size:1.2rem}.tt-time-picker-v36670 h3{margin:12px 0 7px}.tt-hour-grid-v36670{display:grid;grid-template-columns:repeat(auto-fit,minmax(78px,1fr));gap:7px}.tt-minute-grid-v36670{display:grid;grid-template-columns:repeat(10,minmax(42px,1fr));gap:5px}.tt-hour-cell-v36670,.tt-minute-cell-v36670{min-height:42px;padding:7px 5px}.tt-hour-cell-v36670.selected,.tt-minute-cell-v36670.selected{outline:2px solid var(--accent,#2563eb);font-weight:800}.tt-time-button-v36660 small{display:block;margin-top:2px}@media(max-width:640px){.tt-minute-grid-v36670{grid-template-columns:repeat(6,minmax(40px,1fr))}.tt-hour-grid-v36670{grid-template-columns:repeat(3,1fr)}}
