@import "https://fonts.googleapis.com/css2?family=Fraunces:opsz,wght@9..144,400;9..144,500;9..144,600&family=Inter:wght@400;500;600;700&display=swap";:root{--color-bg:#fff8f0;--color-surface:#fff;--color-surface-sunken:#fff1e2;--color-ink:#4a3b3a;--color-ink-soft:#7a6664;--color-border:#f0ddc9;--color-primary:#ff8a5c;--color-primary-dark:#b8531f;--color-primary-darker:#a8481a;--color-primary-tint:#ffe4cc;--color-accent:#e0a458;--color-accent-dark:#96631c;--color-accent-tint:#fbe8cf;--color-rose:#b5696f;--color-rose-dark:#94454c;--color-rose-tint:#f6e2e2;--color-success:#6b8f4f;--color-danger:#c2463a;--color-danger-tint:#fbe3df;--font-display:"Fraunces", "Georgia", serif;--font-body:"Inter", -apple-system, "Segoe UI", sans-serif;--text-xs:.75rem;--text-sm:.875rem;--text-base:1rem;--text-lg:1.125rem;--text-xl:1.375rem;--text-2xl:1.75rem;--text-3xl:2.25rem;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:24px;--space-6:32px;--space-7:48px;--space-8:64px;--radius-sm:6px;--radius-md:10px;--radius-lg:18px;--radius-pill:999px;--shadow-card:0 1px 2px #4a3b3a12, 0 4px 16px #4a3b3a12;--shadow-raised:0 4px 10px #4a3b3a1a, 0 12px 32px #4a3b3a1f;--sidebar-width:248px}*{box-sizing:border-box}html,body,#root{height:100%;overflow-x:clip}body{background:var(--color-bg);color:var(--color-ink);font-family:var(--font-body);font-size:var(--text-base);-webkit-font-smoothing:antialiased;margin:0;line-height:1.5}h1,h2,h3{font-family:var(--font-display);color:var(--color-ink);margin:0;font-weight:500;line-height:1.15}h1{font-size:var(--text-3xl)}h2{font-size:var(--text-2xl)}h3{font-size:var(--text-lg);font-weight:600}p{max-width:62ch;margin:0}a{color:var(--color-primary-dark)}button{font-family:var(--font-body)}:focus-visible{outline:2px solid var(--color-rose);outline-offset:2px}.app-shell{min-height:100%;display:flex}.main-content{padding:var(--space-6) var(--space-7);flex:1;max-width:980px}.page-header{margin-bottom:var(--space-6)}.page-header-row{justify-content:space-between;align-items:flex-start;gap:var(--space-3);display:flex}.page-header .eyebrow{color:var(--color-rose-dark);font-weight:600;font-size:var(--text-sm);margin-bottom:var(--space-1)}.page-header p{color:var(--color-ink-soft);margin-top:var(--space-2)}.card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--space-5)}.btn{align-items:center;gap:var(--space-2);border-radius:var(--radius-md);padding:var(--space-3) var(--space-5);font-weight:600;font-size:var(--text-sm);cursor:pointer;border:none;transition:transform 80ms,box-shadow .15s;display:inline-flex}.btn:active{transform:translateY(1px)}.btn-primary{background:var(--color-primary-dark);color:#fff}.btn-primary:hover{background:var(--color-primary-darker)}.btn-ghost{color:var(--color-ink);border:1px solid var(--color-border);background:0 0}.btn-ghost:hover{border-color:var(--color-ink-soft)}.empty-state{color:var(--color-ink-soft)}.inline-form{margin-top:var(--space-5);gap:var(--space-3);flex-direction:column;max-width:420px;display:flex}.inline-form label{gap:var(--space-1);font-size:var(--text-sm);color:var(--color-ink-soft);flex-direction:column;font-weight:500;display:flex}.inline-form input,.inline-form select,.inline-form textarea{font-family:var(--font-body);font-size:var(--text-base);padding:var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface)}.inline-form-actions{gap:var(--space-2);display:flex}.btn-text{font-size:var(--text-sm);cursor:pointer;padding:var(--space-2) var(--space-3);border-radius:var(--radius-md);color:var(--color-ink-soft);font-weight:600;font-family:var(--font-body);background:0 0;border:none}.btn-text:hover{background:var(--color-surface-sunken)}.btn-text.danger{color:var(--color-danger)}.setup-error{color:var(--color-danger);font-size:var(--text-sm)}.setup-info{color:var(--color-rose-dark);font-size:var(--text-sm)}.file-picker{align-items:center;gap:var(--space-3);flex-wrap:wrap;display:flex}.file-picker-btn{flex-shrink:0}.file-picker-name{font-size:var(--text-sm);color:var(--color-ink-soft);text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.visually-hidden-input,.visually-hidden{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.student-multiselect{gap:var(--space-2);flex-direction:column;display:flex}.student-chips{gap:var(--space-2);flex-wrap:wrap;display:flex}.student-chip{align-items:center;gap:var(--space-1);font-size:var(--text-sm);background:var(--color-primary-tint);color:var(--color-primary-dark);border-radius:var(--radius-pill);padding:4px 6px 4px 10px;display:inline-flex}.student-chip button{color:inherit;font-size:var(--text-base);cursor:pointer;background:0 0;border:none;padding:0 2px;line-height:1}.student-multiselect-input-wrap{position:relative}.student-multiselect-input-wrap input{width:100%;font-family:var(--font-body);font-size:var(--text-base);padding:var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-md)}.student-dropdown{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);box-shadow:var(--shadow-raised);z-index:20;max-height:220px;position:absolute;top:calc(100% + 4px);left:0;right:0;overflow-y:auto}.student-dropdown-item{text-align:left;width:100%;font-family:var(--font-body);font-size:var(--text-base);padding:var(--space-3);cursor:pointer;background:0 0;border:none;display:block}.student-dropdown-item:hover{background:var(--color-surface-sunken)}.student-dropdown-empty{padding:var(--space-3);font-size:var(--text-sm);color:var(--color-ink-soft)}@media (width<=720px){.main-content{padding:var(--space-4);padding-bottom:88px}}
