/**
 * ============================================================================
 * scholamind - Student Tracker & Classroom Management Platform
 * 
 * INTELLECTUAL PROPERTY & COPYRIGHT REGISTRATION:
 * Authority: United Arab Emirates - Ministry of Economy & Tourism
 * Department: Copyright and Related Rights Department
 * Certificate Number: 3648-2026 | Registration Date: 30-09-2026 | Status: Active
 * Property Name: scholamind (تطبيق سكولامايند)
 * Property Type: Smart Applications, Software & Software Applications
 * Right Type: Literary and Financial (أدبي ومالي)
 * Author & Rights Holder: Mohammed Mouhannad Ahmad Alwardat (محمد مهند احمد الوردات)
 * Nationality: Jordan (الاردن)
 * 
 * LEGAL PROTECTION & WARNING:
 * This software is strictly protected under UAE Federal Decree-Law No. 38 of 2021
 * on Copyright and Neighboring Rights, as well as WIPO international conventions.
 * 
 * PROHIBITION OF TAMPERING & REVERSE ENGINEERING:
 * Decompilation, disassembly, reverse engineering, extraction of algorithms or
 * source code, alteration of digital watermarks/signatures, and unauthorized
 * redistribution or resale are strictly prohibited. Violators are subject to
 * civil litigation, damages, and criminal prosecution.
 * 
 * © 2026 Mohammed Mouhannad Ahmad Alwardat. All Rights Reserved.
 * ============================================================================
 */

.kofi-popup{display:none;position:absolute;top:calc(100% + 8px);inset-inline-end:0;background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-lg);padding:var(--space-4);width:240px;box-shadow:var(--shadow-lg);z-index:1000;text-align:center;}.kofi-popup.open{display:block;}.kofi-popup p{font-size:var(--text-sm);color:var(--text-secondary);margin-bottom:var(--space-3);line-height:1.5;}.kofi-popup a{display:inline-block;background:#38C1E5;color:white;padding:8px 16px;border-radius:var(--radius);text-decoration:none;font-weight:600;font-size:var(--text-sm);transition:opacity 0.2s;}.kofi-popup a:hover{opacity:0.85;}.header-kofi-wrap{position:relative;}.header-kofi-btn{background:none;border:none;cursor:pointer;color:#38C1E5;padding:var(--space-2);border-radius:var(--radius);display:flex;align-items:center;font-size:18px;line-height:1;transition:transform 0.2s;}.header-kofi-btn:hover{transform:scale(1.15);}.tracker-triptych-bar{width:100%;display:grid;grid-template-columns:minmax(190px,1fr) minmax(290px,1.45fr) minmax(190px,1fr);gap:14px;align-items:stretch;}.tracker-pillar{background:var(--bg-card);border:1px solid var(--border);border-radius:14px;padding:12px 14px;display:flex;flex-direction:column;justify-content:space-between;gap:10px;position:relative;box-shadow:0 4px 16px -2px rgba(0,0,0,0.04),0 2px 6px -1px rgba(0,0,0,0.02);transition:all 0.22s cubic-bezier(0.4,0,0.2,1);overflow:hidden;}.tracker-pillar:hover{border-color:color-mix(in srgb,var(--primary) 35%,var(--border));box-shadow:0 6px 20px -2px rgba(0,0,0,0.08);transform:translateY(-1px);}.tracker-pillar-prev{background:color-mix(in srgb,var(--bg-card) 92%,var(--bg-tertiary));border-inline-start:3px solid rgba(99,102,241,0.45);}.tracker-pillar-next{background:color-mix(in srgb,var(--bg-card) 92%,var(--bg-tertiary));border-inline-end:3px solid rgba(99,102,241,0.45);}.tracker-pillar-center{background:var(--bg-card);border:1.5px solid color-mix(in srgb,var(--primary) 30%,var(--border));box-shadow:0 6px 22px -3px rgba(0,0,0,0.07);position:relative;}.tracker-pillar-center::before{content:'';position:absolute;top:0;inset-inline:0;height:3.5px;background:linear-gradient(90deg,#6366f1,#8b5cf6);border-radius:14px 14px 0 0;}.tracker-pillar-center.is-live-now{border-color:rgba(16,185,129,0.55);background:color-mix(in srgb,var(--bg-card) 95%,rgba(16,185,129,0.06));box-shadow:0 6px 24px -2px rgba(16,185,129,0.18),0 2px 8px rgba(0,0,0,0.04);}.tracker-pillar-center.is-live-now::before{background:linear-gradient(90deg,#10b981,#059669);}.tracker-pillar-center.is-break,.tracker-pillar-center.is-free-period{border-color:rgba(245,158,11,0.5);background:color-mix(in srgb,var(--bg-card) 95%,rgba(245,158,11,0.05));box-shadow:0 6px 24px -2px rgba(245,158,11,0.16);}.tracker-pillar-center.is-break::before,.tracker-pillar-center.is-free-period::before{background:linear-gradient(90deg,#f59e0b,#d97706);}.tracker-pillar-center.is-after-school{border-color:rgba(100,116,139,0.4);background:color-mix(in srgb,var(--bg-card) 96%,rgba(100,116,139,0.05));box-shadow:0 6px 20px -3px rgba(0,0,0,0.06);}.tracker-pillar-center.is-after-school::before{background:linear-gradient(90deg,#64748b,#475569);}.tracker-pillar-center.is-weekend{border-color:rgba(14,165,233,0.45);background:color-mix(in srgb,var(--bg-card) 95%,rgba(14,165,233,0.05));box-shadow:0 6px 22px -3px rgba(14,165,233,0.15);}.tracker-pillar-center.is-weekend::before{background:linear-gradient(90deg,#0ea5e9,#0284c7);}.tracker-pillar-header{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:2px;}.tracker-pillar-badge{font-size:11px;font-weight:800;padding:3px 9px;border-radius:999px;display:inline-flex;align-items:center;gap:5px;line-height:1.35;letter-spacing:-0.1px;box-shadow:0 1px 3px rgba(0,0,0,0.04);}.tracker-pulse-dot{width:7.5px;height:7.5px;border-radius:50%;background-color:#10b981;display:inline-block;position:relative;flex-shrink:0;}.tracker-pulse-dot::after{content:'';position:absolute;inset:-3.5px;border-radius:50%;border:1.5px solid #10b981;animation:trackerDotPulse 2s cubic-bezier(0.4,0,0.6,1) infinite;}@keyframes trackerDotPulse{0%{transform:scale(0.8);opacity:1;}100%{transform:scale(2.4);opacity:0;}}.tracker-pillar-body{display:flex;flex-direction:column;gap:4px;flex:1;justify-content:center;}.tracker-pillar-title{font-size:13px;font-weight:800;color:var(--text-primary);line-height:1.4;word-break:break-word;}.tracker-pillar-center .tracker-pillar-title{font-size:14.5px;}.tracker-pillar-meta{font-size:11.5px;color:var(--text-secondary);display:flex;align-items:center;gap:6px;flex-wrap:wrap;line-height:1.35;}.tracker-pillar-action{display:flex;align-items:center;justify-content:stretch;margin-top:4px;}.tracker-pillar-action .btn{width:100%;justify-content:center;text-align:center;font-weight:700;font-size:11.5px;padding:5px 12px;border-radius:8px;letter-spacing:normal;transition:all 0.18s cubic-bezier(0.4,0,0.2,1);}.btn-tracker-prev{background:var(--bg-card);border:1px solid var(--border);color:var(--text-primary);}.btn-tracker-prev:hover:not(:disabled){background:var(--bg-hover);border-color:color-mix(in srgb,var(--primary) 40%,var(--border));transform:translateY(-1px);box-shadow:0 2px 8px rgba(0,0,0,0.05);}.btn-tracker-next{background:linear-gradient(135deg,#4f46e5 0%,#6366f1 100%);color:#ffffff !important;border:none;box-shadow:0 2px 8px rgba(79,70,229,0.28);}.btn-tracker-next:hover:not(:disabled){background:linear-gradient(135deg,#4338ca 0%,#4f46e5 100%);box-shadow:0 4px 14px rgba(79,70,229,0.42);transform:translateY(-1px);}.btn-tracker-live-return{background:rgba(16,185,129,0.1);color:#059669 !important;border:1px solid rgba(16,185,129,0.35);}.btn-tracker-live-return:hover{background:rgba(16,185,129,0.18);border-color:#10b981;transform:translateY(-1px);box-shadow:0 2px 8px rgba(16,185,129,0.2);}@media (max-width:980px){.tracker-triptych-bar{grid-template-columns:1fr;gap:10px;}}.attendance-grid{display:flex;flex-direction:column;gap:var(--space-3);}.attendance-row{display:flex;align-items:center;gap:var(--space-3);background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-lg);padding:var(--space-3) var(--space-4);transition:box-shadow var(--transition-fast);}.attendance-row:hover{box-shadow:var(--shadow-sm);}.attendance-student-name{flex:1;font-size:var(--text-sm);font-weight:500;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}.attendance-student-id{font-size:var(--text-xs);color:var(--text-muted);}.att-buttons{display:flex;gap:var(--space-2);flex-shrink:0;}.att-btn{padding:var(--space-1) var(--space-3);border-radius:var(--radius-full);font-size:var(--text-xs);font-weight:600;border:2px solid currentColor;cursor:pointer;transition:background var(--transition-fast),color var(--transition-fast),transform var(--transition-fast);}.att-btn:active{transform:scale(0.93);}.att-btn.present{color:var(--att-present);}.att-btn.present.active{background:var(--att-present);color:white;}.att-btn.absent{color:var(--att-absent);}.att-btn.absent.active{background:var(--att-absent);color:white;}.att-btn.late{color:var(--att-late);}.att-btn.late.active{background:var(--att-late);color:white;}.att-summary{display:flex;gap:var(--space-4);flex-wrap:wrap;background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-lg);padding:var(--space-3) var(--space-5);margin-bottom:var(--space-4);align-items:center;}.att-summary-item{display:flex;align-items:center;gap:var(--space-2);font-size:var(--text-sm);}.att-summary-dot{width:10px;height:10px;border-radius:50%;}.att-summary-dot.present{background:var(--att-present);}.att-summary-dot.absent{background:var(--att-absent);}.att-summary-dot.late{background:var(--att-late);}.att-summary-count{font-weight:700;}.behavior-grid{display:flex;flex-direction:column;gap:var(--space-3);}.behavior-row{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-lg);padding:var(--space-4);transition:box-shadow var(--transition-fast);}.behavior-row:hover{box-shadow:var(--shadow-sm);}.behavior-student-header{display:flex;align-items:center;gap:var(--space-3);margin-bottom:var(--space-3);}.behavior-student-name{font-weight:600;flex:1;}.behavior-controls{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-3);align-items:start;}.behavior-rating-label{font-size:var(--text-xs);color:var(--text-muted);margin-bottom:var(--space-1);}.beh-type-toggle{display:flex;gap:var(--space-2);}.beh-type-btn{flex:1;padding:var(--space-1) var(--space-2);font-size:var(--text-xs);font-weight:600;border-radius:var(--radius-md);border:2px solid var(--border-strong);cursor:pointer;background:transparent;color:var(--text-secondary);transition:all var(--transition-fast);}.beh-type-btn.positive.active{border-color:var(--beh-positive);color:var(--beh-positive);background:var(--accent-light);}.beh-type-btn.negative.active{border-color:var(--beh-negative);color:var(--beh-negative);background:var(--danger-light);}.behavior-note{grid-column:1/-1;}.behavior-note textarea{width:100%;min-height:56px;resize:vertical;font-size:var(--text-xs);}.behavior-attachment{grid-column:1/-1;}.file-attach-btn{display:inline-flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-3);border:1px dashed var(--border-strong);border-radius:var(--radius-md);cursor:pointer;color:var(--text-muted);font-size:var(--text-xs);transition:border-color var(--transition-fast),color var(--transition-fast);}.file-attach-btn:hover{border-color:var(--accent);color:var(--accent);}.file-name{font-size:var(--text-xs);color:var(--text-secondary);margin-top:var(--space-1);}.grades-table-wrapper{width:100%;max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch;overscroll-behavior-x:contain;border:1px solid var(--border);border-radius:var(--radius-md);margin-bottom:var(--space-3);scrollbar-width:thin;scrollbar-color:var(--accent) var(--bg-tertiary);background:var(--bg-card);position:relative;}.grades-table-wrapper::-webkit-scrollbar{height:10px;}.grades-table-wrapper::-webkit-scrollbar-track{background:var(--bg-tertiary);border-radius:var(--radius-sm);}.grades-table-wrapper::-webkit-scrollbar-thumb{background:var(--accent);border-radius:var(--radius-sm);}.grades-table-wrapper::-webkit-scrollbar-thumb:hover{background:var(--accent-hover);}.grades-table-hint{font-size:11px;color:var(--text-muted);display:flex;align-items:center;gap:6px;margin-bottom:var(--space-2);padding:4px 8px;background:var(--bg-tertiary);border-radius:var(--radius-sm);width:fit-content;}.grades-table{width:100%;border-collapse:separate;border-spacing:0;font-size:var(--text-sm);}.grades-table th{background:var(--bg-tertiary);color:var(--text-secondary);font-size:var(--text-xs);font-weight:600;padding:var(--space-3) var(--space-4);border-bottom:2px solid var(--border-strong);text-align:center;white-space:nowrap;position:sticky;top:0;z-index:10;}.grades-table td{padding:var(--space-2) var(--space-3);border-bottom:1px solid var(--border);vertical-align:middle;background:var(--bg-card);}.grades-table tbody tr:hover td{background:color-mix(in srgb,var(--accent) 5%,var(--bg-card));}[dir="rtl"] .grades-table th:first-child,[dir="rtl"] .grades-table td:first-child{position:sticky;right:0;z-index:11;background:var(--bg-card);width:38px;min-width:38px;text-align:center;}[dir="rtl"] .grades-table th:first-child{background:var(--bg-tertiary);z-index:15;}[dir="rtl"] .grades-table th.student-name-th,[dir="rtl"] .grades-table td.student-name-cell{position:sticky;right:38px;z-index:11;background:var(--bg-card);box-shadow:-3px 0 6px rgba(0,0,0,0.08);min-width:160px;}[dir="rtl"] .grades-table th.student-name-th{background:var(--bg-tertiary);z-index:15;}[dir="ltr"] .grades-table th:first-child,[dir="ltr"] .grades-table td:first-child{position:sticky;left:0;z-index:11;background:var(--bg-card);width:38px;min-width:38px;text-align:center;}[dir="ltr"] .grades-table th:first-child{background:var(--bg-tertiary);z-index:15;}[dir="ltr"] .grades-table th.student-name-th,[dir="ltr"] .grades-table td.student-name-cell{position:sticky;left:38px;z-index:11;background:var(--bg-card);box-shadow:3px 0 6px rgba(0,0,0,0.08);min-width:160px;}[dir="ltr"] .grades-table th.student-name-th{background:var(--bg-tertiary);z-index:15;}[dir="rtl"] #section-report-table .sec-col-chk{position:sticky;right:0;z-index:9;background:var(--bg-card);}[dir="rtl"] #section-report-table th.sec-col-chk{position:sticky;right:0;background:var(--bg-tertiary);z-index:12;}[dir="rtl"] #section-report-table .sec-col-idx{position:sticky;right:34px;z-index:9;background:var(--bg-card);}[dir="rtl"] #section-report-table th.sec-col-idx{position:sticky;right:34px;background:var(--bg-tertiary);z-index:12;}[dir="rtl"] #section-report-table .student-name-cell{position:sticky;right:70px;z-index:9;background:var(--bg-card);box-shadow:-3px 0 6px rgba(0,0,0,0.08);}[dir="rtl"] #section-report-table th.student-name-th{position:sticky;right:70px;z-index:12;background:var(--bg-tertiary);box-shadow:-3px 0 6px rgba(0,0,0,0.08);}[dir="ltr"] #section-report-table .sec-col-chk{position:sticky;left:0;z-index:9;background:var(--bg-card);}[dir="ltr"] #section-report-table th.sec-col-chk{position:sticky;left:0;background:var(--bg-tertiary);z-index:12;}[dir="ltr"] #section-report-table .sec-col-idx{position:sticky;left:34px;z-index:9;background:var(--bg-card);}[dir="ltr"] #section-report-table th.sec-col-idx{position:sticky;left:34px;background:var(--bg-tertiary);z-index:12;}[dir="ltr"] #section-report-table .student-name-cell{position:sticky;left:70px;z-index:9;background:var(--bg-card);box-shadow:3px 0 6px rgba(0,0,0,0.08);}[dir="ltr"] #section-report-table th.student-name-th{position:sticky;left:70px;z-index:12;background:var(--bg-tertiary);box-shadow:3px 0 6px rgba(0,0,0,0.08);}#section-report-table{min-width:1100px;width:100%;}.grades-table .student-name-cell{text-align:start;font-weight:500;}.grades-table input[type="number"],.grade-input,.all-grade-input{width:78px;text-align:center;padding:var(--space-1) var(--space-1);}.trend-up{color:var(--success);}.trend-down{color:var(--danger);}.trend-flat{color:var(--text-muted);}.pct-high{color:var(--success);font-weight:700;}.pct-mid{color:var(--warning);font-weight:700;}.pct-low{color:var(--danger);font-weight:700;}.assess-type-list{display:flex;flex-direction:column;gap:var(--space-2);}.assess-type-item{display:flex;align-items:center;gap:var(--space-3);background:var(--bg-tertiary);border:1px solid var(--border);border-radius:var(--radius-md);padding:var(--space-3) var(--space-4);}.assess-type-name{flex:1;font-weight:500;font-size:var(--text-sm);}.assess-type-meta{font-size:var(--text-xs);color:var(--text-muted);display:flex;gap:var(--space-3);}.assess-type-actions{display:flex;gap:var(--space-2);}.report-section{margin-bottom:var(--space-6);}.report-section-title{font-size:var(--text-base);font-weight:700;margin-bottom:var(--space-3);color:var(--accent);display:flex;align-items:center;gap:var(--space-2);}.report-section-title::after{content:'';flex:1;height:1px;background:var(--border);}.report-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:var(--space-3);}.report-metric{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-md);padding:var(--space-3) var(--space-4);text-align:center;}.report-metric-value{font-size:var(--text-2xl);font-weight:800;color:var(--accent);}.report-metric-label{font-size:var(--text-xs);color:var(--text-muted);}.chart-container{position:relative;background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-lg);padding:var(--space-3) var(--space-4);overflow:hidden;height:250px !important;max-height:260px !important;display:flex;flex-direction:column;}.chart-container canvas{max-height:185px !important;width:100% !important;flex:1;}.chart-title{font-size:var(--text-sm);font-weight:600;margin-bottom:var(--space-2);text-align:center;color:var(--text-secondary);}.charts-grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-3);margin-top:var(--space-3);}@media (max-width:640px){.charts-grid{grid-template-columns:1fr;}}.about-hero{text-align:center;padding:var(--space-10) var(--space-4);background:linear-gradient(135deg,var(--accent-light) 0%,transparent 60%);border-radius:var(--radius-xl);margin-bottom:var(--space-6);}.about-logo{width:80px;height:80px;border-radius:var(--radius-xl);background:var(--accent-light);border:2px solid var(--accent);display:flex;align-items:center;justify-content:center;margin:0 auto var(--space-4);}.about-logo svg{width:40px;height:40px;color:var(--accent);}.about-app-name{font-size:var(--text-2xl);font-weight:800;margin-bottom:0;line-height:1.15;}.about-app-version{color:var(--accent);font-size:14px;font-weight:700;letter-spacing:0.04em;margin-top:1px;line-height:1.2;}.about-app-desc{color:var(--text-secondary);max-width:480px;margin:14px auto 0;}.about-badge{display:inline-flex;align-items:center;gap:var(--space-2);background:var(--success-light);color:var(--success);border-radius:var(--radius-full);padding:var(--space-1) var(--space-3);font-size:var(--text-xs);font-weight:600;margin-top:var(--space-3);}.about-info-card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-lg);padding:var(--space-5);margin-bottom:var(--space-4);}.about-info-title{font-size:var(--text-xs);font-weight:600;text-transform:none;letter-spacing:0.04em;color:var(--text-muted);margin-bottom:var(--space-3);}.about-info-row{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-3) 0;border-bottom:1px solid var(--border);}.about-info-row:last-child{border-bottom:none;}.about-info-icon{width:36px;height:36px;border-radius:var(--radius-md);background:var(--accent-light);display:flex;align-items:center;justify-content:center;flex-shrink:0;}.about-info-icon svg{width:18px;height:18px;color:var(--accent);}.about-info-label{font-size:var(--text-xs);color:var(--text-muted);}.about-info-value{font-size:var(--text-sm);font-weight:600;}.about-features-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:var(--space-3);}.about-feature-item{display:flex;flex-direction:column;align-items:center;gap:var(--space-2);padding:var(--space-4);background:var(--bg-tertiary);border:1px solid var(--border);border-radius:var(--radius-lg);text-align:center;}.about-feature-icon{width:40px;height:40px;border-radius:var(--radius-md);background:var(--accent-light);display:flex;align-items:center;justify-content:center;}.about-feature-icon svg{width:20px;height:20px;color:var(--accent);}.about-feature-label{font-size:var(--text-xs);font-weight:500;color:var(--text-secondary);}.settings-group{margin-bottom:var(--space-6);}.settings-group-title{font-size:var(--text-xs);font-weight:700;text-transform:uppercase;letter-spacing:0.08em;color:var(--text-muted);margin-bottom:var(--space-3);}.setting-row{display:flex;align-items:center;justify-content:space-between;padding:var(--space-3) var(--space-4);background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-md);margin-bottom:var(--space-2);gap:var(--space-4);}.setting-row-info{flex:1;}.setting-row-label{font-size:var(--text-sm);font-weight:500;}.setting-row-desc{font-size:var(--text-xs);color:var(--text-muted);}.setting-row-control{flex-shrink:0;}.logo-upload-area{display:flex;align-items:center;gap:var(--space-4);padding:var(--space-4);background:var(--bg-card);border:2px dashed var(--border-strong);border-radius:var(--radius-lg);cursor:pointer;transition:border-color var(--transition-fast);}.logo-upload-area:hover{border-color:var(--accent);}.logo-preview{width:56px;height:56px;border-radius:var(--radius-md);object-fit:cover;}.logo-upload-label{font-size:var(--text-sm);color:var(--text-secondary);}.logo-upload-hint{font-size:var(--text-xs);color:var(--text-muted);}.class-tree{display:flex;flex-direction:column;gap:var(--space-3);}.class-node{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-lg);overflow:hidden;}.class-node-header{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-4);background:var(--bg-tertiary);cursor:pointer;}.class-node-name{flex:1;font-weight:600;}.class-node-count{font-size:var(--text-xs);color:var(--text-muted);}.section-list{padding:var(--space-2);display:flex;flex-direction:column;gap:var(--space-2);}.section-item{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-2) var(--space-3);border-radius:var(--radius-md);border:1px solid var(--border);background:var(--bg-input);}.section-item-name{flex:1;font-size:var(--text-sm);}.progress-bar{height:6px;background:var(--border);border-radius:var(--radius-full);overflow:hidden;}.progress-fill{height:100%;border-radius:var(--radius-full);background:var(--accent);transition:width var(--transition-slow);}.progress-fill.success{background:var(--success);}.progress-fill.warning{background:var(--warning);}.progress-fill.danger{background:var(--danger);}.activity-list{display:flex;flex-direction:column;gap:0;}.activity-item{display:flex;gap:var(--space-3);padding:var(--space-3) 0;border-bottom:1px solid var(--border);}.activity-item:last-child{border-bottom:none;}.activity-icon{width:32px;height:32px;border-radius:50%;display:flex;align-items:center;justify-content:center;flex-shrink:0;}.activity-content{flex:1;}.activity-text{font-size:var(--text-sm);}.activity-time{font-size:var(--text-xs);color:var(--text-muted);}.score-circle{width:56px;height:56px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:var(--text-base);font-weight:800;border:3px solid var(--accent);color:var(--accent);}.data-table .att-btn{width:36px;height:36px;border-radius:50%;font-size:15px;font-weight:700;border:2px solid currentColor;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;transition:background 0.2s ease,color 0.2s ease,transform 0.15s ease,box-shadow 0.2s ease;background:transparent;position:relative;overflow:hidden;}.data-table .att-btn:active{transform:scale(0.85);}.data-table .att-btn:hover{transform:scale(1.08);}.data-table .att-btn.present{color:var(--att-present);}.data-table .att-btn.present.active{background:var(--att-present);color:#fff;box-shadow:0 0 12px color-mix(in srgb,var(--att-present) 50%,transparent);animation:attPop 0.3s ease;}.data-table .att-btn.absent{color:var(--att-absent);}.data-table .att-btn.absent.active{background:var(--att-absent);color:#fff;box-shadow:0 0 12px color-mix(in srgb,var(--att-absent) 50%,transparent);animation:attPop 0.3s ease;}.data-table .att-btn.late{color:var(--att-late);}.data-table .att-btn.late.active{background:var(--att-late);color:#fff;box-shadow:0 0 12px color-mix(in srgb,var(--att-late) 50%,transparent);animation:attPop 0.3s ease;}@keyframes attPop{0%{transform:scale(0.7);}60%{transform:scale(1.12);}100%{transform:scale(1);}}.rating-star{font-size:18px;cursor:pointer;color:var(--border-strong);transition:color var(--transition-fast),transform var(--transition-fast);user-select:none;}.rating-star:hover,.rating-star.active{color:#f59e0b;}.rating-star:active{transform:scale(1.2);}.all-grade-pct{font-size:var(--text-xs);font-weight:600;margin-top:2px;text-align:center;}.pin-digit.filled{border-color:var(--accent);background:var(--accent-light);}.date-nav{display:flex;align-items:center;gap:6px;width:100%;margin:0;}.date-nav-btn{width:40px;height:42px;min-width:40px;display:inline-flex;align-items:center;justify-content:center;border-radius:var(--radius-md);border:1px solid var(--border-strong);background:var(--bg-surface);color:var(--text-primary);cursor:pointer;font-size:18px;font-weight:700;line-height:1;transition:all var(--transition-fast);flex-shrink:0;box-sizing:border-box;}.date-nav-btn:hover{background:var(--accent-light);color:var(--accent);border-color:var(--accent);}.date-nav-btn:active{transform:scale(0.96);}.date-nav input[type="date"]{flex:1;min-width:0;height:42px;text-align:center;box-sizing:border-box;}.form-hint{font-size:var(--text-xs);color:var(--text-muted);margin-top:var(--space-1);}.actions-cell{display:flex;gap:var(--space-1);align-items:center;}.spinner-wrap{display:flex;justify-content:center;align-items:center;padding:var(--space-10);}.header-dev-info{display:flex;flex-direction:column;align-items:flex-end;line-height:1.3;margin-inline-end:var(--space-3);padding:var(--space-1) var(--space-2);border-inline-end:1px solid var(--border);padding-inline-end:var(--space-3);}.header-dev-name{font-size:10px;font-weight:600;color:var(--text-muted);white-space:nowrap;}.header-dev-phone{font-size:9px;color:var(--text-muted);white-space:nowrap;letter-spacing:0.02em;}@media (max-width:480px){.header-dev-info{display:none;}}.header-meta-info{display:flex;flex-direction:row;align-items:center;gap:12px;margin:0 4px;padding:2px 12px;background:color-mix(in srgb,var(--accent) 6%,var(--bg-card));border:1px solid color-mix(in srgb,var(--accent) 18%,var(--border));border-radius:12px;box-shadow:0 1px 4px rgba(0,0,0,0.03);flex-shrink:0;min-width:0;user-select:none;}.header-datetime-stack{display:inline-flex;flex-direction:column;justify-content:center;align-items:center;gap:2px;padding:1px 8px;line-height:1.15;white-space:nowrap;user-select:none;flex-shrink:0;cursor:default;border-inline-end:1px solid color-mix(in srgb,var(--accent) 18%,var(--border));padding-inline-end:12px;}.header-clock-row,.header-clock-badge{display:flex;align-items:center;justify-content:center;gap:5px;font-size:14px !important;font-weight:700;color:var(--accent);white-space:nowrap;font-variant-numeric:tabular-nums;letter-spacing:0.03em;line-height:1.15;padding:0;margin:0;background:none !important;border:none !important;box-shadow:none !important;}.header-clock-row svg,.header-clock-badge svg{width:12px;height:12px;opacity:0.85;color:var(--accent);animation:clockPulse 2s ease-in-out infinite;flex-shrink:0;}@keyframes clockPulse{0%,100%{opacity:0.55;}50%{opacity:1;}}.header-date-row,.header-date-badge{display:flex;align-items:center;justify-content:center;gap:6px;font-size:18px !important;font-weight:800;color:var(--text-primary);white-space:nowrap;line-height:1.15;padding:0;margin:0;background:none !important;border:none !important;box-shadow:none !important;letter-spacing:-0.01em;}.header-date-row svg,.header-date-badge svg{width:15px;height:15px;opacity:0.85;color:var(--accent);flex-shrink:0;}.header-subject-badge{display:flex;align-items:center;gap:7px;font-size:17.5px !important;font-weight:800;color:var(--accent);white-space:nowrap;border-radius:9px;padding:6px 15px;background:color-mix(in srgb,var(--accent) 12%,transparent);border:1.5px solid color-mix(in srgb,var(--accent) 28%,transparent);box-shadow:0 1px 4px color-mix(in srgb,var(--accent) 12%,transparent);transition:all 0.2s ease;user-select:none;letter-spacing:-0.01em;}.header-subject-badge:hover{background:color-mix(in srgb,var(--accent) 20%,transparent);border-color:var(--accent);transform:translateY(-1px);box-shadow:0 3px 10px color-mix(in srgb,var(--accent) 25%,transparent);}.header-subject-badge svg:first-child{width:18px;height:18px;flex-shrink:0;}.header-subject-badge svg:last-child{width:12px;height:12px;flex-shrink:0;opacity:0.6;}#header-subject-text{font-size:17.5px !important;font-weight:800;}.header-term-badge{display:inline-flex;align-items:center;gap:5px;font-size:12.5px !important;font-weight:700;color:var(--text-primary);white-space:nowrap;background:color-mix(in srgb,var(--accent) 9%,transparent);padding:3px 9px;border-radius:8px;border:1px solid color-mix(in srgb,var(--accent) 20%,transparent);cursor:pointer;transition:all 0.2s ease;user-select:none;margin-inline-start:4px;flex-shrink:0;}.header-term-badge:hover{background:color-mix(in srgb,var(--accent) 18%,transparent);border-color:var(--accent);color:var(--accent);transform:translateY(-1px);}.header-term-badge svg{width:13px;height:13px;color:var(--accent);flex-shrink:0;}@media (max-width:768px){.header-meta-info{height:38px;padding:2px 6px;gap:6px;}.header-clock-row{font-size:13px !important;}.header-date-row{font-size:10.5px !important;}.header-subject-badge{font-size:13px !important;padding:3px 8px;}#header-subject-text{font-size:13px !important;}}.badge{display:inline-flex;align-items:center;padding:2px 8px;border-radius:999px;font-size:11px;font-weight:600;}tr.att-row-warning td{background:rgba(245,158,11,0.07);}tr.att-row-danger td{background:rgba(239,68,68,0.09);}#teacher-tab-calendar > div{grid-template-columns:1fr 1fr;}@media (max-width:768px){#teacher-tab-calendar > div{grid-template-columns:1fr;}}.cal-day{user-select:none;min-height:38px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:var(--space-2);border-radius:var(--radius-md);cursor:pointer;font-size:var(--text-sm);font-weight:500;color:var(--text-primary);transition:background 0.15s,box-shadow 0.15s;border:2px solid transparent;}.cal-day:hover{background:var(--bg-hover);}.cal-day.cal-selected{background:var(--accent);color:#fff;font-weight:700;box-shadow:0 0 0 2px var(--accent),0 2px 8px rgba(99,102,241,0.35);border-color:transparent;}.cal-day.cal-selected:hover{background:var(--accent-hover);}.cal-day.cal-today{background:color-mix(in srgb,var(--accent) 12%,transparent);color:var(--accent);font-weight:700;border-color:var(--accent);}.cal-day.cal-today:hover{background:color-mix(in srgb,var(--accent) 20%,transparent);}.cal-dot{width:5px;height:5px;border-radius:50%;background:var(--accent);margin:2px auto 0;}.cal-dot.cal-dot-inv{background:#fff;}.timer-modal-overlay{z-index:1050;}.timer-modal{max-width:440px;width:92%;text-align:center;padding:var(--space-5);background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-xl);box-shadow:var(--shadow-xl);transition:all 0.3s cubic-bezier(0.16,1,0.3,1);}.timer-modal.timer-fullscreen{position:fixed;top:0;left:0;right:0;bottom:0;max-width:100vw;width:100vw;height:100vh;border-radius:0;border:none;z-index:99999;display:flex;flex-direction:column;justify-content:center;align-items:center;padding:var(--space-8);background:var(--bg-body);}.timer-header{display:flex;align-items:center;justify-content:space-between;width:100%;margin-bottom:var(--space-4);}.timer-mode-pills{display:flex;background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius-lg);padding:3px;gap:2px;}.timer-pill{padding:6px 14px;border-radius:var(--radius-md);border:none;background:transparent;font-size:var(--text-sm);font-weight:600;color:var(--text-secondary);cursor:pointer;transition:all 0.2s ease;}.timer-pill.active{background:var(--accent);color:#ffffff;box-shadow:0 2px 6px rgba(99,102,241,0.3);}.timer-display-wrap{position:relative;width:210px;height:210px;margin:0 auto var(--space-4);display:flex;align-items:center;justify-content:center;}.timer-modal.timer-fullscreen .timer-display-wrap{width:360px;height:360px;margin-bottom:var(--space-6);}.timer-ring-svg{width:100%;height:100%;transform:rotate(-90deg);}.timer-ring-bg{fill:none;stroke:var(--border);stroke-width:8;}.timer-ring-progress{fill:none;stroke:var(--accent);stroke-width:8;stroke-linecap:round;stroke-dasharray:552.92;stroke-dashoffset:0;transition:stroke-dashoffset 0.4s linear,stroke 0.3s ease;}.timer-digits-container{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;}.timer-digits{font-size:2.8rem;font-weight:800;letter-spacing:-0.02em;font-variant-numeric:tabular-nums;color:var(--text-primary);line-height:1;}.timer-modal.timer-fullscreen .timer-digits{font-size:5.5rem;}.timer-status-text{font-size:var(--text-xs);font-weight:600;color:var(--text-muted);margin-top:6px;text-transform:uppercase;}.timer-presets-wrap{display:flex;flex-direction:column;align-items:center;gap:8px;margin-bottom:var(--space-4);}.timer-presets-label{font-size:var(--text-xs);font-weight:600;color:var(--text-muted);}.timer-preset-chips{display:flex;flex-wrap:wrap;justify-content:center;gap:6px;}.timer-chip{padding:4px 10px;border-radius:var(--radius-full,999px);border:1px solid var(--border);background:var(--bg-surface);color:var(--text-secondary);font-size:var(--text-xs);font-weight:600;cursor:pointer;transition:all 0.15s ease;}.timer-chip:hover{border-color:var(--accent);color:var(--text-primary);}.timer-chip.active{background:color-mix(in srgb,var(--accent) 15%,transparent);border-color:var(--accent);color:var(--accent);font-weight:700;}.timer-custom-row{display:flex;align-items:center;gap:6px;margin-top:4px;}.timer-controls{display:flex;justify-content:center;gap:12px;}.timer-btn-main{min-width:120px;display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:10px 20px;font-weight:700;}.timer-btn-action{display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:10px 16px;}.noise-modal-overlay{z-index:1050;}.noise-modal-overlay:not(.floating-mode){background:rgba(15,23,42,0.8) !important;backdrop-filter:blur(10px) !important;-webkit-backdrop-filter:blur(10px) !important;}.noise-modal{max-width:500px;width:94%;text-align:center;padding:var(--space-5);background:var(--bg-card,#ffffff) !important;border:1.5px solid var(--border);border-radius:var(--radius-xl);box-shadow:0 25px 60px -15px rgba(0,0,0,0.45),0 0 0 1px var(--border);transition:transform 0.25s cubic-bezier(0.16,1,0.3,1),opacity 0.25s ease;position:relative;color:var(--text-primary);}.noise-modal.noise-fullscreen{position:fixed !important;top:0 !important;left:0 !important;right:0 !important;bottom:0 !important;max-width:100vw !important;width:100vw !important;height:100vh !important;max-height:100vh !important;border-radius:0 !important;border:none !important;z-index:100000 !important;display:flex !important;flex-direction:column !important;justify-content:flex-start !important;align-items:center !important;padding:0 !important;margin:0 !important;background:var(--bg-primary,#0f172a) !important;overflow-y:auto !important;overflow-x:hidden !important;overscroll-behavior:contain !important;}.noise-modal.noise-fullscreen .noise-header{position:sticky !important;top:0 !important;z-index:100002 !important;background:var(--bg-card,#1e293b) !important;width:100% !important;padding:14px 28px !important;margin:0 !important;border-bottom:2px solid var(--border) !important;box-shadow:0 4px 20px rgba(0,0,0,0.2) !important;backdrop-filter:blur(8px) !important;}.noise-modal.noise-fullscreen .noise-body{max-width:720px !important;width:100% !important;padding:16px 24px 80px !important;margin:0 auto !important;flex:1 0 auto !important;}.noise-exit-fullscreen-floating{display:none !important;position:fixed !important;top:14px !important;inset-inline-end:20px !important;z-index:100005 !important;background:rgba(220,38,38,0.92) !important;color:#ffffff !important;font-weight:700 !important;font-size:11.5px !important;height:30px !important;padding:0 10px !important;border-radius:9999px !important;border:1px solid rgba(255,255,255,0.35) !important;box-shadow:0 3px 12px rgba(220,38,38,0.35),0 1px 3px rgba(0,0,0,0.2) !important;cursor:pointer !important;align-items:center !important;justify-content:center !important;gap:5px !important;transition:all 0.2s cubic-bezier(0.16,1,0.3,1) !important;user-select:none !important;line-height:1 !important;backdrop-filter:blur(6px) !important;}.noise-modal.noise-fullscreen .noise-exit-fullscreen-floating{display:inline-flex !important;}.noise-exit-fullscreen-floating:hover{background:#dc2626 !important;transform:translateY(-1px) scale(1.04) !important;box-shadow:0 5px 16px rgba(220,38,38,0.55) !important;}.noise-exit-fullscreen-floating .fs-esc-pill{font-size:9.5px !important;font-weight:700 !important;padding:1px 5px !important;background:rgba(255,255,255,0.22) !important;border-radius:4px !important;border:1px solid rgba(255,255,255,0.3) !important;line-height:1.2 !important;}.btn-fs-active{color:var(--danger) !important;background:rgba(239,68,68,0.12) !important;}.noise-modal.noise-fullscreen .noise-balls-canvas-wrap{height:380px !important;max-height:48vh !important;}.noise-modal.noise-fullscreen .noise-balls-canvas-wrap canvas{width:100% !important;height:100% !important;}.noise-modal.noise-fullscreen .noise-level-text{font-size:3.6rem !important;}.noise-modal.noise-fullscreen .noise-semicircle-gauge{width:280px !important;height:140px !important;border-radius:140px 140px 0 0 !important;}tr.tr-milestone-tier-1{background:linear-gradient(90deg,rgba(16,185,129,0.08) 0%,rgba(16,185,129,0.02) 100%) !important;border-inline-start:4px solid #10b981 !important;}tr.tr-milestone-tier-1 td:first-child{font-weight:700 !important;color:#047857 !important;}[data-theme="dark"] tr.tr-milestone-tier-1,[data-theme="high-contrast"] tr.tr-milestone-tier-1{background:linear-gradient(90deg,rgba(16,185,129,0.16) 0%,rgba(16,185,129,0.03) 100%) !important;}[data-theme="dark"] tr.tr-milestone-tier-1 td:first-child,[data-theme="high-contrast"] tr.tr-milestone-tier-1 td:first-child{color:#34d399 !important;}tr.tr-milestone-tier-2{background:linear-gradient(90deg,rgba(14,165,233,0.10) 0%,rgba(14,165,233,0.03) 100%) !important;border-inline-start:4px solid #0284c7 !important;}tr.tr-milestone-tier-2 td:first-child{font-weight:800 !important;color:#0369a1 !important;}[data-theme="dark"] tr.tr-milestone-tier-2,[data-theme="high-contrast"] tr.tr-milestone-tier-2{background:linear-gradient(90deg,rgba(14,165,233,0.18) 0%,rgba(14,165,233,0.03) 100%) !important;}[data-theme="dark"] tr.tr-milestone-tier-2 td:first-child,[data-theme="high-contrast"] tr.tr-milestone-tier-2 td:first-child{color:#38bdf8 !important;}tr.tr-milestone-tier-3,tr.tr-milestone-student{background:linear-gradient(90deg,rgba(245,158,11,0.13) 0%,rgba(217,119,6,0.04) 100%) !important;border-inline-start:4px solid #f59e0b !important;}tr.tr-milestone-tier-3 td:first-child,tr.tr-milestone-student td:first-child{font-weight:800 !important;color:#b45309 !important;}[data-theme="dark"] tr.tr-milestone-tier-3,[data-theme="dark"] tr.tr-milestone-student,[data-theme="high-contrast"] tr.tr-milestone-tier-3,[data-theme="high-contrast"] tr.tr-milestone-student{background:linear-gradient(90deg,rgba(245,158,11,0.22) 0%,rgba(255,255,255,0.02) 100%) !important;}[data-theme="dark"] tr.tr-milestone-tier-3 td:first-child,[data-theme="dark"] tr.tr-milestone-student td:first-child,[data-theme="high-contrast"] tr.tr-milestone-tier-3 td:first-child,[data-theme="high-contrast"] tr.tr-milestone-student td:first-child{color:#fbbf24 !important;}.milestone-crown-icon{font-size:14.5px;margin-inline-end:5px;display:inline-block;vertical-align:middle;}.milestone-crown-icon.milestone-tier-3{filter:drop-shadow(0 0 4px rgba(245,158,11,0.45));}.milestone-crown-icon.milestone-tier-2{filter:drop-shadow(0 0 3px rgba(14,165,233,0.4));}.milestone-crown-icon.milestone-tier-1{filter:drop-shadow(0 0 3px rgba(16,185,129,0.4));}.milestone-tier-pill{display:inline-flex;align-items:center;gap:3px;font-size:10px;font-weight:800;padding:1px 7px;border-radius:999px;margin-inline-start:6px;vertical-align:middle;letter-spacing:0.2px;}.milestone-tier-pill.tier-1{background:rgba(16,185,129,0.15);color:#047857;border:1px solid rgba(16,185,129,0.4);}[data-theme="dark"] .milestone-tier-pill.tier-1,[data-theme="high-contrast"] .milestone-tier-pill.tier-1{background:rgba(16,185,129,0.22);color:#6ee7b7;border-color:rgba(16,185,129,0.5);}.milestone-tier-pill.tier-2{background:rgba(14,165,233,0.15);color:#0369a1;border:1px solid rgba(14,165,233,0.4);}[data-theme="dark"] .milestone-tier-pill.tier-2,[data-theme="high-contrast"] .milestone-tier-pill.tier-2{background:rgba(14,165,233,0.22);color:#7dd3fc;border-color:rgba(14,165,233,0.5);}.milestone-tier-pill.tier-3,.milestone-royale-pill{background:linear-gradient(135deg,rgba(245,158,11,0.2),rgba(217,119,6,0.15));color:#b45309;border:1px solid rgba(245,158,11,0.5);box-shadow:0 0 6px rgba(245,158,11,0.2);}[data-theme="dark"] .milestone-tier-pill.tier-3,[data-theme="dark"] .milestone-royale-pill,[data-theme="high-contrast"] .milestone-tier-pill.tier-3,[data-theme="high-contrast"] .milestone-royale-pill{background:linear-gradient(135deg,rgba(245,158,11,0.28),rgba(217,119,6,0.2));color:#fde68a;border-color:rgba(245,158,11,0.6);}.noise-modal.is-floating #noise-drag-header{cursor:grab;user-select:none;touch-action:none;}.noise-modal.is-floating #noise-drag-header:active{cursor:grabbing;}.noise-modal.is-floating .noise-body{overflow-y:auto !important;flex:1 1 auto;min-height:0;overscroll-behavior:contain !important;}.noise-header{display:flex;align-items:center;justify-content:space-between;width:100%;margin-bottom:var(--space-3);padding-bottom:8px;border-bottom:1px solid var(--border);}.noise-drag-handle{display:flex;align-items:center;gap:8px;user-select:none;}.noise-drag-dots{color:var(--text-muted);font-size:16px;letter-spacing:-2px;opacity:0.7;cursor:grab;}.noise-modal-title{font-weight:800;font-size:var(--text-base);color:var(--text-primary);}.noise-mode-pills-row{display:flex;justify-content:center;margin-bottom:10px;}.noise-session-time-bar{background:var(--bg-surface,var(--bg-tertiary)) !important;border:1.5px solid var(--border) !important;border-radius:var(--radius-lg);padding:10px 14px;margin-bottom:12px;display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:8px;box-shadow:0 2px 8px rgba(0,0,0,0.05);}.noise-session-timer-display{display:flex;align-items:center;gap:6px;}.noise-timer-icon{font-size:18px;}.noise-timer-digits{font-size:1.5rem;font-weight:800;font-family:monospace;color:var(--accent);letter-spacing:0.5px;}.noise-timer-label{font-size:10px;color:var(--text-muted);font-weight:600;margin-inline-start:2px;}.noise-time-chips{display:flex;gap:4px;flex-wrap:wrap;align-items:center;}.noise-time-chip{padding:4px 10px;border-radius:var(--radius-full);border:1.5px solid var(--border);background:var(--bg-card,#ffffff);color:var(--text-primary);font-size:11.5px;font-weight:700;cursor:pointer;transition:all 0.15s ease;}.noise-time-chip:hover{border-color:var(--accent);color:var(--accent);}.noise-time-chip.active{background:var(--accent) !important;border-color:var(--accent) !important;color:#ffffff !important;box-shadow:0 2px 8px rgba(99,102,241,0.35);}.noise-dial-container{text-align:center;margin:10px auto;position:relative;background:var(--bg-surface,var(--bg-tertiary));border:1.5px solid var(--border);border-radius:var(--radius-xl);padding:16px 12px;box-shadow:0 2px 10px rgba(0,0,0,0.04);}.noise-semicircle-gauge{width:200px;height:100px;margin:0 auto;border-radius:100px 100px 0 0;background:conic-gradient(from 180deg at 50% 100%,#10b981 0deg 90deg,#f59e0b 90deg 140deg,#ef4444 140deg 180deg);position:relative;box-shadow:inset 0 -4px 12px rgba(0,0,0,0.25),0 4px 12px rgba(0,0,0,0.06);}.noise-gauge-needle{width:4px;height:85px;background:var(--text-primary);position:absolute;bottom:0;left:calc(50% - 2px);transform-origin:bottom center;transform:rotate(-90deg);transition:transform 0.12s ease-out;border-radius:2px 2px 0 0;z-index:2;box-shadow:0 0 5px rgba(0,0,0,0.4);}.noise-gauge-center-cap{width:20px;height:20px;border-radius:50%;background:var(--accent);position:absolute;bottom:-10px;left:calc(50% - 10px);z-index:3;border:3px solid white;box-shadow:0 2px 6px rgba(0,0,0,0.3);}.noise-level-text{font-size:2.4rem;font-weight:800;font-family:monospace;margin-top:6px;color:var(--text-primary);line-height:1;}.noise-status-badge{display:inline-flex;align-items:center;gap:6px;padding:4px 14px;border-radius:var(--radius-full);font-size:13px;font-weight:700;margin-top:6px;}.noise-status-badge.status-calm{background:rgba(16,185,129,0.15);color:#10b981;}.noise-status-badge.status-moderate{background:rgba(245,158,11,0.15);color:#f59e0b;}.noise-status-badge.status-loud{background:rgba(239,68,68,0.2);color:#ef4444;animation:noiseAlertPulse 0.9s infinite alternate;}@keyframes noiseAlertPulse{from{transform:scale(1);box-shadow:0 0 0 rgba(239,68,68,0.4);}to{transform:scale(1.05);box-shadow:0 0 16px rgba(239,68,68,0.7);}}.noise-meter-bar-container{width:100%;margin:12px 0 8px;}.noise-meter-bar-track{height:12px;background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius-full);position:relative;overflow:visible;}.noise-meter-bar-fill{height:100%;border-radius:var(--radius-full);transition:width 0.12s ease-out,background-color 0.2s;background:var(--success);}.noise-threshold-marker{position:absolute;top:-4px;bottom:-4px;width:3px;background:var(--danger,#ef4444);border-radius:2px;box-shadow:0 0 6px var(--danger);z-index:2;pointer-events:none;}.noise-meter-scale{display:flex;justify-content:space-between;font-size:11px;color:var(--text-muted);margin-top:4px;}.noise-wave-wrap{width:100%;height:75px;background:#090d16 !important;border:1.5px solid rgba(56,189,248,0.35) !important;border-radius:var(--radius-lg);overflow:hidden;margin-top:10px;box-shadow:inset 0 2px 12px rgba(0,0,0,0.6);}.noise-wave-wrap canvas{width:100%;height:100%;display:block;}.noise-stage-balls{width:100%;}.noise-balls-header-hint{display:flex;align-items:center;justify-content:center;gap:6px;font-size:12px;color:var(--text-muted);margin-bottom:8px;}.noise-balls-canvas-wrap{width:100%;height:230px;background:#ffffff !important;border:2px solid var(--border) !important;border-radius:var(--radius-xl);overflow:hidden;position:relative;box-shadow:0 4px 16px rgba(0,0,0,0.08);}.noise-balls-canvas-wrap canvas{width:100%;height:100%;display:block;}.noise-presets-wrap{margin:10px 0;background:var(--bg-surface,var(--bg-tertiary));border:1.5px solid var(--border);border-radius:var(--radius-lg);padding:10px 12px;box-shadow:0 2px 8px rgba(0,0,0,0.04);}.noise-presets-title{font-size:var(--text-xs);font-weight:600;color:var(--text-muted);display:block;margin-bottom:6px;}.noise-chips-row{display:flex;flex-wrap:wrap;justify-content:center;gap:6px;}.noise-preset-chip{padding:6px 13px;border-radius:var(--radius-full);border:1.5px solid var(--border);background:var(--bg-card,#ffffff);color:var(--text-primary);font-size:var(--text-xs);font-weight:700;cursor:pointer;transition:all 0.15s ease;}.noise-preset-chip:hover{border-color:var(--accent);color:var(--accent);}.noise-preset-chip.active{background:var(--accent) !important;border-color:var(--accent) !important;color:#ffffff !important;font-weight:800;box-shadow:0 2px 8px rgba(99,102,241,0.35);}.noise-sliders-panel{background:var(--bg-surface,var(--bg-tertiary)) !important;border:1.5px solid var(--border) !important;border-radius:var(--radius-lg);padding:12px 14px;margin:10px 0;display:flex;flex-direction:column;gap:10px;text-align:start;box-shadow:0 2px 8px rgba(0,0,0,0.04);}.noise-slider-row{display:flex;flex-direction:column;gap:4px;}.noise-slider-meta{display:flex;justify-content:space-between;font-size:var(--text-xs);}.noise-controls{display:flex;justify-content:center;gap:10px;margin-top:10px;}.noise-btn-main{min-width:160px;display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:10px 20px;font-weight:700;}.noise-report-card{position:absolute;inset:12px;background:var(--bg-card);border:2px solid var(--accent);border-radius:var(--radius-xl);box-shadow:0 16px 40px rgba(0,0,0,0.35);z-index:100;padding:18px;display:flex;flex-direction:column;text-align:start;animation:reportPopIn 0.25s cubic-bezier(0.16,1,0.3,1);}@keyframes reportPopIn{from{transform:scale(0.92);opacity:0;}to{transform:scale(1);opacity:1;}}.noise-report-header{display:flex;align-items:center;gap:10px;margin-bottom:14px;border-bottom:1px solid var(--border);padding-bottom:10px;}.noise-report-title{margin:0;font-size:var(--text-base);font-weight:800;color:var(--text-primary);}.noise-report-sub{font-size:11.5px;font-weight:600;color:var(--text-muted);}.noise-report-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:8px;margin-bottom:14px;}.noise-report-stat{background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius);padding:10px;text-align:center;}.noise-report-stat .stat-num{font-size:1.4rem;font-weight:800;font-family:monospace;color:var(--text-primary);}.noise-report-stat .stat-lbl{font-size:11px;color:var(--text-muted);font-weight:600;margin-top:2px;}.noise-decision-box{margin-top:auto;background:linear-gradient(135deg,rgba(99,102,241,0.08) 0%,rgba(245,158,11,0.08) 100%);border:1px solid var(--accent);border-radius:var(--radius-lg);padding:12px;text-align:center;}.noise-decision-question{font-size:12.5px;font-weight:700;color:var(--text-primary);margin-bottom:10px;line-height:1.5;}.noise-decision-actions{display:flex;justify-content:center;gap:8px;flex-wrap:wrap;}.header-timer-wrap{position:relative;display:inline-flex;flex-direction:column;align-items:center;justify-content:center;}.header-timer-badge{position:absolute;top:calc(100% - 2px);left:50%;transform:translateX(-50%);font-size:9.5px;font-weight:800;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;background:var(--accent);color:#ffffff;padding:1px 6px;border-radius:6px;white-space:nowrap;box-shadow:0 2px 8px rgba(0,0,0,0.28);cursor:pointer;z-index:50;line-height:1.25;letter-spacing:0.5px;animation:timerBadgePulse 2s infinite ease-in-out;}@keyframes timerBadgePulse{0%,100%{transform:translateX(-50%) scale(1);opacity:1;}50%{transform:translateX(-50%) scale(1.05);opacity:0.93;}}.pwa-install-banner-wrap{position:fixed;bottom:20px;left:20px;z-index:99999;width:min(94vw,420px);animation:pwaBannerSlideUp 0.35s cubic-bezier(0.16,1,0.3,1);}@keyframes pwaBannerSlideUp{from{transform:translateY(60px);opacity:0;}to{transform:translateY(0);opacity:1;}}.pwa-install-card{background:var(--bg-card);border:1.5px solid var(--accent);border-radius:var(--radius-lg);padding:12px 16px;display:flex;align-items:center;gap:14px;box-shadow:0 10px 25px -5px rgba(0,0,0,0.35),0 8px 10px -6px rgba(0,0,0,0.2);backdrop-filter:blur(12px);}.pwa-install-icon{width:44px;height:44px;border-radius:10px;object-fit:cover;flex-shrink:0;box-shadow:0 2px 6px rgba(0,0,0,0.15);}.pwa-install-text{flex:1;min-width:0;}.pwa-install-title{font-weight:800;font-size:13.5px;color:var(--text-primary);margin-bottom:2px;}.pwa-install-desc{font-size:11.5px;color:var(--text-secondary);line-height:1.4;}.pwa-install-actions{display:flex;align-items:center;gap:6px;flex-shrink:0;flex-wrap:wrap;justify-content:flex-end;}.pwa-btn-trigger-install{font-weight:700;white-space:nowrap;box-shadow:0 2px 6px rgba(99,102,241,0.35);font-size:12px !important;padding:6px 12px !important;}.pwa-btn-dismiss-session{font-size:12px !important;padding:6px 10px !important;white-space:nowrap;}.pwa-btn-never{font-size:11px !important;color:var(--text-muted) !important;background:transparent !important;border:1px solid var(--border) !important;padding:5px 8px !important;cursor:pointer;border-radius:var(--radius-sm);transition:color 0.15s ease,background 0.15s ease,border-color 0.15s ease;white-space:nowrap;}.pwa-btn-never:hover{color:var(--text-primary) !important;background:var(--surface-hover,rgba(255,255,255,0.08)) !important;border-color:var(--text-muted) !important;}@media (max-width:600px){.pwa-install-card{flex-direction:column;align-items:stretch;gap:10px;padding:14px;}.pwa-install-actions{width:100%;justify-content:space-between;gap:6px;}.pwa-install-actions > button{flex:1;text-align:center;justify-content:center;}}.teacher-survey-floating-wrap{position:fixed;bottom:24px;inset-inline-start:24px;z-index:99998;max-width:600px;width:calc(100% - 48px);animation:surveySlideIn 0.4s cubic-bezier(0.16,1,0.3,1);}@keyframes surveySlideIn{from{transform:translateY(40px);opacity:0;}to{transform:translateY(0);opacity:1;}}.teacher-survey-card{background:var(--bg-card,#1e293b);border:1.5px solid rgba(99,102,241,0.4);border-radius:var(--radius-lg,16px);padding:16px 18px;display:flex;flex-direction:column;gap:12px;box-shadow:0 12px 35px rgba(0,0,0,0.35);backdrop-filter:blur(12px);}.teacher-survey-header{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;}.teacher-survey-header-main{display:flex;align-items:center;gap:10px;}.teacher-survey-header-icon{font-size:24px;line-height:1;flex-shrink:0;}.teacher-survey-main-title{font-weight:800;font-size:14px;color:var(--text-primary);}.teacher-survey-main-subtitle{font-size:11.5px;color:var(--text-secondary);margin-top:2px;line-height:1.4;}.teacher-survey-items-wrap{display:grid;grid-template-columns:1fr 1fr;gap:10px;}.teacher-survey-item{background:var(--bg-subtle,rgba(255,255,255,0.04));border-radius:var(--radius,10px);padding:12px;display:flex;flex-direction:column;justify-content:space-between;gap:8px;transition:all 0.2s ease;}.teacher-survey-item-pre{border:1px solid rgba(245,158,11,0.35);}.teacher-survey-item-pre:hover{border-color:rgba(245,158,11,0.7);background:rgba(245,158,11,0.05);}.teacher-survey-item-post{border:1px solid rgba(99,102,241,0.35);}.teacher-survey-item-post:hover{border-color:rgba(99,102,241,0.7);background:rgba(99,102,241,0.05);}.teacher-survey-item-badge{font-size:10px;font-weight:800;padding:2px 6px;border-radius:4px;display:inline-block;align-self:flex-start;}.teacher-survey-badge-pre{color:#d97706;background:rgba(245,158,11,0.12);border:1px solid rgba(245,158,11,0.25);}.teacher-survey-badge-post{color:#6366f1;background:rgba(99,102,241,0.12);border:1px solid rgba(99,102,241,0.25);}.teacher-survey-item-title{font-size:12px;font-weight:700;color:var(--text-primary);line-height:1.35;}.teacher-survey-item-desc{font-size:10.5px;color:var(--text-secondary);line-height:1.4;flex:1;}.teacher-survey-item-btn{width:100%;justify-content:center;font-size:11.5px !important;font-weight:700 !important;padding:7px 10px !important;border-radius:var(--radius,8px) !important;text-decoration:none;display:inline-flex;align-items:center;gap:6px;}.teacher-survey-footer{display:flex;justify-content:flex-end;align-items:center;padding-top:4px;border-top:1px solid var(--border,rgba(255,255,255,0.08));}.teacher-survey-btn-later{font-size:11px !important;color:var(--text-muted) !important;padding:5px 8px !important;cursor:pointer;}.teacher-survey-btn-close{background:transparent;border:none;color:var(--text-muted);font-size:16px;cursor:pointer;padding:4px;line-height:1;border-radius:4px;}.teacher-survey-btn-close:hover{color:var(--text-primary);}@media (max-width:600px){.teacher-survey-floating-wrap{bottom:12px;inset-inline-start:12px;width:calc(100% - 24px);}.teacher-survey-items-wrap{grid-template-columns:1fr;}}.print-modal-dialog{max-width:900px;width:95%;max-height:90vh;display:flex;flex-direction:column;padding:0;background:var(--bg-card);border-radius:var(--radius-xl);overflow:hidden;}.print-toolbar{display:flex;align-items:center;justify-content:space-between;padding:var(--space-4) var(--space-6);background:var(--bg-surface);border-bottom:1px solid var(--border);}.print-paper{padding:var(--space-6);overflow-y:auto;background:#525659;display:flex;justify-content:center;}.official-print-page{background:#ffffff;color:#1f2937;width:210mm;min-height:297mm;padding:18mm 16mm;box-shadow:0 4px 15px rgba(0,0,0,0.3);font-size:11pt;line-height:1.4;box-sizing:border-box;}.official-print-page[dir="rtl"],.official-print-page:not([dir]){direction:rtl;text-align:right;font-family:'Cairo','Segoe UI',Tahoma,sans-serif;}.official-print-page[dir="ltr"]{direction:ltr;text-align:left;font-family:'Inter',system-ui,-apple-system,sans-serif;}.print-header-row{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:12px;}.print-header-brand{display:flex;align-items:center;gap:10px;}.print-school-logo{width:50px;height:50px;object-fit:contain;border-radius:4px;}.print-school-name{font-size:13pt;font-weight:800;color:#1e3a8a;line-height:1.2;}.print-subject-name{font-size:10pt;color:#4b5563;font-weight:600;}.print-header-center{text-align:center;flex:1;}.print-doc-title{font-size:15pt;font-weight:800;color:#111827;margin:0;}.print-doc-term{font-size:11pt;color:#2563eb;font-weight:700;margin-top:2px;}.print-header-meta{font-size:9pt;color:#6b7280;text-align:start;line-height:1.4;}.print-divider{height:2px;background:#e5e7eb;margin:10px 0 14px;}.print-info-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;background:#f9fafb;border:1px solid #e5e7eb;border-radius:6px;padding:10px 14px;margin-bottom:16px;font-size:10pt;}.print-info-item strong{color:#1f2937;}.print-section-title{font-size:11.5pt;font-weight:700;color:#1e3a8a;margin:14px 0 6px;}.print-table{width:100%;border-collapse:collapse;margin-bottom:14px;font-size:9.5pt;}.print-table th,.print-table td{border:1px solid #d1d5db;padding:6px 10px;}.print-table th{background:#f3f4f6;color:#1f2937;font-weight:700;text-align:start;}.print-two-col{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:16px;}.print-signatures-wrap{display:flex;justify-content:space-between;margin-top:35px;padding-top:15px;border-top:1px dashed #d1d5db;}.print-sig-col{text-align:center;flex:1;}.print-sig-title{font-weight:700;font-size:10pt;color:#374151;margin-bottom:25px;}.print-sig-line{font-size:9pt;color:#9ca3af;letter-spacing:2px;}.print-scholamind-branding{display:flex;align-items:center;justify-content:center;gap:8px;font-size:8.5pt;color:#64748b;margin-top:18px;padding-top:8px;border-top:1px dashed #cbd5e1;direction:ltr;font-family:'Inter',system-ui,-apple-system,sans-serif;page-break-inside:avoid;}.analytics-kpi-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--space-4);margin-bottom:var(--space-4);}@media (max-width:900px){.analytics-kpi-grid{grid-template-columns:repeat(2,1fr);}}@media (max-width:480px){.analytics-kpi-grid{grid-template-columns:1fr;}}.analytics-kpi-card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-xl);padding:var(--space-4) var(--space-5);display:flex;flex-direction:column;justify-content:space-between;box-shadow:var(--shadow-sm);transition:transform 0.2s,box-shadow 0.2s;}.analytics-kpi-card:hover{transform:translateY(-2px);box-shadow:var(--shadow-md);}.kpi-card-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--space-2);}.kpi-label{font-size:var(--text-xs);font-weight:700;color:var(--text-secondary);}.kpi-sub{font-size:10px;color:var(--text-muted);}.kpi-val{font-size:2rem;font-weight:800;line-height:1.1;margin-bottom:var(--space-2);font-variant-numeric:tabular-nums;}.kpi-footer{border-top:1px dashed var(--border);padding-top:var(--space-2);}.analytics-charts-grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-4);}@media (max-width:860px){.analytics-charts-grid,.analytics-insights-grid{grid-template-columns:1fr !important;}}.analytics-chart-box{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-xl);padding:var(--space-4);}.analytics-insights-card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-xl);padding:var(--space-4);}.insights-list{padding-inline-start:20px;margin:0;font-size:var(--text-xs);line-height:1.6;color:var(--text-primary);}.insights-list li{margin-bottom:6px;}@media print{html,body{width:100% !important;height:auto !important;min-height:auto !important;margin:0 !important;padding:0 !important;background:#ffffff !important;color:#111827 !important;overflow:visible !important;}#app,.app-header,.nav-sidebar,.app-nav,.btn-fab,.floating-tools,.pwa-install-banner-wrap,.teacher-survey-floating-wrap,.toast-container,.no-print,.print-toolbar,#auth-screen,.kofi-popup,.modal-overlay:not(.print-modal-overlay),.modal-overlay:not(.open){display:none !important;}body > *:not(.print-modal-overlay){display:none !important;}.modal-overlay.print-modal-overlay,.modal-overlay.print-modal-overlay.open{position:static !important;inset:auto !important;display:block !important;width:100% !important;height:auto !important;min-height:auto !important;overflow:visible !important;transform:none !important;box-shadow:none !important;background:transparent !important;padding:0 !important;margin:0 !important;opacity:1 !important;visibility:visible !important;}.modal-overlay.print-modal-overlay .print-modal-dialog,.modal-overlay.print-modal-overlay.open .print-modal-dialog,.print-modal-dialog{position:static !important;display:block !important;width:100% !important;max-width:100% !important;height:auto !important;max-height:none !important;min-height:auto !important;overflow:visible !important;transform:none !important;box-shadow:none !important;border:none !important;border-radius:0 !important;background:transparent !important;padding:0 !important;margin:0 !important;visibility:visible !important;}.print-paper,#print-mount{position:static !important;display:block !important;width:100% !important;height:auto !important;min-height:auto !important;overflow:visible !important;background:transparent !important;padding:0 !important;margin:0 !important;visibility:visible !important;}.official-print-page{position:static !important;display:block !important;box-shadow:none !important;border:none !important;width:100% !important;max-width:100% !important;min-height:auto !important;height:auto !important;padding:0 !important;margin:0 auto !important;background:#ffffff !important;color:#111827 !important;overflow:visible !important;visibility:visible !important;-webkit-print-color-adjust:exact !important;print-color-adjust:exact !important;}.official-print-page.print-page-break{page-break-after:always !important;break-after:page !important;}.official-print-page:last-child{page-break-after:auto !important;break-after:auto !important;margin-bottom:0 !important;}.print-header-row,.print-info-grid,.print-signatures-wrap,.print-scholamind-branding{page-break-inside:avoid !important;break-inside:avoid !important;}.print-scholamind-branding{display:flex !important;visibility:visible !important;}.print-table{page-break-inside:auto !important;width:100% !important;}.print-table tr{page-break-inside:avoid !important;break-inside:avoid !important;}.print-table th,.print-table td{-webkit-print-color-adjust:exact !important;print-color-adjust:exact !important;}@page{size:auto;margin:8mm 10mm;}}.royal-cert-card{background:#ffffff;box-shadow:0 10px 25px rgba(0,0,0,0.1);border-radius:4px;overflow:hidden;margin:0 auto;width:100%;}.royal-cert-outer-border{border:6px solid #b45309;padding:4px;background:#fffdf5;position:relative;}.royal-cert-inner-border{border:2px solid #d97706;padding:16px;position:relative;background:#ffffff;}.royal-corner{position:absolute;font-size:16px;color:#b45309;line-height:1;}.royal-corner.top-left{top:4px;left:4px;}.royal-corner.top-right{top:4px;right:4px;}.royal-corner.bottom-left{bottom:4px;left:4px;}.royal-corner.bottom-right{bottom:4px;right:4px;}.plan-weaknesses,.plan-actions,.plan-strengths,.plan-incentives,.plan-enrich-actions{font-family:inherit;font-size:12px;line-height:1.4;transition:border-color 0.2s;}.plan-weaknesses:focus,.plan-actions:focus{border-color:var(--accent);}.cert-action-buttons-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;width:100%;box-sizing:border-box;margin-top:10px;}.btn-cert-act{font-size:0.82rem !important;font-weight:600 !important;padding:8px 8px !important;white-space:normal !important;word-break:normal !important;overflow-wrap:break-word !important;line-height:1.35 !important;text-align:center !important;display:flex !important;align-items:center !important;justify-content:center !important;gap:6px !important;min-height:42px !important;box-sizing:border-box !important;width:100% !important;max-width:100% !important;border-radius:var(--radius-md,8px) !important;transition:transform 0.15s ease,box-shadow 0.15s ease,opacity 0.15s ease;}.btn-cert-act:hover{transform:translateY(-1px);}@media (max-width:480px){.cert-action-buttons-grid{grid-template-columns:1fr !important;}}.wheel-modal-overlay{position:fixed;inset:0;background:rgba(15,23,42,0.75);backdrop-filter:blur(8px);z-index:10000;display:none;align-items:center;justify-content:center;padding:var(--space-4);}.wheel-modal-overlay.open{display:flex;}.wheel-modal-card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-2xl);width:100%;max-width:580px;max-height:92vh;display:flex;flex-direction:column;overflow:hidden;position:relative;}.wheel-modal-header{display:flex;align-items:center;justify-content:space-between;padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--border);background:var(--bg-surface);}.wheel-title-group{display:flex;align-items:center;gap:10px;}.wheel-icon-badge{font-size:24px;}.wheel-title{font-size:var(--text-base);font-weight:800;color:var(--text-primary);margin:0;}.wheel-status-subtitle{font-size:var(--text-xs);color:var(--text-muted);font-weight:500;}.wheel-header-actions{display:flex;gap:6px;}.wheel-controls-bar{display:flex;justify-content:space-between;align-items:center;padding:var(--space-2) var(--space-4);background:var(--surface-hover);border-bottom:1px solid var(--border);flex-wrap:wrap;gap:8px;}.wheel-selector-group{display:flex;gap:6px;flex:1;min-width:200px;}.wheel-options-group{display:flex;align-items:center;gap:10px;}.wheel-toggle-label{display:flex;align-items:center;gap:6px;font-size:var(--text-xs);color:var(--text-secondary);font-weight:600;cursor:pointer;}.wheel-body-stage{padding:var(--space-4);display:flex;flex-direction:column;align-items:center;justify-content:center;position:relative;overflow:hidden;min-height:420px;}.wheel-canvas-container{position:relative;width:380px;max-width:100%;aspect-ratio:1;display:flex;align-items:center;justify-content:center;}.wheel-canvas-container canvas{width:100% !important;height:100% !important;filter:drop-shadow(0 10px 25px rgba(0,0,0,0.25));}.wheel-pointer{position:absolute;top:-8px;left:50%;transform:translateX(-50%);font-size:32px;color:#ef4444;z-index:10;filter:drop-shadow(0 3px 6px rgba(0,0,0,0.4));line-height:1;pointer-events:none;}.wheel-center-spin-btn{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:72px;height:72px;border-radius:50%;background:linear-gradient(135deg,#6366f1,#4f46e5);color:white;font-weight:800;font-size:13px;border:3px solid white;box-shadow:0 4px 14px rgba(79,70,229,0.45);cursor:pointer;z-index:12;display:flex;align-items:center;justify-content:center;text-align:center;transition:transform 0.2s,box-shadow 0.2s;}.wheel-center-spin-btn:hover:not(:disabled){transform:translate(-50%,-50%) scale(1.08);box-shadow:0 6px 20px rgba(79,70,229,0.6);}.wheel-center-spin-btn.spinning{transform:translate(-50%,-50%) scale(0.95);opacity:0.85;cursor:not-allowed;}.wheel-confetti-canvas{position:absolute;inset:0;pointer-events:none;z-index:20;width:100%;height:100%;}.wheel-winner-overlay{position:absolute;inset:0;background:rgba(15,23,42,0.7);backdrop-filter:blur(6px);z-index:30;display:flex;align-items:center;justify-content:center;padding:var(--space-4);animation:popIn 0.3s cubic-bezier(0.175,0.885,0.32,1.275);}.wheel-winner-dialog{background:var(--bg-card);border:2px solid var(--accent);border-radius:var(--radius-xl);padding:var(--space-6) var(--space-5);text-align:center;max-width:400px;width:100%;box-shadow:var(--shadow-2xl);}.wheel-winner-celebrate-badge{font-size:28px;margin-bottom:6px;}.wheel-winner-eyebrow{font-size:var(--text-xs);font-weight:700;text-transform:uppercase;color:var(--accent);letter-spacing:0.05em;margin-bottom:4px;}.wheel-winner-name{font-size:1.5rem;font-weight:800;color:var(--text-primary);margin-bottom:var(--space-5);line-height:1.3;}.wheel-winner-actions{display:flex;flex-direction:column;gap:8px;}.groups-toolbar-grid{display:flex;gap:var(--space-3);align-items:flex-end;flex-wrap:wrap;}.groups-toolbar-field{flex:1;min-width:150px;}.groups-cards-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:var(--space-4);}.group-card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-lg);padding:var(--space-4);transition:transform 0.2s,box-shadow 0.2s;}.group-card:hover{box-shadow:var(--shadow-md);}.group-student-item.is-captain{background:rgba(245,158,11,0.12) !important;border:1px solid rgba(245,158,11,0.3) !important;}.weekly-backup-bar{background:linear-gradient(90deg,rgba(16,185,129,0.12),rgba(6,182,212,0.12));border:1px solid rgba(16,185,129,0.35);border-radius:var(--radius-md);padding:10px 16px;margin-bottom:var(--space-4);animation:slideDown 0.35s ease;}.weekly-backup-content{display:flex;align-items:center;gap:12px;flex-wrap:wrap;}.weekly-backup-icon{font-size:20px;flex-shrink:0;}.weekly-backup-msg{font-size:var(--text-sm);font-weight:600;color:var(--text-primary);flex:1;min-width:200px;}.plans-section-header{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:12px;margin-bottom:14px;}.plans-header-title-wrap{display:flex;align-items:center;gap:10px;}.plans-icon-badge{width:34px;height:34px;border-radius:8px;display:inline-flex;align-items:center;justify-content:center;font-size:18px;flex-shrink:0;background:rgba(99,102,241,0.1);color:var(--accent);border:1px solid rgba(99,102,241,0.2);}.plans-icon-badge.remediation{background:rgba(239,68,68,0.09);border-color:rgba(239,68,68,0.22);}.plans-icon-badge.enrichment{background:rgba(16,185,129,0.09);border-color:rgba(16,185,129,0.22);}.plans-icon-badge.iep{background:rgba(14,165,233,0.09);border-color:rgba(14,165,233,0.22);}.plans-stats-strip{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:14px;}.plans-stat-chip{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);padding:6px 12px;display:inline-flex;align-items:center;gap:8px;font-size:12px;font-weight:600;}.plans-stat-chip .val{font-weight:800;font-size:13px;color:var(--text-primary);}.plans-filter-bar{display:flex;gap:8px;align-items:center;flex-wrap:wrap;background:var(--bg-body);padding:8px 12px;border-radius:var(--radius);border:1px solid var(--border);margin-bottom:12px;}.plans-search-input{flex:1;min-width:180px;max-width:280px;font-size:12px;padding:6px 10px;}.plans-filter-pills{display:flex;gap:4px;flex-wrap:wrap;}.plans-pill-btn{font-size:11px;font-weight:700;padding:4px 10px;border-radius:20px;border:1px solid var(--border);background:var(--bg-card);color:var(--text-muted);cursor:pointer;transition:all 0.15s ease;}.plans-pill-btn:hover{border-color:var(--accent);color:var(--accent);}.plans-pill-btn.active{background:var(--accent);color:#fff;border-color:var(--accent);}.plans-table-container{max-height:640px;overflow-y:auto;border:1px solid var(--border);border-radius:var(--radius);background:var(--bg-card);}.plans-table{width:100%;border-collapse:separate;border-spacing:0;}.plans-table thead th{position:sticky;top:0;z-index:10;background:var(--bg-card);border-bottom:2px solid var(--border);padding:10px 12px;font-size:12px;font-weight:700;color:var(--text-muted);text-align:start;white-space:nowrap;}.plans-table tbody tr{transition:background-color 0.12s ease;}.plans-table tbody tr:hover{background:rgba(99,102,241,0.025);}.plans-table tbody td{padding:10px 12px;vertical-align:top;border-bottom:1px solid var(--border);}.plans-cell-box{display:flex;flex-direction:column;gap:4px;}.plans-cell-header{display:flex;justify-content:space-between;align-items:center;gap:6px;}.plans-cell-label{font-size:11px;font-weight:700;color:var(--text-muted);}.plans-btn-preset{font-size:11px;font-weight:600;color:var(--accent);background:rgba(99,102,241,0.08);border:1px solid rgba(99,102,241,0.22);border-radius:4px;padding:2px 7px;cursor:pointer;display:inline-flex;align-items:center;gap:3px;transition:all 0.15s ease;}.plans-btn-preset:hover{background:var(--accent);color:#fff;border-color:var(--accent);}.plans-textarea{font-size:12px;line-height:1.45;resize:vertical;border-radius:6px;padding:6px 8px;min-height:52px;border:1px solid var(--border);transition:border-color 0.15s,box-shadow 0.15s;}.plans-textarea:focus{border-color:var(--accent);outline:none;box-shadow:0 0 0 2px rgba(99,102,241,0.15);}.plans-actions-stack{display:flex;flex-direction:column;gap:5px;min-width:100px;}.plans-actions-row{display:flex;gap:4px;justify-content:center;}.plans-actions-row .btn{padding:3px 6px;font-size:11.5px;height:27px;display:inline-flex;align-items:center;justify-content:center;gap:4px;}.iep-category-badge{display:inline-block;padding:3px 8px;border-radius:6px;font-size:11px;font-weight:700;background:rgba(14,165,233,0.12);color:#0284c7;border:1px solid rgba(14,165,233,0.25);}.iep-type-pill{display:inline-block;padding:2px 7px;border-radius:4px;font-size:10.5px;font-weight:600;background:var(--bg-body);border:1px solid var(--border);color:var(--text-secondary);}.iep-form-section-card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-md);padding:14px;margin-bottom:14px;}.iep-section-title-bar{display:flex;align-items:center;gap:8px;font-size:13.5px;font-weight:800;color:var(--text-primary);margin-bottom:12px;padding-bottom:8px;border-bottom:1px solid var(--border);}.theme-swatches-wrap{display:flex;flex-wrap:wrap;gap:12px;align-items:center;}.theme-swatch-circle{width:38px;height:38px;border-radius:50%;border:2px solid;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;position:relative;padding:0;outline:none;transition:transform 0.22s cubic-bezier(0.34,1.56,0.64,1),box-shadow 0.2s ease,border-color 0.2s ease;box-shadow:0 2px 5px rgba(0,0,0,0.2);flex-shrink:0;}.theme-swatch-circle:hover{transform:scale(1.18);box-shadow:0 4px 12px rgba(0,0,0,0.32);}.theme-swatch-circle.active{transform:scale(1.22);box-shadow:0 0 0 3px var(--bg-card),0 0 0 5px var(--accent);z-index:2;}.theme-swatch-dot{width:14px;height:14px;border-radius:50%;display:block;box-shadow:0 1px 3px rgba(0,0,0,0.35);pointer-events:none;transition:transform 0.2s ease;}.theme-swatch-circle.active .theme-swatch-dot{transform:scale(1.15);}.modal-overlay.floating-mode.open,.wheel-modal-overlay.floating-mode.open,.timer-modal-overlay.floating-mode.open,.noise-modal-overlay.floating-mode.open,#modal-random-wheel.floating-mode.open,#modal-classroom-timer.floating-mode.open,#modal-classroom-noise-meter.floating-mode.open{background:transparent !important;background-color:transparent !important;backdrop-filter:none !important;-webkit-backdrop-filter:none !important;pointer-events:none !important;position:fixed !important;inset:auto !important;top:0 !important;left:0 !important;width:0 !important;height:0 !important;overflow:visible !important;z-index:10050 !important;padding:0 !important;display:block !important;opacity:1 !important;box-shadow:none !important;}.modal-overlay.floating-mode.open .modal,.modal-overlay.open .modal.is-floating{pointer-events:auto !important;position:fixed !important;margin:0 !important;max-width:96vw !important;max-height:96vh !important;min-width:280px !important;min-height:180px !important;box-shadow:0 16px 48px rgba(0,0,0,0.45),0 0 0 1px var(--border) !important;z-index:10051 !important;resize:both !important;overflow-y:auto !important;overflow-x:hidden !important;overscroll-behavior:contain !important;scrollbar-width:thin;scrollbar-color:var(--accent) transparent;display:flex !important;flex-direction:column !important;transform:none !important;-webkit-transform:none !important;transition:none !important;}.modal-overlay:not(.open),.modal-overlay.floating-mode:not(.open),.wheel-modal-overlay:not(.open),.wheel-modal-overlay.floating-mode:not(.open),.timer-modal-overlay:not(.open),.timer-modal-overlay.floating-mode:not(.open),.noise-modal-overlay:not(.open),.noise-modal-overlay.floating-mode:not(.open),#modal-random-wheel:not(.open),#modal-classroom-timer:not(.open),#modal-classroom-noise-meter:not(.open),#modal-random-wheel.floating-mode:not(.open),#modal-classroom-timer.floating-mode:not(.open),#modal-classroom-noise-meter.floating-mode:not(.open){display:none !important;opacity:0 !important;pointer-events:none !important;visibility:hidden !important;}.modal-overlay:not(.open) .modal,.modal-overlay.floating-mode:not(.open) .modal,.modal-overlay:not(.open) .modal.is-floating,.modal-overlay.floating-mode:not(.open) .modal.is-floating,#modal-random-wheel:not(.open) .modal,#modal-classroom-timer:not(.open) .modal,#modal-classroom-noise-meter:not(.open) .modal{display:none !important;opacity:0 !important;pointer-events:none !important;visibility:hidden !important;}.modal.is-floating::-webkit-scrollbar{width:6px;}.modal.is-floating::-webkit-scrollbar-thumb{background:var(--accent);border-radius:4px;}.timer-modal.is-floating .timer-body{overflow-y:auto !important;flex:1 1 auto;min-height:0;overscroll-behavior:contain !important;}.wheel-modal-card.is-floating .wheel-body-stage{overflow-y:auto !important;flex:1 1 auto;min-height:180px !important;overscroll-behavior:contain !important;}.floating-resize-grip{position:absolute;bottom:3px;inset-inline-end:3px;width:22px;height:22px;cursor:nwse-resize;display:flex;align-items:center;justify-content:center;z-index:10065;color:var(--accent);opacity:0.65;touch-action:none;user-select:none;pointer-events:auto;transition:opacity 0.15s,transform 0.15s;}[dir="rtl"] .floating-resize-grip{cursor:nesw-resize;}.floating-resize-grip svg{width:14px;height:14px;pointer-events:none;}.floating-resize-grip:hover,.floating-resize-grip:active{opacity:1;transform:scale(1.25);color:var(--accent);}.modal-overlay:not(.floating-mode) .floating-resize-grip,.modal:not(.is-floating) .floating-resize-grip,.is-minimized .floating-resize-grip{display:none !important;}.modal-overlay.floating-mode .modal:hover,.modal.is-floating:hover{border-color:var(--accent) !important;}.floating-drag-header{cursor:grab !important;user-select:none !important;-webkit-user-select:none !important;touch-action:none !important;}.floating-drag-header:active{cursor:grabbing !important;}.btn-float-active{background:var(--accent) !important;color:white !important;}.modal-overlay.floating-mode .modal.is-minimized,.modal.is-floating.is-minimized{resize:none !important;height:auto !important;max-height:48px !important;width:auto !important;min-width:200px !important;max-width:340px !important;padding:6px 12px !important;border-radius:24px !important;background:var(--bg-card) !important;box-shadow:0 8px 24px rgba(0,0,0,0.35),0 0 0 1px var(--accent) !important;}.modal-overlay.floating-mode .modal.is-minimized .timer-body,.modal-overlay.floating-mode .modal.is-minimized .wheel-controls-bar,.modal-overlay.floating-mode .modal.is-minimized .wheel-body-stage,.modal-overlay.floating-mode .modal.is-minimized .wheel-title-group,.modal-overlay.floating-mode .modal.is-minimized #timer-mode-pills{display:none !important;}.modal-overlay.floating-mode .modal.is-minimized .timer-header,.modal-overlay.floating-mode .modal.is-minimized .wheel-modal-header{margin:0 !important;padding:0 !important;border-bottom:none !important;background:transparent !important;}.noise-multiday-streak-bar{display:flex;align-items:center;justify-content:space-between;background:var(--bg-card);border:1px solid var(--border);border-radius:12px;padding:10px 14px;margin-bottom:12px;gap:10px;flex-wrap:wrap;}.streak-meta-group{display:flex;align-items:center;gap:8px;}.streak-fire-icon{font-size:22px;line-height:1;}.streak-text-wrap{display:flex;flex-direction:column;}.streak-headline{font-size:13px;font-weight:800;color:var(--text-primary);}.streak-subline{font-size:11px;color:var(--text-secondary);}.noise-streak-target-picker{display:flex;align-items:center;gap:5px;margin-inline-start:auto;}.streak-picker-label{font-size:11.5px;font-weight:700;color:var(--text-secondary);}.noise-streak-chip{padding:3px 10px;border-radius:999px;font-size:11px;font-weight:700;border:1px solid var(--border);background:var(--bg-surface);color:var(--text-secondary);cursor:pointer;transition:all 0.15s ease;}.noise-streak-chip:hover{background:var(--surface-hover);color:var(--text-primary);}.noise-streak-chip.active{background:#f59e0b;border-color:#d97706;color:#ffffff;box-shadow:0 2px 6px rgba(245,158,11,0.35);}#modal-group-wheel.open,.wheel-modal-overlay.open{display:flex !important;opacity:1 !important;visibility:visible !important;pointer-events:auto !important;z-index:100050 !important;}#modal-group-wheel .wheel-modal-card{background:var(--bg-card,#1e293b);color:var(--text-primary);border:1px solid var(--border);border-radius:var(--radius-xl,16px);box-shadow:0 20px 60px rgba(0,0,0,0.5);max-width:520px;width:95%;overflow:hidden;}.quick-preset-select{width:27px;height:26px;padding:0;text-align:center;font-size:13px;border-radius:5px;cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none;line-height:24px;display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--border);transition:transform 0.15s ease,background 0.15s ease;flex-shrink:0;}.quick-preset-select:hover{transform:scale(1.1);}.quick-preset-select:focus{outline:none;box-shadow:0 0 0 2px var(--accent);}.quick-beh-pos{background:rgba(16,185,129,0.12) !important;border-color:rgba(16,185,129,0.35) !important;color:#10b981 !important;}.quick-beh-pos:hover{background:rgba(16,185,129,0.22) !important;}.quick-beh-neg{background:rgba(239,68,68,0.12) !important;border-color:rgba(239,68,68,0.35) !important;color:#ef4444 !important;}.quick-beh-neg:hover{background:rgba(239,68,68,0.22) !important;}.quick-part-pos{background:rgba(245,158,11,0.12) !important;border-color:rgba(245,158,11,0.35) !important;color:#d97706 !important;}.quick-part-pos:hover{background:rgba(245,158,11,0.22) !important;}