@keyframes ot-slide-in{0%{opacity:0;transform:translateY(-110%)scale(.96)}to{opacity:1;transform:translateY(0)scale(1)}}@keyframes ot-fade-out{0%{opacity:1}to{opacity:0}}.ot-toast{z-index:9999;border-radius:12px;align-items:center;gap:.65rem;min-width:260px;max-width:92vw;padding:.7rem 1.1rem .7rem .85rem;font-size:.9rem;font-weight:600;animation:.3s cubic-bezier(.34,1.56,.64,1) both ot-slide-in;display:flex;position:fixed;top:1.1rem;left:50%;transform:translate(-50%);box-shadow:0 8px 30px #00000024,0 2px 8px #00000014}.ot-toast-success{color:#fff;background:#166534;border:1px solid #15803d}.ot-toast-error{color:#fff;background:#991b1b;border:1px solid #dc2626}.ot-toast-icon{background:#fff3;border-radius:50%;flex-shrink:0;place-items:center;width:1.5rem;height:1.5rem;font-size:1.1rem;display:grid}.ot-toast-msg{flex:1;line-height:1.35}.ot-toast-close{color:inherit;opacity:.7;cursor:pointer;background:0 0;border:none;padding:0;font-size:1.1rem;line-height:1}.ot-toast-close:hover{opacity:1}.ot-page{flex-direction:column;gap:1.1rem;display:flex}.ot-list-toolbar{grid-template-columns:minmax(0,1fr) 190px;gap:.65rem;display:grid}.ot-list-search,.ot-list-filter{color:#0f172a;font:inherit;background:#fff;border:1px solid #cbd5e1;border-radius:10px;padding:.6rem .72rem}.ot-list-search:focus,.ot-list-filter:focus{border-color:var(--primary);box-shadow:0 0 0 3px color-mix(in srgb, var(--primary) 14%, transparent);outline:none}.ot-header{background:var(--app-banner-gradient);color:#fff;border-radius:16px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;padding:1.1rem 1.25rem;display:flex}.ot-header h2{margin:0;font-size:1.25rem}.ot-header-sub{opacity:.85;margin:.2rem 0 0;font-size:.88rem}.ot-header-actions{flex-wrap:wrap;gap:.5rem;display:flex}.ot-btn-create{cursor:pointer;color:var(--primary);background:#fff;border:none;border-radius:10px;padding:.55rem 1.1rem;font-size:.9rem;font-weight:700;transition:box-shadow .18s,transform .18s}.ot-btn-create:hover{box-shadow:0 6px 18px color-mix(in srgb, var(--primary) 35%, transparent);transform:translateY(-1px)}.ot-btn-ghost{cursor:pointer;color:#fff;background:#ffffff26;border:1px solid #ffffff59;border-radius:10px;padding:.5rem 1rem;font-size:.88rem;font-weight:600;transition:background .15s}.ot-btn-ghost:hover{background:#ffffff40}.ot-btn-save{cursor:pointer;background:var(--primary);color:#fff;border:none;border-radius:10px;padding:.6rem 1.4rem;font-size:.92rem;font-weight:700;transition:box-shadow .18s,transform .18s}.ot-btn-save:hover:not(:disabled){box-shadow:0 6px 18px color-mix(in srgb, var(--primary) 35%, transparent);transform:translateY(-1px)}.ot-btn-save:disabled{opacity:.6;cursor:not-allowed}.ot-btn-sm{cursor:pointer;border-radius:8px;padding:.35rem .75rem;font-size:.8rem;font-weight:600;transition:box-shadow .15s,transform .12s}.ot-btn-sm:hover{transform:translateY(-1px)}.ot-btn-primary{background:var(--primary);color:#fff;border:none}.ot-btn-outline{color:#374151;background:#fff;border:1px solid #d1d5db}.ot-btn-outline:hover{border-color:var(--primary);color:var(--primary)}.ot-btn-danger{color:#991b1b;background:#fee2e2;border:1px solid #fca5a5}.ot-btn-danger:hover{background:#fca5a5}.ot-btn-ghost-sm{cursor:pointer;color:#374151;background:0 0;border:1px solid #d1d5db;border-radius:8px;padding:.35rem .75rem;font-size:.8rem;font-weight:600}.ot-btn-start{cursor:pointer;background:linear-gradient(135deg, var(--primary), color-mix(in srgb, var(--primary) 72%, var(--secondary)));border:none;border-radius:10px;width:100%;padding:.65rem 1rem;transition:opacity .15s,box-shadow .18s,transform .15s}.ot-btn-start:hover:not(:disabled){box-shadow:0 6px 18px color-mix(in srgb, var(--primary) 35%, transparent);transform:translateY(-1px)}.ot-btn-start:disabled{opacity:.45;cursor:not-allowed}.ot-btn-submit{cursor:pointer;color:#fff;background:#dc2626;border:none;border-radius:10px;width:100%;padding:.7rem;font-size:.92rem;font-weight:700;transition:box-shadow .18s}.ot-btn-submit:hover:not(:disabled){box-shadow:0 6px 18px #dc262666}.ot-btn-submit:disabled{opacity:.6;cursor:not-allowed}.ot-btn-nav{color:#374151;cursor:pointer;background:#f8fafc;border:1px solid #d1d5db;border-radius:9px;padding:.5rem 1.1rem;font-size:.88rem;font-weight:600;transition:border-color .14s,background .14s}.ot-btn-nav:hover:not(:disabled){border-color:var(--primary);background:var(--surface-highlight);color:var(--primary)}.ot-btn-nav:disabled{opacity:.4;cursor:not-allowed}.ot-btn-nav-primary{background:var(--primary);color:#fff;border-color:var(--primary)}.ot-btn-nav-primary:hover:not(:disabled){background:color-mix(in srgb, var(--primary) 88%, #000);color:#fff;border-color:color-mix(in srgb, var(--primary) 88%, #000)}.ot-badge{text-transform:uppercase;letter-spacing:.05em;border-radius:999px;padding:.2rem .55rem;font-size:.72rem;font-weight:700;display:inline-block}.ot-badge-draft{color:#92400e;background:#fef3c7}.ot-badge-live{color:#166534;background:#dcfce7}.ot-badge-completed{color:#374151;background:#e5e7eb}.ot-badge-expired{color:#991b1b;background:#fee2e2}.ot-badge-published{color:#166534;background:#dcfce7}.ot-badge-closed{color:#374151;background:#e5e7eb}.ot-grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:.85rem;display:grid}.ot-card{background:#fff;border:1px solid #e5e7eb;border-radius:16px;flex-direction:column;gap:.65rem;padding:1rem;transition:box-shadow .18s,border-color .18s,transform .15s;display:flex;box-shadow:0 1px 4px #0000000a}.ot-card:hover{box-shadow:0 8px 24px color-mix(in srgb, var(--primary) 10%, transparent);border-color:color-mix(in srgb, var(--primary) 30%, var(--border));transform:translateY(-2px)}.ot-card-live{border-color:color-mix(in srgb, var(--primary) 25%, transparent)}.ot-card-completed{opacity:.78}.ot-card-expired{border-color:#fca5a5}.ot-card-published{border-color:color-mix(in srgb, var(--primary) 25%, transparent)}.ot-card-draft{border-color:#fde68a}.ot-card-closed{opacity:.7}.ot-card-top{justify-content:space-between;align-items:center;display:flex}.ot-card-duration{color:#6b7280;font-size:.8rem;font-weight:600}.ot-card-title{color:#111827;margin:0;font-size:1rem;font-weight:700;line-height:1.3}.ot-card-desc{color:#6b7280;line-clamp:2;-webkit-line-clamp:2;-webkit-box-orient:vertical;margin:0;font-size:.83rem;display:-webkit-box;overflow:hidden}.ot-card-meta-grid{background:#f8fafc;border-radius:10px;grid-template-columns:1fr 1fr;gap:.35rem .5rem;padding:.6rem .75rem;display:grid}.ot-meta-item{flex-direction:column;gap:.1rem;display:flex}.ot-meta-label{color:#9ca3af;text-transform:uppercase;letter-spacing:.04em;font-size:.7rem;font-weight:600}.ot-meta-value{color:#111827;font-size:.84rem;font-weight:600}.ot-status-draft,.ot-status-upcoming{color:#9a3412;background:#ffedd5;border-radius:999px;width:fit-content;padding:.14rem .5rem;display:inline-flex}.ot-status-live{color:#166534;background:#dcfce7;border-radius:999px;width:fit-content;padding:.14rem .5rem;display:inline-flex}.ot-status-completed{color:#374151;background:#e5e7eb;border-radius:999px;width:fit-content;padding:.14rem .5rem;display:inline-flex}.ot-status-expired{color:#991b1b;background:#fee2e2;border-radius:999px;width:fit-content;padding:.14rem .5rem;display:inline-flex}.ot-card-actions{flex-wrap:wrap;gap:.4rem;margin-top:auto;padding-top:.25rem;display:flex}.ot-draft-warning{color:#b45309;background:#fef3c7;border:1px solid #fcd34d;border-radius:6px;margin:.4rem 0 .2rem;padding:.3rem .6rem;font-size:.78rem}.ot-btn-publish{font-weight:600;color:#fff!important;background:#16a34a!important}.ot-student-actions{flex-direction:column;gap:.4rem;width:100%;display:flex}.ot-test-list{flex-direction:column;gap:.55rem;display:flex}.ot-test-row{background:#fff;border:1px solid #e5e7eb;border-radius:14px;align-items:center;gap:.85rem;padding:.85rem 1rem;transition:box-shadow .15s,border-color .15s;display:flex;box-shadow:0 1px 3px #0000000a}.ot-test-row:hover{box-shadow:0 4px 16px color-mix(in srgb, var(--primary) 10%, transparent);border-color:color-mix(in srgb, var(--primary) 30%, var(--border))}.ot-test-row-live{border-left:3px solid var(--primary)}.ot-test-row-completed{opacity:.8;border-left:3px solid #9ca3af}.ot-test-row-expired{opacity:.85;border-left:3px solid #ef4444}.ot-test-row-published{border-left:3px solid var(--primary)}.ot-test-row-draft{border-left:3px solid #f59e0b}.ot-test-row-closed{opacity:.8;border-left:3px solid #9ca3af}.ot-test-row-icon{background:var(--surface-highlight);width:2.4rem;height:2.4rem;color:var(--primary);border-radius:10px;flex-shrink:0;place-items:center;font-size:1.1rem;display:grid}.ot-test-row-body{flex-direction:column;flex:1;gap:.25rem;min-width:0;display:flex}.ot-test-row-top{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.ot-test-row-title{color:#111827;font-size:.95rem;font-weight:700}.ot-test-row-sep{color:#d1d5db}.ot-test-row-date{color:#6b7280;font-size:.8rem}.ot-test-row-meta{color:#6b7280;flex-wrap:wrap;align-items:center;gap:.4rem;font-size:.8rem;display:flex}.ot-row-dot{color:#d1d5db;font-size:.75rem}.ot-test-row-desc{color:#9ca3af;white-space:nowrap;text-overflow:ellipsis;margin:0;font-size:.78rem;overflow:hidden}.ot-test-row-actions{flex-shrink:0;align-items:center;gap:.4rem;display:flex}.ot-btn-start-row{cursor:pointer;background:linear-gradient(135deg, var(--primary), color-mix(in srgb, var(--primary) 72%, var(--secondary)));color:#fff;white-space:nowrap;border:none;border-radius:9px;padding:.5rem 1.1rem;font-size:.85rem;font-weight:700;transition:box-shadow .15s,transform .12s,opacity .12s}.ot-btn-start-row:hover:not(:disabled){box-shadow:0 4px 14px color-mix(in srgb, var(--primary) 38%, transparent);transform:translateY(-1px)}.ot-btn-start-row:disabled{opacity:.45;cursor:not-allowed}.ot-palette-title{color:#374151;text-transform:uppercase;letter-spacing:.05em;font-size:.82rem;font-weight:700}.ot-autosave{color:var(--primary);background:var(--surface-highlight);border:1px solid color-mix(in srgb, var(--primary) 30%, var(--border));text-align:center;border-radius:7px;padding:.25rem .5rem;font-size:.75rem}.ot-answer-wrap{flex-direction:column;gap:.3rem;display:flex}.ot-answer-counter{color:#9ca3af;text-align:right;font-size:.75rem}.ot-sort-layout{grid-template-columns:1fr 1fr;gap:1rem;display:grid}.ot-sort-label{color:#6b7280;text-transform:uppercase;letter-spacing:.04em;margin:0 0 .45rem;font-size:.78rem;font-weight:600}.ot-sort-item{background:#fff;border:1px solid #d1d5db;border-radius:8px;align-items:center;gap:.5rem;margin-bottom:.35rem;padding:.45rem .6rem;display:flex}.ot-sort-num{background:var(--primary);color:#fff;border-radius:50%;flex-shrink:0;place-items:center;width:1.4rem;height:1.4rem;font-size:.72rem;font-weight:700;display:grid}.ot-sort-select{font:inherit;color:#111827;cursor:pointer;background:0 0;border:none;outline:none;flex:1;font-size:.88rem}.ot-sort-ref{flex-direction:column;display:flex}.ot-sort-ref-item{color:#374151;background:#f8fafc;border:1px solid #e5e7eb;border-radius:8px;margin-bottom:.35rem;padding:.5rem .75rem;font-size:.88rem;font-weight:500}.ot-q-table-wrap{flex-direction:column;gap:.5rem;display:flex}.ot-q-table-header{justify-content:space-between;align-items:center;display:flex}.ot-q-summary{color:#6b7280;font-size:.8rem;font-weight:600}.ot-q-table{border-collapse:collapse;width:100%;font-size:.85rem}.ot-q-table th{text-align:left;text-transform:uppercase;letter-spacing:.04em;color:#6b7280;border-bottom:2px solid #e5e7eb;padding:.5rem .6rem;font-size:.75rem}.ot-q-table td{vertical-align:middle;border-bottom:1px solid #f3f4f6;padding:.55rem .6rem}.ot-q-table tr:last-child td{border-bottom:none}.ot-q-table tr:hover td{background:#f8fafc}.ot-q-cell-text{white-space:nowrap;text-overflow:ellipsis;color:#111827;max-width:260px;font-weight:500;overflow:hidden}.ot-type-badge{color:#0369a1;text-transform:uppercase;letter-spacing:.04em;background:#e0f2fe;border-radius:999px;padding:.18rem .5rem;font-size:.7rem;font-weight:700}.ot-diff-badge{text-transform:capitalize;border-radius:999px;padding:.18rem .5rem;font-size:.7rem;font-weight:700}.ot-diff-easy{color:#166534;background:#dcfce7}.ot-diff-medium{color:#92400e;background:#fef3c7}.ot-diff-hard{color:#991b1b;background:#fee2e2}.ot-panel{background:#fff;border:1px solid #e5e7eb;border-radius:16px;flex-direction:column;gap:1rem;padding:1.25rem;display:flex;box-shadow:0 2px 8px #0000000d}.ot-panel-title{color:#111827;margin:0;font-size:1.1rem;font-weight:700}.ot-full-label{flex-direction:column;gap:.35rem;font-size:.88rem;font-weight:600;display:flex}.ot-full-label small{color:#9ca3af;font-weight:400}.ot-form-grid{grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:.7rem;display:grid}.ot-panel-manage{flex-direction:column;gap:1rem;display:flex}.ot-manage-header{border-bottom:1.5px solid #f0f0f0;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.5rem;padding-bottom:.85rem;display:flex}.ot-manage-title{color:#111827;align-items:center;gap:.55rem;margin:0;font-size:1.05rem;font-weight:800;display:flex}.ot-manage-badge{background:var(--primary);color:#fff;letter-spacing:.06em;text-transform:uppercase;border-radius:5px;justify-content:center;align-items:center;width:2rem;height:1.25rem;font-size:.6rem;font-weight:900;display:inline-flex}.ot-manage-header-actions{align-items:center;gap:.5rem;display:flex}.ot-form-row{gap:.7rem;display:grid}.ot-form-row-3{grid-template-columns:repeat(3,1fr)}.ot-form-row-4{grid-template-columns:repeat(4,1fr)}@media (width<=640px){.ot-form-row-3,.ot-form-row-4{grid-template-columns:1fr 1fr}}@media (width<=400px){.ot-form-row-3,.ot-form-row-4{grid-template-columns:1fr}}.ot-time-limit-row{margin-top:.25rem;align-items:center!important;gap:1.2rem!important}.ot-panel label.ot-toggle-item{cursor:pointer;flex-direction:column!important;align-items:flex-start!important;gap:.35rem!important;display:flex!important}.ot-toggle-label{color:#374151;text-transform:uppercase;letter-spacing:.04em;font-size:.78rem;font-weight:700}.ot-toggle-row{align-items:center;gap:.5rem;display:flex}.ot-toggle-switch{cursor:pointer;background:#d1d5db;border-radius:999px;flex-shrink:0;width:42px;height:22px;transition:background .18s;display:inline-block;position:relative}.ot-toggle-switch:after{content:"";background:#fff;border-radius:50%;width:16px;height:16px;transition:transform .18s;position:absolute;top:3px;left:3px;box-shadow:0 1px 3px #0000002e}.ot-toggle-switch.ot-toggle-on{background:var(--primary)}.ot-toggle-switch.ot-toggle-on:after{transform:translate(20px)}.ot-toggle-dur{color:#374151;font-size:.82rem;font-weight:700}.ot-qb-section{border-top:2px solid #e5e7eb;flex-direction:column;gap:.75rem;margin-top:.5rem;padding-top:1rem;display:flex}.ot-qb-section-header{justify-content:space-between;align-items:center;display:flex}.ot-qb-section-title{color:#111827;font-size:.98rem;font-weight:700}.ot-add-q-form{background:#f8fafc;border:1px solid #e5e7eb;border-radius:12px;flex-direction:column;gap:.75rem;padding:1rem;display:flex}.ot-q-idx{color:#9ca3af;margin-right:.35rem;font-size:.8rem;font-weight:600}.ot-q-action-cell{align-items:center;gap:.3rem;display:flex}.ot-btn-edit-q{color:#1d4ed8;background:#eff6ff;border-color:#bfdbfe}.ot-btn-edit-q:hover{background:#dbeafe}.ot-q-footer{color:#374151;background:#f8fafc;border:1px solid #e5e7eb;border-top:none;border-radius:0 0 10px 10px;justify-content:space-between;align-items:center;padding:.55rem .75rem;font-size:.85rem;font-weight:600;display:flex}.ot-quick-type-bar{border-top:1px solid #f3f4f6;flex-wrap:wrap;align-items:center;gap:.5rem;padding-top:.5rem;display:flex}.ot-qtype-btn{color:#374151;cursor:pointer;background:#fff;border:1.5px solid #d1d5db;border-radius:9px;padding:.4rem 1rem;font-size:.85rem;font-weight:600;transition:background .13s,border-color .13s,color .13s}.ot-qtype-btn:hover{background:var(--surface-highlight);border-color:var(--primary);color:var(--primary)}.ot-qtype-btn-active{background:var(--primary);border-color:var(--primary);color:#fff}.ot-qtype-btn-active:hover{background:color-mix(in srgb, var(--primary) 82%, var(--secondary))}.ot-qb-pending-note{color:#92400e;background:#fefce8;border:1px solid #fde68a;border-radius:10px;padding:.75rem 1rem;font-size:.88rem}.ot-panel label{flex-direction:column;gap:.3rem;font-size:.88rem;font-weight:600;display:flex}.ot-panel input,.ot-panel textarea,.ot-panel select{font:inherit;color:#111827;background:#fff;border:1px solid #d1d5db;border-radius:10px;padding:.55rem .7rem;transition:border-color .15s,box-shadow .15s}.ot-panel input:focus,.ot-panel textarea:focus,.ot-panel select:focus{border-color:var(--primary);box-shadow:0 0 0 3px color-mix(in srgb, var(--primary) 15%, transparent);outline:none}.ot-check-row{flex-wrap:wrap;gap:.85rem;display:flex}.ot-panel label.ot-check-item{flex-direction:row!important;align-items:center!important;gap:.4rem!important;font-weight:500!important;display:flex!important}.ot-check-item{cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:.4rem;font-weight:500;display:flex}.ot-check-item input[type=checkbox]{width:1rem;height:1rem;accent-color:var(--primary);cursor:pointer}.ot-autopublish-note{color:#166534;background:#f0fdf4;border:1px solid #86efac;border-radius:10px;margin:0;padding:.6rem .85rem;font-size:.85rem;font-weight:500}.ot-form-actions{flex-wrap:wrap;align-items:center;gap:.6rem;display:flex}.ot-form-error{color:#b91c1c;background:#fef2f2;border:1px solid #fca5a5;border-radius:10px;margin:0;padding:.6rem .85rem;font-size:.88rem}.ot-question-list{flex-direction:column;gap:.5rem;margin-top:.25rem;display:flex}.ot-question-row{background:#fafafa;border:1px solid #e5e7eb;border-radius:10px;justify-content:space-between;align-items:flex-start;gap:.75rem;padding:.65rem .75rem;display:flex}.ot-q-body{flex:1;align-items:flex-start;gap:.6rem;display:flex}.ot-q-num{background:var(--primary);color:#fff;border-radius:50%;flex-shrink:0;place-items:center;width:1.8rem;height:1.8rem;font-size:.8rem;font-weight:700;display:grid}.ot-q-meta{color:#9ca3af;margin:.2rem 0 0;font-size:.78rem}.ot-empty-msg{color:#9ca3af;text-align:center;margin:0;padding:1rem 0;font-size:.88rem}.ot-take-shell{background:#f8fafc;border:1px solid #e5e7eb;border-radius:16px;flex-direction:column;gap:0;display:flex;overflow:hidden}.ot-take-topbar{color:#fff;background:#111827;flex-wrap:wrap;align-items:center;gap:1rem;padding:.8rem 1.1rem;display:flex}.ot-take-title{white-space:nowrap;text-overflow:ellipsis;flex:1;min-width:0;font-size:1rem;font-weight:700;overflow:hidden}.ot-take-timer{letter-spacing:.04em;background:#ffffff1a;border-radius:8px;padding:.25rem .75rem;font-size:1.2rem;font-weight:800;transition:background .3s,color .3s}.ot-timer-caution{color:#fbbf24!important;background:#fbbf2440!important}.ot-timer-warn{animation:1s infinite pulse;color:#ef4444!important;background:#ef444440!important}@keyframes pulse{0%,to{opacity:1}50%{opacity:.7}}.ot-take-cheat{color:#fca5a5;background:#ef444433;border-radius:6px;padding:.2rem .6rem;font-size:.8rem}.ot-take-layout{grid-template-columns:minmax(0,1fr) 200px;min-height:420px;display:grid}.ot-take-sidebar{background:#f8fafc;border-left:1px solid #e5e7eb;flex-direction:column;gap:.75rem;padding:1rem;display:flex}.ot-take-sidebar-head{justify-content:space-between;align-items:center;display:flex}.ot-take-progress{color:#6b7280;margin:0;font-size:.82rem;font-weight:600}.ot-question-nav{grid-template-columns:repeat(5,minmax(0,1fr));gap:.35rem;display:grid}.ot-qnav{cursor:pointer;background:#f8fafc;border:1px solid #d1d5db;border-radius:8px;padding:.4rem;font-size:.78rem;font-weight:600;transition:border-color .12s,background .12s,color .12s}.ot-qnav.done{color:#166534;background:#dcfce7;border-color:#16a34a}.ot-qnav.active{border-color:var(--primary);background:var(--surface-highlight);color:var(--primary);box-shadow:0 0 0 2px color-mix(in srgb, var(--primary) 20%, transparent)}.ot-question-panel{background:#fff;flex-direction:column;gap:1rem;padding:1.25rem;display:flex}.ot-q-header{justify-content:space-between;align-items:center;display:flex}.ot-q-counter{color:#6b7280;font-size:.82rem;font-weight:700}.ot-q-marks{background:var(--surface-highlight);color:var(--primary);border-radius:6px;padding:.2rem .55rem;font-size:.8rem;font-weight:600}.ot-q-text{color:#111827;margin:0;font-size:1.05rem;font-weight:600;line-height:1.5}.ot-options{flex-direction:column;gap:.5rem;display:flex}.ot-option{cursor:pointer;border:1.5px solid #e5e7eb;border-radius:10px;align-items:center;gap:.65rem;padding:.65rem .85rem;transition:border-color .14s,background .14s;display:flex}.ot-option:hover,.ot-option.selected{border-color:var(--primary);background:var(--surface-highlight)}.ot-option input[type=radio]{width:1.05rem;height:1.05rem;accent-color:var(--primary);flex-shrink:0}.ot-option-text{font-size:.93rem;font-weight:500}.ot-answer-box{width:100%;min-height:120px;font:inherit;resize:vertical;border:1.5px solid #d1d5db;border-radius:10px;padding:.75rem;transition:border-color .15s}.ot-answer-box:focus{border-color:var(--primary);box-shadow:0 0 0 3px color-mix(in srgb, var(--primary) 12%, transparent);outline:none}.ot-q-nav-row{justify-content:space-between;gap:.6rem;margin-top:auto;display:flex}.ot-result-header{justify-content:space-between;align-items:flex-start;display:flex}.ot-result-sub{color:#6b7280;margin:.2rem 0 0;font-size:.85rem}.ot-result-grid{grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:.75rem;display:grid}.ot-result-card{border:1.5px solid #e5e7eb;border-radius:14px;flex-direction:column;gap:.55rem;padding:1.1rem;display:flex}.ot-result-pass{background:#f0fdf4;border-color:#86efac}.ot-result-fail{background:#fef2f2;border-color:#fca5a5}.ot-result-pending{background:#fffbeb;border-color:#fde68a}.ot-result-badge-row{align-items:center;gap:.5rem;display:flex}.ot-result-badge{letter-spacing:.06em;border-radius:999px;padding:.2rem .55rem;font-size:.72rem;font-weight:800}.ot-badge-pass{color:#15803d;background:#dcfce7}.ot-badge-fail{color:#b91c1c;background:#fee2e2}.ot-badge-pending{color:#92400e;background:#fef9c3}.ot-result-grade{color:#374151;background:#f3f4f6;border-radius:6px;padding:.15rem .5rem;font-size:.75rem;font-weight:700}.ot-result-score-row{justify-content:space-between;align-items:center;display:flex}.ot-result-score{align-items:baseline;gap:.1rem;display:flex}.ot-score-num{color:#111827;font-size:2rem;font-weight:800;line-height:1}.ot-score-sep{color:#9ca3af;font-size:1.2rem;font-weight:400}.ot-score-total{color:#6b7280;font-size:1.2rem;font-weight:600}.ot-score-label{color:#9ca3af;margin-left:.25rem;font-size:.75rem}.ot-result-pct-circle{color:#111827;font-size:1.4rem;font-weight:800}.ot-result-breakdown{flex-wrap:wrap;gap:.6rem;font-size:.8rem;font-weight:600;display:flex}.ot-rb-correct{color:#15803d}.ot-rb-wrong{color:#b91c1c}.ot-rb-skip{color:#92400e}.ot-result-pass-info{color:#6b7280;font-size:.75rem}.ot-result-meta{color:#9ca3af;border-top:1px solid #e5e7eb;flex-direction:column;gap:.15rem;padding-top:.4rem;font-size:.78rem;display:flex}.ot-loading-state{color:#6b7280;align-items:center;gap:.6rem;padding:1.5rem;display:flex}.ot-spinner{border:2px solid #d1d5db;border-top-color:var(--primary);border-radius:50%;width:1.2rem;height:1.2rem;animation:.7s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.ot-empty-state{text-align:center;flex-direction:column;align-items:center;gap:.6rem;padding:3rem 1rem;display:flex}.ot-empty-icon{font-size:2.5rem}.ot-empty-state h3{color:#111827;margin:0}.ot-empty-state p{color:#6b7280;margin:0;font-size:.9rem}@media (width<=768px){.ot-list-toolbar,.ot-take-layout{grid-template-columns:1fr}.ot-take-sidebar{border-top:1px solid #e5e7eb;border-left:none}.ot-grid{grid-template-columns:1fr}.ot-card-meta-grid{grid-template-columns:1fr 1fr}.ot-form-grid{grid-template-columns:1fr}.ot-header{flex-direction:column;align-items:flex-start}.ot-take-topbar{gap:.5rem}.ot-take-title{font-size:.9rem}}@media (width<=480px){.ot-result-grid{grid-template-columns:1fr}.ot-panel{padding:.85rem}.ot-take-shell{border-radius:12px}}:root{--font-ui:Poppins, Inter, "Segoe UI", sans-serif;--theme-fs-mult:1;--primary:#1a73e8;--secondary:#1e3a8a;--accent:#4285f4;--banner-from:#0d534d;--banner-to:#0a3f38;--app-banner-gradient:linear-gradient(120deg, var(--banner-from) 0%, var(--banner-to) 100%);--background:#f4f7fb;--surface:#fff;--surface-alt:#f1f5f9;--surface-highlight:color-mix(in srgb, var(--primary) 8%, #fff);--border:#e2e8f0;--text:#0f172a;--muted:#64748b;--surface-color:var(--surface);--line-color:var(--border);--text-color:var(--text);--muted-color:var(--muted);--text-heading:var(--text);--link-color:var(--primary);--theme-line-height:1.52;--color-success:#16a34a;--color-warning:#ca8a04;--color-error:#dc2626;--color-info:#0284c7;--shadow:0 1px 3px #0f172a0f, 0 12px 32px #0f172a0f;--touch-min:44px;--fs-xs:.72rem;--fs-sm:.82rem;--fs-base:.95rem;--fs-md:1.05rem;--fs-lg:1.2rem;--fs-xl:1.5rem;--fs-2xl:1.9rem;color:var(--text);background:var(--background);font-family:var(--font-ui,Poppins, Inter, "Segoe UI", sans-serif);font-size:calc(var(--fs-base) * var(--theme-fs-mult,1));line-height:var(--theme-line-height,1.52);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-weight:400}@media (width<=1024px){:root{--fs-xs:.7rem;--fs-sm:.8rem;--fs-base:.92rem;--fs-md:1rem;--fs-lg:1.12rem;--fs-xl:1.35rem;--fs-2xl:1.7rem}}@media (width<=640px){:root{--fs-xs:.68rem;--fs-sm:.76rem;--fs-base:.88rem;--fs-md:.95rem;--fs-lg:1.05rem;--fs-xl:1.2rem;--fs-2xl:1.45rem}}*{box-sizing:border-box}html{scroll-padding-top:1.25rem}html.theme-ready{transition:background-color .22s,color .18s,border-color .18s}body{min-width:320px;padding-left:env(safe-area-inset-left,0px);padding-right:env(safe-area-inset-right,0px);color:var(--text);background:radial-gradient(circle at top left, #60a5fa29, transparent 30%), linear-gradient(180deg, #fff 0%, var(--background) 100%);margin:0}a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:2px solid color-mix(in srgb, var(--primary) 65%, transparent);outline-offset:2px}.primary-button,.secondary-button,.home-nav-outline,.home-nav-primary{transition:transform .18s,box-shadow .18s,filter .18s}.primary-button:hover,.home-nav-primary:hover{filter:saturate(1.05);box-shadow:0 14px 26px color-mix(in srgb, var(--primary) 24%, transparent);transform:translateY(-1px)}.secondary-button:hover,.home-nav-outline:hover{transform:translateY(-1px);box-shadow:0 10px 20px #0f172a14}button,input,textarea,select{font:inherit}button{cursor:pointer}#app{min-height:100dvh;display:block}.layout{box-sizing:border-box;flex-direction:column;min-height:100dvh;padding:20px;display:flex;position:relative}.layout>.content{flex:auto;min-width:0;min-height:0}.layout-dashboard{background:linear-gradient(#eef2f7 0%,#f1f5f9 48%,#f8fafc 100%);flex-direction:column;min-height:100dvh;padding:0;display:flex}.layout-dashboard>.dashboard-main{flex-direction:column;flex:auto;min-width:0;min-height:0;display:flex}.dashboard-header-shell{background:var(--theme-header-bg,#fff);border-bottom:1px solid var(--border,#e2e8f0);z-index:50;flex-shrink:0;position:sticky;top:0;box-shadow:0 1px 4px #0f172a12}.dashboard-header-top{min-height:56px;padding:0 20px;padding-left:max(20px, env(safe-area-inset-left,0px));padding-right:max(20px, env(safe-area-inset-right,0px));align-items:center;gap:10px;display:flex}.dashboard-header-spacer{flex-shrink:0;min-width:104px}.dashboard-header-brand{flex:auto;align-items:center;gap:10px;min-width:0;display:flex}.dashboard-header-logo{background:linear-gradient(135deg, var(--primary,#1e3a8a), color-mix(in srgb, var(--primary,#1e3a8a) 65%, #0f172a));border:none;border-radius:999px;flex-shrink:0;place-items:center;width:36px;height:36px;display:grid;box-shadow:0 2px 6px #0f172a2e}.dashboard-header-logo .logo-mark{color:#fff;width:22px;height:22px}.dashboard-header-school{font-size:var(--fs-md);letter-spacing:-.01em;color:var(--secondary,#1e3a8a);white-space:nowrap;text-overflow:ellipsis;font-weight:700;overflow:hidden}.dashboard-header-brand-text{flex-direction:column;gap:2px;min-width:0;display:flex}.dashboard-header-subtitle{font-size:var(--fs-xs);color:var(--muted);white-space:nowrap;text-overflow:ellipsis;font-weight:600;overflow:hidden}.dashboard-platform-footer{text-align:center;font-size:var(--fs-sm);color:var(--muted);border-top:1px solid var(--border);background:color-mix(in srgb, var(--surface) 92%, transparent);margin-top:auto;padding:14px 22px 22px}.dashboard-platform-footer-line{margin:0 0 4px}.dashboard-platform-footer-copy{font-size:var(--fs-xs);opacity:.92;margin:0}.school-name-short{display:none}.dashboard-header-actions{flex-shrink:0;align-items:center;gap:7px;display:flex}.dashboard-header-actions .topbar-icon-btn--theme{color:var(--primary);background:color-mix(in srgb, var(--primary) 12%, var(--surface));border:1px solid color-mix(in srgb, var(--primary) 28%, var(--border))}.dashboard-header-actions .topbar-icon-btn--theme:hover{filter:brightness(1.03)}body.dashboard-dark .dashboard-header-actions .topbar-icon-btn--theme{color:#fcd34d;background:#fbbf241f;border-color:#fbbf2459}.dashboard-header-nav{padding:0 20px;padding-left:max(20px, env(safe-area-inset-left,0px));padding-right:max(20px, env(safe-area-inset-right,0px));background:0 0;border-top:1px solid #e2e8f0}.dashboard-header-nav-inner{flex-wrap:nowrap;align-items:stretch;gap:0;max-width:1400px;margin:0 auto;padding:0;display:flex}.dashboard-header-nav--drawer{border-top:1px solid var(--border)}.dashboard-nav-link{color:var(--muted);font-size:var(--fs-sm);border:1px solid #0000;border-radius:10px;align-items:center;gap:7px;min-height:40px;padding:10px 12px;font-weight:500;text-decoration:none;transition:color .15s,border-color .15s,background .15s;display:flex}.dashboard-nav-link--header{min-height:42px;font-size:var(--fs-sm);color:#64748b;border:none;border-bottom:2px solid #0000;border-radius:0;align-items:center;gap:6px;margin-bottom:-1px;padding:10px 13px 9px;font-weight:500;box-shadow:none!important;background:0 0!important}.dashboard-nav-link--drawer{border-radius:10px;width:100%;max-width:100%}.dashboard-nav-link:hover{background:var(--surface-alt);color:var(--text)}.dashboard-nav-link--header:hover{color:#1e3a8a!important;box-shadow:none!important;background:0 0!important;border-bottom-color:#2563eb59!important}.dashboard-nav-link.active{color:var(--primary);background:#2563eb12;border-color:#2563eb2e}.dashboard-nav-link--header.active{color:#2563eb!important;box-shadow:none!important;background:0 0!important;border-color:#0000 #0000 #2563eb!important;font-weight:600!important}.dashboard-nav-icon{width:32px;height:32px;color:var(--muted);font-size:var(--fs-sm);background:#f8fafcf2;border:1px solid #e2e8f0b3;border-radius:9px;flex-shrink:0;justify-content:center;align-items:center;transition:background .15s,color .15s,border-color .15s;display:inline-flex}.dashboard-nav-link--header .dashboard-nav-icon,.dashboard-nav-link--header:hover .dashboard-nav-icon,.dashboard-nav-link--header.active .dashboard-nav-icon{width:auto;height:auto;color:inherit;border-radius:0;font-size:.8rem;background:0 0!important;border:none!important}@media (width>=1025px){.dashboard-header-nav-inner{scrollbar-width:none;flex-wrap:nowrap;gap:0;overflow:auto visible}.dashboard-header-nav-inner::-webkit-scrollbar{display:none}.dashboard-nav-link--header{flex:none;justify-content:flex-start;gap:6px;min-height:42px;padding:10px 14px 9px;font-size:.84rem}.dashboard-nav-link--header .dashboard-nav-text{white-space:nowrap}}.dashboard-nav-link:hover .dashboard-nav-icon{color:var(--primary);background:#dbeafecc;border-color:#2563eb26}.dashboard-nav-link.active .dashboard-nav-icon{color:#1d4ed8;background:linear-gradient(135deg,#dbeafe 0%,#bfdbfe 100%);border-color:#2563eb33}.dashboard-nav-text{min-width:0;line-height:1.25}.dashboard-scroll-body{min-height:0;padding:20px 22px 28px;padding-bottom:max(28px, env(safe-area-inset-bottom,0px));-webkit-overflow-scrolling:touch;flex-direction:column;flex:auto;gap:18px;display:flex;overflow:hidden auto}@media (width>=1025px){.layout-dashboard .dashboard-menu-toggle,.layout-dashboard .dashboard-nav-backdrop{display:none!important}}.layout-dashboard .content-frame{background:var(--surface);border:1px solid var(--border);box-shadow:var(--shadow);border-radius:16px;padding:22px 24px}.layout-dashboard .panel{border-radius:14px;box-shadow:0 1px 2px #0f172a0a,0 8px 24px #0f172a0d}@media (width<=1024px){.student-panel-shell{border-radius:16px;padding:10px}.student-panel-shell .student-panel-hero{border-radius:12px;flex-direction:column;gap:12px;padding:14px 10px}.student-panel-pills{flex-wrap:wrap;justify-content:flex-start;gap:10px;width:100%;display:flex}.student-panel-pill{border-radius:10px;min-width:130px;padding:10px;font-size:1rem}.student-module-tabs{scrollbar-width:thin;-webkit-overflow-scrolling:touch;border-radius:10px;grid-template-columns:none;gap:10px;padding:4px 0;display:flex;overflow-x:auto}.student-module-tab{border-radius:10px;flex:none;min-width:130px;min-height:44px;padding:10px;font-size:1.05rem}.student-module-detail{border-radius:12px;padding:12px 8px;font-size:1.04rem}.student-event-filter-tabs,.student-info-grid{grid-template-columns:1fr 1fr;gap:10px}.assignment-attachment-frame{min-height:160px}.student-assignment-list{gap:10px}.student-assignment-item,.assignment-attachment-block{border-radius:10px;padding:10px 8px;font-size:1.04rem}.assignment-attachment-preview{border-radius:8px;max-height:160px}.student-panel-eyebrow{font-size:.74rem}.student-panel-hero-content h3{font-size:1.13rem}.student-panel-hero-content p{font-size:1.04rem}.layout-dashboard .dashboard-scroll-body{padding:16px 14px 24px}.mobile-only-menu .dashboard-nav-link--drawer{white-space:normal;flex:none;justify-content:flex-start}}body.dashboard-dark .layout-dashboard{background:#020617}body.dashboard-dark .dashboard-header-shell{background:#0f172a;border-bottom-color:#33415580;box-shadow:0 1px #00000059}body.dashboard-dark .dashboard-header-nav{background:0 0;border-top-color:#33415580}body.dashboard-dark .dashboard-header-school{color:#e2e8f0}body.dashboard-dark .dashboard-header-logo{background:#1e40af;box-shadow:0 2px 8px #2563eb40}body.dashboard-dark .dashboard-nav-link{color:#cbd5e1d9}body.dashboard-dark .dashboard-nav-link:hover{color:#f8fafc;background:#1e293bcc}body.dashboard-dark .dashboard-nav-link--header:hover{color:#93c5fd!important;background:0 0!important;border-bottom-color:#93c5fd80!important}body.dashboard-dark .dashboard-nav-link.active{color:#93c5fd;background:#2563eb2e;border-color:#3b82f661}body.dashboard-dark .dashboard-nav-link--header.active{color:#60a5fa!important;box-shadow:none!important;background:0 0!important;border-color:#0000 #0000 #60a5fa!important}body.dashboard-dark .dashboard-nav-icon{color:#94a3b8e6;background:#0f172ad9;border-color:#3341558c}body.dashboard-dark .dashboard-nav-link--header .dashboard-nav-icon{color:inherit;background:0 0!important;border:none!important}body.dashboard-dark .dashboard-nav-link.active .dashboard-nav-icon{color:#bfdbfe;background:#2563eb4d;border-color:#3b82f666}body.dashboard-dark .layout-dashboard .content-frame{background:#0f172aa6;border-color:#3341558c}body.dashboard-dark .layout-dashboard .panel{background:linear-gradient(#0f172aeb 0%,#0f172ae0 100%);border-color:#3341558c}.sidebar{background:linear-gradient(180deg, var(--secondary) 0%, #172554 100%);color:#eff6ff;border:1px solid #1e3a8a33;border-radius:20px;flex-direction:column;gap:14px;min-height:calc(100vh - 40px);max-height:calc(100vh - 40px);padding:18px 14px;display:flex;position:sticky;top:20px;overflow:hidden;box-shadow:0 18px 42px #0f172a33}.sidebar-header{justify-content:space-between;align-items:center;gap:10px;display:flex}.brand{font-size:var(--fs-xl);letter-spacing:-.02em;font-weight:700}.brand-block{align-items:center;gap:10px;min-width:0;display:flex}.brand-mark{color:#fff;background:linear-gradient(#60a5faf2,#2563ebf2);border-radius:14px;place-items:center;width:42px;height:42px;font-weight:700;display:grid;box-shadow:0 10px 24px #2563eb40}.sidebar .brand-mark .logo-mark{width:30px;height:30px;display:block}.sidebar-school-name{font-size:1rem;line-height:1.15}.sidebar-toggle{color:#e2e8f0;background:#ffffff1a;border:1px solid #bfdbfe47;border-radius:8px;width:28px;height:28px;font-weight:700}.brand-copy,.user-panel span,.page-header p,.list-item span,.stat-row span,.muted-copy,.helper-copy{color:var(--muted)}.sidebar .brand-copy,.sidebar .user-panel span{color:#eff6ffc7}.nav{flex-direction:column;gap:8px;padding-right:2px;display:flex;overflow-y:auto}.nav-link{color:#eff6ffeb;border:1px solid #0000;border-radius:14px;align-items:center;gap:10px;padding:12px 14px;font-weight:500;text-decoration:none;transition:all .2s;display:flex;transform:translateZ(0)}.nav-icon{color:#eff6fffa;width:22px;height:22px;font-size:var(--fs-xs);background:#ffffff1a;border-radius:7px;place-items:center;display:inline-grid}.nav-link:hover,.nav-link.active{color:#fff;background:#60a5fa33;border-color:#60a5fa42;transform:translateY(-1px)}.sidebar-overlay{opacity:0;pointer-events:none;z-index:30;background:#02061780;border:0;transition:all .22s;position:fixed;inset:0}.sidebar-overlay.show{opacity:1;pointer-events:auto}.content{flex-direction:column;gap:18px;min-width:0;padding:0;display:flex}.topbar-signout{border-radius:12px;min-height:38px;padding:0 12px}.page-header h1,.panel h2,.auth-card h1{margin:0;font-size:clamp(1rem,2.5vw,1.35rem);line-height:1.25}.page-header h1,.panel h2{color:var(--secondary)}.stack{flex-direction:column;gap:20px;display:flex}.learning-module-nav{border:1px solid var(--border);box-shadow:var(--shadow);background:#f8fafce6;border-radius:14px;flex-wrap:wrap;gap:8px;padding:10px 12px;display:flex}.learning-module-nav a{font-size:var(--fs-sm);color:var(--muted);border:1px solid #0000;border-radius:10px;padding:8px 14px;font-weight:600;text-decoration:none;transition:background .15s,color .15s,border-color .15s}.learning-module-nav a:hover{color:var(--secondary);background:#ffffffd9;border-color:#94a3b840}.learning-module-nav a.active{color:var(--primary);background:#fff;border-color:#3b82f659}.topbar{border:1px solid var(--border);box-shadow:var(--shadow);z-index:50;-webkit-backdrop-filter:blur(12px);background:linear-gradient(#fffffffa 0%,#f8fafcfa 100%);border-radius:20px;flex-direction:column;flex-shrink:0;align-self:stretch;gap:0;padding:12px 18px;display:flex;position:relative;overflow:visible}.topbar-main{justify-content:space-between;align-items:center;gap:10px;width:100%;min-width:0;display:flex}.topbar-layer-main{border-bottom:1px solid #94a3b82e;padding-bottom:10px}.topbar-layer-nav{justify-content:flex-start;align-items:center;gap:8px;width:100%;min-width:0;padding-top:12px;padding-bottom:8px;display:flex}.topbar-brand{flex:auto;align-items:center;gap:12px;min-width:0;display:flex}.topbar-brand-icon{background:linear-gradient(#fff,#f8fafc);border:1px solid #94a3b838;border-radius:999px;flex-shrink:0;place-items:center;width:40px;height:40px;display:grid;box-shadow:0 4px 12px #0f172a0f}.topbar-brand-icon .logo-mark{width:28px;height:28px;display:block}.topbar-icon-hit{justify-content:center;align-items:center;display:inline-flex;position:relative}.topbar-notify-dot{background:#ef4444;border:2px solid #fff;border-radius:999px;width:7px;height:7px;position:absolute;top:1px;right:1px;box-shadow:0 0 0 1px #ef444459}.topbar-user-block{cursor:pointer;align-items:center;gap:7px;min-width:0;display:inline-flex}.topbar-profile-chevron{color:var(--muted);opacity:.9;flex-shrink:0}.topbar-brand strong{color:var(--secondary);font-size:var(--fs-base);letter-spacing:-.01em;white-space:nowrap;text-overflow:ellipsis;display:block;overflow:hidden}.topbar-brand span{display:none}.header-nav{flex-wrap:wrap;flex:1;align-items:center;gap:6px;min-width:0;padding:2px 0 4px;display:flex;overflow:visible}.header-nav-primary{flex:1}.desktop-only-menu{display:flex}.mobile-only-menu{display:none}.dashboard-menu{border-top:0;padding-top:0}.header-nav::-webkit-scrollbar{display:none}.header-nav-link{color:var(--muted);font-size:var(--fs-sm);white-space:nowrap;border:1px solid #0000;border-radius:10px;flex-shrink:0;align-items:center;gap:5px;max-width:100%;min-height:36px;padding:8px 12px;font-weight:600;text-decoration:none;transition:all .2s;display:inline-flex}.header-nav-link:hover{background:var(--surface-alt);color:var(--secondary)}.header-nav-link.active{color:var(--secondary);background:#2563eb1a;border-color:#2563eb38}.header-nav-icon{flex-shrink:0;justify-content:center;align-items:center;width:18px;height:18px;font-size:1rem;display:inline-flex}.header-nav-icon--default{color:var(--muted)}.header-nav-icon--dashboard{color:#2563eb}.header-nav-icon--students{color:#059669}.header-nav-icon--teachers{color:#d97706}.header-nav-icon--classes{color:#dc2626}.header-nav-icon--attendance{color:#0891b2}.header-nav-icon--biometric{color:#4f46e5}.header-nav-icon--exams{color:#ca8a04}.header-nav-icon--fees{color:#16a34a}.header-nav-icon--payroll{color:#ea580c}.header-nav-icon--notices{color:#db2777}.header-nav-icon--reports{color:var(--primary)}.header-nav-icon--results{color:#6366f1}.header-nav-icon--children{color:var(--primary)}body.dashboard-dark .header-nav-icon--dashboard{color:#60a5fa}body.dashboard-dark .header-nav-icon--students{color:#34d399}body.dashboard-dark .header-nav-icon--teachers{color:#fbbf24}body.dashboard-dark .header-nav-icon--classes{color:#f87171}body.dashboard-dark .header-nav-icon--attendance{color:#22d3ee}body.dashboard-dark .header-nav-icon--biometric{color:#a5b4fc}body.dashboard-dark .header-nav-icon--exams{color:#facc15}body.dashboard-dark .header-nav-icon--fees{color:#4ade80}body.dashboard-dark .header-nav-icon--payroll{color:#fb923c}body.dashboard-dark .header-nav-icon--notices{color:#f472b6}body.dashboard-dark .header-nav-icon--reports{color:#2dd4bf}body.dashboard-dark .header-nav-icon--results{color:#a5b4fc}body.dashboard-dark .header-nav-icon--children{color:#2dd4bf}body.dashboard-dark .header-nav-icon--default{color:#e2e8f0bf}@media (width>=1280px){.header-nav-link{padding:8px 14px;font-size:.9rem}.header-nav-icon{width:20px;height:20px;font-size:1.05rem}.header-nav{gap:8px}}.topbar-actions{align-items:center;gap:8px;min-width:0;display:flex}.menu-toggle{color:#1e3a8a;background:#fff;border:1px solid #e2e8f0;border-radius:9px;justify-content:center;align-items:center;gap:8px;padding:6px 12px;font-weight:600;transition:background .15s;display:none}.student-header-menu-btn{color:#1e3a8a;cursor:pointer;background:#fff;border:1px solid #e2e8f0;border-radius:12px;flex-shrink:0;justify-content:center;align-items:center;width:42px;height:42px;transition:background .15s,border-color .15s;display:none}.student-header-menu-btn:hover{background:#f1f5f9;border-color:#c7d2e0}.menu-toggle-text{line-height:1;font-size:var(--fs-sm)}.dashboard-nav-backdrop{display:none}@media (width<=1024px){.dashboard-nav-backdrop{z-index:40;cursor:pointer;-webkit-backdrop-filter:blur(2px);opacity:0;pointer-events:none;background:#0f172a52;border:0;margin:0;padding:0;transition:opacity .2s;display:block;position:fixed;inset:0}.dashboard-nav-backdrop--visible{opacity:1;pointer-events:auto}body.dashboard-dark .dashboard-nav-backdrop{background:#0000008c}}body.dashboard-dark{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--surface-color:#030712f0;--line-color:#ffffff1f;--text-color:#fff;--muted-color:#e2e8f0e0;color:#fff;background:radial-gradient(circle at 12% 0,#2563eb0f,#0000 42%),linear-gradient(#020617 0%,#030712 45%,#0a0a0a 100%)}body.dashboard-dark .topbar{background:linear-gradient(#020617 0%,#030712 100%);border:1px solid #ffffff14;box-shadow:0 20px 48px #0000008c}body.dashboard-dark .topbar-layer-main{border-bottom-color:#ffffff1a}body.dashboard-dark .topbar-brand strong{color:#fff}body.dashboard-dark .header-nav-link{color:#ffffffeb}body.dashboard-dark .header-nav-link:hover{color:#fff;background:#ffffff14}body.dashboard-dark .header-nav-link.active{color:#fff;background:#2563eb59;border-color:#60a5fa73}body.dashboard-dark .topbar-chip{color:#e2e8f0;background:0 0;border:none}body.dashboard-dark .topbar-icon-btn,body.dashboard-dark .topbar-signout-btn{color:#fff}body.dashboard-dark .avatar-badge{background:#2563eb}body.dashboard-dark .menu-toggle{color:#93c5fd;background:#1e293bcc;border-color:#33415599}body.dashboard-dark .content-frame,body.dashboard-dark .panel,body.dashboard-dark .metric-card,body.dashboard-dark .list-item,body.dashboard-dark .table-shell,body.dashboard-dark .form-shell{color:#fff;background:#030712f0;border-color:#ffffff1a}body.dashboard-dark .page-header h1,body.dashboard-dark .panel h2,body.dashboard-dark .stat-row strong,body.dashboard-dark .list-item strong{color:#fff}body.dashboard-dark .page-header p,body.dashboard-dark .stat-row span,body.dashboard-dark .list-item span,body.dashboard-dark .muted-copy,body.dashboard-dark .helper-copy{color:#ffffffe0}body.dashboard-dark .notices-title{color:#fff}body.dashboard-dark .notices-title-icon{color:#93c5fd}body.dashboard-dark .metric-card-content span,body.dashboard-dark .metric-card-content strong{color:#fff}body.dashboard-dark .topbar-brand-icon{background:#ffffff0f;border-color:#ffffff1f}body.dashboard-dark .topbar-notify-dot{border-color:#020617}body.dashboard-dark .topbar-profile-chevron{color:#e2e8f0c7}body.dashboard-dark th{color:#ffffffd1;background:#020617f2;border-bottom-color:#ffffff1a}body.dashboard-dark td{color:#fff;border-bottom-color:#ffffff14}body.dashboard-dark table{background:#03071280}body.dashboard-dark .table-wrap{background:#0307128c;border-color:#ffffff1a}body.dashboard-dark input,body.dashboard-dark textarea,body.dashboard-dark select{color:#fff;background:#020617d9;border-color:#ffffff24}body.dashboard-dark label{color:#ffffffeb}body.dashboard-dark .stat-row{border-bottom-color:#ffffff1a}body.dashboard-dark .list-item{background:#0206178c;border-color:#ffffff1a}body.dashboard-dark .secondary-button{color:#fff;background:#ffffff14;border-color:#ffffff2e}body.dashboard-dark .error-box{color:#fecaca;background:#7f1d1d59;border-color:#f8717173}.topbar-chip{min-height:32px;color:var(--secondary);background:0 0;border:none;border-radius:8px;align-items:center;padding:0 10px;font-size:.88rem;font-weight:600;display:inline-flex}.topbar-icon-btn{cursor:pointer;border:none;border-radius:999px;justify-content:center;width:34px;min-width:34px;height:34px;padding:0;transition:opacity .15s,transform .12s}.topbar-icon-btn:hover{opacity:.88;transform:translateY(-1px)}.topbar-icon-btn svg{width:15px;height:15px}.topbar-icon-btn--theme{color:#fff;background:#f59e0b}.topbar-icon-btn--notify{color:#fff;background:#ef4444}.topbar-icon-btn--leave{color:#fff;background:#2563eb}body.dashboard-dark .topbar-icon-btn--theme{color:#fcd34d;background:#fbbf241f;border-color:#fbbf2459}body.dashboard-dark .topbar-icon-btn--notify{color:#fca5a5;background:#f871711f;border-color:#f8717159}body.dashboard-dark .topbar-icon-btn--leave{color:#93c5fd;background:#3b82f624;border-color:#93c5fd59}.topbar-signout-btn{color:inherit}.profile-chip{white-space:nowrap;text-overflow:ellipsis;max-width:160px;font-size:var(--fs-sm);color:#1e3a8a;font-weight:600;overflow:hidden;background:0 0!important;border:none!important;padding:0!important}.avatar-badge{color:#fff;width:34px;height:34px;font-size:var(--fs-sm);letter-spacing:.01em;background:#2563eb;border-radius:999px;flex-shrink:0;place-items:center;font-weight:700;display:grid}.dashboard-header{flex-shrink:0;justify-content:space-between;align-items:center;gap:16px;display:flex}.page-title-group{flex-direction:column;gap:4px;display:flex}.page-actions{gap:10px;display:flex}.content-frame{box-shadow:var(--shadow);background:#ffffff8f;border:1px solid #94a3b81f;border-radius:26px;padding:20px}.panel{border:1px solid var(--border);box-shadow:var(--shadow);background:linear-gradient(#fffffffa 0%,#f8fafcfa 100%);border-radius:20px;padding:20px}.panel-header{grid-template-columns:1fr auto;align-items:center;gap:12px;min-width:0;margin-bottom:16px;display:grid}.panel-header h2{text-overflow:ellipsis;white-space:nowrap;min-width:0;margin:0;overflow:hidden}.panel-actions{white-space:nowrap;align-items:center;gap:8px;display:inline-flex}.panel-actions .primary-button,.panel-actions .student-action-button,.student-action-button{white-space:nowrap}@media (width<=767px){.panel{border-radius:14px;padding:14px 12px}.content-frame{border-radius:14px;padding:12px}.dashboard-scroll-body{gap:12px;padding:10px}.stack{gap:12px}}@media (width<=600px){.panel-header{grid-template-columns:1fr;gap:8px}.panel-header h2{white-space:normal;text-overflow:unset;overflow:visible}.panel-actions{width:100%}.panel-actions .primary-button,.panel-actions .student-action-button{text-align:center;justify-content:center;width:100%}}.summary-block{align-items:flex-start;gap:15px;display:flex}.summary-icon{color:#fff;border-radius:12px;flex-shrink:0;justify-content:center;align-items:center;width:50px;height:50px;display:flex;box-shadow:0 4px 12px #0f172a1f}.summary-icon-stack{justify-content:center;align-items:center;width:30px;height:28px;display:inline-flex;position:relative}.summary-icon-stack-base{color:#fff;font-size:26px;display:block}.summary-icon-stack-badge{background:#fff;border-radius:999px;justify-content:center;align-items:center;width:15px;height:15px;display:flex;position:absolute;bottom:-3px;right:-5px;box-shadow:0 1px 4px #0f172a38}.summary-icon-attendance .summary-icon-stack-badge{color:#1d4ed8}.summary-icon-fees .summary-icon-stack-badge{color:#c2410c}.summary-icon-stack-badge-glyph{margin-top:1px;font-size:9px;line-height:1}.summary-icon-attendance{background:linear-gradient(#60a5fa 0%,#3b82f6 55%,#2563eb 100%)}.summary-icon-fees{background:linear-gradient(#facc15 0%,#f59e0b 55%,#ea580c 100%)}.summary-stats{flex:1;min-width:0}.notices-title{color:#1e3a8a;align-items:center;gap:10px;display:inline-flex}.notices-title-icon{color:#3b82f6;font-size:var(--fs-2xl)}.card-grid{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:20px;margin-bottom:24px;display:grid}.card-grid--metrics{grid-template-columns:repeat(auto-fill,minmax(min(100%,200px),1fr));gap:16px}@media (width<=520px){.card-grid--metrics{grid-template-columns:1fr}}.card-grid.two-up{grid-template-columns:repeat(2,minmax(0,1fr))}.metric-card{cursor:pointer;background:#f5f7fb;border:1px solid #e0e6ed;border-radius:16px;align-items:center;gap:15px;padding:20px;transition:all .3s;display:flex}.metric-card:hover{transform:translateY(-2px);box-shadow:0 8px 25px #0000001a}.metric-card-icon{color:#fff;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:70px;height:70px;font-size:28px;display:flex}.metric-card-icon.blue{background:linear-gradient(135deg,#3b82f6,#60a5fa)}.metric-card-icon.yellow{background:linear-gradient(135deg,#f59e0b,#fbbf24)}.metric-card-icon.orange{background:linear-gradient(135deg,#f97316,#fb923c)}.metric-card-icon.purple{background:linear-gradient(135deg,#6366f1,#818cf8)}.metric-card-content{flex-direction:column;gap:4px;display:flex}.metric-card-content span{color:#2d3a5f;font-size:14px;font-weight:500}.metric-card-content strong{color:#2d3a5f;font-size:24px;font-weight:700}.tone-primary{background:linear-gradient(#2563eb29,#eff6fff5)}.tone-success{background:linear-gradient(#60a5fa29,#f8fafcf5)}.tone-warning{background:linear-gradient(#e2e8f0e6,#fffffffa)}.tone-info{background:linear-gradient(#bfdbfe8c,#fffffffa)}.stat-row{border-bottom:1px solid #94a3b829;justify-content:space-between;padding:10px 0;display:flex}.simple-list{flex-direction:column;gap:12px;display:flex}.helper-copy{margin-top:12px}.list-item{background:linear-gradient(180deg, #fff 0%, var(--surface-alt) 100%);border:1px solid #94a3b824;border-radius:14px;flex-direction:column;gap:4px;padding:14px;display:flex}.table-wrap{-webkit-overflow-scrolling:touch;overscroll-behavior-x:contain;background:#ffffff59;border:1px solid #94a3b81f;border-radius:16px;overflow-x:auto}.table-wrap table{width:max-content;min-width:100%}table{border-collapse:collapse;background:#ffffffa6;border-radius:16px;width:100%;overflow:hidden}th,td{text-align:left;border-bottom:1px solid #94a3b824;padding:12px 10px}.form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.biometric-capture-grid{margin-top:8px}.form-actions-row{flex-wrap:wrap;align-items:center;gap:12px;margin-top:16px;display:flex}.student-panel-shell{--student-accent-a:#0d9488;--student-accent-b:var(--primary);--student-accent-shadow:color-mix(in srgb, var(--primary) 22%, transparent);isolation:isolate;border:1px solid color-mix(in srgb, var(--primary) 18%, var(--border));background:radial-gradient(130% 130% at 100% -10%, color-mix(in srgb, var(--primary) 18%, transparent) 0%, #3b82f600 52%), radial-gradient(95% 95% at -5% 100%, color-mix(in srgb, var(--banner-from) 12%, transparent) 0%, #10b98100 46%), linear-gradient(160deg, #fff 0%, var(--surface-highlight) 48%, var(--surface-alt) 100%);box-shadow:0 20px 40px color-mix(in srgb, var(--primary) 12%, transparent), inset 0 1px 0 #ffffffd6;border-radius:20px;flex-direction:column;gap:16px;padding:14px;display:flex;position:relative;overflow:hidden}.student-panel-shell:before,.student-panel-shell:after{content:"";pointer-events:none;z-index:0;border-radius:999px;position:absolute}.student-panel-shell:before{background:radial-gradient(circle at 35% 35%, #ffffffc7, color-mix(in srgb, var(--primary) 14%, transparent) 72%);width:210px;height:210px;top:-90px;right:-70px}.student-panel-shell:after{background:radial-gradient(circle at 42% 42%,#ffffffb8,#14b8a626 74%);width:180px;height:180px;bottom:-70px;left:-54px}.student-panel-shell>*{z-index:1;position:relative}.student-panel-shell .student-panel-hero{border:1px solid color-mix(in srgb, var(--primary) 22%, var(--border));background:radial-gradient(circle at 100% 0%, #ffffff94, #fff0 52%), linear-gradient(135deg, color-mix(in srgb, var(--student-accent-a) 14%, #fff) 0%, color-mix(in srgb, var(--student-accent-b) 15%, var(--surface-highlight)) 100%);box-shadow:0 16px 24px color-mix(in srgb, var(--primary) 10%, transparent), 0 1px 0 #ffffffdb inset;border-radius:18px;justify-content:space-between;align-items:stretch;gap:14px;padding:14px 16px;display:flex;position:relative;overflow:hidden}.student-panel-shell .student-panel-hero:after{content:"";filter:blur(2px);pointer-events:none;background:linear-gradient(#ffffff8c,#fff0);border-radius:999px;width:170px;height:170px;position:absolute;top:-74px;right:-50px}.student-panel-shell .student-panel-hero:before{content:"";pointer-events:none;background:linear-gradient(110deg,#fff0 12%,#ffffff4d 46%,#fff0 74%);animation:6.8s ease-in-out infinite studentHeroShine;position:absolute;inset:0;transform:translate(-120%)}.student-panel-hero-content{gap:6px;max-width:560px;display:grid}.student-panel-eyebrow{letter-spacing:.1em;text-transform:uppercase;color:#334155;margin:0;font-size:.74rem;font-weight:700}.student-panel-hero-content h3{color:#0b1325;margin:0;font-size:clamp(1.1rem,2.2vw,1.35rem)}.student-panel-hero-content p{color:#334155;max-width:54ch;margin:0}.student-panel-pills{align-items:center;gap:10px;display:flex}.student-panel-pill{background:linear-gradient(#fffffff2,#edf2ffe6);border:1px solid #6366f133;border-radius:12px;gap:2px;min-width:118px;padding:10px 12px;display:grid;box-shadow:0 10px 18px #2563eb24,inset 0 1px #ffffffe6}.student-panel-pill strong{color:#0f172a;font-size:1rem;line-height:1.2}.student-panel-pill small{color:#475569;text-transform:uppercase;letter-spacing:.04em;font-size:.74rem}.student-panel-shell.module-attendance,.student-panel-shell.module-profile,.student-panel-shell.module-bank,.student-panel-shell.module-result,.student-panel-shell.module-notice,.student-panel-shell.module-events,.student-panel-shell.module-holiday,.student-panel-shell.module-assignment{animation:.38s studentPanelReveal}.student-panel-shell.module-attendance{--student-accent-a:#10b981;--student-accent-b:#2563eb}.student-panel-shell.module-profile{--student-accent-a:#0ea5e9;--student-accent-b:#4f46e5}.student-panel-shell.module-bank{--student-accent-a:var(--primary);--student-accent-b:#1d4ed8}.student-panel-shell.module-result{--student-accent-a:#0891b2;--student-accent-b:#7c3aed}.student-panel-shell.module-notice{--student-accent-a:#2563eb;--student-accent-b:#0ea5e9}.student-panel-shell.module-events{--student-accent-a:#d97706;--student-accent-b:#ea580c}.student-panel-shell.module-holiday{--student-accent-a:#059669;--student-accent-b:var(--primary)}.student-panel-shell.module-assignment{--student-accent-a:#7c3aed;--student-accent-b:#2563eb}.student-module-tabs{-webkit-backdrop-filter:blur(12px);background:linear-gradient(120deg,#6366f11a 0%,#10b98114 100%);border:1.5px solid #e0e7ef;border-radius:18px;justify-content:space-between;align-items:center;gap:28px;width:100%;padding:16px 18px;display:flex;box-shadow:0 4px 32px #5064b41a}.student-module-tab{--tab-icon:var(--primary);color:#1e293b;min-height:64px;font-weight:700;font-size:var(--fs-xl);cursor:pointer;letter-spacing:.01em;background:#ffffffd9;border:2px solid #0000;border-radius:14px;flex:1;justify-content:center;align-items:center;gap:10px;max-width:100%;padding:14px 0;transition:all .18s cubic-bezier(.4,0,.2,1);display:flex;position:relative;overflow:hidden;box-shadow:0 2px 12px #6366f114}.student-module-tab.is-active,.student-module-tab:focus-visible{color:#fff;background:linear-gradient(90deg,#6366f1 0%,#06b6d4 100%);border:2px solid #6366f1;box-shadow:0 4px 18px #6366f121}.student-module-tab:hover:not(.is-active){color:#22223b;background:linear-gradient(90deg,#e0e7ef 0%,#f1f5f9 100%);border:2px solid #a5b4fc;box-shadow:0 2px 12px #6366f11a}.student-module-tab svg{color:var(--tab-icon);filter:drop-shadow(0 2px 6px #6366f11a);margin-right:4px;font-size:1rem;transition:color .22s,transform .22s}.student-module-tab:first-child{--tab-icon:var(--primary)}.student-module-tab:nth-child(2){--tab-icon:#4f46e5}.student-module-tab:nth-child(3){--tab-icon:#0e7490}.student-module-tab:nth-child(4){--tab-icon:#1d4ed8}.student-module-tab:nth-child(5){--tab-icon:#b45309}.student-module-tab:nth-child(6){--tab-icon:var(--primary)}.student-module-tab:nth-child(7){--tab-icon:#7c3aed}.student-module-tab:before{content:"";opacity:0;background:linear-gradient(90deg,#38bdf8 0%,#10b981 100%);height:3px;transition:all .22s;position:absolute;inset:auto 0 0;transform:translateY(4px)}.student-module-tab:hover{border-color:#2563eb73;transform:translateY(-2px);box-shadow:0 14px 20px #2563eb26,inset 0 1px #ffffffdb}.student-module-tab:hover svg{color:color-mix(in srgb, var(--tab-icon) 78%, #0f172a 22%);transform:translateY(-1px)}.student-module-tab.is-active{background:linear-gradient(135deg, var(--student-accent-a) 0%, var(--student-accent-b) 100%);color:#f8fafc;box-shadow:0 14px 24px var(--student-accent-shadow);border-color:#0000}.student-module-tab.is-active svg{color:#f8fafc;transform:none}.student-module-tab.is-active:before,.student-module-tab:hover:before{opacity:1;transform:translateY(0)}.student-module-detail{-webkit-backdrop-filter:none;backdrop-filter:none;background:linear-gradient(#fffffff7 0%,#f1f6ffed 100%);border:1px solid #6366f129;border-radius:16px;padding:18px;animation:.26s studentModuleFade;box-shadow:0 14px 24px #2563eb17,inset 0 1px #fffc}.student-module-detail h4{color:#0f2f84;font-size:var(--fs-base);letter-spacing:.01em;margin:0 0 16px}.student-event-filter-tabs{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:0 0 14px;display:grid}.student-event-filter-tab{color:#0f172a;background:linear-gradient(#fff 0%,#f2f7fd 100%);border:1px solid #94a3b866;border-radius:12px;justify-content:space-between;align-items:center;gap:10px;min-height:52px;padding:8px 10px;font-weight:600;transition:all .2s;display:inline-flex}.student-event-filter-tab strong{min-width:26px;height:26px;font-size:var(--fs-xs);background:#0f172a14;border-radius:999px;place-items:center;display:inline-grid}.student-event-filter-tab:hover{border-color:#2563eb73;transform:translateY(-1px);box-shadow:0 10px 16px #2563eb1f}.student-event-filter-tab.is-active{background:linear-gradient(135deg, var(--student-accent-a) 0%, var(--student-accent-b) 100%);color:#f8fafc;box-shadow:0 12px 20px var(--student-accent-shadow);border-color:#0000}.student-event-filter-tab.is-active strong{background:#fff3}.student-info-grid{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:14px;display:grid}.student-info-card{background:linear-gradient(155deg,#fffffffa 0%,#f1f5ffe6 100%),repeating-linear-gradient(-45deg,#94a3b80a 0 6px,#94a3b800 6px 12px);border:1px solid #6366f129;border-radius:14px;flex-direction:column;gap:8px;padding:14px;display:flex;box-shadow:0 10px 16px #2563eb14}.student-info-card strong{font-size:var(--fs-sm);color:#516176;text-transform:uppercase;letter-spacing:.03em;font-weight:700}.student-info-card span{font-size:var(--fs-md);color:#0b1325;font-weight:600}.student-quick-list{color:#0f172a;gap:10px;margin:0;padding-left:20px;display:grid}.student-module-detail .list-item{border:1px solid #6366f124;border-radius:12px;box-shadow:0 8px 14px #2563eb14}.student-assignment-list{gap:12px;display:grid}.student-assignment-item{background:linear-gradient(170deg,#fffffffa,#edf4ffe6);border:1px solid #6366f129;border-radius:14px;gap:8px;padding:12px;display:grid;box-shadow:0 10px 18px #2563eb1a,inset 0 1px #ffffffdb}.assignment-attachment-block{background:linear-gradient(#fffffff5,#f2f6ffe6);border:1px solid #6366f12e;border-radius:12px;gap:10px;padding:10px;display:grid;box-shadow:0 8px 14px #2563eb14}.assignment-attachment-actions{flex-wrap:wrap;gap:8px;display:flex}.assignment-attachment-preview{object-fit:contain;background:#fff;border:1px solid #94a3b83d;border-radius:10px;width:100%;max-height:280px}.assignment-attachment-frame{min-height:280px}@media (width<=768px){.dashboard-header-top{align-items:center;gap:6px;min-height:48px;padding:4px 2px 2px;display:flex}.dashboard-menu-toggle,.topbar-chip,.topbar-user-block,.topbar-signout-btn{box-sizing:border-box;justify-content:center;align-items:center;min-width:38px;min-height:38px;margin:0 2px;padding:0 7px;font-size:1.08rem;display:flex;border-radius:10px!important}.dashboard-header-spacer{min-width:42px}.dashboard-header-actions{align-items:center;gap:4px;display:flex}.topbar-user-block{min-width:0;box-shadow:none;background:0 0;gap:4px;padding:0 6px}.avatar-badge{border-radius:50%;min-width:28px;min-height:28px;margin-right:0;font-size:1.08rem}.profile-chip{display:none}.dashboard-header-brand{flex:auto;justify-content:flex-start;align-items:center;gap:6px;min-width:0;display:flex}.dashboard-header-school{white-space:nowrap;text-overflow:ellipsis;max-width:120px;font-size:1.02rem;overflow:hidden}.school-name-full{display:none}.school-name-short{display:inline}.dashboard-header-logo{width:28px;min-width:28px;height:28px;min-height:28px}.topbar-icon-btn svg{font-size:1.18rem}.topbar-icon-btn--notify{background:#fff7f7;border:1.5px solid #fecaca}.topbar-icon-btn--theme{background:#fffbe7;border:1.5px solid #fde68a}.topbar-signout-btn{background:#f1f5f9;border:1.5px solid #cbd5e1}.dashboard-menu-toggle{background:#f1f5f9;border:1.5px solid #cbd5e1;font-weight:600}.dashboard-header-top .menu-toggle-text{display:none}.topbar-profile-chevron{margin-left:2px;font-size:1.1rem}.dashboard-header-actions .topbar-chip{margin:0 1px}}@media (width<=480px){.student-panel-shell{border-radius:10px;padding:6px}.student-panel-shell .student-panel-hero{border-radius:8px;flex-direction:column;gap:7px;padding:8px 6px}.student-panel-pills{flex-wrap:wrap;justify-content:flex-start;gap:6px;width:100%;display:flex}.student-panel-pill{min-width:120px;padding:8px;font-size:.98rem}.student-module-tabs{scrollbar-width:thin;-webkit-overflow-scrolling:touch;grid-template-columns:none;gap:7px;padding:2px 0;display:flex;overflow-x:auto}.student-module-tab{flex:none;min-width:120px;min-height:38px;padding:7px 8px;font-size:.97rem}.student-module-detail{border-radius:10px;padding:8px 5px;font-size:.98rem}.student-event-filter-tabs,.student-info-grid{grid-template-columns:1fr;gap:7px}.assignment-attachment-frame{min-height:140px}.student-assignment-list{gap:7px}.student-assignment-item,.assignment-attachment-block{border-radius:8px;padding:7px 5px;font-size:.97rem}.assignment-attachment-preview{border-radius:6px;max-height:120px}.student-panel-eyebrow{font-size:.68rem}.student-panel-hero-content h3{font-size:1.08rem}.student-panel-hero-content p{font-size:.97rem}}@keyframes studentHeroShine{0%{opacity:0;transform:translate(-120%)}16%{opacity:.9}44%{opacity:0;transform:translate(120%)}to{opacity:0;transform:translate(120%)}}@keyframes studentPanelReveal{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}@keyframes studentModuleFade{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.error-inline{color:#b91c1c;font-weight:600}.punch-feedback{border-radius:12px;margin:0 0 12px;padding:12px 14px;font-size:.95rem;line-height:1.45}.punch-feedback--ok{color:#047857;background:#10b9811f;border:1px solid #10b98159}.punch-feedback--error{color:#b91c1c;background:#ef44441a;border:1px solid #ef444459;font-weight:600}body.dashboard-dark .punch-feedback--ok{color:#6ee7b7;background:#10b98124;border-color:#10b98147}body.dashboard-dark .punch-feedback--error{color:#fca5a5;background:#ef44441f;border-color:#ef44444d}.exam-filter-label{margin-bottom:14px;display:block}.exam-filter-label select{max-width:420px;margin-top:6px;display:block}.exam-table-wrap table{border-collapse:collapse;width:100%}.exam-table-wrap th,.exam-table-wrap td{text-align:left;border-bottom:1px solid var(--border);padding:10px 12px;font-size:.9rem}.exam-table-wrap th{color:var(--muted);background:var(--surface-alt);font-weight:600}.exam-actions-cell{white-space:normal}.exam-inline-btn{min-height:auto;margin:2px 6px 2px 0;padding:6px 10px;font-size:.82rem}.exam-inline-btn--danger{color:#b91c1c;border-color:#ef444459}body.dashboard-dark .exam-inline-btn--danger{color:#fca5a5}.exam-result-editor{border-top:1px solid var(--border);flex-direction:column;gap:14px;margin-top:20px;padding-top:18px;display:flex}.exam-result-editor-title{margin:0;font-size:1.05rem}.subject-marks-grid{flex-direction:column;gap:12px;display:flex}.subject-marks-row{border-bottom:1px solid var(--border);grid-template-columns:repeat(3,minmax(0,1fr));align-items:end;gap:10px;padding-bottom:4px;display:grid}.subject-marks-row:last-of-type{border-bottom:none}.subject-marks-row-head{flex-wrap:wrap;grid-column:1/-1;justify-content:space-between;align-items:center;gap:10px;display:flex}.subject-marks-name{font-size:.9rem;font-weight:600}.exam-subject-remove{flex-shrink:0;padding:6px 10px;font-size:.8rem}.exam-quick-subject-card{border:1px solid var(--border);background:#f8fafc;border-radius:12px;margin-top:6px;padding:14px 16px}body.dashboard-dark .exam-quick-subject-card{background:#0f172a73}.exam-quick-subject-title{color:#0f2d6b;margin:0 0 6px;font-size:.95rem;font-weight:700}body.dashboard-dark .exam-quick-subject-title{color:#e2e8f0}.exam-quick-subject-hint{font-size:.82rem;margin:0 0 12px!important}.exam-quick-subject-grid{grid-template-columns:1fr 1fr auto;align-items:end;gap:12px;display:grid}.exam-quick-subject-actions{align-items:flex-end;display:flex}.exam-quick-subject-actions .primary-button{white-space:nowrap;padding:10px 14px}@media (width<=900px){.exam-quick-subject-grid{grid-template-columns:1fr}.exam-quick-subject-actions{justify-content:stretch}.exam-quick-subject-actions .primary-button{width:100%}}.exam-add-subject-row{margin-top:4px}.exam-add-subject-row select{margin-top:6px}.teacher-form-section{margin-top:2px}.teacher-form-section-title{color:#0f2d6b;margin-bottom:10px;font-size:.88rem;font-weight:700}body.dashboard-dark .teacher-form-section-title{color:#e2e8f0}.teacher-standard-chip-grid{flex-wrap:wrap;gap:8px;display:flex}.teacher-standard-chip{border:1px solid var(--border);cursor:pointer;color:#334155;-webkit-user-select:none;user-select:none;background:#fff;border-radius:10px;align-items:center;gap:6px;padding:6px 10px;font-size:.82rem;font-weight:600;display:inline-flex}body.dashboard-dark .teacher-standard-chip{color:#e2e8f0;background:#0f172a80}.teacher-standard-chip input{accent-color:#2563eb;width:auto;margin:0}.teacher-standard-chip--active{color:#1e40af;background:#eff6ff;border-color:#2563eb}body.dashboard-dark .teacher-standard-chip--active{color:#dbeafe;background:#2563eb33;border-color:#60a5fa}.teacher-form-inline-hint{font-size:.82rem;margin:0 0 12px!important}.teacher-subject-checkbox-grid{background:#00000008;border:1px solid #00000014;border-radius:8px;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:6px 16px;padding:10px 12px;display:grid}body.dashboard-dark .teacher-subject-checkbox-grid{background:#ffffff0a;border-color:#ffffff14}.teacher-subject-checkbox-item{cursor:pointer;align-items:center;gap:7px;padding:2px 0;font-size:.875rem;display:flex}.teacher-subject-checkbox-item input[type=checkbox]{accent-color:var(--accent,#2563eb);cursor:pointer;flex-shrink:0;width:15px;height:15px}.teacher-subject-checkbox-name{font-weight:500}.teacher-subject-checkbox-code{color:var(--muted-text,#64748b);background:#0000000f;border-radius:4px;margin-left:1px;padding:1px 5px;font-size:.78rem}body.dashboard-dark .teacher-subject-checkbox-code{color:#94a3b8;background:#ffffff1a}.teacher-quick-subject-grid{grid-template-columns:1fr 1fr auto;align-items:end;gap:12px;display:grid}.teacher-quick-subject-actions{align-items:flex-end;display:flex}.teacher-quick-subject-actions .secondary-button{white-space:nowrap;padding:10px 14px}@media (width<=900px){.teacher-quick-subject-grid{grid-template-columns:1fr}.teacher-quick-subject-actions .secondary-button{width:100%}}.teacher-subject-chips{flex-wrap:wrap;gap:8px;margin-top:12px;display:flex}.teacher-subject-chip{border:1px solid var(--border);color:#0f172a;background:#f1f5f9;border-radius:999px;align-items:center;gap:6px;padding:6px 10px 6px 12px;font-size:.85rem;font-weight:600;display:inline-flex}body.dashboard-dark .teacher-subject-chip{color:#e2e8f0;background:#1e293bcc}.teacher-subject-chip-remove{color:#64748b;cursor:pointer;background:0 0;border:none;border-radius:50%;justify-content:center;align-items:center;width:22px;height:22px;padding:0;font-size:1.1rem;line-height:1;display:inline-flex}.teacher-subject-chip-remove:hover{color:#0f172a;background:#00000014}body.dashboard-dark .teacher-subject-chip-remove:hover{color:#f8fafc;background:#ffffff1a}.subject-search-row{margin-bottom:12px}.subject-search-input{width:100%;max-width:340px}.subject-class-checkboxes{background:#00000008;border:1px solid #00000014;border-radius:8px;margin-top:12px;padding:12px 14px}body.dashboard-dark .subject-class-checkboxes{background:#ffffff0a;border-color:#ffffff14}.subject-class-checkboxes-label{color:var(--muted-text,#64748b);text-transform:uppercase;letter-spacing:.04em;margin:0 0 8px;font-size:.82rem;font-weight:600}.subject-class-checkboxes-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;margin-bottom:10px;display:flex}.subject-class-checkboxes-header .subject-class-checkboxes-label{margin:0}.subject-apply-all-label{cursor:pointer;color:var(--accent,#2563eb);-webkit-user-select:none;user-select:none;align-items:center;gap:6px;font-size:.875rem;font-weight:600;display:flex}.subject-apply-all-label input[type=checkbox]{accent-color:var(--accent,#2563eb);cursor:pointer;width:15px;height:15px}.subject-class-checkbox-grid.is-all-selected .subject-class-checkbox-item{opacity:.6}.subject-class-checkbox-grid.is-all-selected .subject-class-checkbox-item input[type=checkbox]{cursor:not-allowed}.subject-class-checkbox-grid{grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:6px 12px;display:grid}.subject-class-checkbox-item{cursor:pointer;align-items:center;gap:6px;font-size:.88rem;display:flex}.subject-class-checkbox-item input[type=checkbox]{accent-color:var(--accent,#2563eb);cursor:pointer;width:15px;height:15px}.subject-status-badge{text-transform:capitalize;border-radius:12px;padding:2px 9px;font-size:.78rem;font-weight:600;display:inline-block}.subject-status-active{color:#15803d;background:#dcfce7}.subject-status-inactive{color:#dc2626;background:#fee2e2}body.dashboard-dark .subject-status-active{color:#4ade80;background:#15803d38}body.dashboard-dark .subject-status-inactive{color:#f87171;background:#dc26262e}@media (width<=900px){.subject-marks-row{grid-template-columns:1fr}}.form-grid label,.full-width{flex-direction:column;gap:8px;display:flex}.full-width{grid-column:1/-1}input,textarea,select{width:100%;color:var(--text);background:#fffffffa;border:1px solid #94a3b83d;border-radius:12px;padding:12px 14px;transition:border-color .2s,box-shadow .2s}input:focus,textarea:focus,select:focus{border-color:var(--primary);outline:none;box-shadow:0 0 0 4px #60a5fa29}.input-invalid{box-shadow:0 0 0 3px #dc262626;border-color:#dc2626!important}.field-invalid{color:#b91c1c}.field-error-text{color:#b91c1c;margin-top:2px;font-size:.82rem;font-weight:500;line-height:1.35;display:block}.admission-toast{z-index:1200;border:1px solid #0000;border-radius:12px;min-width:240px;max-width:min(420px,100vw - 24px);padding:12px 14px;font-weight:600;position:fixed;top:16px;left:50%;transform:translate(-50%);box-shadow:0 10px 24px #0f172a38}.admission-toast.is-success{color:#166534;background:#dcfce7;border-color:#22c55e}.admission-toast.is-error{color:#991b1b;background:#fee2e2;border-color:#ef4444}.primary-button,.secondary-button,.preset-button{font-size:var(--fs-sm);border:0;border-radius:12px;padding:12px 14px;font-weight:600}.primary-button{background:linear-gradient(180deg, var(--primary) 0%, #1d4ed8 100%);color:#fff;box-shadow:0 10px 22px #2563eb33}.secondary-button,.preset-button{color:var(--secondary);background:#e2e8f0b3;border:1px solid #94a3b82e}.login-shell{background-color:#7eb3f0;background-image:linear-gradient(180deg, #b8d4f5 0%, #8bb8ef 32%, #5b9ae8 62%, #2f6fd4 88%, #1e4db8 100%), var(--login-background-image,none);background-position:50%;background-repeat:no-repeat;background-size:cover;justify-content:center;align-items:center;min-height:100vh;padding:24px 16px;display:flex;position:relative;overflow:hidden}.login-bg-wave{pointer-events:none;background:radial-gradient(90% 70% at 50% 100%,#1e40af59 0%,#0000 70%);position:absolute;inset:0}.login-card{z-index:1;background:#fff;border-radius:24px;flex-direction:column;align-items:center;gap:0;width:min(400px,100%);padding:36px 32px 28px;display:flex;position:relative;box-shadow:0 24px 64px #0f172a29,0 8px 24px #1e40af1f}.login-logo-wrap{margin-bottom:14px}.login-logo-circle{background:linear-gradient(145deg,#3b82f6 0%,#1d4ed8 100%);border-radius:50%;justify-content:center;align-items:center;width:88px;height:88px;display:flex;overflow:hidden;box-shadow:0 10px 28px #2563eb59}.login-brand{letter-spacing:-.03em;text-align:center;margin-bottom:24px;font-size:1.85rem;font-weight:800;line-height:1}.login-brand-main{color:#0f172a}.login-brand-accent{color:var(--primary)}.login-shell--super-admin{background:radial-gradient(circle at 30% 15%, color-mix(in srgb, var(--primary) 22%, transparent) 0%, transparent 42%), radial-gradient(circle at 80% 90%, color-mix(in srgb, var(--secondary) 45%, #0f172a) 0%, transparent 45%), linear-gradient(165deg, #0f172a 0%, color-mix(in srgb, var(--secondary) 35%, #0f172a) 55%, #0f172a 100%)}html[data-theme=dark] .login-shell:not(.login-shell--super-admin){background:radial-gradient(circle at 50% 110%, color-mix(in srgb, var(--primary) 38%, transparent) 0%, transparent 60%), linear-gradient(160deg, #0f172a 0%, var(--background) 100%);color:var(--text)}html[data-theme=dark] .login-shell:not(.login-shell--super-admin) .login-bg-wave{opacity:.4}html[data-theme=dark] .login-shell:not(.login-shell--super-admin) .login-field{background:var(--surface);border-color:var(--border)}html[data-theme=dark] .login-shell:not(.login-shell--super-admin) .login-select,html[data-theme=dark] .login-shell:not(.login-shell--super-admin) .login-input{color:var(--text)}html[data-theme=dark] .login-shell:not(.login-shell--super-admin) .login-card{background:var(--surface);border:1px solid var(--border);color:var(--text);box-shadow:0 32px 80px #00000073}html[data-theme=dark] .login-shell:not(.login-shell--super-admin) .login-brand-main{color:var(--text)}.login-bg-wave--super{background:linear-gradient(180deg, transparent 0%, color-mix(in srgb, var(--primary) 45%, #0f172a) 45%, #0f172a 100%);opacity:.95;height:48%}.login-card--super-admin{background:#fffffffa;border:1px solid #ffffff24;position:relative;box-shadow:0 40px 100px #00000080}.sa-login-badge{background:linear-gradient(135deg, var(--primary), var(--secondary));color:#fff;width:44px;height:44px;box-shadow:0 8px 22px color-mix(in srgb, var(--primary) 45%, transparent);pointer-events:none;border-radius:12px;place-items:center;font-size:1.2rem;display:grid;position:absolute;top:16px;right:20px}.login-logo-circle--super{background:linear-gradient(135deg, var(--secondary) 0%, var(--primary) 100%);box-shadow:0 8px 28px color-mix(in srgb, var(--primary) 35%, transparent)}.login-brand--super{text-align:center;flex-direction:column;align-items:center;gap:2px;margin-bottom:8px;display:flex}.sa-login-kicker{letter-spacing:.2em;text-transform:uppercase;color:var(--primary);margin-bottom:2px;font-size:.7rem;font-weight:800;display:block}.sa-login-sub{text-align:center;color:#64748b;max-width:320px;margin:0 0 22px;font-size:.875rem;line-height:1.5}.login-submit-btn--super{background:linear-gradient(135deg, var(--primary), var(--secondary))!important;box-shadow:0 12px 32px color-mix(in srgb, var(--primary) 45%, transparent)!important}.login-submit-btn--super:hover:not(:disabled){filter:brightness(1.05)}.sa-login-footer{justify-content:center;width:100%;margin-top:18px;display:flex}.sa-login-back{color:var(--primary);cursor:pointer;background:0 0;border:none;border-radius:8px;padding:6px 10px;font-size:.875rem;font-weight:600}.sa-login-back:hover{background:color-mix(in srgb, var(--primary) 10%, transparent);color:var(--secondary)}.login-form{flex-direction:column;gap:14px;width:100%;display:flex}.login-hint{color:#64748b;margin:-4px 0 0;font-size:.8125rem;line-height:1.45}.login-hint--intro{text-align:center;width:100%;margin:0 0 16px;font-size:.875rem}.login-hint--intro strong{color:#334155;font-weight:600}.login-field--invalid{background:#fffbfb;border-color:#f87171!important}.login-field-error{color:#b91c1c;width:100%;margin:-6px 0 4px;font-size:.8rem;font-weight:500}.password-reset-modal{max-width:420px}.login-field{background:#fff;border:1.5px solid #d1d9e6;border-radius:12px;align-items:center;transition:border-color .15s,box-shadow .15s;display:flex;position:relative}.login-field--select{padding-right:8px}.login-field--select:after{content:"";pointer-events:none;border-top:6px solid #94a3b8;border-left:5px solid #0000;border-right:5px solid #0000;flex-shrink:0;width:0;height:0;margin-right:12px}.login-field:focus-within{background:#fff;border-color:#2563eb;box-shadow:0 0 0 3px #2563eb1f}.login-field-icon{color:#94a3b8;pointer-events:none;flex-shrink:0;justify-content:center;align-items:center;width:46px;font-size:.95rem;display:flex}.login-input{color:#0f172a;background:0 0;border:none;outline:none;flex:1;padding:14px 12px 14px 0;font-size:.97rem}.login-input::placeholder{color:#94a3b8}.login-select{color:#0f172a;cursor:pointer;appearance:none;background:0 0;border:none;outline:none;flex:1;min-width:0;padding:14px 8px 14px 0;font-family:inherit;font-size:.97rem;font-weight:600}.login-eye-btn{color:#94a3b8;cursor:pointer;background:0 0;border:none;border-radius:0 14px 14px 0;flex-shrink:0;justify-content:center;align-items:center;width:44px;height:100%;font-size:.95rem;transition:color .15s;display:flex}.login-eye-btn:hover{color:#2563eb}.login-remember-me{color:#475569;-webkit-user-select:none;user-select:none;cursor:pointer;align-self:flex-start;align-items:center;gap:8px;margin-top:-2px;font-size:.875rem;font-weight:500;display:inline-flex}.login-remember-me input{accent-color:#2563eb;cursor:pointer;width:16px;height:16px}.login-error{color:#991b1b;background:#fef2f2;border:1px solid #fecaca;border-radius:10px;width:100%;padding:10px 14px;font-size:.88rem;font-weight:600}.login-submit-btn{color:#fff;letter-spacing:.01em;cursor:pointer;background:#2563eb;border:none;border-radius:12px;width:100%;margin-top:6px;padding:14px 16px;font-size:1rem;font-weight:700;transition:opacity .15s,transform .12s,box-shadow .15s;box-shadow:0 8px 22px #2563eb52}.login-submit-btn:hover:not(:disabled){opacity:.93;transform:translateY(-1px);box-shadow:0 10px 28px #2563eb70}.login-submit-btn:disabled{opacity:.65;cursor:not-allowed}.login-role-step{margin-bottom:14px}.login-role-step-title{letter-spacing:.06em;text-transform:uppercase;color:#64748b;margin:0 0 10px;font-size:.82rem;font-weight:700}.login-role-grid{grid-template-columns:repeat(auto-fit,minmax(92px,1fr));gap:8px;display:grid}.login-role-chip{color:#0f172a;cursor:pointer;background:#f8fafc;border:1px solid #e2e8f0;border-radius:12px;padding:10px 8px;font-size:.88rem;font-weight:600;transition:border-color .15s,background .15s,box-shadow .15s}.login-role-chip:hover{background:#eef2ff;border-color:#cbd5f5}.login-role-chip--active{background:linear-gradient(135deg,#eff6ff 0%,#e0e7ff 100%);border-color:#2563eb;box-shadow:0 4px 14px #2563eb2e}.login-ambiguous-banner{color:#92400e;background:#fffbeb;border:1px solid #fcd34d;border-radius:10px;margin-top:10px;padding:10px 12px;font-size:.88rem;line-height:1.45}.parent-switcher{flex-direction:column;gap:4px;margin-right:8px;display:flex}.parent-switcher-label{letter-spacing:.08em;text-transform:uppercase;color:#64748b;font-size:.68rem;font-weight:700}.parent-switcher-select{background:var(--surface-panel,#fff);min-width:180px;max-width:min(320px,52vw);color:inherit;border:1px solid #e2e8f0;border-radius:10px;padding:8px 10px;font-size:.88rem}.parent-dashboard{margin-bottom:18px}.parent-dashboard-intro{margin-bottom:14px}.parent-dashboard-title{margin:0 0 6px;font-size:1.35rem}.parent-dashboard-lead{max-width:720px;margin:0}.parent-dashboard-grid{grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:14px;margin-top:16px;display:grid}.parent-child-card{background:var(--surface-panel,#fff);border:1px solid #e2e8f0;border-radius:14px;flex-direction:column;gap:12px;padding:14px;display:flex}.parent-child-card--active{border-color:#2563eb;box-shadow:0 8px 22px #2563eb1f}.parent-child-card-head{align-items:flex-start;gap:12px;display:flex}.parent-child-avatar{color:#1e3a8a;background:linear-gradient(135deg,#dbeafe 0%,#e0e7ff 100%);border-radius:12px;place-items:center;width:48px;height:48px;font-weight:800;display:grid;overflow:hidden}.parent-child-photo{object-fit:cover;width:100%;height:100%}.parent-child-name{margin:0;font-size:1.05rem}.parent-child-meta{margin:4px 0 0;font-size:.88rem}.parent-child-pill{letter-spacing:.06em;text-transform:uppercase;color:#166534;background:#ecfdf3;border-radius:999px;margin-left:auto;padding:4px 8px;font-size:.72rem;font-weight:700}.parent-child-metrics strong{margin-top:4px;font-size:1.1rem;display:block}.parent-child-actions{flex-wrap:wrap;gap:8px;display:flex}.parent-child-focus-btn,.parent-child-link{text-align:center;flex:auto;font-size:.88rem;text-decoration:none}.parent-dashboard-panels{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:14px;margin-top:18px;display:grid}.parent-quick-links{flex-direction:column;gap:8px;display:flex}.parent-quick-link{color:inherit;border:1px solid #e2e8f0;border-radius:10px;align-items:center;gap:8px;padding:10px 12px;font-weight:600;text-decoration:none;display:inline-flex}.parent-quick-link:hover{background:#f8fafc;border-color:#cbd5f5}@media (width<=1024px){.parent-switcher{width:100%;margin-bottom:8px;margin-right:0}.parent-switcher-select{width:100%;max-width:none}.dashboard-header-actions{flex-wrap:wrap;justify-content:flex-end}}.login-install-apk-btn{color:#1d4ed8;letter-spacing:.02em;cursor:pointer;background:#fff;border:2px solid #2563eb;border-radius:14px;justify-content:center;align-items:center;gap:10px;width:100%;padding:14px 16px;font-size:.98rem;font-weight:700;transition:background .15s,border-color .15s,transform .12s;display:inline-flex;box-shadow:0 2px 10px #2563eb1f}.login-install-apk-btn:hover{background:#eff6ff;border-color:#1d4ed8;transform:translateY(-1px)}.login-install-apk-btn svg{flex-shrink:0;font-size:1rem}.login-app-actions-row{grid-template-columns:1fr 1fr;gap:12px;width:100%;margin-top:2px;display:grid}.login-app-action-primary,.login-app-action-secondary{letter-spacing:.02em;cursor:pointer;border-radius:14px;justify-content:center;align-items:center;gap:8px;padding:12px 14px;font-family:inherit;font-size:.95rem;font-weight:700;transition:background .15s,border-color .15s,transform .12s;display:inline-flex}.login-app-action-primary{color:#fff;background:#2563eb;border:none;box-shadow:0 6px 18px #2563eb47}.login-app-action-primary:hover{opacity:.96;transform:translateY(-1px)}.login-app-action-secondary{color:#2563eb;box-shadow:none;background:#fff;border:1.5px solid #2563eb}.login-app-action-secondary:hover{background:#f8fafc;border-color:#94a8ef;transform:translateY(-1px)}.login-app-action-primary svg,.login-app-action-secondary svg{flex-shrink:0;font-size:1rem}.login-app-action-open{background:#059669!important;box-shadow:0 6px 18px #05966947!important}.login-app-action-open:hover:not(:disabled){filter:brightness(1.05)}.login-app-installed-badge{color:#047857;background:#ecfdf5;border:1px solid #a7f3d0;border-radius:12px;justify-content:center;align-items:center;gap:8px;width:100%;margin:0 0 10px;padding:10px 14px;font-size:.88rem;font-weight:600;display:inline-flex}.login-app-actions-row--share-only{grid-template-columns:1fr}.share-modal-installed-note{color:#047857;text-align:center;background:#ecfdf5;border:1px solid #a7f3d0;border-radius:12px;margin:0;padding:12px 14px;font-size:.9rem;font-weight:600}.share-modal-btn-open{background:linear-gradient(135deg,#059669 0%,#047857 100%)!important}.login-divider{color:#94a3b8;align-items:center;gap:12px;width:100%;margin:16px 0 12px;font-size:.82rem;font-weight:500;display:flex}.login-divider:before,.login-divider:after{content:"";background:#e2e8f0;flex:1;height:1px}.login-footer-links{justify-content:space-between;align-items:center;gap:12px;width:100%;display:flex}.login-forgot{color:#2563eb;font-size:.9rem;font-weight:700;text-decoration:none}.login-forgot:hover{text-decoration:underline}.login-footer-links--after-form{margin-top:12px}.login-footer-links--bottom{justify-content:flex-start;margin-top:14px}.login-install-link{color:#1d4ed8;font-size:.9rem;font-weight:700;text-decoration:none}.login-install-link:hover{text-decoration:underline}.login-share-install-btn{color:#1d4ed8;cursor:pointer;background:0 0;border:none;padding:0;font-family:inherit;font-size:.9rem;font-weight:700;text-decoration:none}.login-share-install-btn:hover{text-decoration:underline}.login-install-hint{color:#64748b;text-align:left;width:100%;margin:10px 0 0;font-size:.78rem;line-height:1.4}.share-modal-backdrop{z-index:1200;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#0f172a85;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.share-modal-card{background:linear-gradient(#fff 0%,#f8fbff 100%);border:1px solid #dbe5f8;border-radius:20px;width:min(520px,100%);padding:20px;box-shadow:0 28px 60px #0f172a38}.share-modal-head{justify-content:space-between;align-items:center;gap:12px;display:flex}.share-modal-head h3{color:#0f172a;margin:0;font-size:1.2rem}.share-modal-close{color:#475569;cursor:pointer;background:#fff;border:1px solid #dbe5f8;border-radius:10px;width:34px;height:34px}.share-modal-copy{color:#475569;margin:12px 0 0;font-size:.9rem;line-height:1.45}.share-modal-row{flex-wrap:wrap;gap:8px;margin-top:14px;display:flex}.share-chip{color:#1d4ed8;background:#eef4ff;border:1px solid #cddcf7;border-radius:999px;padding:5px 10px;font-size:.74rem;font-weight:700}.share-modal-actions{flex-wrap:wrap;gap:10px;margin-top:16px;display:flex}.share-modal-actions-paired{grid-template-columns:1fr 1fr;gap:12px;margin-top:20px;display:grid}.share-modal-actions-paired .share-btn{text-align:center;justify-content:center;align-items:center;display:inline-flex}.share-btn{cursor:pointer;border:none;border-radius:12px;padding:10px 14px;font-size:.9rem;font-weight:700;text-decoration:none}.share-btn-primary{color:#fff;background:linear-gradient(135deg,#2563eb 0%,#1d4ed8 100%)}.share-btn-secondary{color:#0f172a;background:#e2e8f0}.share-btn-ghost{color:#1d4ed8;background:#fff;border:1px solid #cddcf7}.share-modal-guidance{color:#64748b;margin:12px 0 0;font-size:.82rem;line-height:1.45}.share-modal-status{margin:10px 0 0;font-size:.82rem;font-weight:700}.share-modal-status.is-success{color:#047857}.share-modal-status.is-error{color:#b91c1c}.share-modal-status.is-info{color:#1d4ed8}.share-modal-card-v2{padding:22px 20px 24px}.share-modal-card-v2 .share-modal-head{align-items:flex-start}.share-modal-sub{color:#64748b;margin:6px 0 0;font-size:.88rem;font-weight:500;line-height:1.4}.share-modal-meta{flex-wrap:wrap;gap:8px;margin-top:12px;display:flex}.share-chip-muted{color:#64748b;background:#f1f5f9;border-color:#e2e8f0}.share-modal-guidance-tight{margin-top:10px;font-size:.8rem}.share-modal-ios-steps{color:#334155;margin:12px 0 0;padding-left:1.2rem;font-size:.84rem;line-height:1.55}.share-modal-ios-steps li{margin-bottom:6px}.share-modal-progress{margin-top:14px}.share-modal-progress-track{background:#e2e8f0;border-radius:999px;height:8px;overflow:hidden}.share-modal-progress-fill{background:linear-gradient(90deg,#2563eb,#1d4ed8);border-radius:999px;height:100%;transition:width .2s}.share-modal-progress-label{color:#64748b;margin:6px 0 0;font-size:.78rem;font-weight:600}.share-modal-cancel-dl{color:#64748b;cursor:pointer;background:0 0;border:none;margin-top:8px;padding:0;font-size:.78rem;font-weight:600;text-decoration:underline}.share-modal-action-stack{flex-direction:column;gap:12px;margin-top:18px;display:flex}.share-modal-btn{cursor:pointer;border:none;border-radius:14px;justify-content:center;align-items:center;width:100%;min-height:52px;padding:16px 18px;font-size:1rem;font-weight:700;transition:transform .12s,box-shadow .12s,opacity .12s;display:inline-flex}.share-modal-btn:disabled{opacity:.55;cursor:not-allowed;transform:none}.share-modal-btn-install{color:#fff;background:linear-gradient(135deg,#2563eb 0%,#1d4ed8 100%);box-shadow:0 10px 26px #2563eb59}.share-modal-btn-install:not(:disabled):active{transform:scale(.98)}.share-modal-btn-download{color:#0f172a;background:#fff;border:2px solid #cbd5f5;box-shadow:0 2px 10px #0f172a0f}.share-modal-btn-share{color:#0f172a;background:#f1f5f9;border:1px solid #e2e8f0;min-height:48px;font-size:.95rem}@media (width<=480px){.share-modal-btn{min-height:54px;font-size:1.02rem}}body.dashboard-dark .share-modal-card-v2{background:linear-gradient(#0f172a 0%,#020617 100%);border-color:#94a3b840}body.dashboard-dark .share-modal-head h3,body.dashboard-dark .share-modal-sub,body.dashboard-dark .share-modal-guidance-tight,body.dashboard-dark .share-modal-ios-steps,body.dashboard-dark .share-modal-ios-steps li{color:#e2e8f0}body.dashboard-dark .share-chip-muted{color:#94a3b8;background:#1e293be6;border-color:#94a3b840}body.dashboard-dark .share-modal-btn-download{color:#f8fafc;background:#0f172a99;border-color:#94a3b859}body.dashboard-dark .share-modal-btn-share{color:#e2e8f0;background:#1e293bd9;border-color:#94a3b833}body.dashboard-dark .share-modal-progress-track{background:#33415599}.install-shell{background:radial-gradient(circle at 18% 12%,#2563eb33,#0000 28%),radial-gradient(circle at 84% 90%,#14b8a62e,#0000 24%),linear-gradient(#eef4ff 0%,#dce9ff 100%);place-items:center;min-height:100vh;padding:26px 16px;display:grid}.install-card{text-align:center;background:linear-gradient(#fff 0%,#f8fbff 100%);border:1px solid #d5e3ff;border-radius:24px;width:min(560px,100%);padding:28px 24px;box-shadow:0 28px 56px #0f172a24}.install-icon{border-radius:20px;width:84px;height:84px;box-shadow:0 12px 24px #2563eb33}.install-card h1{color:#0f172a;margin:14px 0 4px;font-size:1.55rem}.install-subtitle{color:#475569;margin:0;font-size:.9rem}.install-cta-row{flex-wrap:wrap;justify-content:center;gap:10px;margin-top:18px;display:flex}.install-cta-row-paired{grid-template-columns:1fr 1fr;align-items:stretch;gap:12px;display:grid}.install-cta-row-paired .install-cancel{grid-column:1/-1;justify-self:center}.install-cta,.install-cancel{cursor:pointer;border:none;border-radius:12px;padding:12px 16px;font-size:.94rem;font-weight:700}.install-cta{color:#fff;background:linear-gradient(135deg,#2563eb 0%,#1e40af 100%)}.install-cta-secondary{color:#1e40af;background:#fff;border:2px solid #3b82f6;box-shadow:0 1px 2px #2563eb1f}.install-cta-secondary:hover{background:#eff6ff}.install-cta:disabled{opacity:.7;cursor:wait}.install-cta-open,.install-cta-open-link{background:linear-gradient(135deg,#059669 0%,#047857 100%)!important}.install-cta-open-link{color:#fff;border-radius:14px;justify-content:center;align-items:center;margin-top:12px;padding:14px 20px;font-weight:700;text-decoration:none;display:inline-flex}.install-cancel{color:#334155;background:#e2e8f0}.install-progress-block{margin-top:18px}.install-progress-track{background:#dbeafe;border-radius:999px;width:100%;height:10px;overflow:hidden}.install-progress-fill{background:linear-gradient(135deg,#2563eb 0%,#14b8a6 100%);border-radius:999px;width:0;height:100%;transition:width .22s}.install-progress-label{color:#334155;margin:7px 0 0;font-size:.82rem;font-weight:700}.install-guidance{color:#64748b;margin:14px 0 0;font-size:.85rem;line-height:1.45}.install-warning{color:#9a3412;background:#fff7ed;border:1px solid #fed7aa;border-radius:10px;margin:10px 0 0;padding:8px 10px;font-size:.8rem}.install-status{margin:10px 0 0;font-size:.85rem;font-weight:700}.install-status.is-success{color:#047857}.install-status.is-error{color:#b91c1c}.install-status.is-info{color:#1d4ed8}@media (width<=480px){.login-card{border-radius:22px;padding:32px 22px 28px}.login-logo-circle{width:76px;height:76px}.login-brand{margin-bottom:22px;font-size:1.7rem}.login-footer-links{flex-direction:column;align-items:flex-end;gap:8px}.share-modal-card{padding:18px 14px}.share-modal-actions{flex-direction:column}.share-modal-actions-paired{grid-template-columns:1fr}.share-btn{text-align:center}.login-app-actions-row,.install-cta-row-paired{grid-template-columns:1fr}.install-card{padding:22px 16px}}.auth-shell{min-height:100vh;padding:max(24px, env(safe-area-inset-top,0px)) max(24px, env(safe-area-inset-right,0px)) max(24px, env(safe-area-inset-bottom,0px)) max(24px, env(safe-area-inset-left,0px));place-items:center;display:grid}.error-box{color:#7f1d1d;background:#fef2f2;border:1px solid #fecaca;border-radius:12px;grid-column:1/-1;padding:12px 14px}.eyebrow{text-transform:uppercase;letter-spacing:.12em;color:var(--primary);font-size:.82rem;font-weight:700}.preset-grid{flex-wrap:wrap;gap:10px;display:flex}.auth-card{background:linear-gradient(#fffffffc 0%,#f8fafcfc 100%);border:1px solid #94a3b829;border-radius:24px;flex-direction:column;gap:18px;width:min(720px,100%);padding:28px;display:flex;box-shadow:0 24px 50px #0f172a1a}.forgot-link{color:#2563eb;justify-content:flex-end;font-size:.86rem;font-weight:700;text-decoration:none;display:inline-flex}.forgot-link:hover{text-decoration:underline}.homepage{min-height:100vh;position:relative;overflow:hidden}.homepage:before{content:"";pointer-events:none;background:radial-gradient(circle at 10% 10%,#3b82f629,#0000 22%),radial-gradient(circle at 88% 15%,#2dd4bf1a,#0000 22%);position:absolute;inset:0}.home-header{z-index:20;padding:10px 16px 0;padding-top:max(10px, env(safe-area-inset-top,0px));position:sticky;top:0}.home-header-inner{max-width:1220px;min-height:80px;padding:0 16px;padding-left:max(16px, env(safe-area-inset-left,0px));padding-right:max(16px, env(safe-area-inset-right,0px));-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);z-index:21;background:#ffffffd6;border:1px solid #94a3b829;border-radius:999px;justify-content:space-between;align-items:center;gap:20px;margin:0 auto;display:flex;position:relative;box-shadow:0 18px 38px #0f172a1a}.home-brand{flex-shrink:0;text-decoration:none}.brand-text-stack{flex-direction:column;gap:2px;display:flex}.brand-identity.compact .brand{font-size:1.06rem;font-family:Poppins, var(--font-sans);letter-spacing:-.02em}.brand-identity.compact .brand-main{color:#1e3a8a;font-weight:700}.brand-identity.compact .brand-sub{color:#334155;background:0 0;-webkit-background-clip:unset;background-clip:unset;font-weight:600}.brand-identity.compact .brand-mark{background:linear-gradient(#fff,#f8fafc);border:1px solid #94a3b838;border-radius:999px;flex-shrink:0;width:56px;height:56px;box-shadow:0 8px 18px #0f172a14}.brand-identity.compact .brand-block{align-items:center;gap:12px}.brand-identity.compact .brand-text-stack{flex:auto;min-width:0}.compact-tagline{color:#2563eb;letter-spacing:.1em;text-transform:uppercase;margin:0;font-size:.62rem;font-style:normal;font-weight:700}.brand-mark .logo-mark{filter:drop-shadow(0 4px 12px #1e3a8a33);display:block}.home-header .brand-mark{background:linear-gradient(#fff,#f8fafc);border:1px solid #94a3b838;border-radius:999px;place-items:center;width:56px;height:56px;display:grid;box-shadow:0 8px 18px #0f172a14}.home-header .brand-block{gap:10px}.home-header-actions{flex:1;justify-content:flex-end;align-items:center;gap:16px;display:flex}.home-nav{align-items:center;gap:6px;display:flex}.home-nav a{color:#1f2937;border-radius:999px;padding:8px 12px;font-size:.86rem;font-weight:600;text-decoration:none;transition:all .2s}.home-nav a:hover{color:var(--primary);background:#2563eb14}.home-cta-group{align-items:center;gap:10px;display:flex}.btn-primary{color:#fff;background:linear-gradient(135deg,#2563eb,#1d4ed8);border:none;border-radius:10px;padding:10px 18px;font-weight:500;transition:all .3s}.btn-primary:hover{transform:translateY(-1px);box-shadow:0 6px 14px #2563eb4d}.hidden{display:none!important}.home-install-btn{min-height:40px;line-height:1}.home-nav-outline,.home-nav-primary{border-radius:999px;padding:9px 14px;font-size:.86rem;font-weight:700;text-decoration:none}.home-nav-outline{color:var(--primary);background:#fff;border:1px solid #2563eb33}.home-nav-primary{color:#fff;background:linear-gradient(135deg,#2563eb,#14b8a6);box-shadow:0 12px 22px #2563eb33}.home-menu-backdrop{z-index:19;cursor:pointer;-webkit-backdrop-filter:blur(3px);opacity:0;pointer-events:none;background:#0f172a66;border:0;margin:0;padding:0;transition:opacity .2s;position:fixed;inset:0}.homepage.home-menu-open .home-menu-backdrop{opacity:1;pointer-events:auto}.home-menu-toggle{min-height:var(--touch-min,44px);color:#0f2d6b;cursor:pointer;background:#fffffff5;border:1px solid #94a3b859;border-radius:12px;flex-shrink:0;justify-content:center;align-items:center;gap:8px;padding:0 14px;font-size:.88rem;font-weight:700;display:none;box-shadow:0 4px 14px #0f172a14}.home-menu-toggle:hover{background:#fff;border-color:#2563eb59}.home-menu-toggle-text{line-height:1}@media (width>=961px){.home-menu-toggle{display:none!important}}.hero-section,.section-block,.home-footer{max-width:1220px;margin:0 auto}.hero-section{grid-template-columns:1.02fr .98fr;align-items:center;gap:34px;padding:44px 20px 28px;display:grid}.hero-copy{flex-direction:column;gap:14px;padding-top:8px;display:flex}.hero-copy h1{color:#0f2d6b;letter-spacing:-.055em;word-break:break-word;-webkit-hyphens:auto;hyphens:auto;margin:0;font-size:clamp(1.75rem,5vw,4.05rem);line-height:1.08}.hero-accent{background:linear-gradient(135deg,#2563eb,#14b8a6);color:#0000;-webkit-background-clip:text;background-clip:text}.hero-subtitle{color:#1e40af;letter-spacing:-.01em;margin:0;font-size:1.08rem;font-weight:700}.hero-description{color:#52657f;max-width:640px;margin:0;font-size:1.02rem;line-height:1.6}.hero-actions{flex-wrap:wrap;gap:12px;display:flex}.hero-button{text-align:center;min-width:140px}.homepage-minimal .hero-copy h1{letter-spacing:-.02em;font-size:clamp(2rem,4vw,3rem)}.homepage-minimal .hero-subtitle{font-size:1.05rem}.homepage-minimal .hero-description{max-width:44ch}.homepage-minimal .hero-visual-minimal{align-self:center}.homepage-minimal .hero-mock-minimal{background:#fff;border:1px solid #e2e8f0;border-radius:16px;padding:18px;box-shadow:0 14px 28px #0f172a14}.homepage-minimal .mock-grid{gap:12px}.homepage-minimal .mock-metric{box-shadow:none;border:1px solid #e2e8f0;border-radius:12px}.homepage-minimal .section-heading p{display:none}.homepage-minimal .preview-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}.homepage-minimal .preview-card{border:1px solid #e2e8f0;border-radius:16px;box-shadow:0 8px 18px #0f172a0f}.homepage-minimal .feature-card{border-radius:16px}.homepage-minimal .home-nav-primary,.homepage-minimal .home-nav-outline{align-items:center;min-height:44px;display:inline-flex}.saas-main{z-index:1;position:relative}.saas-hero{overflow:visible}.saas-badge{color:#1d4ed8;letter-spacing:.03em;background:#dbeafe;border-radius:999px;width:fit-content;padding:6px 12px;font-size:.78rem;font-weight:700;display:inline-flex}.saas-copy h1{max-width:14ch}.saas-stat-row{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:8px;display:grid}.saas-stat-card{background:#fff;border:1px solid #e2e8f0;border-radius:14px;padding:12px;animation:.45s both saasFadeIn;box-shadow:0 10px 24px #0f172a0f}.saas-stat-card strong{color:#0f172a;font-size:1.1rem;display:block}.saas-stat-card span{color:#64748b;font-size:.8rem}.saas-visual{position:relative}.saas-mock{animation:5s ease-in-out infinite saasFloat;position:relative}.saas-floating-chip{color:#0f172a;background:#fff;border:1px solid #dbeafe;border-radius:999px;padding:7px 11px;font-size:.75rem;font-weight:700;position:absolute;box-shadow:0 8px 18px #2563eb2e}.saas-floating-chip.chip-a{top:-14px;right:-14px}.saas-floating-chip.chip-b{bottom:-14px;left:-12px}.saas-feature-grid{gap:18px}.saas-feature-card{border:1px solid #e2e8f0;transition:transform .2s,box-shadow .2s}.saas-feature-card:hover{transform:translateY(-4px);box-shadow:0 16px 28px #0f172a1a}.saas-role-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}.saas-role-card{border:1px solid #e2e8f0;min-height:150px}.saas-testimonials .testimonials-grid{gap:16px}.saas-testimonial-card{border:1px solid #e2e8f0;border-radius:16px;box-shadow:0 10px 22px #0f172a0d}.saas-cta-panel{background:linear-gradient(135deg,#eff6ff,#ecfeff);border:1px solid #cbd5e1}.saas-cta-actions{align-items:center;gap:10px;display:flex}@keyframes saasFloat{0%,to{transform:translateY(0)}50%{transform:translateY(-8px)}}@keyframes saasFadeIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.hero-trust-row{flex-flow:wrap;gap:10px;margin-top:6px;display:flex}.trust-pill{color:#0f2d6b;background:#ffffffeb;border:1px solid #94a3b829;border-radius:999px;width:fit-content;padding:9px 12px 9px 40px;font-size:.82rem;font-weight:650;position:relative;box-shadow:0 10px 18px #0f172a0f}.trust-pill:before{content:"";background:linear-gradient(135deg,#2563eb38,#14b8a633);border:1px solid #2563eb2e;border-radius:999px;width:18px;height:18px;position:absolute;top:50%;left:12px;transform:translateY(-50%)}.hero-downloads{background:#fff;border:1px solid #dbe6ff;border-radius:14px;margin:12px 0 10px;padding:12px}.hero-downloads h3{color:#1e3a8a;margin:0 0 10px;font-size:1rem}.hero-download-buttons{flex-wrap:wrap;gap:8px;display:flex}.hero-download-btn{color:#1f2937;background:#f8fafc;border:1px solid #d8e0f2;border-radius:10px;align-items:center;gap:8px;padding:8px 12px;font-size:.86rem;font-weight:600;text-decoration:none;display:inline-flex}.hero-download-btn.android{color:#137333;background:#eefaf2;border-color:#cce8d4}.hero-download-btn.ios{color:#1f2937;background:#f9fafb;border-color:#d1d5db}.hero-download-btn.windows{color:#1254c2;background:#eef4ff;border-color:#c7dbff}.hero-download-note{color:#64748b;margin:8px 0 0;font-size:.78rem}.premium-stats-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-top:8px;display:grid}.hero-highlight-card{background:linear-gradient(#fffffff5,#f8fafceb);border:1px solid #94a3b824;border-radius:16px;padding:12px 12px 10px;box-shadow:0 18px 30px #0f172a14}.hero-highlight-card:hover,.insight-card:hover,.mini-users-card:hover,.preview-card:hover,.feature-card:hover,.testimonial-card:hover{transition:transform .18s,box-shadow .18s;transform:translateY(-2px);box-shadow:0 22px 44px #0f172a1f}.hero-highlight-card strong{color:#1e3a8a;font-size:1.7rem}.hero-highlight-card span{color:#6b7c93;font-size:.82rem}.hero-visual{min-height:500px;position:relative}.hero-visual:before{content:"";filter:blur(1px);background:linear-gradient(135deg,#2563eb29,#14b8a638);border-radius:30px;position:absolute;inset:10% 6% 16% 10%}.hero-mock{z-index:1;background:#fffffff0;border:1px solid #94a3b826;border-radius:26px;width:min(520px,100%);margin-left:auto;position:relative;overflow:hidden;box-shadow:0 34px 70px #0f172a24}.hero-mock:before{content:"";pointer-events:none;background:radial-gradient(circle at 18% 20%,#2563eb1f,#0000 40%),radial-gradient(circle at 86% 18%,#14b8a61a,#0000 42%);position:absolute;inset:0}.mock-topbar{background:linear-gradient(#eff6fff2,#ffffffeb);border-bottom:1px solid #94a3b824;justify-content:space-between;align-items:center;gap:12px;padding:14px 16px;display:flex}.mock-dots{gap:6px;display:flex}.mock-dots span{background:#94a3b88c;border-radius:999px;width:10px;height:10px}.mock-label{color:#1e3a8a;background:#1e3a8a14;border:1px solid #1e3a8a1f;border-radius:999px;padding:6px 10px;font-size:.78rem;font-weight:700}.mock-pill{color:#1e3a8a;background:#2563eb1a;border:1px solid #2563eb1f;border-radius:999px;padding:6px 10px;font-size:.78rem;font-weight:700}.mock-grid{z-index:1;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;padding:16px;display:grid;position:relative}.mock-metric{background:#fffffff0;border:1px solid #94a3b824;border-radius:18px;padding:14px;box-shadow:0 14px 30px #0f172a14}.mock-metric span{color:#64748b;font-size:.86rem;font-weight:600;display:block}.mock-metric strong{color:#0f2d6b;letter-spacing:-.03em;margin-top:6px;font-size:1.6rem;display:block}.mock-metric.tone-a{background:linear-gradient(#dbeafecc,#fffffff0)}.mock-metric.tone-b{background:linear-gradient(#ccfbf1b8,#fffffff0)}.mock-metric.tone-c{background:linear-gradient(#e0e7ffb3,#fffffff0)}.mock-metric.tone-d{background:linear-gradient(#fef9c3a6,#fffffff0)}.mock-chart-area{z-index:1;grid-template-columns:1.1fr .9fr;gap:12px;padding:0 16px 16px;display:grid;position:relative}.mock-chart{background:linear-gradient(#eff6fff2,#ffffffeb),repeating-linear-gradient(90deg,#0000,#0000 48px,#94a3b824 48px 49px);border:1px solid #94a3b824;border-radius:18px;height:170px;box-shadow:0 14px 30px #0f172a14}.mock-list{background:#fffffff0;border:1px solid #94a3b824;border-radius:18px;padding:10px 12px;box-shadow:0 14px 30px #0f172a14}.mock-row{border-bottom:1px solid #94a3b81f;justify-content:space-between;gap:10px;padding:10px 0;display:flex}.mock-row:last-child{border-bottom:0}.mock-row span{color:#64748b;font-size:.88rem;font-weight:600}.mock-row strong{color:#2563eb;font-size:.88rem;font-weight:800}.section-block{padding:40px 20px}.section-heading{max-width:780px;margin-bottom:18px}.section-heading h2{color:#0f2d6b;letter-spacing:-.02em;margin:10px 0 8px;font-size:clamp(1.6rem,2.4vw,2.2rem)}.section-heading p{color:#5d7088;margin:0;font-size:1rem;line-height:1.65}.feature-grid{grid-template-columns:repeat(5,minmax(0,1fr));gap:14px;display:grid}.feature-card{background:linear-gradient(#fffffffa,#f8fafcf0);border:1px solid #94a3b829;border-radius:18px;padding:18px 14px 16px;position:relative;overflow:hidden;box-shadow:0 16px 34px #0f172a14}.feature-card:after{content:"";pointer-events:none;background:radial-gradient(circle at top,#2563eb26,#0000 68%);height:90px;position:absolute;inset:auto -18% -40% 30%}.feature-icon{color:#1e3a8a;letter-spacing:.04em;background:linear-gradient(#dbeafef5,#e0f2feb3);border:1px solid #3b82f633;border-radius:12px;place-items:center;width:42px;height:42px;margin-bottom:12px;font-size:.78rem;font-weight:800;display:grid}.feature-card h3{color:#0f2d6b;letter-spacing:-.01em;margin:0 0 6px;font-size:1.15rem}.feature-card p{color:#5c6d83;margin:0;font-size:.92rem;line-height:1.55}.about-grid{grid-template-columns:1fr 1fr;align-items:stretch;gap:16px;display:grid}.about-card{background:linear-gradient(#fffffffa,#f8fafcf0);border:1px solid #94a3b829;border-radius:20px;padding:22px;box-shadow:0 16px 36px #0f172a14}.about-card h2{color:#0f2d6b;letter-spacing:-.02em;margin:10px 0;font-size:clamp(1.5rem,2.2vw,2rem)}.about-card p{color:#5d7088;margin:0;font-size:1rem;line-height:1.7}.about-card.visual-card{position:relative;overflow:hidden}.module-chip-grid{flex-wrap:wrap;gap:10px;margin-top:14px;display:flex}.module-chip{color:#0f2d6b;background:#eff6ffe6;border:1px solid #2563eb29;border-radius:999px;align-items:center;gap:8px;padding:8px 12px;font-size:.86rem;font-weight:700;display:inline-flex}.module-chip:before{content:"";background:linear-gradient(135deg,#2563ebb3,#14b8a6b3);border-radius:999px;width:10px;height:10px;box-shadow:0 6px 14px #2563eb33}.mock-classroom{margin-top:16px}.mock-photo{background:radial-gradient(circle at 20% 20%,#2563eb29,#0000 40%),radial-gradient(circle at 80% 20%,#14b8a624,#0000 42%),linear-gradient(#ffffffeb,#f8fafceb);border:1px solid #94a3b824;border-radius:18px;align-items:end;min-height:140px;display:grid;overflow:hidden;box-shadow:0 18px 40px #0f172a14}.mock-photo-overlay{background:linear-gradient(#ffffff26,#ffffffeb);padding:14px 14px 16px}.mock-photo-overlay strong{color:#0f2d6b;letter-spacing:-.01em;font-size:1rem;display:block}.mock-photo-overlay span{color:#5d7088;margin-top:4px;font-size:.92rem;line-height:1.5;display:block}.floating-card{background:#ffffffeb;border:1px solid #94a3b824;border-radius:18px;width:auto;margin:0 16px 16px;padding:14px;position:static;transform:none;box-shadow:0 24px 50px #0f172a24}.floating-card strong{color:#1e3a8a;margin-top:8px;font-size:1rem;display:block}.floating-card p{color:#64748b;margin:8px 0 0;font-size:.9rem}.insight-card,.mini-users-card{box-shadow:var(--shadow);background:#fffffff2;border:1px solid #94a3b826;border-radius:18px;padding:14px}.badge{color:var(--primary);background:#3b82f61a;border-radius:999px;padding:5px 10px;font-size:.72rem;font-weight:700;display:inline-flex}.insight-card strong{color:#1e3a8a;margin-top:8px;font-size:1.05rem;display:block}.insight-card p{color:#64748b;margin:8px 0 0;font-size:.92rem}.showcase-title{color:#1e3a8a;margin-bottom:6px;font-size:.95rem;font-weight:700}.mini-user-row{border-bottom:1px solid #94a3b81f;justify-content:space-between;gap:8px;padding:6px 0;display:flex}.mini-user-row:last-child{border-bottom:0}.mini-user-row span{color:#64748b;font-size:.86rem}.mini-user-row strong{color:#2563eb;font-size:.84rem}.preview-grid{grid-template-columns:1.1fr .9fr;gap:16px;display:grid}.preview-card{box-shadow:var(--shadow);background:#fffffff2;border:1px solid #94a3b824;border-radius:20px;padding:18px}.preview-head{gap:6px;margin-bottom:14px;display:flex}.preview-dot{background:#94a3b880;border-radius:999px;width:9px;height:9px}.preview-row{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-bottom:12px;display:grid}.preview-metric{color:#1e3a8a;background:linear-gradient(#dbeafeb8,#ffffffeb);border-radius:12px;padding:10px;font-weight:700}.preview-chart{background:linear-gradient(#eff6ffeb,#fffffff5),repeating-linear-gradient(90deg,#0000,#0000 42px,#94a3b821 42px 43px);border-radius:14px;height:130px}.testimonials-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;display:grid}.testimonial-card{box-shadow:var(--shadow);background:#fffffff2;border:1px solid #94a3b824;border-radius:18px;padding:16px}.testimonial-card p{color:#475569;margin:0 0 12px}.testimonial-card strong{color:#1e3a8a;display:block}.testimonial-card span{color:#64748b;font-size:.9rem}.pricing-strip{padding:18px 20px 46px}.pricing-panel{background:linear-gradient(135deg,#2563eb,#14b8a6);border:1px solid #2563eb40;border-radius:26px;justify-content:space-between;align-items:center;gap:18px;padding:26px;display:flex;position:relative;overflow:hidden;box-shadow:0 30px 70px #0f172a2e}.pricing-panel:before{content:"";pointer-events:none;background:radial-gradient(circle at top,#ffffff38,#0000 62%);height:220px;position:absolute;inset:-40% -20% auto -30%}.pricing-panel>*{z-index:1;position:relative}.pricing-panel h2{color:#fff;letter-spacing:-.02em;margin:8px 0;font-size:clamp(1.35rem,2vw,1.9rem)}.pricing-panel p{color:#ffffffe0;max-width:60ch;margin:0;line-height:1.65}.pricing-panel .eyebrow{color:#ffffffe6}.pricing-cta-button{white-space:nowrap;color:#0f2d6b;background:#fffffff2;border:1px solid #ffffff8c;border-radius:999px;padding:12px 18px;font-size:.92rem;font-weight:800;text-decoration:none;box-shadow:0 16px 32px #0f172a2e}.pricing-cta-button:hover{transform:translateY(-1px);box-shadow:0 18px 36px #0f172a38}.home-footer{padding:28px 20px 34px}.home-footer-grid{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffffe6;border:1px solid #94a3b829;border-radius:22px;grid-template-columns:1.3fr .9fr 1.1fr .8fr;gap:16px;padding:22px;display:grid;box-shadow:0 26px 60px #0f172a1a}.home-footer-grid>div{flex-direction:column;gap:6px;display:flex}.home-footer-grid>div:first-child{gap:10px;min-width:0}.home-footer-grid>div:first-child .brand-block{flex-wrap:nowrap;width:100%}.home-footer-grid h4{color:#0f2d6b;letter-spacing:-.01em;margin:4px 0 10px;font-size:.95rem}.footer-copy{color:#5d7088;margin:10px 0 0;line-height:1.6}.home-footer-grid a,.home-footer-grid span{color:#5d7088;font-size:.92rem;line-height:1.6;text-decoration:none}.home-footer-grid a{padding:6px 0;display:block}.home-footer-grid a:hover{color:#2563eb}.social-row{flex-wrap:wrap;gap:10px;display:flex}.social-row a{color:#0f2d6b;background:#eff6ffdb;border:1px solid #2563eb29;border-radius:999px;padding:8px 12px;font-size:.86rem;font-weight:700}.social-row a:hover{background:#dbeafee6;border-color:#2563eb3d}.footer-bottom{text-align:center;color:#64748b;margin-top:14px;font-size:.86rem}@media (width<=1200px){.home-header-inner,.hero-section,.section-block,.home-footer{max-width:100%}.hero-section{grid-template-columns:1fr 340px;gap:24px;padding:30px 18px 22px}.hero-copy h1{font-size:clamp(2rem,4.8vw,3.4rem)}.hero-subtitle{font-size:1.3rem}.hero-description{font-size:.98rem}.premium-stats-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.feature-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (width<=1024px){.desktop-only-menu{display:none!important}.mobile-only-menu{border-top:1px solid #94a3b833;flex-flow:column;align-items:stretch;gap:4px;margin-top:2px;padding:12px;display:none}.menu-toggle{display:inline-flex}.topbar-layer-main{border-bottom:0;padding-bottom:0}.layout.mobile-menu-open .mobile-only-menu{-webkit-overflow-scrolling:touch;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:#64748b8c transparent;max-height:min(70vh,100dvh - 120px);display:flex;overflow:hidden auto}.mobile-only-menu .header-nav-link{white-space:normal;flex:none;justify-content:flex-start;width:100%;max-width:100%}}@media (width>=1025px){.layout .menu-toggle{display:none!important}.layout .desktop-only-menu{display:flex!important}.layout .mobile-only-menu,.layout.mobile-menu-open .mobile-only-menu{display:none!important}}@media (width<=960px){.layout{padding:12px;padding-left:max(12px, env(safe-area-inset-left,0px));padding-right:max(12px, env(safe-area-inset-right,0px));padding-bottom:max(12px, env(safe-area-inset-bottom,0px))}.home-header{padding:12px 12px 0}.hero-section,.premium-stats-grid,.preview-grid,.testimonials-grid{grid-template-columns:1fr}.home-header-inner{min-height:auto;padding:12px 14px;padding-left:max(14px, env(safe-area-inset-left,0px));padding-right:max(14px, env(safe-area-inset-right,0px));border-radius:20px;grid-template-rows:auto;grid-template-columns:minmax(0,1fr) auto;align-items:center;column-gap:12px;display:grid}.home-brand{grid-area:1/1;min-width:0}.home-menu-toggle{grid-area:1/2;display:inline-flex}.home-header-actions{flex:initial;border-top:1px solid #94a3b838;flex-direction:column;grid-area:2/1/auto/-1;align-items:stretch;gap:14px;width:100%;margin-top:4px;padding-top:4px;display:none}.homepage.home-menu-open .home-header-inner{row-gap:10px}.homepage.home-menu-open .home-header-actions{display:flex}.home-nav{flex-flow:column;align-items:stretch;gap:2px;width:100%}.home-nav a{width:100%;min-height:var(--touch-min,44px);box-sizing:border-box;border-radius:12px;align-items:center;padding:12px 14px;display:flex}.home-cta-group{flex-direction:column;gap:10px;width:100%}.home-nav-outline,.home-nav-primary{width:100%;min-height:var(--touch-min,44px);box-sizing:border-box;justify-content:center;align-items:center;display:inline-flex}.header-nav{order:2;gap:8px;width:100%}.topbar-main{flex-wrap:wrap;align-items:center;width:100%}.topbar-brand strong{font-size:.98rem}.topbar-actions{flex-wrap:wrap;order:3;justify-content:flex-start;width:100%}.topbar-search{flex:1;min-width:0}.hero-section{padding-top:24px}.hero-copy{gap:12px}.hero-copy h1{font-size:clamp(2rem,8vw,3rem);line-height:1}.hero-subtitle{font-size:1.25rem}.hero-description{font-size:.95rem}.hero-button{min-width:140px}.trust-pill{width:100%;font-size:.86rem}.hero-side-stack,.hero-mock{width:100%;margin-left:0}.mock-chart-area{grid-template-columns:1fr}.floating-card{width:100%}.insight-card,.mini-users-card,.hero-highlight-card,.preview-card,.testimonial-card{border-radius:16px;padding:14px}.section-block{padding:26px max(16px, env(safe-area-inset-left,0px)) 26px max(16px, env(safe-area-inset-right,0px))}.about-grid,.home-footer-grid,.feature-grid{grid-template-columns:1fr}.pricing-panel{align-items:flex-start;padding:20px}.card-grid,.card-grid.two-up,.form-grid{grid-template-columns:1fr}.summary-block{align-items:flex-start}.auth-split{grid-template-columns:1fr}.auth-left{padding:18px}.auth-right{order:1;padding:18px}.auth-left{order:2}.school-detail-grid{grid-template-columns:1fr}.auth-right{padding:18px}.dashboard-header-brand{flex:auto;justify-content:center;align-items:center;gap:6px;min-width:0;display:flex}.dashboard-header-school{font-size:var(--fs-md);white-space:nowrap;text-overflow:ellipsis;text-align:center;max-width:140px;font-weight:700;overflow:hidden}.school-name-full{display:none}.school-name-short{display:inline}}.content,.dashboard-scroll-body{gap:14px}@media (width<=768px){.menu-toggle{min-width:var(--touch-min);min-height:var(--touch-min);justify-content:center;align-items:center;padding:0 12px;display:inline-flex}.topbar{padding-top:calc(10px + env(safe-area-inset-top,0px));padding-left:max(12px, env(safe-area-inset-left,0px));padding-right:max(14px, env(safe-area-inset-right,0px))}.topbar-main{flex-direction:column;align-items:flex-start}.topbar-actions{flex-wrap:wrap;gap:10px}.topbar-icon-btn{min-width:var(--touch-min);min-height:var(--touch-min)}.topbar-chip:not(.topbar-icon-btn){min-height:var(--touch-min)}.header-nav{width:100%}.mobile-only-menu{display:none}.layout.mobile-menu-open .mobile-only-menu{max-height:min(65vh,100dvh - 160px)}.mobile-only-menu .header-nav-link{min-height:var(--touch-min);padding:12px 14px}.page-actions{flex-direction:column;align-items:stretch;gap:10px}.page-actions .primary-button,.page-actions .secondary-button{width:100%;min-height:var(--touch-min);justify-content:center;align-items:center;display:inline-flex}}@media (width<=520px){.topbar-brand strong{font-size:.92rem}}@media (width<=380px){.home-menu-toggle-text{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.home-menu-toggle{padding:0 12px}}@media (width<=640px){.home-header{padding:10px max(8px, env(safe-area-inset-left,0px)) 0 max(8px, env(safe-area-inset-right,0px))}.home-header-inner{padding:10px 12px;padding-left:max(12px, env(safe-area-inset-left,0px));padding-right:max(12px, env(safe-area-inset-right,0px));border-radius:18px}.home-header .brand-mark{width:56px;height:56px}.brand-identity.compact .brand{font-size:1.08rem}.compact-tagline{letter-spacing:.08em;font-size:.65rem}.home-nav a{padding:8px 10px;font-size:.88rem}.home-nav-outline,.home-nav-primary{padding:9px 12px;font-size:.88rem}.hero-section{padding:18px max(16px, env(safe-area-inset-left,0px)) 16px max(16px, env(safe-area-inset-right,0px));gap:16px}.section-block{padding-top:24px;padding-bottom:22px;padding-left:max(16px, env(safe-area-inset-left,0px));padding-right:max(16px, env(safe-area-inset-right,0px))}.home-footer{padding-left:max(16px, env(safe-area-inset-left,0px));padding-right:max(16px, env(safe-area-inset-right,0px))}.hero-copy h1{font-size:clamp(1.75rem,9vw,2.35rem);line-height:1.1}.hero-subtitle{font-size:1.1rem}.hero-highlights{gap:10px}.hero-highlight-card strong{font-size:1.45rem}.mini-user-row{font-size:.9rem}.content-frame{border-radius:16px;padding:12px 10px}.panel{padding:12px}th,td{padding:10px 8px;font-size:.9rem}.metric-card{padding:14px}.metric-card-icon{width:56px;height:56px;font-size:24px}}@media (width>=641px) and (width<=1024px){.card-grid{grid-template-columns:repeat(auto-fit,minmax(240px,1fr))}.homepage .premium-stats-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}.attendance-summary-bar{flex-wrap:wrap;align-items:center;gap:8px;margin-top:10px;display:flex}.pill-status{border:1px solid var(--line-color);background:color-mix(in oklab, var(--surface-color) 92%, #000 8%);border-radius:999px;padding:4px 10px;font-size:12px}.pill-status-present{color:#0f9d58;border-color:#0f9d58}.pill-status-absent{color:#d93025;border-color:#d93025}.pill-status-late{color:#b07a00;border-color:#fbbc04}.attendance-toggle-group{gap:6px;display:inline-flex}.attendance-toggle-btn{border:1px solid var(--line-color);min-width:32px;height:32px;color:var(--text-color);cursor:pointer;background:0 0;border-radius:6px;font-weight:700}.attendance-toggle-btn.is-active.attendance-toggle-btn-present{color:#fff;background:#0f9d58;border-color:#0f9d58}.attendance-toggle-btn.is-active.attendance-toggle-btn-absent{color:#fff;background:#d93025;border-color:#d93025}.attendance-toggle-btn.is-active.attendance-toggle-btn-late{color:#1b1b1b;background:#fbbc04;border-color:#fbbc04}.attendance-sync-toast{background:color-mix(in oklab, #4c8bf5 14%, var(--surface-color) 86%);color:var(--text-color);border:1px solid #4c8bf5;border-radius:10px;margin:0 0 10px;padding:10px 12px;font-size:.92rem}.reports-stack{gap:14px}.reports-submenu{border:1px solid color-mix(in oklab, var(--line-color) 85%, #fff 15%);background:color-mix(in oklab, var(--surface-color) 90%, var(--background) 10%);border-radius:14px;flex-wrap:wrap;align-items:center;gap:8px;padding:14px 16px;display:flex;box-shadow:0 1px 4px #0f172a0f}.reports-submenu-tab{border:1.5px solid color-mix(in oklab, var(--primary) 30%, #fff 70%);background:color-mix(in oklab, var(--surface-color) 84%, #dbeafe 16%);color:var(--primary);cursor:pointer;border-radius:9px;align-items:center;gap:7px;min-height:38px;padding:8px 15px;font-size:.84rem;font-weight:600;transition:background .15s,border-color .15s,color .15s,box-shadow .15s,transform .12s;display:inline-flex;box-shadow:0 1px 3px #0f172a0f}.reports-submenu-tab:hover{border-color:color-mix(in oklab, var(--primary) 45%, #fff 55%);color:var(--secondary);background:color-mix(in oklab, var(--surface-color) 72%, #dbeafe 28%);transform:translateY(-1px);box-shadow:0 3px 8px #0f172a14}.reports-submenu-tab.is-active{color:#fff;background:linear-gradient(135deg, var(--primary) 0%, var(--secondary) 100%);border-color:#0000;transform:none;box-shadow:0 4px 14px #2563eb4d}body.dashboard-dark .reports-submenu{background:#0f172ac7;border-color:#334155a6}body.dashboard-dark .reports-submenu-tab{color:#bfdbfe;background:oklab(32.3297% -.00950658 -.0740336/.952941);border-color:#3b82f68c}body.dashboard-dark .reports-submenu-tab.is-active{color:#fff}.reports-date-filter-grid{grid-template-columns:repeat(2,minmax(160px,1fr))}@media (width<=768px){.reports-stack{gap:10px}.reports-submenu{border-radius:12px;grid-template-columns:1fr 1fr;gap:8px;padding:10px;display:grid;overflow:visible}.reports-submenu-tab{flex:unset;white-space:normal;min-height:44px;font-size:var(--fs-xs);text-align:center;justify-content:center;width:100%;padding:10px}.reports-date-filter-grid{grid-template-columns:1fr;gap:10px}.reports-stack .form-actions-row{gap:8px;margin-top:10px!important}.reports-stack .form-actions-row .primary-button{width:100%}.table-wrap{border-radius:12px}th,td{padding:10px 8px;font-size:.85rem}}.student-quick-add-bar{flex-direction:row;justify-content:center;align-items:center;gap:8px;margin-bottom:10px;display:flex}.student-quick-add-button{min-width:180px}.student-quick-add-shell{border:1px solid var(--line-color);background:color-mix(in oklab, var(--surface-color) 88%, #2f6df6 12%);border-radius:12px;margin-bottom:12px;padding:12px}.student-quick-add-head{justify-content:space-between;align-items:center;gap:8px;margin-bottom:6px;display:flex}.student-quick-add-head h4{margin:0;font-size:1rem}.student-quick-add-tag{border:1px solid #2f6df6;border-radius:999px;padding:3px 10px;font-size:12px}:root{--brand-50:#eff6ff;--brand-100:#dbeafe;--brand-500:#2563eb;--brand-600:#1d4ed8;--brand-700:#1e40af;--mint-500:#0d9488;--slate-50:#f8fafc;--slate-100:#f1f5f9;--slate-200:#e2e8f0;--slate-400:#94a3b8;--slate-600:#475569;--slate-900:#0f172a;--danger-500:#dc2626;--danger-50:#fef2f2;--radius-sm:10px;--radius-md:14px;--radius-lg:18px;--radius-pill:999px;--shadow-sm:0 1px 2px #0f172a0f;--shadow-md:0 10px 24px #0f172a14;--shadow-lg:0 18px 40px #0f172a1f;--transition-fast:.15s ease;--transition-soft:.22s cubic-bezier(.2, .8, .2, 1);--text:var(--slate-900);--muted:var(--slate-600);--border:var(--slate-200);--surface:#fff;--surface-alt:var(--slate-100);--background:var(--slate-50);--primary:var(--brand-600);--secondary:var(--brand-700);--accent:var(--mint-500);--shadow:var(--shadow-md);--surface-color:var(--surface);--line-color:var(--border);--text-color:var(--text);--muted-color:var(--muted);--font-sans:Poppins, "Segoe UI", Tahoma, Geneva, Verdana, sans-serif;--font-heading:Poppins, "Segoe UI", Tahoma, Geneva, Verdana, sans-serif}body{font-family:var(--font-sans);color:var(--text);background:radial-gradient(circle at 0% 0%, #2563eb21, transparent 28%), radial-gradient(circle at 100% 20%, #0d94881a, transparent 30%), linear-gradient(180deg, #fff 0%, var(--background) 100%)}h1,h2,h3,h4,h5,h6,.section-heading h2,.auth-right-title,.dashboard-header-school{font-family:var(--font-heading);letter-spacing:-.02em;color:var(--slate-900)}:is(.content-frame,.panel,.card,.summary-block,.metric-card,.student-info-card){border:1px solid var(--border);border-radius:var(--radius-md);box-shadow:var(--shadow-sm), var(--shadow-md);background:var(--surface)}:is(.primary-button,.secondary-button,.home-nav-primary,.home-nav-outline,.pricing-cta-button){min-height:var(--touch-min);border-radius:var(--radius-sm);letter-spacing:.01em;transition:transform var(--transition-fast), box-shadow var(--transition-soft), background var(--transition-soft), color var(--transition-fast), border-color var(--transition-fast);border:1px solid #0000;padding:10px 14px;font-size:.88rem;font-weight:700;line-height:1.1;text-decoration:none}.primary-button,.home-nav-primary,.pricing-cta-button{color:#fff;background:linear-gradient(135deg, var(--brand-600) 0%, var(--mint-500) 100%);border-color:#1d4ed852;box-shadow:0 10px 20px #1d4ed83d}.secondary-button,.home-nav-outline{color:var(--brand-700);border-color:var(--brand-100);background:#fff;box-shadow:0 4px 12px #0f172a14}.secondary-button.exam-inline-btn--danger{color:var(--danger-500);background:var(--danger-50);border-color:#dc262640}:is(.primary-button,.secondary-button,.home-nav-primary,.home-nav-outline,.pricing-cta-button):disabled,button:disabled{opacity:.62;cursor:not-allowed;box-shadow:none;transform:none}:is(.primary-button,.home-nav-primary,.pricing-cta-button):hover{transform:translateY(-1px);box-shadow:0 14px 26px #1d4ed847}:is(.secondary-button,.home-nav-outline):hover{border-color:#1d4ed84d;transform:translateY(-1px);box-shadow:0 10px 20px #0f172a1f}:is(input,textarea,select,.form-control):not([type=checkbox]):not([type=radio]):not([type=range]):not([type=file]):not([type=color]){border:1px solid var(--border);width:100%;min-height:42px;color:var(--text);transition:border-color var(--transition-fast), box-shadow var(--transition-fast), background var(--transition-fast);background:#fff;border-radius:11px;padding:10px 12px;font-size:.93rem;line-height:1.35}textarea{resize:vertical;min-height:110px}:is(input,textarea,select,.form-control):focus{border-color:#2563eb99;outline:0;box-shadow:0 0 0 3px #2563eb24}.form-grid{align-items:start;gap:12px}.form-grid label{color:var(--slate-600);gap:6px;font-size:.86rem;font-weight:600;display:grid}.form-actions-row{flex-wrap:wrap;align-items:center;gap:10px}.table-wrap{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface);box-shadow:var(--shadow-sm);overflow:auto}.table-wrap table,table{border-collapse:separate;border-spacing:0;width:100%}.table-wrap thead th,table thead th{z-index:1;background:var(--theme-table-header-bg,linear-gradient(180deg, #f8fafc 0%, #f1f5f9 100%));color:var(--theme-table-header-text,#1e293b);text-transform:uppercase;letter-spacing:.03em;font-size:.82rem;font-weight:700;position:sticky;top:0}.table-wrap th,.table-wrap td,table th,table td{border-bottom:1px solid var(--border);text-align:left;vertical-align:middle;padding:10px 12px}.table-wrap tbody tr:nth-child(2n),table tbody tr:nth-child(2n){background:#f8fafcad}.table-wrap tbody tr:hover,table tbody tr:hover{background:#dbeafe61}@keyframes ui-fade-in-up{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.content-frame,.section-block,.panel,.auth-right{animation:.32s ease-out both ui-fade-in-up}@media (width<=1024px){.layout-dashboard .content-frame{border-radius:var(--radius-md);padding:16px}.dashboard-scroll-body{padding:14px}}@media (width<=900px){.form-grid,.teacher-quick-subject-grid,.subject-marks-grid,.student-info-grid{grid-template-columns:1fr!important}.card-grid,.two-up,.preview-grid,.feature-grid,.about-grid,.home-footer-grid{grid-template-columns:1fr}.table-wrap:not(.data-table-container .table-wrap) table{min-width:580px}}@media (width<=640px){.layout{padding:12px}.dashboard-header-top,.dashboard-header-nav{padding-left:12px;padding-right:12px}.form-actions-row :is(.primary-button,.secondary-button),.student-quick-add-bar :is(.primary-button,.secondary-button),:is(.home-nav-primary,.home-nav-outline,.pricing-cta-button){justify-content:center;width:100%}.form-actions-row{flex-direction:column;align-items:stretch}}.data-table-container{border:1px solid var(--border);border-radius:var(--radius-md);box-shadow:var(--shadow-sm), var(--shadow-md);flex-direction:column;gap:0;display:flex;overflow:hidden}.data-table-container .table-wrap{box-shadow:none;border:none;border-radius:0;overflow:auto visible}.data-table-container .table-wrap.data-table-scroll{-webkit-overflow-scrolling:touch;max-height:min(70vh,640px);overflow:auto}.data-table-container thead th{z-index:3;box-shadow:0 1px 0 var(--border);vertical-align:middle;background:linear-gradient(#f8fafc 0%,#f1f5f9 100%);position:sticky;top:0}.data-table-container .data-table-th-sorted{background:linear-gradient(#eff6ff 0%,#e0e7ff 100%);box-shadow:0 1px #2563eb59}.data-table-sort-btn{width:100%;font:inherit;color:inherit;text-align:left;cursor:pointer;background:0 0;border:none;border-radius:8px;justify-content:flex-start;align-items:center;gap:8px;margin:0;padding:10px 12px;font-weight:600;transition:background .15s,color .15s;display:inline-flex}.data-table-sort-btn:hover{color:var(--primary,#2563eb);background:#2563eb14}.data-table-sort-btn:focus-visible{outline-offset:1px;outline:2px solid #2563eb73}.data-table-sort-label{flex:1;min-width:0}.data-table-sort-icons{opacity:.55;flex-shrink:0;display:inline-flex}.data-table-sort-btn:hover .data-table-sort-icons{opacity:.9}.data-table-sort-icon-active{color:var(--primary,#2563eb);opacity:1!important}.data-table-sort-icon-idle{opacity:.45;font-size:.85em}.data-table-th-plain{padding:10px 12px;font-weight:600;display:block}.data-table-mobile-sort{border-bottom:1px solid var(--border);background:linear-gradient(#f8fafc 0%,#f1f5f9 100%);flex-wrap:wrap;align-items:flex-end;gap:10px 14px;padding:10px 12px;display:none}.data-table-mobile-sort-field{font-size:var(--fs-xs);color:var(--muted);flex-direction:column;gap:4px;font-weight:600;display:flex}.data-table-mobile-sort-field select{border:1px solid var(--border);min-height:36px;font-size:var(--fs-sm);color:var(--text);background:#fff;border-radius:10px;padding:4px 10px}body.dashboard-dark .data-table-mobile-sort{background:#0f172aeb;border-bottom-color:#ffffff1a}body.dashboard-dark .data-table-mobile-sort-field select{color:#f8fafc;background:#020617d9;border-color:#ffffff24}body.dashboard-dark .data-table-container thead th{background:#0f172af5;box-shadow:0 1px #ffffff14}body.dashboard-dark .data-table-container .data-table-th-sorted{background:#1e3a8a73;box-shadow:0 1px #60a5fa59}body.dashboard-dark .data-table-sort-btn:hover{color:#e2e8f0;background:#60a5fa1f}.data-table-empty{text-align:center;color:var(--muted);font-size:var(--fs-sm);padding:32px 16px!important}.pagination-bar{border-top:1px solid var(--border);background:linear-gradient(#f8fafc 0%,#f1f5f9 100%);flex-wrap:wrap;align-items:center;gap:10px;padding:10px 14px;display:flex}.pagination-label{font-size:var(--fs-xs);color:var(--muted);white-space:nowrap;font-weight:600}.pagination-select{cursor:pointer;min-height:unset!important;width:auto!important;height:30px!important;font-size:var(--fs-xs)!important;border:1px solid var(--border)!important;color:var(--text)!important;box-shadow:none!important;background:#fff!important;border-radius:8px!important;padding:0 24px 0 8px!important}.pagination-info{font-size:var(--fs-xs);color:var(--muted);white-space:nowrap;margin-left:auto;font-weight:600}.pagination-nav{gap:4px;display:flex}.pagination-btn{border:1px solid var(--border);width:30px;height:30px;color:var(--secondary);cursor:pointer;transition:background var(--transition-fast), border-color var(--transition-fast);background:#fff;border-radius:8px;justify-content:center;align-items:center;padding:0;font-size:1.1rem;line-height:1;display:inline-flex}.pagination-btn:hover:not(:disabled){background:var(--surface-alt);color:var(--primary);border-color:#2563eb59}.pagination-btn:disabled{opacity:.38;cursor:not-allowed}@media (width<=1023px) and (width>=768px){.data-table-container .table-wrap{-webkit-overflow-scrolling:touch;overflow-x:auto}.table-wrap th,.table-wrap td{font-size:var(--fs-xs);padding:8px 10px}.table-wrap thead th{font-size:.72rem}}@media (width<=767px){.data-table-mobile-sort{display:flex}.col-mobile-hidden{display:none!important}.data-table-container .table-wrap{overflow:visible}.data-table-container .table-wrap.data-table-scroll{max-height:none}.data-table-container table{border-collapse:collapse;display:block;min-width:unset!important}.data-table-container thead{display:none}.data-table-container tbody{flex-direction:column;gap:10px;padding:12px;display:flex}.data-table-container tbody tr{border:1px solid var(--border);background:#fff;border-radius:12px;grid-template-columns:1fr 1fr;gap:10px 12px;padding:14px 12px;transition:box-shadow .15s;display:grid;box-shadow:0 2px 8px #0f172a0f}.data-table-container tbody tr:hover{background:#fafbff;border-color:#2563eb38;box-shadow:0 6px 16px #2563eb1a}.data-table-container tbody tr:nth-child(2n){background:#fff}.data-table-container td{font-size:var(--fs-sm);color:var(--text);flex-direction:column;gap:3px;display:flex;border:none!important;padding:0!important}.data-table-container td:before{content:attr(data-label);text-transform:uppercase;letter-spacing:.05em;color:var(--muted);font-size:.68rem;font-weight:700;line-height:1}.data-table-container td:first-child{font-size:var(--fs-md);color:var(--secondary);grid-column:1/-1;margin-bottom:2px;font-weight:700;border-bottom:1px solid var(--border)!important;padding-bottom:10px!important}.data-table-container td:first-child:before{font-size:.65rem}.data-table-container td:last-child{flex-flow:wrap;grid-column:1/-1;align-items:center;gap:6px;margin-top:2px;border-top:1px solid var(--border)!important;padding-top:10px!important}.data-table-container td:last-child:before{display:none}.pagination-bar{gap:8px;padding:10px 12px}.pagination-info{margin-left:0}}@media (width<=374px){.data-table-container tbody{gap:8px;padding:10px}.data-table-container tbody tr{grid-template-columns:1fr;gap:8px;padding:10px}.data-table-container td{font-size:var(--fs-xs)}.data-table-container td:first-child{font-size:var(--fs-sm)}.data-table-container td:before{font-size:.6rem}.data-table-container td:first-child,.data-table-container td:last-child{grid-column:1}.pagination-bar{gap:6px;padding:8px 10px}.pagination-btn{width:26px;height:26px;font-size:1rem}.pagination-label{display:none}.reports-submenu{grid-template-columns:1fr}.reports-submenu-tab{text-align:left;justify-content:flex-start;min-height:40px;padding:10px}}.emp-att-controls{background:linear-gradient(135deg,#fffffff0,#f8fafcf5);border:1px solid #94a3b847;border-radius:14px;flex-wrap:wrap;align-items:center;gap:12px;margin-bottom:14px;padding:10px;display:flex}.emp-att-type-tabs{background:#e8eefc;border-radius:10px;gap:4px;padding:3px;display:flex}.emp-att-type-tab{color:#4b5563;cursor:pointer;transition:all var(--transition-fast,.2s ease);background:0 0;border:none;border-radius:8px;min-height:34px;padding:7px 16px;font-size:.83rem;font-weight:600}.emp-att-type-tab.active{color:#1d4ed8;background:#fff;box-shadow:0 4px 12px #2563eb2e}.emp-att-date-search{flex-wrap:wrap;flex:340px;gap:8px;display:flex}.emp-att-date-search .form-control{border-radius:10px;flex:150px;min-width:128px}.emp-att-summary{flex-wrap:wrap;gap:8px;margin-bottom:12px;display:flex}.emp-att-pill{border:1px solid #0000;border-radius:999px;align-items:center;gap:6px;padding:6px 12px;font-size:.8rem;font-weight:600;display:inline-flex}.emp-att-pill.total{color:#334155;background:#e2e8f0;border-color:#cbd5e1}.emp-att-pill.present{color:#166534;background:#dcfce7;border-color:#86efac}.emp-att-pill.absent{color:#991b1b;background:#fee2e2;border-color:#fca5a5}.emp-att-pill.leave{color:#854d0e;background:#fef9c3;border-color:#fde68a}.emp-att-pill.half{color:#0369a1;background:#e0f2fe;border-color:#7dd3fc}.emp-att-pill.late{color:#9d174d;background:#fce7f3;border-color:#f9a8d4}.emp-att-bulk-bar{flex-wrap:wrap;align-items:center;gap:6px;margin-bottom:10px;display:flex}.emp-att-bulk-label{color:#64748b;margin-right:4px;font-size:.8rem;font-weight:600}.emp-att-bulk-btn{cursor:pointer;transition:transform var(--transition-fast,.2s ease), box-shadow var(--transition-fast,.2s ease);color:#334155;background:#f8fafc;border:1px solid #dbe2ef;border-radius:8px;padding:5px 12px;font-size:.78rem;font-weight:700}.emp-att-bulk-btn:hover{transform:translateY(-1px);box-shadow:0 6px 14px #0f172a24}.emp-att-bulk-btn.status-present{color:#166534;background:#dcfce7;border-color:#86efac}.emp-att-bulk-btn.status-absent{color:#991b1b;background:#fee2e2;border-color:#fca5a5}.emp-att-bulk-btn.status-leave{color:#854d0e;background:#fef9c3;border-color:#fde68a}.emp-att-bulk-btn.status-half_day{color:#0369a1;background:#e0f2fe;border-color:#7dd3fc}.emp-att-bulk-btn.status-late{color:#9d174d;background:#fce7f3;border-color:#f9a8d4}.emp-att-table-wrap{border:1px solid #dbe3f1;border-radius:14px;margin-top:8px;overflow:hidden;box-shadow:0 10px 24px #1e3a8a12}.emp-att-row.status-absent td:first-child{border-left:3px solid #ef4444}.emp-att-row.status-leave td:first-child{border-left:3px solid #eab308}.emp-att-row.status-half_day td:first-child{border-left:3px solid #0ea5e9}.emp-att-row.status-late td:first-child{border-left:3px solid #ec4899}.emp-att-row.status-present td:first-child{border-left:3px solid #22c55e}.emp-type-badge{border-radius:8px;justify-content:center;align-items:center;width:26px;height:26px;font-size:.72rem;font-weight:800;display:inline-flex}.emp-type-badge.teacher{color:#1d4ed8;background:#dbeafe}.emp-type-badge.staff{color:var(--primary);background:#ecfeff}.emp-att-name{color:#0f172a;font-weight:600}.emp-status-toggle{gap:4px;display:flex}.emp-status-btn{color:#64748b;cursor:pointer;transition:all var(--transition-fast,.2s ease);white-space:nowrap;background:#f8fafc;border:1px solid #d6deea;border-radius:7px;padding:4px 8px;font-size:.73rem;font-weight:700}.emp-status-btn:hover{color:#0f172a;background:#e2e8f0}.emp-status-btn.active.status-present{color:#fff;background:#16a34a;border-color:#15803d}.emp-status-btn.active.status-absent{color:#fff;background:#dc2626;border-color:#b91c1c}.emp-status-btn.active.status-leave{color:#fff;background:#ca8a04;border-color:#a16207}.emp-status-btn.active.status-half_day{color:#fff;background:#0284c7;border-color:#0369a1}.emp-status-btn.active.status-late{color:#fff;background:#db2777;border-color:#be185d}.emp-att-time{border-radius:8px;width:106px;min-width:84px;padding:4px 8px;font-size:.82rem}.emp-att-remark{border-radius:8px;min-width:118px;padding:5px 8px;font-size:.82rem}.student-list-filters{flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:12px;display:flex}.student-list-filters .form-control{border-radius:10px;max-width:220px}@media (width<=600px){.emp-att-controls{flex-direction:column;align-items:stretch}.emp-att-date-search{flex-direction:column}.emp-att-time{width:84px}.emp-status-btn{padding:3px 6px;font-size:.69rem}.student-list-filters .form-control{max-width:100%}}.student-panel-shell{--student-green-600:#059669;--student-green-500:#10b981;--student-green-100:#dcfce7;background:radial-gradient(120% 120% at 100% 0,#10b9811f 0%,#10b98100 55%),linear-gradient(#fff 0%,#f3fbf7 100%);border:1px solid #10b9813d;border-radius:20px;gap:14px;padding:16px;box-shadow:0 14px 28px #0596691a}.student-panel-shell .student-panel-hero{background:linear-gradient(120deg,#dcfce7e0,#ecfdf5f2);border:1px solid #10b98147;border-radius:14px;gap:14px;padding:14px 16px;box-shadow:0 8px 18px #0596691f}.student-panel-eyebrow{letter-spacing:.1em;color:#14532d;font-size:.75rem;font-weight:700}.student-panel-hero-content h3{color:#064e3b;font-size:clamp(1.2rem,2vw,1.45rem)}.student-panel-hero-content p{color:#14532d;font-size:.92rem}.student-panel-pill{background:#fff;border:1px solid #10b98142;border-radius:12px;padding:8px 10px;box-shadow:0 6px 12px #05966914}.student-panel-pill strong{color:#065f46;font-size:.98rem}.student-panel-pill small{color:#166534;font-size:.7rem}.student-panel-pill-focus{background:linear-gradient(135deg, var(--student-green-600), var(--student-green-500));border-color:#0000}.student-panel-pill-focus strong,.student-panel-pill-focus small{color:#fff}.student-module-tabs{background:#fff;border:1px solid #10b98138;border-radius:14px;gap:8px;padding:8px;box-shadow:0 8px 16px #05966914}.student-module-tab{color:#166534;background:#f0fdf4;border:1px solid #10b9813d;border-radius:10px;min-height:44px;padding:9px 10px;font-size:.82rem;font-weight:700}.student-module-tab svg{margin-right:0;font-size:.88rem}.student-module-tab:hover{background:#dcfce7;border-color:#05966980;transform:translateY(-1px);box-shadow:0 6px 12px #05966924}.student-module-tab.is-active{color:#fff;background:linear-gradient(135deg, var(--student-green-600), var(--student-green-500));border-color:#0000;box-shadow:0 10px 16px #05966938}.student-module-detail{background:#fff;border:1px solid #10b98138;border-radius:14px;padding:14px;box-shadow:0 10px 20px #05966912}.student-module-detail h4{color:#065f46;margin-bottom:12px;font-size:.96rem}.student-info-card,.student-assignment-item,.student-module-detail .list-item{background:#fff;border:1px solid #10b98133;border-radius:10px;box-shadow:0 6px 12px #0596690f}.student-info-card strong{color:#166534}.student-info-card span{color:#14532d}.student-event-filter-tab{color:#166534;background:#f0fdf4;border:1px solid #10b9813d;border-radius:10px}.student-event-filter-tab strong{color:#065f46;background:#0596691f}.student-event-filter-tab.is-active{color:#fff;background:linear-gradient(135deg, var(--student-green-600), var(--student-green-500));border-color:#0000;box-shadow:0 8px 14px #05966938}.student-event-filter-tab.is-active strong{color:#fff;background:#ffffff3d}@media (width<=900px){.student-panel-shell{border-radius:14px;padding:10px}.student-panel-shell .student-panel-hero{padding:10px}.student-panel-pills{flex-wrap:wrap;justify-content:flex-start;width:100%}.student-module-tabs{white-space:nowrap;flex-wrap:nowrap;overflow-x:auto}.student-module-tab{flex:none;min-width:118px}}.sp-low-attendance-alert{color:#92400e;background:linear-gradient(135deg,#fef3c7,#fde68a);border:1.5px solid #f59e0b;border-radius:10px;margin-bottom:16px;padding:12px 16px;font-size:.87rem;line-height:1.5}.sp-low-attendance-alert strong{color:#78350f}.sp-dashboard-welcome{margin-bottom:16px}.sp-dashboard-greeting h4{color:#065f46;margin:0 0 4px;font-size:1.2rem;font-weight:700}.sp-dashboard-stats{grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:12px;margin-bottom:20px;display:grid}.sp-stat-card{background:linear-gradient(135deg,#f0fdf4,#dcfce7);border:1.5px solid #0596692e;border-radius:12px;align-items:center;gap:12px;padding:14px 16px;transition:transform .15s,box-shadow .15s;display:flex;box-shadow:0 2px 8px #05966914}.sp-stat-card:hover{transform:translateY(-2px);box-shadow:0 4px 12px #05966924}.sp-stat-icon{border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;width:38px;height:38px;font-size:1rem;display:flex}.sp-stat-attendance .sp-stat-icon{color:#059669;background:#d1fae5}.sp-stat-assignments .sp-stat-icon{color:#2563eb;background:#dbeafe}.sp-stat-result .sp-stat-icon{color:#7c3aed;background:#ede9fe}.sp-stat-fees .sp-stat-icon{color:#ca8a04;background:#fef9c3}.sp-stat-body{flex-direction:column;display:flex}.sp-stat-body strong{color:#065f46;font-size:1.05rem;font-weight:700;line-height:1.2}.sp-stat-body small{color:#6b7280;text-transform:uppercase;letter-spacing:.04em;font-size:.72rem;font-weight:500}.sp-dashboard-grid{grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:16px;margin-bottom:4px;display:grid}.sp-dashboard-col{flex-direction:column;gap:8px;display:flex}.sp-section-title{color:#065f46;text-transform:uppercase;letter-spacing:.05em;align-items:center;gap:7px;margin:0 0 6px;font-size:.88rem;font-weight:700;display:flex}.sp-dash-item{background:#f8fffe;border:1px solid #05966924;border-radius:10px;justify-content:space-between;align-items:flex-start;gap:10px;padding:10px 12px;transition:background .12s;display:flex}.sp-dash-item:hover{background:#f0fdf4}.sp-dash-item-content{flex-direction:column;gap:2px;min-width:0;display:flex}.sp-dash-item-content strong{color:#111827;white-space:nowrap;text-overflow:ellipsis;font-size:.87rem;font-weight:600;overflow:hidden}.sp-dash-item-content small{color:#6b7280;font-size:.75rem}.sp-link-btn{cursor:pointer;color:#059669;text-align:left;background:0 0;border:none;padding:4px 0;font-size:.8rem;font-weight:600}.sp-link-btn:hover{color:#065f46;text-decoration:underline}.sp-status-badge{text-transform:uppercase;letter-spacing:.04em;white-space:nowrap;border-radius:20px;flex-shrink:0;align-items:center;padding:3px 10px;font-size:.72rem;font-weight:700;display:inline-flex}.badge-pending{color:#854d0e;background:#fef9c3;border:1px solid #fde047}.badge-overdue{color:#991b1b;background:#fee2e2;border:1px solid #fca5a5}.badge-reviewed{color:#065f46;background:#d1fae5;border:1px solid #6ee7b7}.sp-assignment-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;display:flex}.sp-assignment-header strong{color:#111827;font-size:.93rem;font-weight:700}.sp-academics-list{flex-direction:column;gap:10px;display:flex}.sp-academic-item{background:#f8fffe;border:1px solid #05966924;border-radius:10px;align-items:flex-start;gap:12px;padding:12px 14px;transition:background .12s;display:flex}.sp-academic-item:hover{background:#f0fdf4}.sp-academic-icon{color:#059669;background:#d1fae5;border-radius:9px;flex-shrink:0;justify-content:center;align-items:center;width:36px;height:36px;font-size:.9rem;display:flex}.sp-academic-lesson{color:#7c3aed;background:#ede9fe}.sp-academic-youtube,.sp-academic-video{color:#dc2626;background:#fee2e2}.sp-academic-pdf{color:#ea580c;background:#ffedd5}.sp-academic-body{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.sp-academic-body strong{color:#111827;font-size:.87rem;font-weight:600}.sp-academic-body small{color:#6b7280;font-size:.75rem}.sp-academic-badge{text-transform:uppercase;color:#065f46;white-space:nowrap;background:#d1fae5;border-radius:7px;flex-shrink:0;align-items:center;padding:3px 9px;font-size:.72rem;font-weight:700;text-decoration:none;display:inline-flex}.sp-badge-link:hover{background:#a7f3d0;text-decoration:none}.sp-timetable-grid{grid-template-columns:repeat(5,1fr);gap:8px;display:grid;overflow-x:auto}.sp-timetable-day{flex-direction:column;gap:4px;min-width:100px;display:flex}.sp-timetable-day-header{text-align:center;color:#fff;text-transform:uppercase;letter-spacing:.05em;background:linear-gradient(135deg,#059669,#10b981);border-radius:8px;padding:7px 4px;font-size:.78rem;font-weight:700}.sp-timetable-period{text-align:center;background:#f0fdf4;border:1px solid #05966924;border-radius:8px;flex-direction:column;align-items:center;padding:7px 4px;transition:background .12s;display:flex}.sp-timetable-period:hover{background:#dcfce7}.sp-period-break{background:#fef9c3;border-color:#fde047}.sp-period-time{color:#6b7280;font-size:.68rem;font-weight:600}.sp-period-label{color:#065f46;font-size:.75rem;font-weight:600}.sp-period-break .sp-period-label{color:#854d0e}.sp-fees-summary{grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:16px;display:grid}.sp-fee-summary-card{text-align:center;border:1.5px solid #0000;border-radius:12px;flex-direction:column;justify-content:center;align-items:center;padding:16px 12px;display:flex}.sp-fee-summary-card strong{font-size:1.15rem;font-weight:800;display:block}.sp-fee-summary-card small{text-transform:uppercase;letter-spacing:.05em;margin-top:4px;font-size:.72rem;font-weight:600}.sp-fee-total{background:linear-gradient(135deg,#f0fdf4,#dcfce7);border-color:#05966933}.sp-fee-total strong{color:#065f46}.sp-fee-total small{color:#059669}.sp-fee-paid{background:linear-gradient(135deg,#eff6ff,#dbeafe);border-color:#2563eb2e}.sp-fee-paid strong{color:#1d4ed8}.sp-fee-paid small{color:#2563eb}.sp-fee-outstanding{background:linear-gradient(135deg,#fff7ed,#ffedd5);border-color:#ea580c33}.sp-fee-outstanding strong{color:#c2410c}.sp-fee-outstanding small{color:#ea580c}.sp-activities-list{flex-direction:column;gap:10px;display:flex}.sp-activity-item{background:#f8fffe;border:1px solid #05966924;border-radius:10px;align-items:flex-start;gap:12px;padding:12px 14px;transition:background .12s;display:flex}.sp-activity-item:hover{background:#f0fdf4}.sp-activity-icon{color:#059669;background:#d1fae5;border-radius:9px;flex-shrink:0;justify-content:center;align-items:center;width:36px;height:36px;font-size:.9rem;display:flex}.sp-activity-trophy{color:#d97706;background:#fef3c7}.sp-activity-body{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.sp-activity-body strong{color:#111827;font-size:.87rem;font-weight:600}.sp-activity-body small{color:#6b7280;font-size:.75rem}@media (width<=640px){.sp-dashboard-stats{grid-template-columns:repeat(2,1fr)}.sp-fees-summary{grid-template-columns:1fr}.sp-timetable-grid{grid-template-columns:repeat(3,minmax(90px,1fr))}.sp-dashboard-grid{grid-template-columns:1fr}}.sp2-student-app{--sp2-primary:#1a73e8;--sp2-primary-dark:#1254c2;--sp2-page:#f6f8fc;--sp2-text:#202124;--sp2-muted:#6b7280;--sp2-line:#e7e9ef;--sp2-card:#fff;min-height:calc(100vh - 120px);color:var(--sp2-text);align-items:stretch;gap:0;font-family:Poppins,Segoe UI,Inter,system-ui,sans-serif;animation:.3s slideUp;display:flex;position:relative}.sp2-sidebar-backdrop{z-index:40;cursor:pointer;background:#0f172a73;border:none;padding:0;display:none;position:fixed;inset:0}.sp2-sidebar-backdrop.is-visible{display:block}.sp2-sidebar{background:var(--sp2-card);width:224px;color:var(--sp2-text);border:1px solid var(--sp2-line);z-index:50;border-left:none;border-radius:0 14px 14px 0;flex-direction:column;flex-shrink:0;padding:.65rem .62rem;display:flex;box-shadow:2px 0 16px #3c404314}.sp2-sidebar-brand{color:#fff;background:linear-gradient(160deg,#1a73e8 0%,#1254c2 100%);border:none;border-radius:12px;align-items:flex-start;gap:.65rem;margin:.2rem .2rem .75rem;padding:.7rem .62rem;display:flex}.sp2-sidebar-logo{border-radius:12px;flex-shrink:0;place-items:center;width:42px;height:42px;display:grid}.sp2-sidebar-logo-building{color:#fff;background:#ffffff2e;border:1px solid #ffffff4d;font-size:1.2rem}.sp2-sidebar-school{color:#fff;font-size:.98rem;font-weight:700;line-height:1.25}.sp2-sidebar-tag{color:#ffffffe6;margin-top:2px;font-size:.72rem}.sp2-sidebar-nav{flex-direction:column;flex:1;gap:4px;padding-right:2px;display:flex;overflow-y:auto}.sp2-sidebar-link{text-align:left;width:100%;color:var(--sp2-muted);cursor:pointer;background:0 0;border:none;border-radius:9px;align-items:center;gap:.65rem;padding:.58rem .68rem;font-size:.84rem;font-weight:500;transition:background .15s,color .15s;display:flex}.sp2-sidebar-link:hover{background:#f1f3f4}.sp2-sidebar-link.is-active{background:var(--sp2-primary);color:#fff;box-shadow:0 2px 8px #1a73e859}.sp2-sidebar-icon{place-items:center;width:22px;height:22px;font-size:1.05rem;display:grid}.sp2-nav-dashboard .sp2-sidebar-icon{color:#1a73e8}.sp2-nav-attendance .sp2-sidebar-icon{color:#34a853}.sp2-nav-assignment .sp2-sidebar-icon{color:#a142f4}.sp2-nav-academics .sp2-sidebar-icon{color:#f9ab00}.sp2-nav-timetable .sp2-sidebar-icon{color:#1a73e8}.sp2-nav-result .sp2-sidebar-icon{color:#34a853}.sp2-nav-fees .sp2-sidebar-icon{color:#e871a0}.sp2-nav-notice .sp2-sidebar-icon{color:#a142f4}.sp2-nav-events .sp2-sidebar-icon{color:#f9ab00}.sp2-nav-holiday .sp2-sidebar-icon{color:#34a853}.sp2-nav-activities .sp2-sidebar-icon,.sp2-nav-profile .sp2-sidebar-icon{color:#1a73e8}.sp2-sidebar-link.is-active .sp2-sidebar-icon{color:#fff}.sp2-sidebar-promo{background:linear-gradient(#e8f0fe 0%,#d2e3fc 100%);border:1px solid #c6dafc;border-radius:10px;margin-top:auto;padding:.75rem;font-size:.78rem;line-height:1.45;position:relative;overflow:hidden}.sp2-sidebar-promo-kids{object-fit:contain;opacity:.88;pointer-events:none;width:74px;height:74px;position:absolute;bottom:.2rem;right:.4rem}.sp2-sidebar-promo strong{color:var(--sp2-primary-dark);margin-bottom:.35rem;font-size:.84rem;display:block}.sp2-sidebar-promo-copy{color:var(--sp2-muted);margin:0}.sp2-sidebar-promo-trophy{color:var(--sp2-primary);opacity:.1;pointer-events:none;font-size:2.75rem;position:absolute;bottom:.35rem;right:.5rem}.sp2-workspace{background:var(--sp2-page);border-radius:14px 0 0 14px;flex-direction:column;flex:1;min-width:0;display:flex;overflow:hidden}.sp2-topbar{background:var(--sp2-card);border-bottom:1px solid var(--sp2-line);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;padding:.55rem .95rem;display:flex;box-shadow:0 1px 2px #3c40430f}.sp2-topbar-left{flex:1;align-items:center;gap:.65rem;min-width:0;display:flex}.sp2-icon-btn{border:1px solid var(--border);color:#334155;cursor:pointer;background:#fff;border-radius:12px;flex-shrink:0;place-items:center;width:42px;height:42px;display:grid}.sp2-menu-btn{display:none}.sp2-search{border:1px solid var(--sp2-line);background:#f1f3f4;border-radius:999px;flex:1;align-items:center;gap:.5rem;max-width:380px;padding:.4rem .82rem;display:flex}.sp2-search-icon{color:var(--muted);flex-shrink:0}.sp2-search input{min-width:0;font-size:var(--fs-sm);appearance:none;background:0 0;border:none;flex:1}.sp2-search input::-webkit-search-decoration{display:none}.sp2-search input::-webkit-search-cancel-button{display:none}.sp2-search input::-webkit-search-results-button{display:none}.sp2-search input::-webkit-search-results-decoration{display:none}.sp2-search input:focus{outline:none}.sp2-topbar-right{flex-wrap:wrap;align-items:center;gap:.75rem;display:flex}.sp2-lang-pills{border:1px solid var(--sp2-line);background:#f1f3f4;border-radius:12px;gap:4px;padding:4px;display:flex}.sp2-lang-pill{font-size:var(--fs-xs);color:var(--sp2-muted);cursor:pointer;background:0 0;border:2px solid #0000;border-radius:10px;padding:.3rem .8rem;font-weight:600}.sp2-lang-pill.is-active{color:var(--sp2-primary);border-color:var(--sp2-primary);box-shadow:none;background:#fff}.sp2-notif-wrap .guj-notif-panel{left:auto;right:0}.sp2-student-app .guj-notif-bell{color:var(--sp2-primary);background:#e8f0fe;border-color:#aecbfa}.sp2-student-app .guj-notif-bell:hover{background:#d2e3fc}.sp2-student-app .guj-notif-badge{background:#ea4335;border-color:#fff}.sp2-user-chip{background:#fff;border:1px solid #dbe2ea;border-radius:999px;align-items:center;gap:.45rem;padding:.25rem .65rem .25rem .25rem;display:flex;box-shadow:0 1px 2px #0000000a}.sp2-user-photo{object-fit:cover;border:2px solid #e8f0fe;border-radius:50%;flex-shrink:0;width:38px;height:38px}.sp2-user-meta strong{font-size:.82rem;line-height:1.2;display:block}.sp2-user-meta small{color:var(--muted);font-size:.74rem}.sp2-main-scroll{background:var(--sp2-page);flex:1;padding:.75rem .92rem 1.2rem;overflow-y:auto}.sp2-home{flex-direction:column;gap:.88rem;display:flex}.sp2-module-head{margin-bottom:.75rem}.sp2-module-title{color:var(--sp2-text);margin:0 0 .25rem;font-size:1.35rem;font-weight:700}.sp2-module-desc{max-width:52rem;margin:0}.sp2-module-stack.guj-module-content{margin-top:0}.sp2-hero{background:linear-gradient(105deg,#e8f0fe 0%,#f8fbff 42%,#e3f2fd 100%);border:1px solid #c6dafc;border-radius:12px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem 1.25rem;padding:.95rem 1.05rem;display:flex;position:relative;overflow:hidden;box-shadow:0 1px 3px #3c404314,0 4px 12px #1a73e80f}.sp2-hero.sp2-hero--image-only{box-shadow:none;background:0 0;border:none;padding:0}.sp2-hero-banner{border:1px solid #d8e8f8;border-radius:12px;width:100%;display:block;box-shadow:0 1px 3px #3c404314}.sp2-hero:after{content:"";pointer-events:none;background:radial-gradient(circle at 12% 20%,#1a73e812,#0000 38%),radial-gradient(circle at 88% 80%,#f9ab0014,#0000 35%);position:absolute;inset:0}.sp2-hero-illus{z-index:1;flex-shrink:0;position:relative}.sp2-hero-illus-student .sp2-hero-svg{filter:drop-shadow(0 4px 8px #1a73e826);width:76px;height:auto;display:block}.sp2-hero-photo{object-fit:contain;filter:drop-shadow(0 4px 10px #0f172a29);display:block}.sp2-hero-photo-student{width:104px;height:120px}.sp2-hero-photo-school{width:174px;height:120px}.sp2-hero-illus-school .sp2-hero-svg-school{filter:drop-shadow(0 4px 10px #f9ab0033);width:84px;height:auto;display:block}.sp2-hero-main{z-index:1;flex:1;min-width:200px;position:relative}.sp2-hero-title{color:var(--sp2-text);letter-spacing:-.02em;margin:0 0 .35rem;font-size:1.8rem;font-weight:700}.sp2-hero-date{color:var(--sp2-muted);margin:0;font-size:.81rem}.sp2-hero-date-gu{color:var(--sp2-muted);margin-top:.2rem;font-size:.8rem}.sp2-hero-motivate{color:var(--sp2-primary);margin:.5rem 0 0;font-size:.86rem;font-weight:500}.sp2-hero-classes{z-index:1;border:1px solid var(--sp2-line);background:#fff;border-radius:12px;min-width:168px;padding:.72rem .86rem;position:relative;box-shadow:0 1px 3px #3c404314}.sp2-hero-classes-title{text-transform:none;letter-spacing:0;color:#2563eb;margin-bottom:.5rem;font-size:.8rem;font-weight:700}.sp2-hero-class-list{margin:0 0 .5rem;padding:0;font-size:.8rem;list-style:none}.sp2-hero-class-list li{border-bottom:1px dashed #94a3b866;justify-content:space-between;gap:.5rem;padding:.2rem 0;display:flex}.sp2-hero-class-list li:last-child{border-bottom:none}.sp2-link-btn{color:var(--sp2-primary);cursor:pointer;background:0 0;border:none;padding:0;font-size:.82rem;font-weight:600}.sp2-link-btn:hover{text-decoration:underline}.sp2-stat-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:.66rem;display:grid}.sp2-stat-card{background:var(--sp2-card);border:1px solid var(--sp2-line);border-radius:11px;align-items:stretch;gap:.7rem;padding:.85rem .92rem;display:flex;box-shadow:0 1px 3px #3c404314}.sp2-stat-body{flex-direction:column;flex:1;min-width:0;display:flex}.sp2-stat-icon{border-radius:14px;flex-shrink:0;place-items:center;width:44px;height:44px;font-size:1.1rem;display:grid}.sp2-stat-attendance .sp2-stat-icon{color:#16a34a;background:#22c55e1f}.sp2-stat-homework .sp2-stat-icon{color:#7c3aed;background:#8b5cf61f}.sp2-stat-performance .sp2-stat-icon{color:#ea580c;background:#f973161f}.sp2-stat-fees .sp2-stat-icon{color:#db2777;background:#ec48991f}.sp2-stat-label{color:var(--muted);text-transform:none;letter-spacing:0;font-size:.8rem;font-weight:500}.sp2-stat-value{color:var(--sp2-text);font-size:1.7rem;font-weight:800;line-height:1.2}.sp2-stat-sub{margin-top:.15rem;font-size:.78rem}.sp2-stat-track{background:#e8eaed;border-radius:999px;height:6px;margin-top:.65rem;overflow:hidden}.sp2-stat-track>span{border-radius:999px;height:100%;transition:width .35s;display:block}.sp2-stat-track-green>span{background:linear-gradient(90deg,#34a853,#5dcf7a)}.sp2-stat-track-amber>span{background:linear-gradient(90deg,#f9ab00,#fbc02d)}.sp2-mid-two{grid-template-columns:minmax(0,1.35fr) minmax(0,1fr);gap:1rem;display:grid}.sp2-bot-row{grid-template-columns:minmax(0,1.35fr) minmax(0,1fr);align-items:start;gap:1rem;display:grid}.sp2-bot-right{flex-direction:column;gap:1rem;min-width:0;display:flex}.sp2-card{background:var(--sp2-card);border:1px solid var(--sp2-line);border-radius:11px;flex-direction:column;gap:.65rem;padding:.9rem .95rem;display:flex;box-shadow:0 1px 3px #3c404314}.sp2-card-head{justify-content:space-between;align-items:center;gap:.75rem;display:flex}.sp2-card-title{color:var(--sp2-text);margin:0;font-size:1.5rem;font-weight:700}.sp2-card-link{color:var(--sp2-primary);cursor:pointer;white-space:nowrap;background:0 0;border:none;padding:0;font-size:.78rem;font-weight:600}.sp2-card-link:hover{text-decoration:underline}.sp2-hw-list{flex-direction:column;gap:.5rem;display:flex}.sp2-hw-row{border:1px solid var(--sp2-line);background:#f8f9fa;border-radius:10px;align-items:flex-start;gap:.65rem;padding:.56rem .58rem;display:flex}.sp2-hw-bullet{color:#fff;border-radius:50%;flex-shrink:0;place-items:center;width:34px;height:34px;font-size:.95rem;display:grid}.sp2-hw-bullet--0{background:#1a73e8}.sp2-hw-bullet--1{background:#34a853}.sp2-hw-bullet--2{background:#a142f4}.sp2-hw-body{flex:1;min-width:0}.sp2-hw-body strong{color:var(--sp2-text);font-size:.82rem}.sp2-hw-meta{font-size:.75rem}.sp2-pill{white-space:nowrap;border-radius:999px;padding:.2rem .5rem;font-size:.72rem;font-weight:600}.sp2-pill-pending{color:#b06000;background:#fef7e0;border:1px solid #fce8b2}.sp2-pill-warn{color:#b91c1c;background:#ef44441f}.sp2-primary-btn{background:var(--sp2-primary);color:#fff;cursor:pointer;border:none;border-radius:10px;justify-content:center;align-items:center;gap:.45rem;width:100%;margin-top:auto;padding:.7rem 1rem;font-size:.88rem;font-weight:700;display:inline-flex;box-shadow:0 2px 6px #1a73e859}.sp2-primary-btn:hover{background:var(--sp2-primary-dark)}.sp2-pay-btn{margin-top:.5rem}.sp2-notice-list{flex-direction:column;gap:.45rem;display:flex}.sp2-notice-row{background:#fafafa;border:1px solid #e2e8f0;border-radius:12px;align-items:flex-start;gap:.55rem;padding:.5rem .55rem;display:flex}.sp2-notice-urgent{background:#fee2e259;border-color:#ef444459}.sp2-notice-event{background:#dbeafe73;border-color:#3b82f659}.sp2-notice-general{border-color:#94a3b859}.sp2-notice-icon{background:#fff;border-radius:8px;flex-shrink:0;place-items:center;width:28px;height:28px;font-size:.95rem;display:grid}.sp2-notice-urgent .sp2-notice-icon{color:#dc2626}.sp2-notice-event .sp2-notice-icon{color:#2563eb}.sp2-notice-general .sp2-notice-icon{color:#64748b}.sp2-notice-copy{flex:1;min-width:0}.sp2-notice-title-row{justify-content:space-between;align-items:flex-start;gap:.5rem;display:flex}.sp2-notice-title-row strong{color:var(--sp2-text);font-size:.88rem}.sp2-notice-tag{text-transform:uppercase;letter-spacing:.04em;border-radius:6px;flex-shrink:0;padding:.15rem .4rem;font-size:.65rem;font-weight:700}.sp2-notice-tag-urgent{color:#c5221f;background:#fce8e6}.sp2-notice-tag-event{color:#137333;background:#e6f4ea}.sp2-notice-tag-general{color:var(--sp2-primary);background:#e8f0fe}.sp2-cal-legend{color:var(--sp2-muted);flex-wrap:wrap;gap:.65rem;font-size:.72rem;display:flex}.sp2-cal-legend-bottom{border-top:1px solid var(--sp2-line);justify-content:center;margin-top:.5rem;padding-top:.5rem}.sp2-cal-legend span{align-items:center;gap:.25rem;display:inline-flex}.sp2-dot{border-radius:50%;width:8px;height:8px;display:inline-block}.sp2-dot-event{background:var(--sp2-primary)}.sp2-dot-exam{background:#e871a0}.sp2-dot-holiday{background:#34a853}.sp2-cal-weekdays{color:#94a3b8;text-align:center;grid-template-columns:repeat(7,1fr);gap:2px;margin:.35rem 0 .25rem;font-size:.65rem;font-weight:700;display:grid}.sp2-cal-grid{grid-template-columns:repeat(7,1fr);gap:3px;display:grid}.sp2-cal-cell{aspect-ratio:1;background:#f8fafc;border:1px solid #0000;border-radius:999px;flex-direction:column;justify-content:center;align-items:center;max-height:36px;font-size:.75rem;font-weight:600;display:flex}.sp2-cal-cell.is-today{border-color:var(--sp2-primary);color:var(--sp2-primary);background:#e8f0fe;font-weight:800}.sp2-cal-empty{background:0 0}.sp2-cal-marks{gap:2px;margin-top:2px;display:flex}.sp2-tt-row{flex-wrap:wrap;gap:.5rem;display:flex}.sp2-tt-slot{border:1px solid var(--sp2-line);text-align:center;background:#f8f9fa;border-radius:10px;flex:1;min-width:92px;padding:.5rem .45rem}.sp2-tt-icon{width:36px;height:36px;color:var(--sp2-primary);background:#e8f0fe;border-radius:10px;place-items:center;margin:.25rem auto;font-size:1rem;display:grid}.sp2-tt-period{color:#64748b;text-transform:uppercase;font-size:.68rem;font-weight:700}.sp2-tt-subj{color:var(--sp2-text);margin:.15rem 0;font-size:.85rem;font-weight:700}.sp2-tt-time{font-size:.72rem}.sp2-tt-foot{align-items:center;gap:.4rem;margin:.5rem 0 0;font-size:.78rem;display:flex}.sp2-tt-clock{color:var(--sp2-primary);flex-shrink:0}.sp2-fee-mini-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:.5rem;display:grid}.sp2-fee-mini{color:var(--muted);background:#f8fafc;border:1px solid #e2e8f0;border-radius:10px;flex-direction:column;gap:.15rem;padding:.55rem .5rem;font-size:.72rem;display:flex}.sp2-fee-mini strong{color:#0f172a;font-size:.95rem}.sp2-fee-mini-paid strong{color:#137333}.sp2-fee-mini-paid{background:#e6f4ea;border-color:#ceead6}.sp2-fee-mini-due{background:#fce8e6;border-color:#f9dedc}.sp2-fee-mini-due strong{color:#c5221f}.sp2-footer{color:var(--sp2-muted);border-top:1px solid var(--sp2-line);flex-wrap:wrap;justify-content:space-between;gap:.5rem;margin-top:.25rem;padding:.75rem .25rem 0;font-size:.76rem;display:flex}.sp2-loading-shell{background:#f6f8fc;border-radius:16px;flex-direction:column;gap:.85rem;padding:1rem;display:flex}.sp2-loading-header{color:#1f3b7c;align-items:center;gap:.5rem;font-size:.92rem;font-weight:600;display:inline-flex}.sp2-loading-dot{background:#1a73e8;border-radius:50%;width:10px;height:10px;animation:1.4s infinite sp2Pulse;box-shadow:0 0 #1a73e880}.sp2-loading-hero{background:#e8edf5;border-radius:12px;height:170px}.sp2-loading-metrics{grid-template-columns:repeat(4,minmax(0,1fr));gap:.65rem;display:grid}.sp2-loading-card{background:#e8edf5;border-radius:11px;height:96px}.sp2-loading-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:.75rem;display:grid}.sp2-loading-panel{background:#e8edf5;border-radius:11px;height:230px}.role-dashboard{flex-direction:column;gap:16px;display:flex}.role-dashboard-teacher,.role-dashboard-admin{isolation:isolate;position:relative}.role-dashboard-clean{font-family:Inter,Segoe UI,sans-serif}.role-hero{border:1px solid #94a3b847;border-radius:18px;grid-template-columns:1fr auto auto;align-items:center;gap:14px;padding:18px;display:grid;box-shadow:0 14px 34px #0f172a14}.role-hero-teacher{background:radial-gradient(circle at 88% -12%,#ffffffb8 0%,#fff0 58%),linear-gradient(130deg,#dbeafe 0%,#e0e7ff 46%,#f0f9ff 100%)}.role-hero-admin{background:radial-gradient(circle at 85% -10%,#ffffffb8 0%,#fff0 56%),linear-gradient(130deg,#ffedd5 0%,#fef3c7 48%,#fff7ed 100%)}.role-hero-copy{gap:4px;display:grid}.role-hero-eyebrow{text-transform:uppercase;letter-spacing:.08em;color:#334155;margin:0;font-size:.74rem;font-weight:700}.role-hero h2{color:#0f172a;margin:0;font-size:clamp(1.2rem,2.4vw,1.5rem)}.role-hero p,.role-hero small{color:#475569;margin:2px 0 0}.role-hero-chip{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);text-align:center;background:#ffffffd9;border:1px solid #94a3b83d;border-radius:14px;min-width:136px;padding:12px;box-shadow:0 8px 18px #0f172a14}.role-hero-chip-highlight{background:linear-gradient(160deg,#fffffff2,#dbeafeb8);border-color:#2563eb38}.role-hero-chip strong{color:#0f172a;font-size:1.16rem;display:block}.role-hero-chip span{color:#475569;font-size:.75rem}.role-stat-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;display:grid}.role-stat-card{background:#fff;border:1px solid #94a3b840;border-radius:16px;gap:4px;padding:16px;display:grid;box-shadow:0 8px 18px #0f172a0d}.role-stat-icon{color:#1d4ed8;background:#dbeafedb;border-radius:999px;place-items:center;width:30px;height:30px;display:inline-grid}.role-stat-card span{color:#64748b;font-size:.82rem;display:block}.role-stat-card strong{color:#0f172a;font-size:1.3rem}.role-stat-card small{color:#64748b;font-size:.76rem}.role-main-grid{grid-template-columns:1.25fr 1fr 1fr;gap:12px;display:grid}.role-main-grid-admin{grid-template-columns:1.3fr 1fr}.role-panel{background:#fff;border:1px solid #94a3b840;border-radius:16px;padding:16px;box-shadow:0 8px 18px #0f172a0d}.role-panel-wide{padding:16px}.role-panel-head{justify-content:space-between;align-items:center;gap:10px;margin-bottom:10px;display:flex}.role-panel-head h3,.role-quick-actions h3{color:#0f172a;margin:0}.role-panel-head a,.role-card-actions a,.role-action-grid a{color:#1d4ed8;font-size:.8rem;font-weight:600;text-decoration:none}.role-list{flex-direction:column;gap:9px;display:flex}.role-list-row{background:0 0;border-bottom:1px solid #e2e8f0e6;border-radius:12px;justify-content:space-between;align-items:center;gap:10px;padding:8px 0;display:flex}.role-list-row strong{font-size:.92rem;display:block}.role-list-row small{color:#64748b;font-size:.78rem}.role-tag{white-space:nowrap;border-radius:999px;padding:4px 9px;font-size:.72rem;font-weight:600}.role-tag.is-pending{color:#a16207;background:#fff5d6}.role-tag.is-submitted{color:#137333;background:#e8f5e9}.role-clean-label{color:#64748b;margin:0;font-size:.85rem}.role-stat-grid-clean,.role-main-grid-clean{gap:16px}.role-stat-card-clean{justify-content:space-between;align-items:center;display:flex}.role-stat-card-clean .role-stat-icon{border-radius:12px;width:40px;height:40px}.role-panel-clean{padding:16px}.role-panel-span-2{grid-column:span 2}.role-list-row-clean:last-child{border-bottom:0}.role-action-grid-clean{grid-template-columns:repeat(3,minmax(0,1fr))}.role-action-grid-clean a{background:#eff6ff;border:1px solid #dbeafe;border-radius:12px;place-items:center;min-height:44px;display:grid}.role-performance-row{background:#ffffffc7;border:1px solid #e2e8f0e6;border-radius:12px;padding:10px 11px}.role-performance-head{justify-content:space-between;margin-bottom:6px;font-size:.88rem;display:flex}.role-progress{background:#e2e8f0;border-radius:999px;height:8px;overflow:hidden}.role-progress span{background:linear-gradient(90deg,#1a73e8,#60a5fa);height:100%;display:block}.role-class-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;display:grid}.role-class-card{background:linear-gradient(170deg,#fff 0%,#f8fafc 100%);border:1px solid #e2e8f0e6;border-radius:12px;padding:12px}.role-class-card strong{font-size:.9rem;display:block}.role-class-card small{color:#64748b;font-size:.78rem}.role-card-actions{gap:10px;margin-top:8px;display:flex}.role-kpi-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;display:grid}.role-kpi-grid>div{background:#fffc;border:1px solid #e2e8f0e6;border-radius:12px;padding:11px}.role-kpi-grid span{color:#64748b;font-size:.75rem;display:block}.role-kpi-grid strong{font-size:1rem}.role-inline-progress{background:#e2e8f0;border-radius:999px;height:9px;margin-top:10px;overflow:hidden}.role-inline-progress span{background:linear-gradient(90deg,#2563eb,#38bdf8);height:100%;display:block}.role-muted-chip{color:#475569;background:#f8fafceb;border:1px solid #94a3b852;border-radius:999px;padding:4px 10px;font-size:.74rem;font-weight:600}.role-action-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;display:grid}.role-action-grid a{text-align:center;background:linear-gradient(170deg,#eff6ff 0%,#f8fafc 100%);border:1px solid #94a3b84d;border-radius:12px;padding:11px}.role-action-grid a:hover{border-color:#2563eb73;transform:translateY(-1px);box-shadow:0 8px 16px #2563eb24}.shimmer{position:relative;overflow:hidden}.shimmer:after{content:"";background:linear-gradient(90deg,#0000,#fff9,#0000);animation:1.4s infinite shimmer;position:absolute;inset:0;transform:translate(-100%)}@keyframes shimmer{to{transform:translate(100%)}}@keyframes sp2Pulse{0%{box-shadow:0 0 #1a73e880}70%{box-shadow:0 0 0 8px #1a73e800}to{box-shadow:0 0 #1a73e800}}.sp2-home .sp2-card-title,.sp2-home .sp2-hero-title{font-family:Poppins,Segoe UI,sans-serif}.sp2-home .sp2-card-title{color:#1f3b7c;font-size:1.06rem}@media (width<=1024px){.sp2-stat-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.sp2-mid-two,.sp2-bot-row{grid-template-columns:1fr}.sp2-loading-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.sp2-loading-grid{grid-template-columns:1fr}.role-stat-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.role-main-grid,.role-main-grid-admin,.role-class-grid,.role-action-grid,.role-kpi-grid{grid-template-columns:1fr}.role-hero{grid-template-columns:1fr;padding:14px}.role-hero-chip{min-width:100%}}@media (width<=640px){.role-dashboard{gap:12px}.role-stat-grid{grid-template-columns:1fr}.role-panel,.role-panel-wide{padding:12px}.role-panel-span-2{grid-column:auto}.role-list-row{flex-direction:column;align-items:flex-start}.role-tag{align-self:flex-start}.role-action-grid-clean a{width:100%}}@media (width<=900px){.sp2-menu-btn{display:none!important}.student-header-menu-btn{display:flex}.sp2-topbar{flex-flow:column;align-items:stretch;gap:.5rem;padding:.6rem .75rem}.sp2-topbar-left{flex:unset;width:100%}.sp2-search{flex:1;width:100%;max-width:100%}.sp2-topbar-right,.sp2-lang-pills{justify-content:center;width:100%}.sp2-sidebar{max-width:min(280px,88vw);box-shadow:none;visibility:hidden;pointer-events:none;border-radius:0 16px 16px 0;transition:transform .22s;position:fixed;top:0;bottom:0;left:0;transform:translate(calc(-100% - 28px))}.sp2-sidebar.is-open{visibility:visible;pointer-events:auto;transform:translate(0);box-shadow:2px 0 16px #3c404329}.sp2-workspace{border-radius:16px;width:100%}.sp2-student-app{min-height:auto;overflow-x:clip}}@media (width<=640px){.sp2-topbar{flex-wrap:wrap;gap:.5rem;padding:.5rem .65rem}.sp2-topbar-left{flex:1;min-width:0}.sp2-search{flex:1;min-width:0;max-width:100%}.sp2-topbar-right{order:3;justify-content:center;width:100%}.sp2-user-meta small{display:none}.sp2-lang-pills{justify-content:center;width:100%}.sp2-stat-grid{grid-template-columns:1fr}.sp2-hero-left{flex-direction:column;align-items:flex-start}}.guj-student-dashboard{flex-direction:column;gap:20px;animation:.3s slideUp;display:flex}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.guj-top-bar{background:linear-gradient(135deg,#fff 0%,#f8fbfe 100%);border:1px solid #6366f11a;border-radius:14px;justify-content:space-between;align-items:center;padding:12px 16px;display:flex;box-shadow:0 4px 12px #6366f10f}.guj-lang-toggle{color:#1e40af;background:#3b82f614;border:1px solid #3b82f633;border-radius:12px;align-items:center;gap:8px;padding:8px 12px;font-size:.9rem;font-weight:600;display:flex}.guj-lang-btn{cursor:pointer;background:0 0;border:1px solid #0000;border-radius:8px;padding:4px 8px;font-weight:600;transition:all .2s}.guj-lang-btn.active{color:#fff;background:#3b82f6;border-color:#1e40af}.guj-lang-btn:hover:not(.active){background:#3b82f61a}.guj-lang-sep{color:#3b82f64d}.guj-notif-wrap{position:relative}.guj-notif-bell{cursor:pointer;background:#3b82f61a;border:1px solid #3b82f633;border-radius:10px;justify-content:center;align-items:center;padding:8px 10px;font-size:1.1rem;transition:all .2s;display:flex;position:relative}.guj-notif-bell:hover{background:#3b82f633;transform:scale(1.05)}.guj-notif-badge{color:#fff;background:#ef4444;border:2px solid #fff;border-radius:50%;place-items:center;width:20px;height:20px;font-size:.7rem;font-weight:700;display:grid;position:absolute;top:-6px;right:-6px;box-shadow:0 2px 6px #ef44444d}.guj-notif-panel{z-index:100;background:#fff;border:1px solid #6366f126;border-radius:14px;width:320px;max-height:400px;margin-top:8px;animation:.2s panelSlideDown;position:absolute;top:100%;right:0;overflow-y:auto;box-shadow:0 12px 32px #0000001f}@keyframes panelSlideDown{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.guj-notif-header{border-bottom:1px solid #6366f11a;justify-content:space-between;align-items:center;gap:10px;padding:12px 14px;font-size:.9rem;font-weight:600;display:flex}.guj-notif-close{cursor:pointer;opacity:.5;background:0 0;border:none;transition:opacity .2s}.guj-notif-close:hover{opacity:1}.guj-notif-item{border-bottom:1px solid #6366f10d;align-items:flex-start;gap:12px;padding:12px 14px;font-size:.9rem;display:flex}.guj-notif-item svg{flex-shrink:0;margin-top:2px;font-size:1.1rem}.guj-notif-item.guj-notif-hw{border-left:4px solid #3b82f6}.guj-notif-item.guj-notif-fee{border-left:4px solid #ef4444}.guj-notif-item.guj-notif-notice{border-left:4px solid #f59e0b}.guj-notif-item strong{margin-bottom:2px;display:block}.guj-notif-item small{color:#64748b;margin-top:2px;display:block}.guj-notif-empty{text-align:center;color:#64748b;padding:20px;font-size:.9rem}.guj-welcome-card{background:linear-gradient(135deg,#eef2ff 0%,#f0fdf4 100%);border:1px solid #6366f126;border-radius:20px;grid-template-columns:1fr 1fr;align-items:center;gap:24px;padding:20px 24px;display:grid;box-shadow:0 8px 20px #6366f114}.guj-welcome-left{align-items:center;gap:16px;display:flex}.guj-welcome-avatar{color:#fff;background:linear-gradient(135deg,#22c55e 0%,#10b981 100%);border-radius:50%;flex-shrink:0;place-items:center;width:60px;height:60px;font-size:2rem;display:grid;box-shadow:0 4px 12px #22c55e4d}.guj-welcome-text{flex:1}.guj-welcome-name{color:#0b1325;margin:0;font-size:1.4rem;font-weight:700;line-height:1.3}.guj-welcome-date-en,.guj-welcome-date-gu{color:#475569;margin:4px 0;font-size:.85rem}.guj-welcome-motivate{color:#0ea5e9;align-items:center;gap:6px;margin:8px 0 0;font-size:.9rem;font-weight:600;display:flex}.guj-welcome-right{flex-direction:column;gap:12px;display:flex}.guj-today-focus{background:#fff;border:1px solid #6366f11a;border-radius:12px;padding:12px 14px}.guj-focus-label{text-transform:uppercase;color:#f59e0b;align-items:center;gap:6px;margin-bottom:6px;font-size:.8rem;font-weight:700;display:flex}.guj-focus-item{color:#0b1325;align-items:center;gap:8px;font-size:.9rem;font-weight:600;display:flex}.guj-focus-item.guj-focus-ok{color:#22c55e}.guj-focus-item small{color:#64748b;margin-top:4px;margin-left:28px;font-size:.75rem;font-weight:400;display:block}.guj-badges-row{flex-wrap:wrap;gap:8px;display:flex}.guj-badge{border:1px solid #0000;border-radius:20px;align-items:center;gap:6px;padding:6px 12px;font-size:.8rem;font-weight:700;display:inline-flex}.guj-badge-gold{color:#78350f;background:linear-gradient(135deg,#fef08a 0%,#fcd34d 100%)}.guj-badge-star{color:#7f1d1d;background:linear-gradient(135deg,#fecaca 0%,#fca5a5 100%)}.guj-badge-green{color:#166534;background:linear-gradient(135deg,#bbf7d0 0%,#86efac 100%)}.guj-summary-row{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:16px;display:grid}.guj-sum-card{background:#fff;border:1px solid #6366f11a;border-radius:16px;gap:14px;padding:16px 18px;transition:all .2s;display:flex;box-shadow:0 4px 12px #6366f10a}.guj-sum-card:hover{border-color:#6366f133;transform:translateY(-2px);box-shadow:0 8px 20px #6366f114}.guj-sum-icon{color:#fff;border-radius:12px;flex-shrink:0;place-items:center;width:48px;height:48px;font-size:1.4rem;display:grid}.guj-sum-attendance .guj-sum-icon{background:linear-gradient(135deg,#3b82f6 0%,#2563eb 100%)}.guj-sum-homework .guj-sum-icon{background:linear-gradient(135deg,#8b5cf6 0%,#7c3aed 100%)}.guj-sum-result .guj-sum-icon{background:linear-gradient(135deg,#f59e0b 0%,#d97706 100%)}.guj-sum-fees .guj-sum-icon{background:linear-gradient(135deg,#ef4444 0%,#dc2626 100%)}.guj-sum-body{flex:1}.guj-sum-label{text-transform:uppercase;color:#64748b;letter-spacing:.05em;font-size:.8rem;font-weight:700}.guj-sum-value{color:#0b1325;margin:4px 0;font-size:1.8rem;font-weight:700;line-height:1.2}.guj-progress-bar{background:#6366f11a;border-radius:3px;width:100%;height:6px;margin:6px 0;overflow:hidden}.guj-progress-fill{border-radius:3px;height:100%;transition:width .4s}.guj-fill-green{background:linear-gradient(90deg,#22c55e 0%,#10b981 100%)}.guj-fill-yellow{background:linear-gradient(90deg,#f59e0b 0%,#d97706 100%)}.guj-fill-red{background:linear-gradient(90deg,#ef4444 0%,#dc2626 100%)}.guj-sum-badge{text-transform:uppercase;letter-spacing:.03em;border-radius:8px;padding:4px 10px;font-size:.75rem;font-weight:700;display:inline-block}.guj-badge-tone-green{color:#15803d;background:#22c55e26}.guj-badge-tone-yellow{color:#a16207;background:#f59e0b26}.guj-badge-tone-red{color:#b91c1c;background:#ef444426}.guj-nav-grid{background:linear-gradient(135deg,#6366f10d 0%,#10b9810d 100%);border:1px solid #6366f11a;border-radius:16px;grid-template-columns:repeat(auto-fit,minmax(100px,1fr));gap:10px;padding:16px;display:grid}.guj-nav-btn{cursor:pointer;background:#fff;border:2px solid #0000;border-radius:12px;flex-direction:column;justify-content:center;align-items:center;gap:8px;min-height:80px;padding:12px 10px;font-size:.85rem;font-weight:600;transition:all .2s;display:flex}.guj-nav-btn:hover{border-color:#6366f14d;transform:translateY(-1px);box-shadow:0 6px 16px #6366f11a}.guj-nav-btn.is-active{color:#fff;background:linear-gradient(135deg,#6366f1 0%,#06b6d4 100%);border-color:#0000;box-shadow:0 8px 20px #6366f133}.guj-nav-icon{justify-content:center;align-items:center;font-size:1.6rem;display:flex}.guj-nav-label{text-align:center;font-size:.8rem;line-height:1.2}.guj-module-content{gap:16px;display:grid}.guj-module-inner{animation:.25s fadeIn}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.guj-module-title{color:#0b1325;margin:0 0 16px;font-size:1.2rem;font-weight:700}.guj-section-header{color:#0f172a;align-items:center;gap:10px;margin-bottom:14px;font-size:1rem;font-weight:700;display:flex}.guj-ai-suggestion{background:linear-gradient(135deg,#ede9fe 0%,#e0e7ff 100%);border-left:4px solid #8b5cf6;border-radius:14px;gap:14px;margin-bottom:16px;padding:14px 16px;display:flex}.guj-ai-icon{flex-shrink:0;font-size:1.8rem}.guj-ai-text{flex:1}.guj-ai-text strong{color:#6b21a8;margin-bottom:4px;font-size:.95rem;display:block}.guj-ai-text p{color:#7c3aed;margin:0;font-size:.9rem;line-height:1.4}.guj-dash-two-col{grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:16px;margin-bottom:16px;display:grid}.guj-dash-section{background:#fff;border:1px solid #6366f11a;border-radius:14px;padding:14px;box-shadow:0 2px 8px #6366f108}.guj-hw-item{background:linear-gradient(135deg,#eff6ffcc 0%,#f0f9ffcc 100%);border:1px solid #3b82f626;border-left:4px solid #3b82f6;border-radius:12px;margin-bottom:10px;padding:12px;transition:all .2s}.guj-hw-item:hover{border-color:#3b82f64d;box-shadow:0 4px 12px #3b82f614}.guj-hw-subject{color:#1e40af;background:#dbeafe;border-radius:6px;margin-bottom:6px;padding:2px 8px;font-size:.7rem;font-weight:700;display:inline-block}.guj-hw-body strong{color:#0b1325;margin-bottom:4px;font-size:.9rem;display:block}.guj-hw-body small{color:#64748b;margin-bottom:6px;font-size:.8rem;display:block}.guj-hw-desc{color:#475569;margin:6px 0;font-size:.8rem;line-height:1.4}.guj-hw-actions{justify-content:flex-end;gap:8px;margin-top:8px;display:flex}.guj-hw-badge{border-radius:8px;align-items:center;gap:4px;padding:4px 10px;font-size:.75rem;font-weight:700;display:inline-flex}.guj-hw-badge svg{font-size:.9rem}.guj-notice-item{background:linear-gradient(135deg,#f5f3ff 0%,#fef3c7 100%);border-left:4px solid #8b5cf6;border-radius:12px;align-items:center;gap:12px;margin-bottom:10px;padding:12px;font-size:.9rem;transition:all .2s;display:flex}.guj-notice-item:hover{transform:translate(2px);box-shadow:0 4px 12px #00000014}.guj-notice-item.guj-notice-general{background:linear-gradient(135deg,#eff6ff 0%,#dbeafe 100%);border-left-color:#3b82f6}.guj-notice-item.guj-notice-event{background:linear-gradient(135deg,#fffbeb 0%,#fef3c7 100%);border-left-color:#f59e0b}.guj-notice-item.guj-notice-urgent{background:linear-gradient(135deg,#fef2f2 0%,#fee2e2 100%);border-left-color:#ef4444}.guj-notice-icon{flex-shrink:0;font-size:1.4rem}.guj-notice-body{flex:1}.guj-notice-body strong{margin-bottom:2px;font-size:.9rem;display:block}.guj-notice-body small{opacity:.7;margin-top:2px;font-size:.8rem;display:block}.guj-calendar-list{flex-direction:column;gap:10px;display:flex}.guj-cal-item{background:#fff;border:1px solid #6366f11a;border-radius:12px;align-items:flex-start;gap:12px;padding:12px 14px;transition:all .2s;display:flex}.guj-cal-item:hover{border-color:#6366f133;box-shadow:0 4px 12px #6366f114}.guj-cal-dot{border-radius:50%;flex-shrink:0;width:12px;height:12px;margin-top:4px}.guj-dot-blue{background:#3b82f6;box-shadow:0 0 8px #3b82f64d}.guj-dot-green{background:#22c55e;box-shadow:0 0 8px #22c55e4d}.guj-dot-red{background:#ef4444;box-shadow:0 0 8px #ef44444d}.guj-cal-body{flex:1}.guj-cal-body strong{color:#0b1325;margin-bottom:2px;font-size:.95rem;display:block}.guj-cal-body p{color:#475569;margin:4px 0;font-size:.85rem}.guj-cal-body small{color:#64748b;margin-top:4px;font-size:.8rem;display:block}.guj-cal-tag{color:#4f46e5;white-space:nowrap;background:#6366f11a;border-radius:6px;flex-shrink:0;padding:4px 10px;font-size:.75rem;font-weight:700;display:inline-block}.guj-tag-green{color:#15803d;background:#22c55e1a}.guj-assignment-grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:14px;display:grid}.guj-assign-card{background:#fff;border:1px solid #6366f11a;border-radius:12px;flex-direction:column;gap:10px;padding:14px;transition:all .2s;display:flex}.guj-assign-card:hover{border-color:#6366f133;transform:translateY(-2px);box-shadow:0 8px 20px #6366f11a}.guj-assign-top{justify-content:space-between;align-items:flex-start;gap:8px;display:flex}.guj-assign-subject-badge{color:#4f46e5;background:#6366f126;border-radius:6px;padding:4px 10px;font-size:.75rem;font-weight:700;display:inline-block}.guj-assign-title{color:#0b1325;margin:0;font-size:.95rem;line-height:1.4;display:block}.guj-assign-meta{color:#64748b;flex-direction:column;gap:4px;font-size:.8rem;display:flex}.guj-assign-desc{color:#475569;margin:0;font-size:.8rem;line-height:1.4}.guj-assign-actions{gap:8px;display:flex}.guj-btn-secondary{cursor:pointer;color:#1f2937;background:#f3f4f6;border:1px solid #d1d5db;border-radius:8px;align-items:center;gap:4px;padding:6px 12px;font-size:.8rem;font-weight:600;text-decoration:none;transition:all .2s;display:inline-flex}.guj-btn-secondary:hover{background:#e5e7eb;border-color:#9ca3af}.guj-fees-summary{grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:12px;margin-bottom:16px;display:grid}.guj-fee-card{background:#fff;border:1px solid #6366f11a;border-radius:12px;align-items:center;gap:12px;padding:14px;transition:all .2s;display:flex}.guj-fee-card:hover{border-color:#6366f133;transform:translateY(-1px);box-shadow:0 4px 12px #6366f114}.guj-fee-icon{flex-shrink:0;font-size:1.6rem}.guj-fee-total .guj-fee-icon{color:#8b5cf6}.guj-fee-paid .guj-fee-icon{color:#22c55e}.guj-fee-due .guj-fee-icon{color:#ef4444}.guj-fee-due.guj-fee-clear .guj-fee-icon{color:#22c55e}.guj-fee-body strong{color:#0b1325;font-size:1.1rem;display:block}.guj-fee-body small{color:#64748b;margin-top:2px;font-size:.8rem;display:block}.guj-pay-now-banner{color:#7f1d1d;background:linear-gradient(135deg,#fee2e2 0%,#fecaca 100%);border:1px solid #ef44444d;border-radius:12px;justify-content:space-between;align-items:center;gap:12px;margin-bottom:16px;padding:12px 14px;font-weight:600;display:flex}.guj-pay-btn{color:#fff;cursor:pointer;background:#dc2626;border:none;border-radius:8px;flex-shrink:0;padding:6px 14px;font-weight:700;transition:all .2s}.guj-pay-btn:hover{background:#b91c1c;transform:scale(1.05)}.guj-notice-list{flex-direction:column;gap:10px;display:flex}.guj-notice-item.guj-notice-full{background:#fff;border:1px solid #6366f11a;border-radius:12px;align-items:flex-start;gap:12px;padding:14px;display:flex;position:relative}.guj-notice-full strong{margin-bottom:6px;font-size:.95rem;display:block}.guj-notice-full p{color:#475569;margin:6px 0;font-size:.9rem;line-height:1.4}.guj-notice-full small{color:#64748b;margin-top:6px;font-size:.8rem;display:block}.guj-notice-priority-tag{color:#7f1d1d;background:#fca5a5;border-radius:6px;padding:4px 10px;font-size:.7rem;font-weight:700;position:absolute;top:8px;right:8px}.guj-alert-banner{border-left:4px solid;border-radius:12px;align-items:flex-start;gap:12px;margin-bottom:16px;padding:12px 14px;font-size:.9rem;line-height:1.4;display:flex}.guj-alert-warn{color:#92400e;background:linear-gradient(135deg,#fef3c7 0%,#fed7aa 100%);border-left-color:#f59e0b}.guj-info-grid{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:12px;margin-bottom:16px;display:grid}.guj-info-card{background:linear-gradient(135deg,#f8fafc 0%,#f1f5f9 100%);border:1px solid #6366f11a;border-radius:12px;padding:12px 14px}.guj-info-card strong{color:#64748b;text-transform:uppercase;letter-spacing:.05em;margin-bottom:6px;font-size:.85rem;font-weight:700;display:block}.guj-info-card span{color:#0b1325;font-size:1rem;font-weight:700;line-height:1.4;display:block}.guj-empty-state{text-align:center;color:#64748b;flex-direction:column;justify-content:center;align-items:center;gap:10px;padding:40px 20px;display:flex}.guj-empty-icon{color:#cbd5e1;opacity:.8;font-size:3rem}.guj-link-btn{color:#3b82f6;cursor:pointer;background:0 0;border:none;align-items:center;gap:6px;margin-top:8px;padding:6px 10px;font-size:.9rem;font-weight:600;transition:all .2s;display:inline-flex}.guj-link-btn:hover{color:#1e40af;transform:translate(2px)}@media (width<=768px){.guj-welcome-card{grid-template-columns:1fr;gap:16px}.guj-welcome-left{justify-content:center}.guj-welcome-text{text-align:center}.guj-nav-grid{grid-template-columns:repeat(auto-fit,minmax(70px,1fr));gap:8px;padding:12px}.guj-nav-btn{min-height:70px;padding:10px 8px;font-size:.75rem}.guj-nav-icon{font-size:1.4rem}.guj-dash-two-col,.guj-assignment-grid{grid-template-columns:1fr}.guj-summary-row{grid-template-columns:repeat(2,1fr)}.guj-top-bar{padding:10px 12px}.guj-notif-panel{width:90vw;max-width:300px;right:-10px}}@media (width<=480px){.guj-student-dashboard{gap:14px}.guj-summary-row{grid-template-columns:1fr}.guj-welcome-card{padding:14px}.guj-welcome-avatar{width:50px;height:50px;font-size:1.6rem}.guj-welcome-name{font-size:1.1rem}.guj-nav-btn{min-height:60px}.guj-fees-summary{grid-template-columns:1fr}}body.dashboard-dark .guj-sum-card{background:#1e293b;border-color:#3341554d}body.dashboard-dark .guj-nav-btn{color:#cbd5e1;background:#0f172a;border-color:#33415533}body.dashboard-dark .guj-info-card{background:linear-gradient(135deg,#0f172ab3 0%,#0f172a80 100%);border-color:#3341554d}body.dashboard-dark .guj-dash-section{background:#0f172a;border-color:#3341554d}.landing-page{color:#1e293b;background:#f1f5f9;min-height:100vh;font-family:Inter,Segoe UI,sans-serif}.landing-header{justify-content:space-between;align-items:center;margin-bottom:48px;padding-top:14px;display:flex}.landing-logo{color:#2563eb;font-size:18px;font-weight:700}.landing-nav{gap:12px;display:flex}.landing-page .btn{cursor:pointer;border:1px solid #0000;border-radius:10px;padding:10px 18px;font-size:14px;font-weight:500;text-decoration:none}.landing-page .btn-primary{color:#fff;background:linear-gradient(135deg,#2563eb,#1d4ed8)}.landing-page .btn-outline{color:#2563eb;background:#fff;border-color:#2563eb}.landing-hero{grid-template-columns:1fr 1fr;align-items:center;gap:48px;margin-bottom:64px;display:grid}.landing-hero-copy{max-width:560px}.landing-hero h1{letter-spacing:-.03em;margin-bottom:16px;font-size:clamp(2.2rem,5.2vw,3.35rem);line-height:1.08}.landing-hero p{color:#64748b;margin-bottom:22px;font-size:1.05rem;line-height:1.65}.landing-hero-actions{gap:12px;display:flex}.landing-hero-card{background:linear-gradient(135deg,#e0f2fe,#f0f9ff);border:1px solid #dbeafe;border-radius:20px;padding:24px;box-shadow:0 14px 36px #0f172a17}.landing-section-title{margin-bottom:20px;font-size:20px}.landing-features,.landing-roles{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:22px;margin-bottom:64px;display:grid}.landing-card{cursor:pointer;background:#fff;border:1px solid #e2e8f0;border-radius:16px;padding:22px;transition:transform .25s,box-shadow .25s;box-shadow:0 10px 24px #0f172a12}.landing-card:hover{transform:translateY(-6px);box-shadow:0 18px 36px #0f172a1f}.landing-card h3{margin-bottom:8px;font-size:16px}.landing-card p{color:#64748b;font-size:13px}.landing-cta{color:#fff;background:linear-gradient(135deg,#2563eb,#14b8a6);border-radius:20px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:14px;padding:32px;display:flex}.landing-cta h2{font-size:22px}.landing-cta-install{color:#2563eb!important;background:#fff!important;border-color:#fff!important}.landing-cta-actions{align-items:center;gap:10px;display:flex}.landing-cta-login{color:#fff!important;background:#ffffff2e!important;border-color:#ffffff73!important}.landing-footer{text-align:center;color:#94a3b8;margin-top:44px;padding-bottom:24px;font-size:13px}@media (width<=900px){.saas-role-grid,.saas-stat-row{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=640px){.saas-stat-row,.saas-role-grid{grid-template-columns:1fr}.saas-floating-chip{margin-top:10px;margin-right:8px;display:inline-flex;position:static}.saas-cta-actions{flex-direction:column;align-items:stretch;width:100%}.saas-cta-actions .home-nav-outline,.saas-cta-actions .pricing-cta-button{justify-content:center;width:100%}}@media (width<=768px){.landing-hero{text-align:center;grid-template-columns:1fr;gap:28px}.landing-hero-actions{justify-content:center}.landing-hero-copy{margin:0 auto}.landing-cta{text-align:center;flex-direction:column;gap:15px}.landing-cta-actions{flex-direction:column;width:100%}.landing-cta-actions .btn{justify-content:center;width:100%;display:inline-flex}}.layout-dashboard,.layout{letter-spacing:0}.stack{gap:18px}.content-frame{background:#fff;border:1px solid #e2e8f0;border-radius:16px;box-shadow:0 10px 24px #0f172a0f}.panel{border:1px solid #e2e8f0;border-radius:16px;box-shadow:0 8px 18px #0f172a0d}.panel-header{margin-bottom:12px}.panel-header h2{font-size:clamp(1rem,1.3vw,1.18rem)}.card-grid>.card,.card-grid>article{border:1px solid #e2e8f0;border-radius:16px;transition:transform .2s,box-shadow .2s;box-shadow:0 8px 16px #0f172a0d}.card-grid>.card:hover,.card-grid>article:hover{transform:translateY(-3px);box-shadow:0 14px 26px #0f172a17}.dashboard-header-shell,.topbar{border-bottom:1px solid #e2e8f0;box-shadow:0 2px 10px #0f172a0d}.table-wrap{border-radius:14px;box-shadow:0 8px 18px #0f172a0d}.table-wrap th,.table-wrap td{padding-top:12px;padding-bottom:12px}.muted-copy{color:#64748b}.badge,.role-tag,.status-badge{border-radius:999px;font-weight:600}:root{--ui-bg:#eef3f9;--ui-surface:#fff;--ui-border:#dbe5f1;--ui-text:#0f172a;--ui-muted:#5b6b82;--ui-primary:#2563eb;--ui-primary-soft:#eaf2ff;--ui-radius:14px;--ui-radius-lg:18px;--ui-shadow-sm:0 4px 14px #0f172a0f;--ui-shadow-md:0 10px 30px #0f172a17}body{color:var(--ui-text);background:radial-gradient(circle at top right, #2563eb14, transparent 35%), radial-gradient(circle at top left, #0ea5e914, transparent 26%), var(--ui-bg)}.layout-dashboard{background:0 0}.dashboard-scroll-body{gap:20px}.content-frame,.panel,.role-panel,.landing-card,.school-detail-card,.student-assignment-item,.assignment-attachment-block,.table-wrap{border:1px solid var(--ui-border)!important;border-radius:var(--ui-radius)!important;background:var(--ui-surface)!important;box-shadow:var(--ui-shadow-sm)!important}.content-frame{border-radius:var(--ui-radius-lg)!important;box-shadow:var(--ui-shadow-md)!important}.dashboard-header-shell{border-bottom:1px solid var(--ui-border);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:var(--theme-header-bg,#fffffff2)}body.dashboard-dark .dashboard-header-shell{background:var(--theme-header-bg,#0f172aeb)}.dashboard-nav-link--header{color:#52627a;font-weight:600}.dashboard-nav-link--header.active{border-bottom-color:var(--ui-primary)!important;color:var(--ui-primary)!important}.dashboard-nav-link--drawer.active,.dashboard-nav-link.active{background:var(--ui-primary-soft);border-color:#c9ddff}.topbar-chip,.profile-chip,.primary-button,.secondary-button,.btn,button[type=submit]{border-radius:11px}.primary-button,.btn-primary,.nav-primary{box-shadow:0 8px 20px #2563eb47;color:#fff!important;background:linear-gradient(135deg,#2563eb 0%,#0ea5e9 100%)!important;border:none!important}.secondary-button,.btn-outline,.nav-outline{color:#1d4c9f!important;background:#fff!important;border-color:#bfd3ee!important}.card-grid>.card,.card-grid>article,.role-stat-card,.kpi,.metric-card,.summary-card{transition:transform .18s,box-shadow .18s}.card-grid>.card:hover,.card-grid>article:hover,.role-stat-card:hover,.kpi:hover,.metric-card:hover,.summary-card:hover{box-shadow:var(--ui-shadow-md);transform:translateY(-2px)}.role-panel-head,.panel-header{border-bottom:1px solid #edf2f7;margin-bottom:12px;padding-bottom:10px}input,select,textarea{background:#fff;border:1px solid #cfdaea;border-radius:10px}input:focus,select:focus,textarea:focus{border-color:#78a8f8;box-shadow:0 0 0 3px #2563eb21}table{border-collapse:separate;border-spacing:0}th{color:#475569;background:#f7faff;font-weight:700}td,th{border-bottom:1px solid #e8eef7}.landing-page .container{width:min(1180px,100% - 40px)}.landing-hero{box-shadow:var(--ui-shadow-md);background:linear-gradient(135deg,#fff 0%,#f4f9ff 100%);border:1px solid #dce8fb;border-radius:20px}.landing-hero-card{background:#fff;border:1px solid #dce8fb;border-radius:16px}.auth-shell{background:radial-gradient(circle at 5% 0,#3b82f61f,#0000 28%),radial-gradient(circle at 95% 20%,#0ea5e91a,#0000 33%),#f2f6fc}.auth-split{border:1px solid var(--ui-border);box-shadow:var(--ui-shadow-md);border-radius:20px;overflow:hidden}.auth-left,.auth-right{background:#fff}.auth-right-head,.auth-right-title,.landing-section-title,.role-panel-head h3{color:#0f2f67}.muted-copy,.role-clean-label,.dashboard-nav-text{color:var(--ui-muted)}@media (width<=1024px){.content-frame{border-radius:14px!important;padding:16px!important}.dashboard-scroll-body{padding:14px 12px 22px}.landing-page .container{width:min(1180px,100% - 24px)}}.nav-icon,.dashboard-nav-icon,.header-nav-icon,.topbar-brand-icon,.summary-icon,.metric-card-icon,.feature-icon,.sp-stat-icon,.sp2-stat-icon,.sp-academic-icon,.sp-activity-icon,.sp2-sidebar-icon,.sp2-notice-icon,.sp2-tt-icon,.role-stat-icon,.guj-sum-icon,.guj-notice-icon,.guj-fee-icon,.guj-empty-icon,.topbar-icon-btn,.topbar-icon-hit,.sp2-icon-btn,.auth-brand-icon,.emp-type-badge,.guj-nav-icon,.guj-ai-icon,.dashboard-header-logo{flex-shrink:0;line-height:1;justify-content:center!important;align-items:center!important;display:flex!important}.nav-icon svg,.dashboard-nav-icon svg,.header-nav-icon svg,.topbar-brand-icon svg,.summary-icon svg,.metric-card-icon svg,.feature-icon svg,.sp-stat-icon svg,.sp2-stat-icon svg,.sp-academic-icon svg,.sp-activity-icon svg,.sp2-sidebar-icon svg,.sp2-notice-icon svg,.sp2-tt-icon svg,.role-stat-icon svg,.guj-sum-icon svg,.guj-notice-icon svg,.guj-fee-icon svg,.guj-empty-icon svg,.topbar-icon-btn svg,.topbar-icon-hit svg,.sp2-icon-btn svg,.auth-brand-icon svg,.emp-type-badge svg,.guj-nav-icon svg,.guj-ai-icon svg,.dashboard-header-logo svg{pointer-events:none;flex-shrink:0;display:block}.nav-icon>*,.dashboard-nav-icon>*,.header-nav-icon>*,.topbar-brand-icon>*,.summary-icon>*,.metric-card-icon>*,.feature-icon>*,.sp-stat-icon>*,.sp2-stat-icon>*,.sp-academic-icon>*,.sp-activity-icon>*,.sp2-sidebar-icon>*,.sp2-notice-icon>*,.sp2-tt-icon>*,.role-stat-icon>*,.guj-sum-icon>*,.guj-notice-icon>*,.guj-fee-icon>*,.guj-empty-icon>*,.topbar-icon-btn>*,.topbar-icon-hit>*,.sp2-icon-btn>*,.auth-brand-icon>*,.emp-type-badge>*,.guj-nav-icon>*,.guj-ai-icon>*,.dashboard-header-logo>*{margin:0;line-height:1;transform:translateZ(0)}.metric-card{align-items:center}.metric-card-icon{border-radius:14px;width:56px;height:56px;font-size:1.4rem}.summary-block{align-items:center}.summary-icon{border-radius:12px;width:48px;height:48px}.dashboard-nav-icon{width:32px;height:32px}.nav-icon{border-radius:7px;width:24px;height:24px}.sp-stat-icon{border-radius:10px;width:40px;height:40px;font-size:1.1rem}.sp2-stat-icon{border-radius:12px;width:42px;height:42px;font-size:1.05rem}.sp-academic-icon,.sp-activity-icon{border-radius:9px;width:36px;height:36px;font-size:.95rem}.sp2-sidebar-icon{width:24px;height:24px;font-size:1.05rem}.sp2-notice-icon,.sp2-tt-icon,.role-stat-icon{width:34px;height:34px}.feature-icon{border-radius:12px;width:44px;height:44px;font-size:1.1rem}.header-nav-icon{width:20px;height:20px;font-size:1rem}.emp-type-badge{border-radius:8px;width:28px;height:28px;font-size:.72rem}.topbar-brand-icon{border-radius:999px;width:40px;height:40px}.dashboard-header-logo{border-radius:999px;width:36px;height:36px}@media (width<=1023px) and (width>=768px){.metric-card-icon{width:50px;height:50px;font-size:1.25rem}.summary-icon{width:44px;height:44px}.sp-stat-icon{width:36px;height:36px;font-size:1rem}.sp2-stat-icon{width:38px;height:38px;font-size:.98rem}.feature-icon{width:40px;height:40px;font-size:1rem}}@media (width<=767px){.metric-card-icon{border-radius:12px;width:46px;height:46px;font-size:1.2rem}.summary-icon{border-radius:10px;width:42px;height:42px}.sp-stat-icon{width:36px;height:36px;font-size:1rem}.sp2-stat-icon{border-radius:10px;width:36px;height:36px;font-size:.95rem}.sp-academic-icon,.sp-activity-icon{width:34px;height:34px;font-size:.88rem}.sp2-notice-icon,.sp2-tt-icon,.role-stat-icon{width:30px;height:30px}.feature-icon{width:38px;height:38px;font-size:.95rem}.nav-icon{width:22px;height:22px}.dashboard-nav-icon{width:30px;height:30px}}@media (width<=374px){.metric-card-icon{border-radius:10px;width:40px;height:40px;font-size:1.05rem}.summary-icon{border-radius:9px;width:36px;height:36px}.sp-stat-icon{width:32px;height:32px;font-size:.9rem}.sp2-stat-icon{border-radius:9px;width:32px;height:32px;font-size:.86rem}.sp-academic-icon,.sp-activity-icon{width:30px;height:30px;font-size:.82rem}.sp2-notice-icon,.sp2-tt-icon,.role-stat-icon{width:28px;height:28px}.feature-icon{width:34px;height:34px;font-size:.88rem}.dashboard-nav-icon{width:28px;height:28px}}.fa-entry-root{box-sizing:border-box;flex-wrap:wrap;gap:16px;width:100%;padding:0 4px;display:flex}.fa-entry-form{box-sizing:border-box;background:#fff;border-radius:10px;flex:520px;min-width:0;max-width:100%;padding:20px;overflow:hidden;box-shadow:0 2px 12px #00000017}.fa-entry-preview{background:#fff;border:1px solid #d8dbe2;flex:640px;min-width:0;font-size:12px;box-shadow:0 2px 12px #00000017}.fa-controls-grid{grid-template-columns:1fr 1fr 1fr 1fr;gap:10px;margin-bottom:12px;display:grid}.fa-student-grid{grid-template-columns:1fr 1fr;gap:10px;margin-bottom:12px;display:grid}.fa-subject-table-wrap{-webkit-overflow-scrolling:touch;margin-bottom:12px;overflow-x:auto}.fa-summary-bar{background:#eef3fb;border-radius:8px;flex-wrap:wrap;gap:16px;margin-bottom:12px;padding:10px 14px;font-size:13px;display:flex}.fa-btn-row{flex-wrap:wrap;align-items:center;gap:10px;display:flex}@media (width<=900px){.fa-controls-grid{grid-template-columns:1fr 1fr}}@media (width<=600px){.fa-entry-root{flex-direction:column;gap:12px;padding:0}.fa-entry-form{border-radius:8px;flex:none;width:100%;padding:12px 10px}.fa-entry-preview{flex:none;width:100%}.fa-controls-grid{grid-template-columns:1fr 1fr;gap:8px}.fa-controls-grid select,.fa-controls-grid input{text-overflow:ellipsis;min-width:0;max-width:100%;overflow:hidden}.fa-student-grid{grid-template-columns:1fr;gap:8px}.fa-subject-table-wrap{overflow-x:visible}.fa-subject-table thead{display:none}.fa-subject-table tbody{flex-direction:column;gap:8px;display:flex}.fa-subject-table tr{box-sizing:border-box;border:1px solid #dde3ef;border-radius:10px;flex-wrap:wrap;align-items:center;gap:0;width:100%;padding:0;display:flex;overflow:hidden;box-shadow:0 1px 4px #0000000f;background:#fff!important}.fa-subject-table td:first-child{box-sizing:border-box;flex:1 1 0;min-width:0;display:block;padding:10px 10px 0!important}.fa-subject-table td:first-child input{color:#1a3a6b!important;width:100%!important;min-width:0!important;box-shadow:none!important;background:0 0!important;border:none!important;border-bottom:2px solid #c0cfe8!important;border-radius:0!important;outline:none!important;padding:4px 0!important;font-size:15px!important;font-weight:700!important}.fa-subject-table td:nth-child(4){flex:none;align-items:center;display:flex;padding:10px 10px 0 6px!important}.fa-subject-table td:nth-child(4) span{min-width:52px!important;padding:3px 10px!important;font-size:11px!important}.fa-subject-table td:nth-child(5){flex:none;align-items:center;display:flex;padding:10px 8px 0 0!important}.fa-subject-table td:nth-child(2),.fa-subject-table td:nth-child(3){flex:none;align-items:center;gap:5px;font-size:12px;display:flex;padding:6px 10px 10px!important}.fa-subject-table td:nth-child(2){padding-right:16px!important}.fa-subject-table td:nth-child(2):before{content:"Full Marks:";color:#718096;white-space:nowrap;font-size:11px;font-weight:600}.fa-subject-table td:nth-child(2){color:#1a3a6b;font-weight:700;font-size:13px!important}.fa-subject-table td:nth-child(3):before{content:"Obtained:";color:#718096;white-space:nowrap;font-size:11px;font-weight:600}.fa-subject-table td:nth-child(3) input{text-align:center;font-weight:700;border:1.5px solid #c0cfe8!important;border-radius:6px!important;width:64px!important;padding:4px 6px!important;font-size:14px!important}.fa-summary-bar{gap:8px;padding:8px 10px;font-size:12px}.fa-btn-row{gap:8px}.fa-btn-row button{text-align:center;flex:calc(50% - 8px);min-width:0;padding:8px 10px!important;font-size:12px!important}}@media (width<=380px){.fa-controls-grid{grid-template-columns:1fr}.fa-btn-row button{flex:100%}}.fa-preview-body{background:#f5f6f8;padding:14px}.fa-preview-card{background:#fff;border:1px solid #d8dbe2;padding:12px}.fa-preview-status{text-align:center;margin-bottom:10px}.fa-preview-dot{font-size:46px;font-weight:800;line-height:1}.fa-preview-congrats{word-break:break-word;font-size:27px;font-weight:800}.fa-preview-subtitle{color:#333;font-size:15px}.fa-preview-section{-webkit-overflow-scrolling:touch;border:1px solid #d8dbe2;margin-bottom:10px;overflow-x:auto}.fa-preview-section-title{color:#0b3f9c;background:#edf3ff;padding:8px 10px;font-size:17px;font-weight:800}.fa-preview-table{border-collapse:collapse;width:100%;font-size:15px}.fa-preview-details-table td{word-break:break-word;border-top:1px solid #e2e8f0;padding:8px 10px}.fa-preview-details-table td:first-child{width:32%}.fa-preview-details-table td:nth-child(2){width:4%}.fa-preview-marks-table thead tr{color:#fff;background:#0b4eb6}.fa-preview-marks-table th{white-space:nowrap;border-right:1px solid #ffffff4d;padding:8px 10px}.fa-preview-marks-table th:last-child{border-right:none}.fa-preview-marks-table td{border-top:1px solid #e2e8f0;padding:7px 10px}.fa-preview-totals{text-align:center;grid-template-columns:1fr 1fr 1fr;padding:14px 6px;font-size:17px;display:grid}.fa-preview-final-result{text-align:center;background:#edf8ef;border:1px solid #cde8d2;border-radius:8px;padding:14px 12px;font-size:40px;font-weight:800}@media (width<=600px){.fa-preview-body{padding:8px}.fa-preview-card{padding:10px 8px}.fa-preview-dot{font-size:32px}.fa-preview-congrats{font-size:20px}.fa-preview-subtitle{font-size:13px}.fa-preview-section-title{padding:6px 8px;font-size:14px}.fa-preview-table{font-size:12px}.fa-preview-details-table td{padding:6px 8px;font-size:12px}.fa-preview-marks-table th,.fa-preview-marks-table td{padding:6px;font-size:12px}.fa-preview-marks-table thead{display:none}.fa-preview-marks-table,.fa-preview-marks-table tbody{width:100%;display:block}.fa-preview-marks-table tr{box-sizing:border-box;background:#fff;border-bottom:1px solid #e2e8f0;grid-template-rows:auto auto auto;grid-template-columns:1fr auto;gap:2px 8px;width:100%;padding:10px 12px;display:grid}.fa-preview-marks-table tr:nth-child(2n){background:#f8fafc}.fa-preview-marks-table td[data-label=Subject]{color:#1a3a6b;grid-area:1/1/auto/-1;font-weight:700;border-top:none!important;padding:0 0 4px!important;font-size:14px!important}.fa-preview-marks-table td[data-label=Full\ Marks]{color:#555;grid-area:2/1;text-align:left!important;border-top:none!important;padding:0!important;font-size:12px!important}.fa-preview-marks-table td[data-label=Full\ Marks]:before{content:"Full Marks: ";color:#718096;font-weight:600}.fa-preview-marks-table td[data-label=Marks\ Obtained]{grid-area:3/1;text-align:left!important;border-top:none!important;padding:0!important;font-size:12px!important}.fa-preview-marks-table td[data-label=Marks\ Obtained]:before{content:"Marks Obtained: ";color:#718096;font-weight:600}.fa-preview-marks-table td[data-label=Result]{grid-area:2/2/4;justify-content:flex-end;align-items:center;display:flex;border-top:none!important;padding:0!important;font-size:15px!important;font-weight:800!important}.fa-preview-totals{grid-template-columns:1fr;gap:6px;padding:10px 8px;font-size:13px}.fa-preview-final-result{padding:12px 8px;font-size:22px}}.platform-banner{font-size:var(--fs-sm);border-radius:12px;max-width:1400px;margin:8px auto 0;padding:10px 14px;font-weight:600;line-height:1.4}.platform-banner-notice{color:#1e3a8a;background:#eff6ff;border:1px solid #bfdbfe}.platform-banner-maint{color:#92400e;background:#fef3c7;border:1px solid #fcd34d}.sa-root{flex-direction:column;gap:1.25rem;animation:.35s both sa-fade-in;display:flex}@keyframes sa-fade-in{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.sa-hero{background:linear-gradient(125deg, color-mix(in srgb, var(--primary,#2563eb) 22%, #fff), #fff);border:1px solid var(--border);box-shadow:var(--shadow);border-radius:18px;align-items:flex-start;gap:1rem;padding:1.25rem 1.35rem;display:flex}.sa-hero-icon{background:linear-gradient(145deg, var(--primary,#2563eb), color-mix(in srgb, var(--primary,#2563eb) 55%, #0f172a));color:#fff;border-radius:14px;flex-shrink:0;place-items:center;width:52px;height:52px;font-size:1.35rem;display:grid}.sa-title{font-size:var(--fs-xl);letter-spacing:-.02em;margin:0}.sa-sub{color:var(--muted);font-size:var(--fs-sm);max-width:52rem;margin:.35rem 0 0}.sa-nav{flex-wrap:wrap;gap:.45rem;display:flex}.sa-nav-link{font-weight:600;font-size:var(--fs-sm);color:var(--muted);border:1px solid #0000;border-radius:999px;align-items:center;gap:.45rem;padding:.55rem .95rem;text-decoration:none;transition:background .18s,color .18s,border-color .18s;display:inline-flex}.sa-nav-link:hover{background:var(--surface-alt);color:var(--text)}.sa-nav-link.active{background:color-mix(in srgb, var(--primary,#2563eb) 14%, #fff);color:var(--primary);border-color:color-mix(in srgb, var(--primary,#2563eb) 35%, #fff)}.sa-stack{flex-direction:column;gap:1rem;display:flex}.sa-panel{background:var(--surface);border:1px solid var(--border);box-shadow:var(--shadow);border-radius:16px;padding:1.1rem 1.2rem}.sa-panel-title{font-size:var(--fs-md);margin:0 0 .85rem}.sa-panel-subtitle{font-size:var(--fs-sm);color:var(--muted);text-transform:uppercase;letter-spacing:.04em;margin:1rem 0 .45rem;font-weight:700}.sa-form-actions-row{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.sa-config-tabs{background:var(--surface-alt);border:1px solid var(--border);border-radius:14px;flex-wrap:wrap;gap:.35rem;padding:.35rem;display:flex}.sa-config-tab{color:var(--muted);font-weight:600;font-size:var(--fs-sm);cursor:pointer;background:0 0;border:none;border-radius:10px;padding:.45rem .75rem}.sa-config-tab:hover{color:var(--text);background:color-mix(in srgb, var(--primary) 8%, transparent)}.sa-config-tab--active{background:var(--surface);color:var(--primary);box-shadow:0 1px 4px #0f172a14}.sa-locale-grid{grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:.45rem;display:grid}.sa-locale-tile{border:1px solid var(--border);background:var(--surface);font-size:var(--fs-sm);border-radius:10px;align-items:center;gap:.45rem;padding:.45rem .55rem;display:flex}.sa-infra-card{padding:.75rem 0}.sa-input--table{width:100%;min-width:120px}.sa-btn-sm{font-size:var(--fs-xs);border-radius:8px;padding:.35rem .65rem}.sa-error{color:#b91c1c}.sa-metrics{grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:.65rem;display:grid}.sa-metric-card{background:var(--surface);border:1px solid var(--border);border-radius:14px;flex-direction:column;gap:.25rem;padding:.85rem .95rem;display:flex}.sa-metric-label{font-size:var(--fs-xs);color:var(--muted);text-transform:capitalize}.sa-metric-value{font-size:var(--fs-xl);letter-spacing:-.02em;font-weight:800}.sa-bar-track{background:var(--surface-alt);border-radius:99px;height:6px;margin-top:.25rem;overflow:hidden}.sa-bar-fill{background:linear-gradient(90deg, var(--primary,#2563eb), var(--secondary,#1e3a8a));border-radius:99px;height:100%;transition:width .4s}.sa-grid2{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:.85rem;display:grid}.sa-status-grid{flex-wrap:wrap;gap:.5rem;display:flex}.sa-status-pill{background:var(--surface-alt);font-size:var(--fs-sm);border-radius:999px;align-items:center;gap:.5rem;padding:.4rem .75rem;display:flex}.sa-kv{flex-direction:column;gap:.5rem;margin:0;padding:0;list-style:none;display:flex}.sa-kv li{font-size:var(--fs-sm);border-bottom:1px dashed var(--border);justify-content:space-between;gap:1rem;padding-bottom:.4rem;display:flex}.sa-kv li:last-child{border-bottom:none}.sa-table-wrap{border:1px solid var(--border);border-radius:12px;overflow:auto}.sa-table{border-collapse:collapse;width:100%;font-size:var(--fs-sm)}.sa-table th,.sa-table td{text-align:left;border-bottom:1px solid var(--border);vertical-align:middle;padding:.6rem .75rem}.sa-table thead th{background:var(--surface-alt);font-weight:700;font-size:var(--fs-xs);text-transform:uppercase;letter-spacing:.04em;color:var(--muted)}.sa-table-compact th,.sa-table-compact td{padding:.45rem .55rem;font-size:.8rem}.sa-th-actions{min-width:200px}.sa-actions{flex-wrap:wrap;gap:.35rem;display:flex}.sa-badge{font-size:var(--fs-xs);border-radius:99px;padding:.15rem .5rem;font-weight:700;display:inline-block}.sa-badge-ok{color:#166534;background:#dcfce7}.sa-badge-muted{color:#64748b;background:#f1f5f9}.sa-muted{color:var(--muted)}.sa-empty{color:var(--muted);font-size:var(--fs-sm);margin:.75rem}.sa-cell-clip{white-space:nowrap;text-overflow:ellipsis;max-width:220px;overflow:hidden}.sa-toolbar{flex-wrap:wrap;align-items:center;gap:.65rem;display:flex}.sa-input,.sa-select,.sa-textarea{font:inherit;border:1px solid var(--border);background:var(--surface);color:var(--text);border-radius:10px;padding:.55rem .65rem}.sa-select{appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none'%3E%3Cpath stroke='%2394a3b8' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M7 10l5 5 5-5'/%3E%3C/svg%3E");background-position:right .55rem center;background-repeat:no-repeat;background-size:14px;padding-right:2.25rem}body.dashboard-dark .sa-input,body.dashboard-dark .sa-textarea{color:#f8fafc;background-color:#0f172aeb;border-color:#94a3b859}body.dashboard-dark .sa-select{color:#f8fafc;background-color:#0f172aeb;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none'%3E%3Cpath stroke='%23cbd5e1' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M7 10l5 5 5-5'/%3E%3C/svg%3E");background-position:right .55rem center;background-repeat:no-repeat;background-size:14px;border-color:#94a3b859}body.dashboard-semi-dark .sa-input,body.dashboard-semi-dark .sa-select,body.dashboard-semi-dark .sa-textarea{background:var(--surface);color:var(--text);border-color:var(--border)}body.dashboard-semi-dark{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}.sa-input-grow{flex:220px;min-width:0}.sa-input:focus,.sa-select:focus,.sa-textarea:focus{border-color:color-mix(in srgb, var(--primary,#2563eb) 55%, var(--border));box-shadow:0 0 0 3px color-mix(in srgb, var(--primary,#2563eb) 18%, transparent);outline:none}.sa-form-grid{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:.75rem;margin-bottom:.85rem;display:grid}.sa-field{font-size:var(--fs-sm);flex-direction:column;gap:.35rem;display:flex}.sa-field-full{grid-column:1/-1}.sa-field-row{flex-direction:row;align-items:center;gap:.55rem}.sa-btn-primary{font-weight:var(--font-button-weight,700);cursor:pointer;background:linear-gradient(135deg, var(--theme-button-primary-bg,var(--primary,#2563eb)), color-mix(in srgb, var(--theme-button-primary-bg,var(--primary,#2563eb)) 72%, #0f172a));color:var(--theme-button-primary-text,#fff);box-shadow:0 6px 18px color-mix(in srgb, var(--theme-button-primary-bg,var(--primary,#2563eb)) 35%, transparent);border:none;border-radius:11px;padding:.55rem 1.15rem}.sa-btn-primary:disabled{opacity:.55;cursor:not-allowed}.sa-btn-ghost{border:1px solid var(--border);background:var(--surface);cursor:pointer;font-size:var(--fs-xs);border-radius:9px;padding:.35rem .65rem;font-weight:600}body.dashboard-dark .sa-btn-ghost{color:#f1f5f9;background:#ffffff0f;border-color:#94a3b86b}body.dashboard-dark .sa-btn-ghost:hover{color:#fff;background:#ffffff1a;border-color:#bae6fd66}.sa-btn-danger{color:#b91c1c;cursor:pointer;font-size:var(--fs-xs);background:#fef2f2;border:none;border-radius:9px;padding:.35rem .65rem;font-weight:700}.sa-flash{font-size:var(--fs-sm);border-radius:12px;justify-content:space-between;align-items:center;gap:.75rem;padding:.65rem .85rem;font-weight:600;display:flex}.sa-flash-ok{color:#047857;background:#ecfdf5;border:1px solid #a7f3d0}.sa-flash-err{color:#b91c1c;background:#fef2f2;border:1px solid #fecaca}.sa-flash-dismiss{cursor:pointer;opacity:.55;background:0 0;border:none;font-size:1.1rem;line-height:1}.sa-modal-overlay{z-index:200;background:#0f172a73;place-items:center;padding:1rem;display:grid;position:fixed;inset:0}.sa-modal{background:var(--surface);border:1px solid var(--border);border-radius:16px;width:min(440px,100%);padding:1.25rem;box-shadow:0 24px 60px #0f172a38}.sa-modal h3{font-size:var(--fs-md);margin:0 0 .75rem}.sa-modal-actions{justify-content:flex-end;gap:.5rem;margin-top:1rem;display:flex}.sa-feature-grid{grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:.55rem;display:grid}.sa-feature-tile{border:1px solid var(--border);font-size:var(--fs-sm);cursor:pointer;border-radius:10px;align-items:center;gap:.45rem;padding:.5rem .65rem;display:flex}.sa-tabs-inline{flex-wrap:wrap;gap:.35rem;display:flex}.sa-tab,.sa-tab-active{font-weight:600;font-size:var(--fs-sm);cursor:pointer;border:1px solid var(--border);background:var(--surface);border-radius:999px;padding:.45rem .9rem}.sa-tab-active{background:color-mix(in srgb, var(--primary,#2563eb) 15%, #fff);border-color:color-mix(in srgb, var(--primary,#2563eb) 40%, #fff);color:var(--primary)}.sa-notes{color:var(--muted);font-size:var(--fs-sm);margin:0;padding-left:1.1rem;line-height:1.55}@media (width<=640px){.sa-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.sa-nav{gap:.35rem}.sa-nav-link{padding:.45rem .75rem;font-size:.78rem}}.sa-visually-hidden{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.sa-shell{--sa-sidebar-w:268px;grid-template-columns:minmax(0,1fr);gap:0;width:100%;max-width:min(1920px,100%);margin-inline:auto;display:grid}.sa-shell--collapsed{--sa-sidebar-w:76px}@media (width>=1025px){.sa-shell{grid-template-columns:var(--sa-sidebar-w) minmax(0, 1fr);align-items:stretch}}.sa-shell-backdrop{display:none}@media (width<=1024px){.sa-shell-backdrop{z-index:85;opacity:0;pointer-events:none;cursor:pointer;background:#0f172a6b;border:none;margin:0;padding:0;transition:opacity .22s;display:block;position:fixed;inset:0}.sa-shell--mobile-open .sa-shell-backdrop{opacity:1;pointer-events:auto}}.sa-shell-sidebar{border:1px solid var(--border);background:linear-gradient(165deg, color-mix(in srgb, var(--primary,#2563eb) 18%, var(--surface)), var(--surface));box-shadow:var(--shadow);border-radius:18px;flex-direction:column;gap:.75rem;padding:1rem .85rem;transition:transform .28s cubic-bezier(.4,0,.2,1),box-shadow .22s;display:flex}@media (width>=1025px){.sa-shell-sidebar{scrollbar-gutter:stable;align-self:start;max-height:calc(100vh - 48px);position:sticky;top:0;overflow:hidden auto}}@media (width<=1024px){.sa-shell-sidebar{z-index:90;border-radius:18px;width:min(320px,100vw - 2rem);position:fixed;top:1rem;bottom:1rem;left:1rem;transform:translate(calc(-100% - 2rem))}.sa-shell--mobile-open .sa-shell-sidebar{transform:translate(0)}}.sa-shell-brand{border-bottom:1px solid var(--border);align-items:center;gap:.65rem;padding:0 .25rem .35rem;display:flex}.sa-shell-brand-mark{background:linear-gradient(145deg, var(--primary,#2563eb), color-mix(in srgb, var(--primary,#2563eb) 55%, #0f172a));color:#fff;border-radius:14px;flex-shrink:0;place-items:center;width:44px;height:44px;font-size:1.2rem;display:grid}.sa-shell-brand-text{flex-direction:column;gap:.1rem;min-width:0;display:flex}.sa-shell-brand-title{font-weight:800;font-size:var(--fs-sm);letter-spacing:-.02em;white-space:nowrap}.sa-shell-brand-sub{font-size:var(--fs-xs);color:var(--muted)}.sa-shell-sidebar-collapse{border:1px solid var(--border);background:var(--surface);width:34px;height:34px;color:var(--text);cursor:pointer;border-radius:10px;flex-shrink:0;place-items:center;margin-left:auto;transition:background .18s,border-color .18s;display:grid}.sa-shell-sidebar-collapse:hover{border-color:color-mix(in srgb, var(--primary) 45%, var(--border));background:var(--surface-alt)}.sa-shell--collapsed .sa-shell-brand-text,.sa-shell--collapsed .sa-shell-nav-heading,.sa-shell--collapsed .sa-shell-brand-sub{display:none}.sa-shell--collapsed .sa-shell-brand{flex-wrap:wrap;justify-content:center}.sa-shell--collapsed .sa-shell-sidebar-collapse{margin-left:0}.sa-shell--collapsed .sa-shell-nav-label{display:none}.sa-shell--collapsed .sa-shell-nav-link,.sa-shell--collapsed .sa-shell-workspace-link{justify-content:center;padding-inline:.55rem}.sa-shell-nav{flex-direction:column;gap:1rem;display:flex}.sa-shell-nav-group{flex-direction:column;gap:.35rem;display:flex}.sa-shell-nav-heading{text-transform:uppercase;letter-spacing:.08em;color:var(--muted);padding:.15rem .45rem;font-size:.68rem;font-weight:800}.sa-shell-nav-link,.sa-shell-workspace-link{font-weight:650;font-size:var(--fs-sm);color:var(--muted);border:1px solid #0000;border-radius:12px;align-items:center;gap:.55rem;padding:.55rem .65rem;text-decoration:none;transition:background .18s,color .18s,border-color .18s,transform .18s;display:flex}.sa-shell-nav-link:hover,.sa-shell-workspace-link:hover{background:color-mix(in srgb, var(--primary) 8%, transparent);color:var(--text)}.sa-shell-nav-link--active{background:color-mix(in srgb, var(--primary,#2563eb) 15%, var(--surface));color:var(--primary);border-color:color-mix(in srgb, var(--primary,#2563eb) 38%, var(--border));box-shadow:0 4px 14px color-mix(in srgb, var(--primary) 14%, transparent)}.sa-shell-sidebar-footer{border-top:1px dashed var(--border);margin-top:auto;padding-top:.65rem}.sa-shell-workspace-link{border-style:dashed}.sa-shell-main{flex-direction:column;gap:0;min-width:0;display:flex}.sa-shell-topbar{z-index:40;border:1px solid var(--border);background:color-mix(in srgb, var(--surface) 88%, transparent);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-radius:16px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.65rem;margin-bottom:1rem;padding:.65rem .85rem;display:flex;position:sticky;top:0;box-shadow:0 4px 24px #0f172a0f}.sa-shell-topbar-start,.sa-shell-topbar-end{flex:auto;align-items:center;gap:.55rem;min-width:0;display:flex}.sa-shell-topbar-end{flex:0 auto;justify-content:flex-end}.sa-shell-menu-btn{display:none}@media (width<=1024px){.sa-shell-menu-btn{display:grid}}.sa-shell-search{border:1px solid var(--border);background:var(--surface);border-radius:12px;flex:220px;align-items:center;gap:.45rem;min-width:0;padding:.35rem .65rem;display:flex}.sa-shell-search-icon{opacity:.45;flex-shrink:0}.sa-shell-search-input{min-width:0;font:inherit;color:var(--text);background:0 0;border:none;outline:none;flex:1}.sa-shell-icon-btn{border:1px solid var(--border);background:var(--surface);cursor:pointer;width:40px;height:40px;color:var(--text);border-radius:12px;place-items:center;transition:border-color .18s,background .18s,transform .15s;display:grid}.sa-shell-icon-btn:hover{border-color:color-mix(in srgb, var(--primary) 45%, var(--border));background:var(--surface-alt)}.sa-shell-icon-btn:active{transform:scale(.97)}.sa-shell-locale-select{border:1px solid var(--border);font-size:var(--fs-xs);background:var(--surface);color:var(--text);border-radius:11px;max-width:140px;padding:.4rem .55rem;font-weight:650}.sa-shell-quick-wrap,.sa-shell-notif-wrap{position:relative}.sa-shell-dropdown{border:1px solid var(--border);background:var(--surface);z-index:60;border-radius:14px;min-width:220px;padding:.45rem;animation:.22s both sa-fade-in;position:absolute;top:calc(100% + 8px);right:0;box-shadow:0 18px 48px #0f172a24}.sa-shell-dropdown--notif{min-width:260px}.sa-shell-dropdown-item{text-align:left;width:100%;font-size:var(--fs-sm);color:var(--text);cursor:pointer;background:0 0;border:none;border-radius:10px;padding:.45rem .55rem;font-weight:600;display:block}.sa-shell-dropdown-item:hover{background:var(--surface-alt)}.sa-shell-dropdown-item--link{color:var(--primary);margin-top:.35rem}.sa-shell-notif-title{font-size:var(--fs-xs);text-transform:uppercase;letter-spacing:.06em;color:var(--muted);margin:.15rem .35rem;font-weight:800}.sa-shell-notif-empty{font-size:var(--fs-sm);color:var(--muted);margin:.35rem}.sa-shell-body{flex-direction:column;gap:1.15rem;min-width:0;display:flex}.sa-shell-outlet{flex-direction:column;gap:1rem;min-width:0;display:flex}.sa-toolbar--split{justify-content:space-between;align-items:flex-start}.sa-toolbar-hint{font-size:var(--fs-sm);color:var(--muted);flex:200px;margin:0;line-height:1.45}.sa-th-sort{font:inherit;font-weight:700;font-size:var(--fs-xs);text-transform:uppercase;letter-spacing:.04em;color:var(--muted);cursor:pointer;background:0 0;border:none;align-items:center;gap:.35rem;margin:0;padding:0;display:inline-flex}.sa-th-sort:hover{color:var(--primary)}.sa-th-sort-idle{opacity:.35}.sa-table-wrap--sticky{max-height:min(70vh,720px)}.sa-table-wrap--sticky thead th{z-index:3;box-shadow:0 1px 0 var(--border);position:sticky;top:0}.sa-actions-cell{text-align:right;width:52px}.sa-kebab{text-align:right;display:inline-block;position:relative}.sa-kebab-trigger{cursor:pointer;border:1px solid var(--border);width:36px;height:36px;color:var(--muted);background:var(--surface);border-radius:10px;place-items:center;margin-inline-start:auto;list-style:none;display:inline-grid}.sa-kebab-trigger::-webkit-details-marker{display:none}.sa-kebab[open] .sa-kebab-trigger{border-color:color-mix(in srgb, var(--primary) 45%, var(--border));color:var(--primary)}.sa-kebab-menu{border:1px solid var(--border);background:var(--surface);z-index:25;border-radius:12px;min-width:200px;padding:.35rem;position:absolute;top:calc(100% + 6px);right:0;box-shadow:0 14px 40px #0f172a26}.sa-kebab-item{text-align:left;width:100%;font-size:var(--fs-sm);cursor:pointer;color:var(--text);background:0 0;border:none;border-radius:8px;padding:.45rem .55rem;font-weight:600;display:block}.sa-kebab-item:hover{background:var(--surface-alt)}.sa-kebab-item--danger{color:#b91c1c}.sa-pagination{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.65rem;padding:.5rem 0;display:flex}.sa-pagination-meta{font-size:var(--fs-sm);color:var(--muted);font-weight:600}.sa-pagination-actions{gap:.35rem;display:flex}.sa-pagination-btn{place-items:center;min-width:40px;min-height:38px;display:grid}.sa-audit-search-hint{font-size:var(--fs-sm);color:var(--muted);margin:0}@media (width<=520px){.sa-col-hide-xs{display:none}}@media (width<=380px){.sa-col-mobile-sm{font-size:.78rem}}body.dashboard-dark .sa-shell-sidebar{background:linear-gradient(165deg, color-mix(in srgb, var(--primary) 22%, #020617), #020617)}body.dashboard-dark .sa-shell-topbar{background:#0f172ab8;border-color:#94a3b82e}.theme-settings-module{animation:.35s both sa-fade-in}.theme-preset-grid{grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:.65rem;display:grid}.theme-preset-card{border:1px solid var(--border);background:var(--surface);cursor:pointer;text-align:left;font:inherit;color:inherit;border-radius:12px;flex-direction:column;align-items:stretch;gap:.45rem;padding:.65rem .55rem;transition:border-color .18s,box-shadow .18s,transform .16s;display:flex}.theme-preset-card:hover{border-color:color-mix(in srgb, var(--primary) 35%, var(--border));box-shadow:var(--ui-shadow-sm);transform:translateY(-1px)}.theme-preset-card--active{border-color:color-mix(in srgb, var(--primary) 55%, var(--border));box-shadow:0 0 0 2px color-mix(in srgb, var(--primary) 22%, transparent)}.theme-preset-swatches{gap:4px;display:flex}.theme-preset-swatches span{border:1px solid #0f172a14;border-radius:6px;flex:1;height:22px}.theme-preset-label{font-size:var(--fs-sm);font-weight:650;line-height:1.25}.theme-settings-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:.75rem;display:flex}.theme-settings-lead{max-width:42rem;margin:.35rem 0 0}.theme-settings-actions{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.theme-settings-reset-btn{color:#b91c1c!important;background:snow!important;border-color:#fecaca!important}body.dashboard-dark .theme-settings-reset-btn{color:#fecaca!important;background:#7f1d1d66!important;border-color:#f8717173!important}.theme-settings-tabs{background:var(--surface-alt);border:1px solid var(--border);border-radius:14px;flex-wrap:wrap;gap:.35rem;margin-bottom:1rem;padding:.35rem;display:flex}.theme-settings-tab{font-weight:650;font-size:var(--fs-sm);color:var(--muted);cursor:pointer;background:0 0;border:none;border-radius:10px;align-items:center;gap:.4rem;padding:.45rem .75rem;transition:background .18s,color .18s;display:inline-flex}.theme-settings-tab:hover{color:var(--text);background:color-mix(in srgb, var(--primary) 8%, transparent)}.theme-settings-tab--active{background:var(--surface);color:var(--primary);box-shadow:0 1px 4px #0f172a14}.theme-settings-panel{flex-direction:column;gap:.75rem;display:flex}.theme-look-panel{gap:1.35rem}.theme-look-section{flex-direction:column;gap:.6rem;display:flex}.theme-look-section .sa-panel-subtitle{margin-bottom:.15rem}.theme-look-hint{font-size:var(--fs-sm);margin:0}.theme-catalog-field{max-width:min(100%,28rem)}.theme-catalog-label{font-weight:650;font-size:var(--fs-base)}.theme-catalog-select{width:100%;min-height:2.75rem;font-weight:600;font-size:var(--fs-base)}.theme-color-row{align-items:center;gap:.45rem;display:flex}.theme-color-hex{flex:auto;min-width:0}.theme-color-picker{border:1px solid var(--border);cursor:pointer;background:0 0;border-radius:10px;flex-shrink:0;width:44px;height:38px;padding:0}.theme-preview-intro{flex-direction:column;gap:.2rem;display:flex}.theme-preview-intro__hint{font-size:var(--fs-sm);max-width:40rem;margin:0}.theme-preview-strip{border-radius:var(--ui-radius-lg);border:1px solid var(--border);box-shadow:var(--ui-shadow-sm);background:var(--surface);max-width:100%;display:flex;overflow:hidden}.theme-preview-strip__rail{background:var(--platform-sidebar-bg);flex-shrink:0;align-self:stretch;width:22px;min-height:7rem}.theme-preview-strip__stage{flex-direction:column;flex:1;min-width:0;display:flex}.theme-preview-strip__topbar{font-size:.68rem;font-weight:var(--font-heading-weight,700);letter-spacing:.02em;background:var(--theme-header-bg);color:var(--text);border-bottom:1px solid color-mix(in srgb, var(--border) 70%, transparent);align-items:center;gap:.45rem;padding:.35rem .65rem;display:flex}.theme-preview-strip__pulse{background:var(--primary);border-radius:99px;flex-shrink:0;width:7px;height:7px}.theme-preview-strip__topbar-label{opacity:.92}.theme-preview-strip__canvas{background:var(--background);flex:1;grid-template-rows:auto auto;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:.45rem .65rem;padding:.55rem .65rem;display:grid}.theme-preview-strip__card{border-radius:var(--ui-radius);border:1px solid var(--border);background:var(--surface);box-shadow:var(--ui-shadow-sm);flex-wrap:wrap;grid-column:1/-1;align-items:center;gap:.45rem .75rem;padding:.45rem .55rem;display:flex}.theme-preview-strip__typo{flex-direction:column;gap:.12rem;min-width:6rem;display:flex}.theme-preview-strip__title{font-size:.72rem;font-weight:var(--font-heading-weight,700);color:var(--text-heading,var(--text));line-height:1.2}.theme-preview-strip__muted{color:var(--muted);font-size:.65rem;line-height:1.2}.theme-preview-strip__sample-link{color:var(--link-color,var(--ui-primary));text-underline-offset:2px;font-size:.68rem;font-weight:600;text-decoration:underline}.theme-preview-strip__primary{border-radius:calc(var(--ui-radius) * .85);font-size:.68rem;font-weight:var(--font-button-weight,700);cursor:default;background:linear-gradient(135deg, var(--theme-button-primary-bg,var(--primary)), color-mix(in srgb, var(--theme-button-primary-bg,var(--primary)) 72%, #0f172a));color:var(--theme-button-primary-text,#fff);border:none;margin-left:auto;padding:.32rem .65rem}.theme-preview-strip__table-mini{border-radius:calc(var(--ui-radius) * .75);border:1px solid var(--border);grid-column:1/2;grid-template-columns:1fr 1fr;gap:1px;font-size:.62rem;display:grid;overflow:hidden}.theme-preview-strip__th{text-transform:uppercase;letter-spacing:.04em;background:var(--theme-table-header-bg);color:var(--theme-table-header-text);padding:.28rem .4rem;font-weight:800}.theme-preview-strip__td{background:var(--surface);color:var(--text);padding:.28rem .4rem}.theme-preview-strip__states{flex-wrap:wrap;grid-area:2/2/3/3;place-self:center end;gap:5px;display:flex}.theme-preview-pill{border-radius:999px;padding:3px 7px;font-size:.58rem;font-weight:800;line-height:1}@media (width<=640px){.theme-preview-strip__canvas{grid-template-columns:1fr}.theme-preview-strip__states{grid-area:auto/1/auto/-1;justify-self:start}.theme-preview-strip__primary{margin-left:0}}.sa-modal--wide{width:min(520px,100%)}.layout-dashboard .dashboard-scroll-body{gap:calc(18px * var(--theme-density-scale,1))}.layout-dashboard .panel-header h2,.layout-dashboard .content-frame>h2:first-child{font-weight:var(--font-heading-weight,700)}.dashboard-nav-link--drawer.active,.dashboard-nav-link.active{background:var(--theme-nav-active-bg,var(--ui-primary-soft))}
