:root{color:#17211f;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;background:#f6f3ec;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}body{min-width:320px;min-height:100vh;margin:0;overflow-x:hidden}html,#root{overflow-x:hidden}button{font:inherit}input,select,textarea{color:#17211f;width:100%;font:inherit;background:#fffdf8;border:1px solid #d7d2c5;border-radius:8px;font-size:14px}input,select{min-height:40px;padding:0 12px}textarea{resize:vertical;min-height:96px;padding:10px 12px}input:disabled,select:disabled,textarea:disabled{cursor:not-allowed;opacity:.65}label{color:#52625b;gap:7px;font-size:13px;font-weight:800;display:grid}.app-shell{grid-template-columns:256px minmax(0,1fr);width:100%;min-height:100vh;display:grid;overflow-x:hidden}.mode-switch{z-index:10;background:#fffdf8eb;border:1px solid #d6d0c1;border-radius:8px;gap:6px;padding:5px;display:inline-flex;position:fixed;top:16px;right:16px;box-shadow:0 14px 30px #1e180f1f}.mode-button{color:#52625b;cursor:pointer;background:0 0;border:0;border-radius:6px;align-items:center;gap:6px;min-height:32px;padding:6px 10px;font-size:13px;font-weight:800;display:inline-flex}.mode-button.active{color:#fffdf8;background:#12251f}.sidebar{color:#f8f1df;background:#12251f;flex-direction:column;gap:32px;min-width:0;padding:28px 20px;display:flex;overflow-x:hidden}.brand-lockup{align-items:center;gap:12px;display:flex}.brand-mark{color:#12251f;background:#f2c14e;border-radius:8px;place-items:center;width:42px;height:42px;font-weight:800;display:grid}.brand-title,.brand-caption,.date-label,.signal-card p,.task-row p,.panel p{margin:0}.brand-title{font-size:17px;font-weight:800}.brand-caption{color:#b8c7be;margin-top:3px;font-size:13px}.nav-list{gap:8px;width:100%;min-width:0;max-width:100%;display:grid}.nav-item{color:#d8e3dc;cursor:pointer;text-align:left;white-space:nowrap;background:0 0;border:0;border-radius:8px;align-items:center;gap:10px;width:100%;min-height:42px;padding:10px 12px;display:flex}.nav-item:hover,.nav-item.active{color:#fff;background:#244138}.workspace{min-width:0;padding:32px;overflow-x:hidden}.workspace-header{justify-content:space-between;align-items:center;gap:20px;margin-bottom:28px;padding-right:0;display:flex}.workspace-header h1{letter-spacing:0;margin:6px 0 0;font-size:clamp(30px,4vw,48px);line-height:1.08}.date-label{color:#63726b;font-size:14px;font-weight:700}.class-pill,.status-chip{color:#31413b;background:#fff;border:1px solid #d7d2c5;border-radius:8px;align-items:center;gap:8px;min-height:34px;padding:7px 12px;font-size:14px;font-weight:700;display:inline-flex}.view-stack{gap:20px;display:grid}.entry-shell,.teacher-gate{background:#f6f3ec;place-items:center;min-height:100vh;padding:24px;display:grid}.entry-panel,.teacher-lock-card{background:#fffdf8;border:1px solid #ddd7c9;border-radius:8px;gap:22px;width:min(100%,760px);padding:28px;display:grid;box-shadow:0 18px 40px #28221714}.entry-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.entry-card{color:#17211f;cursor:pointer;text-align:left;background:#f7f4ec;border:1px solid #d7d2c5;border-radius:8px;gap:10px;min-height:172px;padding:18px;display:grid}.entry-card:hover{background:#eef6f1;border-color:#8fb8a8}.entry-card strong{font-size:20px}.entry-card span,.gate-heading p,.gate-note,.link-status{color:#63726b;font-size:14px;line-height:1.5}.gate-heading{align-items:flex-start;gap:12px;display:flex}.gate-heading h1{margin:0 0 6px;font-size:28px;line-height:1.15}.gate-note{background:#f7f4ec;border-radius:8px;margin:0;padding:12px}.header-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:8px;display:flex}.link-status{color:#1f5138;word-break:break-all;background:#e8f3ec;border-radius:8px;margin:-14px 0 18px;padding:10px 12px;font-weight:800}.archive-notice{color:#5f4a20;background:#fff8e6;border:1px solid #d7d2c5;border-radius:8px;margin:0;padding:12px;font-size:14px;font-weight:800;line-height:1.5}.two-column{grid-template-columns:minmax(0,1.35fr) minmax(320px,.65fr);align-items:start;gap:20px;display:grid}.signal-grid{grid-template-columns:repeat(5,minmax(0,1fr));gap:12px;display:grid}.signal-card,.panel{background:#fffdf8;border:1px solid #ddd7c9;border-radius:8px;box-shadow:0 18px 40px #28221714}.signal-card{padding:18px}.signal-card p{color:#65736c;font-size:13px;font-weight:700}.signal-card strong{color:#13231f;margin-top:10px;font-size:30px;line-height:1;display:block}.panel{padding:22px}.panel-heading{justify-content:space-between;align-items:flex-start;gap:18px;margin-bottom:18px;display:flex}.panel h2{letter-spacing:0;margin:0;font-size:22px}.panel p{color:#64716c;margin-top:8px;line-height:1.6}.task-list{gap:12px;display:grid}.task-row{width:100%;color:inherit;text-align:left;background:#f7f4ec;border:0;border-radius:8px;align-items:flex-start;gap:12px;padding:14px;display:flex}.task-button{cursor:pointer}.task-button:hover{background:#efe9dc}.task-row>svg:last-child{color:#7b8b83;margin-left:auto}.task-row h3{margin:0;font-size:16px}.task-row p{color:#66746d;margin-top:4px;line-height:1.5}.seat-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;display:grid}.seating-layout{grid-template-columns:minmax(0,1fr) 260px;gap:18px;display:grid}.seat-map{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;display:grid}.seat-cell{color:#17211f;cursor:pointer;text-align:left;background:#f8f3e8;border:1px solid #dcd3bf;border-radius:8px;min-height:78px;padding:10px}.seat-cell:hover{border-color:#b58f3b}.seat-cell.disabled{color:#78837d;background:#e4e1d8;border-style:dashed}.seat-cell span{color:#758177;font-size:12px;font-weight:700;display:block}.seat-cell strong{margin-top:12px;font-size:17px;display:block}.plain-list{gap:10px;margin:0;padding:0;list-style:none;display:grid}.plain-list li{background:#f7f4ec;border-radius:8px;align-items:baseline;gap:10px;padding:12px;display:flex}.plain-list strong{color:#9d5b2e;flex:none}.empty-text{color:#68766e}.control-panel,.form-grid,.review-stack,.activity-stack,.agenda-list,.candidate-grid{gap:12px;display:grid}.form-grid.compact{margin-top:18px}.primary-button,.secondary-button,.icon-button{cursor:pointer;white-space:nowrap;border-radius:8px;justify-content:center;align-items:center;gap:8px;min-height:40px;font-weight:800;display:inline-flex}.primary-button{color:#fffdf8;background:#12251f;border:1px solid #12251f;padding:0 14px}.primary-button:disabled,.secondary-button:disabled,.icon-button:disabled,.seat-cell:disabled{cursor:not-allowed;opacity:.45}.secondary-button{color:#22342f;background:#fffdf8;border:1px solid #d7d2c5;padding:0 12px}.wide{width:100%}.icon-button{color:#22342f;background:#fffdf8;border:1px solid #d7d2c5;width:36px;min-height:36px}.icon-button.danger,.danger-button{color:#a53c2f}.button-row,.inline-actions{flex-wrap:wrap;gap:8px;display:flex}.activity-row,.review-item{background:#f7f4ec;border-radius:8px;justify-content:space-between;align-items:center;gap:12px;padding:12px;display:flex}.activity-row.selected{background:#fff6dd;border:1px solid #b58f3b}.activity-operations-grid{align-items:start}.submission-stack{gap:10px;display:grid}.activity-row .text-button{text-align:left;justify-items:start;gap:3px;display:grid}.activity-row .text-button span{margin-top:0}.activity-row p{overflow-wrap:anywhere;max-width:100%;margin:2px 0 0}.activity-row strong,.review-item strong{color:#17211f;display:block}.activity-row span,.activity-row small,.review-item p{color:#65736c;margin-top:4px;font-size:13px;display:block}.text-button{width:100%;color:inherit;cursor:pointer;text-align:left;background:0 0;border:0;padding:0}.student-chip-list{flex-wrap:wrap;gap:8px;margin-top:14px;display:flex}.student-chip{color:#273832;background:#f7f4ec;border:1px solid #d7d2c5;border-radius:8px;align-items:center;min-height:32px;padding:0 10px;font-weight:800;display:inline-flex}.quote-text{background:#f7f4ec;border-radius:8px;padding:12px}.agenda-card label{margin:14px 0}.candidate-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.vote-meter{background:#ede7da;border-radius:8px;gap:4px;min-height:38px;margin:16px 0;display:flex;overflow:hidden}.vote-meter span{color:#12251f;background:#f2c14e;place-items:center;min-width:90px;font-size:13px;font-weight:900;display:grid}.vote-meter span+span{background:#8fb8a8}.student-app{background:#f6f3ec;min-height:100vh;padding:72px 20px 28px}.student-shell{grid-template-columns:minmax(0,520px) minmax(280px,360px);justify-content:center;align-items:start;gap:20px;display:grid}.student-card,.student-safe-panel{background:#fffdf8;border:1px solid #ddd7c9;border-radius:8px;box-shadow:0 18px 40px #28221714}.student-card{padding:24px}.student-safe-panel{padding:20px}.student-brand{color:#17211f;margin-bottom:22px}.student-form{grid-template-columns:1fr 120px;gap:10px;margin-bottom:18px;display:grid}.participation-panel{gap:16px;display:grid}.participation-panel h1{margin:0;font-size:28px;line-height:1.15}.vote-choice{background:#f7f4ec;border-radius:8px;gap:10px;padding:14px;display:grid}.segmented-control{background:#e8e1d3;border-radius:8px;grid-template-columns:1fr 1fr;gap:6px;padding:5px;display:grid}.segmented-control button{color:#52625b;cursor:pointer;background:0 0;border:0;border-radius:6px;min-height:40px;font-weight:900}.segmented-control button.active{color:#fffdf8;background:#12251f}.student-message{color:#1f5138;background:#e8f3ec;border-radius:8px;align-items:center;gap:8px;margin:16px 0 0;padding:12px;font-weight:800;display:flex}.visually-hidden{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;padding:0;position:absolute;overflow:hidden}.storage-metrics{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-bottom:16px;display:grid}.storage-metrics.compact{grid-template-columns:repeat(4,minmax(0,1fr))}.storage-metrics div{background:#f7f4ec;border-radius:8px;min-height:74px;padding:12px}.storage-metrics span{color:#65736c;font-size:12px;font-weight:800;display:block}.storage-metrics strong{color:#17211f;margin-top:8px;font-size:17px;display:block}.storage-actions{margin-bottom:14px}.backup-preview{background:#fff8e6;border:1px solid #d7d2c5;border-radius:8px;gap:12px;margin-top:14px;padding:14px;display:grid}.backup-preview.error{background:#fff1ef;border-color:#d69b90}.compact-heading{margin-bottom:0}.backup-preview h3{margin:0;font-size:17px}.checkbox-row{color:#273832;align-items:center;gap:8px;display:flex}.checkbox-row input{accent-color:#12251f;width:18px;min-height:18px}.roster-list{gap:10px;display:grid}.roster-row{background:#f7f4ec;border-radius:8px;grid-template-columns:90px minmax(160px,1fr) minmax(160px,1fr) auto;align-items:end;gap:10px;padding:12px;display:grid}@media (width<=880px){.app-shell{grid-template-columns:1fr}.sidebar{z-index:2;gap:18px;padding:76px 16px 16px;position:sticky;top:0}.nav-list{grid-template-columns:none;grid-auto-columns:minmax(92px,max-content);grid-auto-flow:column;overflow-x:auto}.nav-item{justify-content:center;min-width:92px;font-size:13px}.workspace{padding:24px 16px}.workspace-header{flex-direction:column;align-items:flex-start;padding-right:0}.header-actions{justify-content:flex-start}.signal-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.seat-grid,.seat-map,.candidate-grid,.two-column,.entry-grid,.seating-layout,.student-shell,.roster-row{grid-template-columns:1fr}.storage-metrics,.storage-metrics.compact,.student-form{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=540px){.signal-grid,.seat-grid,.seat-map,.student-form,.storage-metrics,.storage-metrics.compact{grid-template-columns:1fr}.mode-switch{justify-content:center;left:10px;right:10px}}
