:root{--brand-blue:#00275e;--brand-blue-dark:#001b42;--brand-secondary:#6d98ab;--brand-accent:#feb729;--brand-navy:#00275e;--neutral-bg:#f4f6f8;--card-bg:#fff;--border-color:#a8b1b8;--table-border:#d7dde2;--text-main:#000;--text-subtle:#213140;--text-light:#5f707c;--radius-sm:6px;--radius-md:10px;--radius-lg:14px;--shadow-sm:0 1px 3px #00275e14;--shadow-md:0 3px 8px #00275e24;--transition-fast:all .2s ease-in-out}body{background-color:var(--neutral-bg);color:var(--text-main);-webkit-font-smoothing:antialiased;margin:0;padding:0;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif;line-height:1.6}*{box-sizing:border-box}h1,h2,h3{color:var(--brand-navy);letter-spacing:-.015em;margin-top:0;font-weight:600}h1{margin-bottom:6px;font-size:28px}h2{margin-bottom:6px;font-size:20px}h3{margin-bottom:6px;font-size:17px}.container,.dashboard-container{max-width:1200px;margin:30px auto;padding:0 24px}button{color:var(--text-main);border:1px solid var(--border-color);border-radius:var(--radius-md);cursor:pointer;min-height:44px;transition:var(--transition-fast);background-color:#edf1f4;padding:10px 16px;font-size:15px;font-weight:500}button:hover{background-color:#dde5eb}button.primary{background-color:var(--brand-blue);color:#fff;border:none}button.primary:hover{background-color:var(--brand-blue-dark);box-shadow:0 2px 6px #00275e40}button.logout-button{color:#fff;background-color:#dc2626;border:none}button.logout-button:hover{background-color:#b91c1c}button:disabled{opacity:.6;cursor:not-allowed}.account-chip{background-color:#edf1f4}.account-chip-active{background-color:#d7e6ff;border-color:#4c7ecf;box-shadow:inset 0 0 0 1px #00275e1f}input,select{border:1px solid var(--border-color);border-radius:var(--radius-md);background:#fff;width:min(100%,240px);min-height:44px;padding:10px 12px;font-size:15px;transition:border-color .2s,box-shadow .2s}input[type=checkbox]{vertical-align:middle;border-radius:4px;width:16px;min-width:16px;height:16px;min-height:16px;padding:0}label{margin-bottom:4px;display:inline-block}input:focus,select:focus{border-color:var(--brand-blue);outline:none;box-shadow:0 0 0 2px #00275e29}.card{background:var(--card-bg);border:1px solid var(--border-color);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);margin:20px 0;padding:20px 24px;transition:transform .15s,box-shadow .15s}.card:hover{box-shadow:var(--shadow-md);transform:translateY(-1px)}.card h2{color:var(--brand-navy);margin-bottom:10px;font-size:18px}.note{color:var(--text-subtle);font-size:14px;line-height:1.6}.tag{color:#00275e;vertical-align:middle;background:#dbe5eb;border-radius:999px;margin-left:8px;padding:3px 8px;font-size:12px;display:inline-block}.pill{color:var(--text-main);background:#e6edf1;border-radius:999px;margin-right:6px;padding:3px 10px;font-size:12px;display:inline-block}.em{color:var(--brand-blue);font-weight:600}table{border-collapse:collapse;width:100%;min-width:640px;font-size:15px}th{text-align:left;border-bottom:1px solid var(--border-color);color:var(--brand-navy);background-color:#e9eef2;padding:10px 12px;font-weight:600}td{border-bottom:1px solid var(--table-border);color:var(--text-subtle);padding:10px 12px}tr:nth-child(2n){background:#f8fafc}tr:hover{background-color:#edf3f8}.banner{color:#6f4a00;border-radius:var(--radius-md);border:1px solid var(--brand-accent);background:#fff6df;margin-bottom:20px;padding:8px 12px;font-size:13px}.disclosure{color:var(--text-light);border-top:1px solid var(--border-color);margin-top:30px;padding-top:12px;font-size:12px;line-height:1.6}.section{margin-bottom:32px}.center{text-align:center}.muted{color:var(--text-light)}header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;margin-bottom:20px;display:flex}.responsive-form{gap:10px;width:min(100%,520px);display:grid}.table-scroll{-webkit-overflow-scrolling:touch;overflow-x:auto}.account-summary-layout{grid-template-columns:minmax(280px,360px) minmax(0,1fr);align-items:stretch;gap:20px;display:grid}.account-summary-layout>.card{flex-direction:column;height:100%;margin:0;display:flex}.account-performance-card{min-width:0}.auth-card{width:min(100%,460px);margin:0 auto}.modal-overlay{z-index:1000;background:#00000080;justify-content:center;align-items:flex-start;padding:20px 12px;display:flex;position:fixed;inset:0;overflow-y:auto}.modal-card{width:min(100%,900px);margin:0}.teacher-student-summary-card{background:#f8fafc;border:1px solid #d7dde2;border-radius:10px;padding:14px}.teacher-student-metrics-grid{grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:10px;display:grid}.teacher-student-metric{background:#fff;border:1px solid #d7dde2;border-radius:8px;padding:10px}.teacher-student-metric-label{margin:0 0 3px}.teacher-student-metric-value{color:var(--brand-navy);margin:0;font-size:18px;font-weight:600;line-height:1.25}.teacher-student-details{margin-top:8px}.teacher-student-details summary{cursor:pointer;color:var(--brand-blue);font-size:13px;line-height:1.4}.teacher-student-pre{white-space:pre-wrap;background:#fff;border:1px solid #d7dde2;border-radius:8px;max-height:220px;margin:8px 0 0;padding:8px;font-size:12px;line-height:1.45;overflow:auto}.teacher-student-section{background:#fff;border:1px solid #d7dde2;border-radius:10px;margin-top:12px}.teacher-student-section-summary{cursor:pointer;color:var(--brand-navy);padding:10px 14px;font-weight:600}.teacher-student-section[open]>.teacher-student-section-summary{border-bottom:1px solid #eef1f3}.teacher-student-rows{flex-direction:column;gap:10px;padding:12px 14px 14px;display:flex}.teacher-student-row{background:#f8fafc;border:1px solid #e4e8ec;border-radius:8px;padding:12px}.teacher-student-row-head{flex-wrap:wrap;align-items:flex-start;gap:12px;display:flex}.teacher-student-week-badge{background:var(--brand-navy,#00275e);color:#fff;border-radius:6px;flex-shrink:0;justify-content:center;align-items:center;min-width:36px;height:28px;padding:0 8px;font-size:12px;font-weight:600;display:inline-flex}.teacher-student-row-title-block{flex:260px;min-width:0}.teacher-student-row-title{color:var(--brand-navy);word-break:break-word;font-weight:600;line-height:1.3}.teacher-student-row-subtitle{margin-top:2px;font-size:12px}.teacher-student-row-pills{flex-wrap:wrap;align-items:center;gap:6px;margin-top:6px;display:flex}.teacher-student-pill-warn{color:#92400e;background:#fef3c7}.teacher-student-pill-late{color:#991b1b;background:#fee2e2}.teacher-student-row-type{text-transform:capitalize}.teacher-student-row-score{text-align:right;min-width:80px}.teacher-student-row-points{color:var(--brand-navy);font-weight:600}.teacher-student-row-actions{align-items:flex-start;display:flex}.teacher-student-row-subline{margin-top:8px}.teacher-student-answers{flex-direction:column;gap:10px;margin-top:10px;display:flex}.teacher-student-answer{background:#fff;border:1px solid #e4e8ec;border-radius:8px;padding:10px}.teacher-student-answer-head{justify-content:space-between;align-items:baseline;gap:8px;margin-bottom:6px;display:flex}.teacher-student-answer-body{white-space:pre-wrap;word-break:break-word;line-height:1.5}.teacher-student-row-feedback{background:#fff;border:1px solid #e4e8ec;border-radius:8px;flex-direction:column;gap:4px;margin-top:10px;padding:8px 10px;line-height:1.45;display:flex}.teacher-student-notsubmitted-list{flex-direction:column;gap:6px;margin:0;padding:8px 14px 14px;list-style:none;display:flex}.teacher-student-notsubmitted-item{align-items:center;gap:10px;display:flex}.teacher-student-notsubmitted-title{word-break:break-word;flex:auto;min-width:0}@media (max-width:1024px){.container,.dashboard-container{padding:0 18px}}@media (max-width:768px){h1{font-size:24px}.container,.dashboard-container{margin:20px auto;padding:0 14px}.card{padding:16px}.account-summary-layout{grid-template-columns:1fr}input,select,button{width:100%;max-width:none}}@media (max-width:480px){.container,.dashboard-container{padding:0 10px}.card{padding:14px}table{min-width:560px}}
