*{box-sizing:border-box}body{color:#1a1a1a;background:#f4f6f8;margin:0;font-family:Segoe UI,system-ui,sans-serif}.app{max-width:700px;margin:0 auto;padding:32px 24px 64px}h1{color:#1a3c5e;border-bottom:3px solid #2b6cb0;margin-bottom:24px;padding-bottom:8px;font-size:28px}h2{color:#1a3c5e;margin-top:36px;margin-bottom:12px;font-size:20px}h3{color:#2b6cb0;margin-top:20px;font-size:17px}ul{margin:0;padding:0;list-style:none}.app>ul li{background:#fff;border:1px solid #e2e8f0;border-radius:6px;margin-bottom:6px;padding:10px 14px;box-shadow:0 1px 2px #00000008}form{background:#fff;border:1px solid #e2e8f0;border-radius:8px;padding:16px;box-shadow:0 1px 3px #0000000d}input,select{border:1px solid #cbd5e0;border-radius:6px;margin-top:2px;padding:8px 10px;font-family:inherit;font-size:14px}input:focus,select:focus{border-color:#2b6cb0;outline:none;box-shadow:0 0 0 2px #2b6cb026}button{color:#fff;cursor:pointer;background:#2b6cb0;border:none;border-radius:6px;padding:10px 16px;font-size:14px;font-weight:600;transition:background .2s}button:hover{background:#1a3c5e}table{border-collapse:collapse;background:#fff;border-radius:8px;width:100%;margin-top:12px;overflow:hidden;box-shadow:0 1px 3px #0000000d}th{color:#fff;text-align:left;text-transform:uppercase;letter-spacing:.03em;background:#2b6cb0;padding:10px 12px;font-size:13px}td{border-bottom:1px solid #edf2f7;padding:10px 12px;font-size:14px}hr{border:none;border-top:1px solid #e2e8f0;margin:40px 0}.app p{font-size:14px}:root{--primary:#1e40af;--primary-hover:#1d4ed8;--primary-light:#3b82f6;--primary-subtle:#eff6ff;--primary-border:#bfdbfe;--accent:#4f46e5;--accent-light:#6366f1;--accent-subtle:#eef2ff;--success:#059669;--success-bg:#ecfdf5;--success-border:#a7f3d0;--warning:#d97706;--warning-bg:#fffbeb;--warning-border:#fde68a;--danger:#dc2626;--danger-bg:#fef2f2;--danger-border:#fecaca;--bg-main:#f8fafc;--card-bg:#fff;--card-hover:#fafafa;--text-main:#0f172a;--text-muted:#64748b;--text-light:#94a3b8;--border:#e2e8f0;--border-light:#f1f5f9;--shadow-xs:0 1px 2px 0 #0000000a;--shadow-sm:0 1px 3px 0 #0000000f, 0 1px 2px -1px #0000000f;--shadow-md:0 4px 6px -1px #00000012, 0 2px 4px -2px #00000012;--shadow-lg:0 10px 25px -3px #00000014, 0 4px 6px -4px #0000000a;--radius-sm:6px;--radius-md:10px;--radius-lg:14px;--radius-xl:18px;--font-sans:-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif}body{background-color:var(--bg-main);color:var(--text-main);font-family:var(--font-sans);-webkit-font-smoothing:antialiased;margin:0}.tracker-container{max-width:1120px;margin:0 auto;padding:28px 24px 80px}.tracker-header{background:var(--card-bg);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);border:1px solid var(--border);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;margin-bottom:24px;padding:18px 26px;display:flex}.brand-badge{align-items:center;gap:14px;display:flex}.brand-icon{border-radius:var(--radius-md);color:#fff;background:linear-gradient(135deg,#1e40af,#4f46e5);justify-content:center;align-items:center;width:44px;height:44px;font-size:22px;display:flex;box-shadow:0 4px 10px #1e40af40}.brand-title{color:#0f172a;letter-spacing:-.02em;margin:0;font-size:21px;font-weight:800;line-height:1.2}.brand-subtitle{color:var(--text-muted);letter-spacing:.02em;margin-top:2px;font-size:12px;font-weight:600}.user-controls{align-items:center;gap:12px;display:flex}.role-pill{letter-spacing:.04em;text-transform:uppercase;border-radius:999px;padding:4px 10px;font-size:11px;font-weight:700}.role-pill.teacher{color:#1e40af;background:#dbeafe;border:1px solid #bfdbfe}.role-pill.student{color:#065f46;background:#d1fae5;border:1px solid #a7f3d0}.btn-logout{color:#475569;border:1px solid var(--border);border-radius:var(--radius-sm);cursor:pointer;background:#f8fafc;padding:7px 14px;font-size:13px;font-weight:600;transition:all .2s}.btn-logout:hover{color:#b91c1c;background:#fee2e2;border-color:#fca5a5}.nav-tabs{border-bottom:2px solid var(--border);gap:8px;margin-bottom:28px;padding-bottom:2px;display:flex;overflow-x:auto}.tab-btn{color:var(--text-muted);cursor:pointer;white-space:nowrap;background:0 0;border:none;border-bottom:3px solid #0000;border-radius:6px 6px 0 0;align-items:center;gap:8px;padding:10px 18px;font-size:14px;font-weight:600;transition:all .2s;display:flex}.tab-btn:hover{color:var(--primary);background:#f1f5f9}.tab-btn.active{color:var(--primary);border-bottom-color:var(--primary);background:#eff6ff;font-weight:700}.metrics-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:16px;margin-bottom:24px;display:grid}.brand-badge{align-items:center;gap:14px;transition:opacity .15s;display:flex}.brand-badge:hover{opacity:.85}.metric-card{background:var(--card-bg);border-radius:var(--radius-lg);border:1px solid var(--border);box-shadow:var(--shadow-sm);flex-direction:column;padding:22px;display:flex}.metric-label{color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em;margin-bottom:8px;font-size:12px;font-weight:700}.metric-val{color:#0f172a;font-size:32px;font-weight:800;line-height:1.1}.metric-sub{color:var(--text-muted);margin-top:8px;font-size:12px}.data-card{background:var(--card-bg);border-radius:var(--radius-lg);border:1px solid var(--border);box-shadow:var(--shadow-sm);margin-bottom:24px;padding:24px 28px}.data-card h3{color:#0f172a;margin-top:0;margin-bottom:6px;font-size:18px;font-weight:700}.data-card-subtitle{color:var(--text-muted);margin-top:0;margin-bottom:18px;font-size:13px}.dist-container{background:var(--card-bg);border-radius:var(--radius-lg);border:1px solid var(--border);box-shadow:var(--shadow-sm);margin-bottom:24px;padding:22px 26px}.dist-bar-wrapper{border-radius:var(--radius-sm);background:#f1f5f9;height:22px;margin:14px 0;display:flex;overflow:hidden}.dist-segment{color:#fff;justify-content:center;align-items:center;height:100%;font-size:11px;font-weight:700;transition:width .3s;display:flex}.dist-advanced{background:#059669}.dist-proficient{background:#2563eb}.dist-basic{background:#d97706}.dist-needs-help{background:#dc2626}.dist-legend{flex-wrap:wrap;gap:18px;font-size:12px;font-weight:600;display:flex}.dist-legend-item{align-items:center;gap:6px;display:flex}.legend-dot{border-radius:50%;width:10px;height:10px}.intervention-box{background:var(--warning-bg);border:1px solid var(--warning-border);border-radius:var(--radius-lg);margin-bottom:24px;padding:20px 24px}.intervention-title{color:#92400e;align-items:center;gap:8px;margin-bottom:6px;font-size:15px;font-weight:700;display:flex}.intervention-desc{color:#78350f;margin:0 0 14px;font-size:13px}.intervention-list{flex-direction:column;gap:10px;display:flex}.intervention-item{border-radius:var(--radius-md);background:#fff;border:1px solid #fef3c7;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;padding:12px 16px;font-size:14px;display:flex;box-shadow:0 1px 2px #00000008}table{border-collapse:separate;border-spacing:0;border-radius:var(--radius-md);border:1px solid var(--border);background:#fff;width:100%;margin-top:12px;overflow:hidden}th{color:#475569;text-align:left;text-transform:uppercase;letter-spacing:.04em;border-bottom:1px solid var(--border);background:#f8fafc;padding:12px 16px;font-size:12px;font-weight:700}td{border-bottom:1px solid var(--border-light);color:#1e293b;padding:13px 16px;font-size:14px}tr:last-child td{border-bottom:none}tr:hover td{background-color:#f8fafc}.badge{text-transform:uppercase;letter-spacing:.03em;border-radius:999px;padding:3px 9px;font-size:11px;font-weight:700;display:inline-block}.badge-mastered{color:#065f46;background:#d1fae5}.badge-progress{color:#1e40af;background:#dbeafe}.badge-review{color:#991b1b;background:#fee2e2}.study-module{background:var(--card-bg);border-radius:var(--radius-lg);border:1px solid var(--border);box-shadow:var(--shadow-sm);margin-bottom:24px;padding:28px}.study-module-header{border-bottom:2px solid #e2e8f0;margin-bottom:22px;padding-bottom:18px}.study-module-title{color:#1e3a8a;margin:4px 0 6px;font-size:23px;font-weight:800}.study-section{border-radius:var(--radius-md);border-left:4px solid var(--primary);background:#f8fafc;margin-bottom:22px;padding:18px 22px}.study-section h4{color:#1e40af;align-items:center;gap:8px;margin-top:0;margin-bottom:10px;font-size:15px;font-weight:700;display:flex}.step-card{border:1px solid var(--border);border-radius:var(--radius-sm);background:#fff;margin-bottom:8px;padding:12px 16px;font-size:14px;line-height:1.5}.protip-item{align-items:flex-start;gap:10px;margin-bottom:8px;font-size:14px;line-height:1.5;display:flex}.quiz-container{background:var(--card-bg);border-radius:var(--radius-lg);border:1px solid var(--border);box-shadow:var(--shadow-sm);padding:28px}.quiz-card{border:1px solid var(--border);border-radius:var(--radius-md);background:#f8fafc;margin-bottom:22px;padding:22px}.question-text{color:#0f172a;margin-bottom:14px;font-size:16px;font-weight:700;line-height:1.4}.options-grid{grid-template-columns:1fr;gap:10px;display:grid}.option-btn{text-align:left;border-radius:var(--radius-md);border:1px solid var(--border);color:#1e293b;cursor:pointer;background:#fff;justify-content:space-between;align-items:center;padding:13px 18px;font-size:14px;font-weight:500;transition:all .15s;display:flex}.option-btn:hover:not(:disabled){border-color:var(--primary);background:#eff6ff}.option-btn.selected-correct{color:#065f46;background:#ecfdf5;border-color:#059669;font-weight:700}.option-btn.selected-incorrect{color:#991b1b;background:#fef2f2;border-color:#dc2626;font-weight:700}.feedback-box{border-radius:var(--radius-sm);margin-top:14px;padding:13px 18px;font-size:14px;line-height:1.5}.feedback-correct{border:1px solid var(--success-border);color:#065f46;background:#ecfdf5}.feedback-incorrect{border:1px solid var(--danger-border);color:#991b1b;background:#fef2f2}.btn-hint{color:var(--accent);border:1px dashed var(--accent);border-radius:var(--radius-sm);cursor:pointer;background:0 0;margin-bottom:12px;padding:5px 12px;font-size:12px;font-weight:600}.hint-box{border:1px solid var(--warning-border);color:#92400e;border-radius:var(--radius-sm);background:#fffbeb;margin-bottom:14px;padding:10px 14px;font-size:13px}.form-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:16px;margin-bottom:16px;display:grid}label{color:#334155;flex-direction:column;gap:6px;font-size:13px;font-weight:600;display:flex}input,select,textarea{border-radius:var(--radius-sm);color:#0f172a;background:#fff;border:1px solid #cbd5e1;padding:10px 12px;font-family:inherit;font-size:14px;transition:border-color .15s,box-shadow .15s}input:focus,select:focus,textarea:focus{border-color:var(--primary);outline:none;box-shadow:0 0 0 3px #2563eb1f}.btn-primary{background:var(--primary);color:#fff;border-radius:var(--radius-sm);cursor:pointer;border:none;justify-content:center;align-items:center;gap:8px;padding:11px 20px;font-size:14px;font-weight:600;transition:background .15s,transform .1s;display:inline-flex}.btn-primary:hover:not(:disabled){background:var(--primary-hover)}.btn-primary:disabled{opacity:.6;cursor:not-allowed}.btn-secondary{color:#334155;border:1px solid var(--border);border-radius:var(--radius-sm);cursor:pointer;background:#f1f5f9;padding:8px 16px;font-size:13px;font-weight:600;transition:all .15s}.btn-secondary:hover:not(:disabled){color:#0f172a;background:#e2e8f0}@media (width<=768px){.tracker-header{flex-direction:column;align-items:flex-start}.nav-tabs{flex-wrap:nowrap}.metrics-grid{grid-template-columns:1fr}}.modal-overlay{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:1000;background:#0f172a99;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.modal-content{border-radius:var(--radius-lg);border:1px solid var(--border);background:#fff;width:100%;max-width:620px;max-height:85vh;padding:28px;animation:.15s ease-out modalFadeIn;overflow-y:auto;box-shadow:0 20px 25px -5px #0003,0 10px 10px -5px #0000001a}@keyframes modalFadeIn{0%{opacity:0;transform:scale(.97)}to{opacity:1;transform:scale(1)}}.modal-header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;margin-bottom:20px;padding-bottom:14px;display:flex}.modal-title{color:#0f172a;margin:0;font-size:19px;font-weight:800}.modal-close-btn{cursor:pointer;color:#475569;background:#f1f5f9;border:none;border-radius:50%;justify-content:center;align-items:center;width:32px;height:32px;font-size:18px;transition:all .15s;display:flex}.modal-close-btn:hover{color:#dc2626;background:#fee2e2}.metric-card.clickable{cursor:pointer;transition:transform .15s,border-color .15s,box-shadow .15s;position:relative}.metric-card.clickable:hover{border-color:var(--primary-light);transform:translateY(-2px);box-shadow:0 4px 12px #2563eb1a}.metric-card.clickable:after{content:"Click for details ↗";color:var(--primary);margin-top:8px;font-size:11px;font-weight:600;display:block}.subject-tabs{flex-wrap:wrap;gap:8px;margin-bottom:20px;display:flex}.subject-tab-btn{color:#475569;border:1px solid var(--border);cursor:pointer;background:#f1f5f9;border-radius:999px;padding:8px 16px;font-size:13px;font-weight:600;transition:all .15s}.subject-tab-btn:hover{color:#0f172a;background:#e2e8f0}.subject-tab-btn.active{background:var(--primary);color:#fff;border-color:var(--primary)}.subject-accordion-card{border:1px solid var(--border);border-radius:var(--radius-md);background:#fff;margin-bottom:12px;overflow:hidden}.subject-accordion-header{cursor:pointer;-webkit-user-select:none;user-select:none;justify-content:space-between;align-items:center;padding:14px 18px;transition:background-color .15s;display:flex}.subject-accordion-header:hover{background-color:#f8fafc}.subject-accordion-body{border-top:1px solid var(--border);background-color:#f8fafc;flex-direction:column;gap:8px;padding:14px 18px;display:flex}
