.participation-content{color:var(--navy);line-height:1.7}.participation-page{max-width:78rem}.participation-page>.card,.participation-policy,.participation-form,.participation-receipt{margin-top:1.2rem}.participation-policy,.participation-form,.participation-receipt{padding:1.2rem;border:1px solid var(--line);border-radius:.65rem;background:#fff}.participation-content h2,.participation-content h3{margin-top:0}.participation-original{white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.9}.participation-muted{color:var(--muted);font-size:.85rem}.participation-meta{display:grid;gap:.65rem;margin:1rem 0;font-size:.86rem}.participation-meta>div{display:grid;grid-template-columns:minmax(7rem,.35fr) 1fr;gap:.7rem}.participation-meta dt{color:var(--muted)}.participation-meta dd{margin:0;overflow-wrap:anywhere}.participation-hash{font-family:monospace;font-size:.75rem}.participation-field{display:grid;gap:.4rem;max-width:40rem;margin:1rem 0;font-size:.9rem;font-weight:600}.participation-field input,.participation-field select,.participation-field textarea{width:100%;min-height:2.8rem;padding:.6rem;font:inherit;border:1px solid #b8c8c0;border-radius:.4rem;background:#fff;color:var(--navy)}.participation-field textarea{min-height:18rem;resize:vertical}.participation-accept{display:flex;align-items:flex-start;gap:.7rem;margin:1rem 0;font-weight:600}.participation-accept input{flex:0 0 auto;width:1.2rem;height:1.2rem;margin-top:.25rem;accent-color:var(--navy)}.participation-signature{display:block;width:100%;height:auto;aspect-ratio:10 / 3;border:1px solid #9fb3a7;border-radius:.4rem;color:#152a21;background:#fcfdfc}.participation-pad{touch-action:none;-webkit-user-select:none;-moz-user-select:none;user-select:none;cursor:crosshair}.participation-pad-wrap>button{margin-top:.6rem}.participation-actions{display:flex;align-items:center;flex-wrap:wrap;gap:.75rem;margin-top:1rem}.participation-actions h2{flex:1;margin:0}.participation-actions button{min-height:2.75rem}.participation-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:70;background:#0a1b1480}.participation-dialog{position:fixed;z-index:71;top:50%;left:50%;transform:translate(-50%,-50%);width:min(56rem,calc(100vw - 2rem));max-height:calc(100dvh - 2rem);overflow-y:auto;padding:1.5rem;border-radius:.85rem;background:#f6f9f7;box-shadow:0 1rem 4rem #122b2733}.participation-dialog>h2{margin-top:0;font-size:1.35rem}.participation-load-warning{margin:.8rem 1.5rem;padding:.75rem;border:1px solid var(--line);border-radius:.4rem;color:var(--muted);font-size:.85rem}.participation-status-link{font-size:.83rem;color:var(--muted)}.participation-status-link a,.participation-content a{color:var(--navy)}.participation-table-wrap{width:100%;overflow-x:auto;border:1px solid var(--line);border-radius:.4rem}.participation-page table{width:100%;border-collapse:collapse;font-size:.83rem}.participation-page table th,.participation-page table td{text-align:center;vertical-align:middle;padding:.8rem .65rem;border-bottom:1px solid var(--line)}.participation-page table th{background:#f1f6f3;white-space:nowrap}.participation-page table td{overflow-wrap:anywhere}.participation-text-button{display:block;margin:auto;padding:.4rem;border:0;background:transparent;color:var(--navy);text-decoration:underline;cursor:pointer;font:inherit}.participation-history>article,.participation-policies>article,.participation-detail>article{margin-top:1.5rem;border-top:1px solid var(--line);padding-top:1rem}@media(max-width:640px){.participation-dialog{width:calc(100vw - 1rem);max-height:calc(100dvh - 1rem);padding:.8rem}.participation-policy,.participation-form,.participation-receipt{padding:.85rem}.participation-meta>div{grid-template-columns:1fr;gap:.15rem}.participation-actions>button,.participation-actions>a{flex:1 1 100%}.participation-page table{min-width:50rem}.participation-signature{min-height:8rem}}.lab-page{max-width:1320px;margin-inline:auto}.lab-eyebrow{margin:0 0 8px;color:#506b82;font-size:11px;font-weight:750;letter-spacing:.16em}.lab-pilot-notice{display:grid;gap:8px;padding:17px 20px;margin-bottom:14px;border:1px solid #c9ddd4;border-radius:12px;background:#eef6f1;color:#315e4e}.lab-pilot-notice strong{font-size:15px}.lab-pilot-notice span{font-size:12px;line-height:1.7}.lab-refresh{display:inline-flex;gap:8px;align-items:center;border:1px solid #d6dfe8;background:#fff;padding:10px 14px;border-radius:10px;color:#42566b}.lab-rules{display:flex;flex-wrap:wrap;gap:12px 26px;padding:18px 20px;margin-bottom:24px;background:#edf3f8;border:1px solid #e2eaf2;border-radius:12px;color:#405971;font-size:13px}.lab-rules span{display:inline-flex;gap:9px;align-items:center}.lab-picker{display:flex;align-items:stretch;gap:20px;margin-bottom:24px}.lab-date{display:grid;gap:8px;min-width:195px;font-weight:650;font-size:13px}.lab-date select{min-height:52px;border:1px solid #d5dfe9;border-radius:10px;background:#fff;padding:0 14px;color:#213c55;font:inherit}.lab-time-group{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;flex:1;padding-top:26px}.lab-time{display:grid;gap:7px;padding:13px 9px;border:1px solid #dce4eb;border-radius:10px;background:#fff;color:#41576b;text-align:center}.lab-time strong{font-size:14px}.lab-time span{font-size:11px;color:#6c7f91}.lab-time.is-active{border-color:#315d80;background:#eaf2f8;box-shadow:0 0 0 1px #315d80;color:#214969}.lab-layout{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(280px,1fr);gap:22px;align-items:start}.lab-room,.lab-summary,.lab-my-bookings,.lab-admin{background:#fff;border:1px solid #e0e6ed;border-radius:16px;padding:25px}.lab-section-title{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:22px}.lab-page h2{font-size:18px;color:#233e54;margin:0 0 8px}.lab-section-title p,.lab-admin>p{font-size:12px;color:#788a99;margin:0}.lab-available{color:#35664f;background:#edf7f0;padding:7px 10px;font-size:12px;border-radius:7px;white-space:nowrap}.lab-screen{margin:4px 12px 27px;padding:10px;text-align:center;background:#eff3f7;border-radius:4px 4px 12px 12px;border-top:4px solid #8097ab;color:#536d83;font-size:12px;letter-spacing:.1em}.lab-seat-map{display:grid;gap:12px}.lab-seat-row{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.lab-seat{width:100%;min-height:96px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;border:1px solid #cddce8;border-radius:11px;background:#f8fbfd;color:#3b617f;position:relative;padding:10px 3px;transition:border-color .15s,background .15s}.lab-seat strong{font-size:13px}.lab-seat span{font-size:10px}.lab-seat small{font-size:9px}.lab-seat:not(:disabled):hover{border-color:#3c709b;background:#eaf3fb}.lab-seat:focus-visible,.lab-page button:focus-visible,.lab-date select:focus-visible{outline:3px solid #8db9da;outline-offset:3px}.lab-seat.is-occupied{border-color:#e1e5e9;background:#f0f2f4;color:#88949f}.lab-seat.is-mine{border-color:#7bb18c;background:#e7f4eb;color:#35704b}.lab-seat.is-instructor{border:1px dashed #d4c6a8;background:#faf6ed;color:#99855f}.lab-seat.is-selected{border-color:#255d85;background:#255d85;color:#fff;box-shadow:0 0 0 2px #c8dff0}.lab-seat.is-recent:after{content:"";width:5px;height:5px;background:#5f98bc;border-radius:50%;position:absolute;top:8px;right:9px}.lab-seat:disabled{cursor:default;opacity:1}.lab-entrance{text-align:center;color:#9aa7b2;font-size:11px;padding:19px 0 12px;letter-spacing:.07em}.lab-legend{display:flex;flex-wrap:wrap;justify-content:center;gap:10px 16px;padding-top:15px;border-top:1px solid #edf0f3;color:#718293;font-size:10px}.lab-legend span{display:flex;align-items:center;gap:6px}.lab-legend i{display:inline-block;width:9px;height:9px;border-radius:3px}.lab-legend .available{border:1px solid #a7bfce;background:#f8fbfd}.lab-legend .selected{background:#255d85}.lab-legend .occupied{background:#d9dfe4}.lab-legend .mine{background:#9ac4a6}.lab-summary{position:sticky;top:20px}.lab-summary dl{margin:24px 0}.lab-summary dl>div{display:flex;justify-content:space-between;align-items:start;gap:15px;padding:13px 0;border-bottom:1px solid #edf1f5;font-size:13px}.lab-summary dt{color:#7c8b9a}.lab-summary dd{margin:0;text-align:right;color:#284a65;font-weight:650}.lab-recent{width:100%;display:flex;align-items:center;gap:12px;padding:13px;border:1px solid #dde8f0;border-radius:10px;background:#f5f9fc;color:#55718a;text-align:left}.lab-recent span{font-size:11px}.lab-recent strong{display:block;color:#2b526f;margin-top:4px;font-size:14px}.lab-recent:disabled{opacity:.65}.lab-help{font-size:12px;color:#768897;line-height:1.8;margin:20px 0}.lab-help--notice{padding:12px;border-radius:9px;background:#faf5e9;color:#866b35}.lab-confirm{border:0;border-radius:10px;padding:14px 16px;background:#244f70;color:#fff;font-size:14px;font-weight:650}.lab-summary>.lab-confirm{width:100%}.lab-confirm:disabled{background:#e3e9ee;color:#93a0ab;cursor:default}.lab-footnote{color:#95a1ac;font-size:10px;line-height:1.8;margin-bottom:0}.lab-my-bookings,.lab-admin{margin-top:24px}.lab-empty{padding:22px 0;text-align:center;color:#8c9ba8;font-size:13px}.lab-booking-list{display:grid;gap:12px}.lab-booking{display:flex;align-items:center;gap:14px;border:1px solid #e4ebf1;border-radius:11px;padding:16px}.lab-booking>div:nth-child(2){flex:1}.lab-booking strong{font-size:13px;color:#3a5269}.lab-booking p{margin:8px 0 0;font-size:13px;color:#547187}.lab-booking>button,.lab-admin button{border:1px solid #dbe2e9;background:#fff;color:#7c8894;border-radius:7px;padding:7px 10px;font-size:11px}.lab-booking>button:disabled,.lab-admin button:disabled{opacity:.4;cursor:default}.lab-booking-icon{display:grid;place-items:center;width:44px;height:44px;border-radius:11px;background:#edf6f0;color:#4f8a63}.lab-booking-icon.is-waiting{background:#faf3e4;color:#ad8b47}.lab-status{font-size:10px;border-radius:5px;background:#eaf5ee;color:#477755;padding:4px 7px;margin-left:8px}.lab-status.is-waiting{background:#fbf2df;color:#967537}.lab-feedback{display:flex;gap:10px;align-items:center;padding:14px 18px;margin:0 0 20px;background:#edf6f0;color:#3d6d4c;border-radius:10px;font-size:13px;line-height:1.7}.lab-feedback.is-error{background:#fff0ed;color:#a05244}.lab-feedback button{margin-left:auto;border:0;background:transparent;color:inherit;text-decoration:underline}.lab-table-scroll{overflow-x:auto;margin-top:18px}.lab-admin table{border-collapse:collapse;width:100%;white-space:nowrap}.lab-admin td,.lab-admin th{padding:12px 10px;border-bottom:1px solid #e6ecf1;font-size:12px;text-align:center}.lab-admin th{background:#f2f6f9;color:#587187}.lab-admin td{color:#596c7e}.lab-modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:100;background:#142c4266;display:grid;place-items:center;padding:20px}.lab-modal{background:#fff;border-radius:17px;max-width:410px;width:100%;padding:28px;box-shadow:0 20px 60px #11263b33}.lab-modal p{color:#6c8092;font-size:13px;line-height:1.8}.lab-modal>div{display:flex;justify-content:end;gap:10px;margin-top:22px}.lab-modal>div>button:not(.lab-confirm){border:1px solid #dce3e9;border-radius:10px;padding:12px 15px;background:#fff;color:#6a7b8b}@media(max-width:1050px){.lab-layout{grid-template-columns:minmax(0,1fr)}.lab-summary{position:static}.lab-picker{flex-direction:column;gap:12px}.lab-time-group{padding-top:0}.lab-date{max-width:270px}}@media(max-width:550px){.lab-room,.lab-summary,.lab-my-bookings,.lab-admin{padding:17px;border-radius:12px}.lab-seat-row{gap:7px}.lab-seat-map{gap:9px}.lab-seat{min-height:84px}.lab-seat strong{font-size:11px}.lab-seat span{font-size:9px}.lab-time-group{grid-template-columns:repeat(2,minmax(0,1fr))}.lab-rules{gap:12px;padding:15px;font-size:12px}.lab-booking{padding:12px;gap:10px}.lab-booking-icon{display:none}.lab-booking strong{font-size:11px}.lab-status{display:inline-block}.lab-page .page-title{align-items:start}.lab-refresh{font-size:11px;padding:8px}}.lab-modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:100;background:#142c4266}.lab-modal{position:fixed;left:50%;top:50%;transform:translate(-50%,-50%);z-index:101;width:min(410px,calc(100vw - 40px))}.hardness-page{display:grid;gap:1.25rem}.hardness-page .page-title{margin-bottom:0}.hardness-page .card{min-width:0;min-height:auto}.hardness-page h2{display:flex;align-items:center;gap:.5rem}.hardness-eyebrow{color:var(--gold-text)!important;font-size:.7rem!important;font-weight:800;letter-spacing:.14em}.hardness-primary,.hardness-secondary,.hardness-selection button,.hardness-feedback button{min-height:2.65rem;display:inline-flex;align-items:center;justify-content:center;gap:.45rem;padding:.6rem .95rem;border:1px solid #b8c8c0;border-radius:.45rem;font:inherit;font-size:.84rem;font-weight:700;text-align:center;cursor:pointer}.hardness-primary{color:#fff;border-color:var(--navy);background:var(--navy)}.hardness-secondary,.hardness-selection button,.hardness-feedback button{color:var(--navy);background:#fff;text-decoration:none}.hardness-page button:disabled,.hardness-page input:disabled,.hardness-page select:disabled{opacity:.55;cursor:not-allowed}.hardness-page button:focus-visible,.hardness-page a:focus-visible,.hardness-page input:focus-visible,.hardness-page select:focus-visible,.hardness-table-scroll:focus-visible{outline:3px solid var(--focus-on-light);outline-offset:3px}.hardness-feedback{display:flex;flex-wrap:wrap;align-items:center;gap:.75rem;padding:.9rem 1rem;color:#155540;border:1px solid #b5d3c5;border-radius:.55rem;background:#edf7f1}.hardness-feedback.is-error{color:#922f28;border-color:#e9c4c0;background:#fff3f1}.hardness-picker,.hardness-admin form>label,.hardness-form-grid label{display:grid;gap:.45rem;color:var(--navy);font-size:.85rem;font-weight:700}.hardness-picker{max-width:38rem}.hardness-page select,.hardness-admin input:not([type=checkbox]){width:100%;min-width:0;min-height:2.75rem;padding:.6rem .75rem;border:1px solid #bccbc4;border-radius:.45rem;background:#fff;color:var(--ink);font:inherit}.hardness-section-header{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:.75rem}.hardness-section-header>span:not(.hardness-badge){color:var(--muted);font-size:.8rem}.hardness-badge{display:inline-flex;width:-moz-fit-content;width:fit-content;align-items:center;padding:.25rem .6rem;color:#285c48;border-radius:99px;background:#e6f3ed;font-size:.74rem;font-weight:800}.hardness-badge.is-draft,.hardness-badge.is-closed{color:#596671;background:#edf0f2}.hardness-badge.is-published{color:#765415;background:#fff0c9}.hardness-dates{display:flex;flex-wrap:wrap;gap:1rem 2rem;margin:1rem 0}.hardness-page dt{color:var(--muted);font-size:.78rem}.hardness-page dd{margin:.4rem 0 0;color:var(--navy);font-size:.9rem;font-weight:700}.hardness-stats{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:.6rem;margin:1rem 0 0}.hardness-stats>div{min-width:0;padding:1rem;border-radius:.5rem;background:#f2f6f4}.hardness-stats dd{font-size:1.15rem;overflow-wrap:anywhere;font-variant-numeric:tabular-nums}.hardness-intro-grid{display:grid;grid-template-columns:minmax(13rem,.85fr) minmax(0,1.4fr);gap:1.25rem}.hardness-materials ul{display:grid;gap:.6rem;margin:1rem 0 0;padding:0;list-style:none}.hardness-materials a{display:flex;gap:.65rem;align-items:center;padding:.7rem;color:var(--navy);border:1px solid var(--line);border-radius:.45rem;text-decoration:none;font-size:.86rem;font-weight:700}.hardness-materials a:hover{background:#f2f6f4}.hardness-materials a span{min-width:0}.hardness-materials small{display:block;margin-top:.25rem;color:var(--muted);font-size:.72rem;font-weight:400;overflow-wrap:anywhere}.hardness-guidance p,.hardness-muted,.hardness-upload form p,.hardness-admin-actions p{color:var(--muted);font-size:.85rem;line-height:1.75}.hardness-guidance p:last-child{margin-bottom:0}.hardness-notice{padding:.75rem .9rem;color:#6b501e;border-radius:.4rem;background:#fff7e5;font-size:.83rem;line-height:1.65}.hardness-upload form{margin-top:1rem}.hardness-upload label{font-size:.87rem;font-weight:700}.hardness-upload form p{margin:.35rem 0 .8rem}.hardness-upload form>div{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:1rem}.hardness-upload input{min-width:0;max-width:100%;font:inherit;font-size:.85rem}.hardness-upload input::file-selector-button{min-height:2.5rem;margin-right:.65rem;padding:.5rem .75rem;color:var(--navy);border:1px solid #b8c8c0;border-radius:.4rem;background:#f3f6f4;font:inherit;cursor:pointer}.hardness-table-scroll{max-width:100%;overflow-x:auto;margin-top:1rem;border:1px solid var(--line);border-radius:.5rem}.hardness-page table{width:100%;border-collapse:collapse;font-size:.83rem}.hardness-page table th,.hardness-page table td{padding:.8rem .7rem;border-bottom:1px solid var(--line);text-align:center;vertical-align:middle}.hardness-page table th{color:#52675d;background:#f3f6f4;font-size:.76rem;white-space:nowrap}.hardness-page table tr:last-child td{border-bottom:0}.hardness-page table td{overflow-wrap:anywhere}.hardness-page table td a{color:var(--navy)}.hardness-page .is-me td{color:#184c3a;background:#edf7f1}.hardness-page .is-selected td{background:#f9fbfa}.hardness-me{display:inline-block;margin-left:.4rem;padding:.1rem .4rem;color:#1a6248;border-radius:.5rem;background:#dcefe4;font-size:.7rem;font-weight:800}.hardness-score{font-weight:800;font-variant-numeric:tabular-nums}.hardness-reference-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.8rem;margin:1rem 0 0;padding:0;list-style:none}.hardness-reference-card{display:flex;flex-direction:column;align-items:center;justify-content:center;min-width:0;padding:1.25rem .85rem;border:1px solid var(--line);border-radius:.6rem;background:#f6f9f7;text-align:center}.hardness-reference-card.is-me{border-color:#b5d3c5;background:#edf7f1}.hardness-reference-card h3{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:.35rem;margin:0;color:var(--navy);font-size:.9rem;overflow-wrap:anywhere}.hardness-reference-card .hardness-me{margin-left:0}.hardness-reference-score{margin:.8rem 0 .2rem;color:var(--navy);font-size:1.8rem;font-weight:800;font-variant-numeric:tabular-nums}.hardness-reference-badge{margin-left:.4rem}.hardness-selection{display:flex;flex-direction:column;align-items:center;gap:.4rem}.hardness-selection button{min-height:2.2rem;padding:.4rem .6rem;white-space:nowrap;font-size:.74rem}.hardness-empty{padding:1.5rem;color:var(--muted);text-align:center;font-size:.88rem;line-height:1.7}.hardness-empty svg{color:#708d7f}.hardness-admin form{display:grid;gap:1rem}.hardness-admin form>button{justify-self:start}.hardness-admin fieldset{display:grid;gap:.7rem;margin:0;padding:1rem;border:1px solid var(--line);border-radius:.45rem}.hardness-admin legend{padding:0 .3rem;color:var(--navy);font-size:.85rem;font-weight:700}.hardness-admin fieldset label{display:flex;align-items:center;gap:.5rem;font-size:.85rem}.hardness-admin input[type=checkbox]{width:1.1rem;height:1.1rem;accent-color:var(--navy)}.hardness-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.hardness-admin-actions{display:flex;align-items:end;justify-content:space-between;gap:1rem;flex-wrap:wrap;margin-top:1.5rem;padding-top:1rem;border-top:1px solid var(--line)}.hardness-admin-actions>div{flex:1 1 20rem}.hardness-dataset{width:-moz-fit-content;width:fit-content;padding:.45rem .65rem;color:#795c20;border-radius:.35rem;background:#fff3d5;font-size:.8rem}.hardness-dataset.is-ready{color:#27674c;background:#edf7f0}@media(max-width:1050px){.hardness-stats{grid-template-columns:repeat(3,minmax(0,1fr))}.hardness-intro-grid{grid-template-columns:1fr}}@media(max-width:620px){.hardness-reference-grid{grid-template-columns:1fr}.hardness-page .page-title{align-items:start}.hardness-page .page-title>button{padding:.55rem;flex-shrink:0}.hardness-page .card{padding:1rem}.hardness-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.hardness-stats>div{padding:.75rem}.hardness-stats dd{font-size:1rem}.hardness-form-grid{grid-template-columns:1fr}.hardness-upload form>div{align-items:stretch;flex-direction:column}.hardness-page table{min-width:36rem}.hardness-leaderboard table{min-width:27rem}.hardness-dates{display:grid;gap:.8rem}.hardness-admin-actions>a,.hardness-admin form>button{width:100%}}:root{font-family:Pretendard,Noto Sans KR,system-ui,sans-serif;color:#243b34;background:#f5f7f7;font-synthesis:none;--navy: #24564b;--navy-light: #326e60;--gold: #be944e;--gold-text: #826025;--focus-on-light: #326e60;--focus-on-dark: #f8d37a;--ink: #263b35;--muted: #687b74;--line: #e1e7e4;--paper: #fff;--danger: #b42318;--success: #067647}*{box-sizing:border-box}body{margin:0;min-width:320px;line-height:1.5;-webkit-font-smoothing:antialiased}button,input,select,textarea{font:inherit}button{cursor:pointer}.auth-page,.loading-page{min-height:100vh;display:grid;place-items:center;padding:1.5rem;background:linear-gradient(140deg,#e9eef4,#f8f5ed)}.auth-card{width:min(100%,27rem);display:grid;gap:.65rem;padding:2.25rem;border:1px solid var(--line);border-top:4px solid var(--gold);border-radius:.75rem;background:var(--paper);box-shadow:0 18px 45px #102a4315}.login-page{position:relative;justify-content:start;overflow:hidden;padding:clamp(1.5rem,6vw,5rem);background:#eef3f6;isolation:isolate}.login-hero{position:absolute;z-index:-1;top:0;right:0;bottom:0;left:0;overflow:hidden;pointer-events:none}.login-hero:after{position:absolute;top:0;right:0;bottom:0;left:0;content:"";background:linear-gradient(90deg,#f8fafbd9,#f8fafbbb 31%,#f8fafb33 51%,#102a4308)}.login-hero__art{width:100%;height:100%;-o-object-fit:cover;object-fit:cover;-o-object-position:center;object-position:center}.login-page .auth-card{margin-left:clamp(0rem,4vw,4.5rem);background:#fffffff2;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.auth-card h1,.page h1{margin:0;color:var(--navy);font-size:clamp(1.5rem,4vw,2rem)}.auth-card p{margin:0 0 .55rem;color:var(--muted)}.eyebrow{margin:0;color:var(--gold-text)!important;font-size:.78rem;font-weight:700;letter-spacing:.08em}.auth-card label{font-size:.9rem;font-weight:700}.input,.settings-card select,.course-select select{width:100%;min-height:2.75rem;padding:.65rem .75rem;color:var(--ink);border:1px solid #c6d3cd;border-radius:.5rem;background:#fff}.input:focus,select:focus,.button:focus-visible,.nav-link:focus-visible{outline:3px solid var(--focus-on-light);outline-offset:2px}.button{min-height:2.8rem;margin-top:.45rem;padding:.65rem 1rem;color:#fff;border:0;border-radius:.5rem;background:var(--navy);font-weight:650;transition:background .15s,box-shadow .15s}.button:hover:not(:disabled){background:var(--navy-light)}.button:disabled{cursor:wait;opacity:.65}.form-error{margin:0!important;padding:.65rem .75rem;color:var(--danger)!important;border-radius:.35rem;background:#fef3f2}.success-message{color:var(--success)}.app-shell{min-height:100vh;display:grid;grid-template-columns:15.75rem minmax(0,1fr)}.skip-link{position:fixed;z-index:20;top:.75rem;left:1rem;transform:translateY(-180%);padding:.75rem 1rem;color:#fff;border-radius:.5rem;background:var(--navy)}.skip-link:focus{transform:translateY(0)}.navigation{position:sticky;top:0;height:100dvh;display:flex;flex-direction:column;overflow-y:auto;padding:1.6rem 1rem 1rem;color:var(--ink);border-right:1px solid var(--line);background:var(--paper)}.navigation__brand{display:flex;gap:.65rem;align-items:center;padding:.25rem .35rem 1.75rem;color:var(--ink);text-decoration:none}.navigation__brand-mark{width:2.65rem;height:2.85rem;display:grid;place-items:center;flex:0 0 auto;color:#fff;border-radius:.65rem .65rem .65rem .2rem;background:var(--navy)}.navigation__brand>span:last-child{display:grid;gap:.3rem}.navigation__brand strong{font-size:1.05rem;font-weight:750;letter-spacing:-.045em}.navigation__brand small{color:var(--muted);font-size:.54rem;letter-spacing:.19em}.navigation__workspace{display:flex;align-items:center;gap:.65rem;margin:0 0 1.9rem;padding:.9rem .75rem;border:1px solid var(--line);border-radius:.6rem;background:#f7f9f9}.navigation__workspace>svg{flex:0 0 auto;color:var(--navy)}.navigation__workspace>div{display:grid;gap:.3rem}.navigation__workspace strong{font-size:.78rem;font-weight:650}.navigation__workspace span{color:var(--muted);font-size:.68rem}.navigation__label{margin:0 .85rem .7rem;color:var(--muted);font-size:.66rem;font-weight:600;letter-spacing:.08em}.navigation__links{display:grid;gap:.35rem}.nav-link{min-height:2.85rem;display:flex;gap:.8rem;align-items:center;padding:.7rem .85rem;color:#667672;border-radius:.45rem;text-decoration:none;font-size:.83rem;transition:color .15s,background .15s}.nav-link svg{flex:0 0 auto;stroke-width:1.7}.nav-link:hover{color:var(--navy);background:#f3f7f6}.nav-link.is-active{color:var(--navy);background:#e5efeb;font-weight:700}.navigation__footer{margin-top:auto;padding-top:2.25rem}.navigation__note{display:flex;gap:.55rem;align-items:center;padding:.5rem .65rem 1.15rem;color:var(--muted);font-size:.68rem;line-height:1.65}.navigation__note svg{flex:0 0 auto}.navigation__profile{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:.7rem;padding:1rem .5rem .6rem;color:var(--ink);border-top:1px solid var(--line);text-decoration:none}.navigation__avatar{width:2.2rem;height:2.2rem;display:grid;place-items:center;color:var(--navy);border-radius:50%;background:#e8efec;font-size:.8rem;font-weight:700}.navigation__profile>span:nth-child(2){min-width:0;display:grid;gap:.3rem}.navigation__profile strong{overflow:hidden;font-size:.78rem;font-weight:650;text-overflow:ellipsis;white-space:nowrap}.navigation__profile small{color:var(--muted);font-size:.67rem}.nav-link--button{width:100%;min-height:2.25rem;margin-top:.2rem;padding-left:.65rem;border:0;background:transparent;text-align:left;font-size:.74rem}.navigation .nav-link:focus-visible{outline:3px solid var(--focus-on-light)}.navigation__brand:focus-visible,.navigation__profile:focus-visible,.text-link:focus-visible{outline:3px solid var(--focus-on-light);outline-offset:3px;border-radius:.35rem}.app-main{min-width:0;padding:0 clamp(1.25rem,3vw,3rem) 1.5rem}.app-header{min-height:5rem;display:flex;justify-content:space-between;align-items:center;gap:1.5rem;margin:0 calc(-1*clamp(1.25rem,3vw,3rem)) 2.15rem;padding:.85rem clamp(1.25rem,3vw,3rem);border-bottom:1px solid var(--line);background:var(--paper)}.app-header__breadcrumb{display:flex;align-items:center;gap:.8rem;color:var(--muted);font-size:.72rem}.app-header__breadcrumb strong{color:#394b46;font-weight:550}.app-header__breadcrumb>svg{color:#acb9b4}.app-header__tools{min-width:0;display:flex;gap:1.3rem;align-items:center}.app-header__private{display:inline-flex;flex:0 0 auto;align-items:center;gap:.4rem;padding-left:1.3rem;color:var(--muted);border-left:1px solid var(--line);font-size:.64rem}.course-select{position:relative;min-width:0;display:flex;align-items:center;gap:.7rem;color:var(--muted);font-size:.7rem}.course-select>span{flex:0 0 auto}.course-select select{width:auto;min-width:10rem;max-width:21rem;min-height:2.45rem;padding:.5rem 2rem .5rem .75rem;border-color:var(--line);border-radius:.5rem;background:#fafbfb;-webkit-appearance:none;-moz-appearance:none;appearance:none;font-size:.76rem}.course-select svg{position:absolute;right:.65rem;top:50%;transform:translateY(-50%);pointer-events:none}.page{max-width:88rem;margin-inline:auto}.page-title{display:flex;justify-content:space-between;align-items:end;gap:1rem;margin-bottom:1.65rem}.page-title p{margin:.6rem 0 0;color:var(--muted);font-size:.86rem;line-height:1.7}.page h1{color:var(--ink);font-size:clamp(1.6rem,2.5vw,2rem);font-weight:750;letter-spacing:-.055em}.dashboard-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.25rem}.card{min-height:10rem;padding:1.5rem;border:1px solid var(--line);border-radius:.85rem;background:var(--paper);box-shadow:0 2px 5px #172f2803}.card-title{display:flex;justify-content:space-between;gap:.75rem;align-items:center}.card h2{margin:0;font-size:1rem;font-weight:700;letter-spacing:-.025em}.empty-state{color:var(--muted);font-size:.9rem}.status-badge{display:inline-flex;padding:.25rem .5rem;border-radius:99px;font-size:.75rem;font-weight:700}.status-badge--neutral{color:var(--navy);background:#e9f0ed}.status-badge--warning{color:#7a4b00;background:#fff1cc}.status-badge--success{color:var(--success);background:#ecfdf3}.metric-label{margin:0;color:var(--muted);font-size:.9rem}.metric-value{display:block;margin:.55rem 0;color:var(--navy);font-size:2rem}.settings-card{max-width:38rem;display:grid;gap:1rem}.settings-card h2,.settings-card p{margin:0}.settings-card p{color:var(--muted)}.app-footer{max-width:88rem;display:flex;justify-content:space-between;gap:1rem;margin:2.5rem auto 0;padding-top:1rem;border-top:1px solid var(--line);color:var(--muted);font-size:.66rem}@media(max-width:1050px){.app-shell{grid-template-columns:13.5rem minmax(0,1fr)}.navigation{padding-inline:.75rem}.navigation__brand strong{font-size:.92rem}.app-header__private,.course-select>span{display:none}}@media(max-width:720px){.app-shell{display:block;padding-bottom:calc(5rem + env(safe-area-inset-bottom))}.navigation{position:fixed;z-index:5;inset:auto 0 0;height:auto;flex-direction:row;overflow:visible;gap:.25rem;padding:.4rem .4rem calc(.4rem + env(safe-area-inset-bottom));border:0;border-top:1px solid var(--line);box-shadow:0 -3px 15px #173b3007}.navigation__brand,.navigation__workspace,.navigation__label,.navigation__footer{display:none}.navigation__links{min-width:0;flex:1;display:flex;gap:.2rem;overflow-x:auto;scrollbar-width:thin}.nav-link{min-width:3.7rem;min-height:3.3rem;flex:1 0 auto;flex-direction:column;justify-content:center;gap:.3rem;padding:.4rem .45rem;text-align:center;font-size:.6rem}.nav-link--button{width:auto;min-width:3.5rem;margin:0;flex:0 0 auto;border-left:1px solid var(--line);border-radius:0}.app-main{padding:0 1rem 1.5rem}.app-header{min-height:4.4rem;align-items:center;gap:.65rem;margin:0 -1rem 1.5rem;padding:.8rem 1rem}.app-header__breadcrumb{gap:.4rem;font-size:.7rem}.app-header__breadcrumb>span,.app-header__breadcrumb>svg{display:none}.app-header__tools{max-width:72%}.course-select select{min-width:0;max-width:100%;width:100%;font-size:.7rem}.page-title{margin-bottom:1.25rem}.dashboard-grid{grid-template-columns:1fr}.auth-card{padding:1.5rem}.app-footer{flex-direction:column;gap:.45rem;margin-top:1.75rem}}@media(max-width:720px){.login-page{display:grid;align-content:start;justify-content:stretch;justify-items:stretch;gap:1rem;padding:0 1rem 2rem}.login-page .login-hero{position:relative;z-index:auto;width:calc(100% + 2rem);height:clamp(8rem,31vw,11rem);margin:0 -1rem}.login-hero:after{background:linear-gradient(90deg,#f8fafb33,#102a4314)}.login-hero__art{-o-object-position:72% 43%;object-position:72% 43%}.login-page .auth-card{width:min(100%,31rem);margin:0 auto;background:var(--paper);-webkit-backdrop-filter:none;backdrop-filter:none}}@media(prefers-reduced-motion:reduce){.login-hero__art{scroll-behavior:auto}}.evidence-guide{max-width:62rem;display:grid;gap:1rem;margin:1.4rem 0 1.75rem;padding:clamp(1rem,2.5vw,1.6rem);border:1px solid #e3d2a5;border-top:5px solid var(--gold);border-radius:.8rem;background:linear-gradient(145deg,#fffdf7,#fff 55%);box-shadow:0 10px 30px #102a430c}.evidence-guide__header{max-width:50rem}.evidence-guide__header h2{margin:.35rem 0 .55rem;color:var(--navy);font-size:clamp(1.3rem,3vw,1.7rem)}.evidence-guide__header>p:last-child{margin:0;color:#45576a;line-height:1.7}.evidence-guide__steps{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.evidence-guide__step{display:flex;flex-direction:column;align-items:start;min-width:0;padding:1.2rem;border:1px solid var(--line);border-radius:.7rem;background:var(--paper)}.evidence-guide__step--required{border-color:#dab358;background:#fffaf0}.evidence-guide__badge{display:inline-flex;margin-bottom:.65rem;padding:.25rem .55rem;color:var(--navy);border-radius:99px;background:#e9eef4;font-size:.78rem;font-weight:800}.evidence-guide__step--required .evidence-guide__badge{color:#704700;background:#f9df9f}.evidence-guide__step h3{margin:0 0 .5rem;color:var(--navy);font-size:1.05rem}.evidence-guide__step p{flex:1;margin:0 0 1rem;color:#526477;line-height:1.65}.evidence-guide__link{display:inline-flex;justify-content:center;align-items:center;gap:.35rem;min-height:2.75rem;padding:.6rem .9rem;color:var(--navy);border:1px solid #aab8c6;border-radius:.45rem;background:#fff;font-weight:800;text-decoration:none}.evidence-guide__link:hover{color:#fff;border-color:var(--navy-light);background:var(--navy-light)}.evidence-guide__link--primary{color:#fff;border-color:var(--navy);background:var(--navy)}.evidence-guide__link:focus-visible{outline:3px solid var(--focus-on-light);outline-offset:2px}.evidence-guide__region{padding:.9rem 1rem;color:#5f3d00;border-left:4px solid var(--gold);border-radius:.35rem;background:#fff3d5}.evidence-guide__region p{margin:.3rem 0 0;line-height:1.6}.evidence-guide__final{padding:1rem 1.1rem;border:2px solid var(--gold);border-radius:.6rem;background:#fff}.evidence-guide__final h3{margin:0 0 .45rem;color:var(--navy);font-size:1.08rem}.evidence-guide__final p{margin:.35rem 0 0;line-height:1.6}.evidence-guide__not-accepted{color:var(--danger);font-weight:800}@media(max-width:720px){.evidence-guide{margin-top:1rem}.evidence-guide__steps{grid-template-columns:1fr}.evidence-guide__link{width:100%}.evidence-guide__step{padding:1rem}}.notice-list{display:grid;gap:.75rem}.notice-card{min-height:auto;padding:0}.notice-card a{display:block;padding:1rem 1.25rem;color:var(--ink);text-decoration:none}.notice-card time{color:var(--muted);font-size:.85rem}.notice-card__title{display:flex;align-items:center;gap:.45rem}.notice-card h2{margin:0 0 .4rem;font-size:1.05rem}.notice-unread{color:var(--gold-text);font-size:.78rem;font-weight:700}.notice-detail{max-width:52rem}.notice-body{white-space:pre-wrap;line-height:1.7}.notice-editor{max-width:44rem}.notice-editor form{display:grid;gap:1rem}.notice-editor label,.notice-editor fieldset{display:grid;gap:.45rem;font-weight:700}.notice-editor fieldset{grid-template-columns:repeat(2,max-content);border:1px solid var(--line);border-radius:.4rem}.notice-editor legend{font-weight:700}.notice-editor textarea{width:100%;min-height:12rem;padding:.65rem .75rem;border:1px solid #b8c4d0;border-radius:.4rem;resize:vertical}.roster-filters{display:flex;flex-wrap:wrap;gap:1rem;margin-bottom:1rem}.roster-filters label{display:grid;gap:.35rem;font-weight:700}.roster-filters select{min-height:2.75rem;padding:.5rem;border:1px solid #b8c4d0;border-radius:.4rem}.roster-table-wrap{overflow-x:auto;border:1px solid var(--line);border-radius:.6rem;background:var(--paper)}.roster-table{width:100%;border-collapse:collapse}.roster-table th,.roster-table td{padding:.8rem;border-bottom:1px solid var(--line);text-align:left;white-space:nowrap}.roster-actions{display:flex;flex-wrap:wrap;gap:.4rem}.roster-actions button,.dialog-actions button:not(.button),.dialog button:not(.button){min-height:2.3rem;padding:.4rem .65rem;color:var(--navy);border:1px solid #b8c4d0;border-radius:.35rem;background:#fff}.dialog-backdrop{position:fixed;z-index:10;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;padding:1rem;background:#102a4366}.dialog{width:min(100%,32rem);display:grid;gap:1rem;padding:1.3rem;border-radius:.65rem;background:var(--paper);box-shadow:0 12px 40px #0004}.dialog h2,.dialog p{margin:0}.dialog form{display:grid;gap:.85rem}.dialog label{display:grid;gap:.35rem;font-weight:700}.dialog select{min-height:2.75rem;padding:.5rem;border:1px solid #b8c4d0;border-radius:.4rem}.dialog-actions{display:flex;justify-content:end;gap:.6rem}.dialog-actions .button{margin:0}.temporary-password{overflow-wrap:anywhere;padding:.75rem;color:var(--navy);border:1px dashed var(--gold);border-radius:.35rem;background:#fff9e9;font-family:ui-monospace,monospace;font-weight:700}.one-time-note{color:var(--muted);font-size:.9rem}.group-board{display:grid;grid-template-columns:repeat(auto-fit,minmax(15rem,1fr));gap:1rem}.group-column{min-height:8rem;padding:1rem;border:1px solid var(--line);border-radius:.65rem;background:var(--paper)}.group-column h2{margin:0}.group-student-card{display:grid;gap:.3rem;margin:.6rem 0;padding:.7rem;border:1px solid #b8c4d0;border-radius:.45rem;background:#fff;touch-action:none}.group-student-card:focus-visible{outline:3px solid var(--focus-on-light);outline-offset:2px}.group-student-card__moves{display:flex;flex-wrap:wrap;gap:.35rem}.group-student-card__moves button{min-height:2rem;border:1px solid #b8c4d0;border-radius:.3rem;background:#fff}.question-filters{display:flex;flex-wrap:wrap;gap:1rem;margin-bottom:1rem}.question-filters label{min-width:min(100%,15rem);display:grid;gap:.35rem;font-weight:700}.question-filters select,.question-admin select{min-height:2.75rem;padding:.55rem .7rem;border:1px solid #b8c4d0;border-radius:.4rem;background:#fff}.question-list{display:grid;gap:.75rem}.question-card{min-height:auto;padding:0}.question-card a{display:block;padding:1rem 1.25rem;color:var(--ink);text-decoration:none}.question-card__heading{display:flex;justify-content:space-between;gap:.75rem;align-items:start}.question-card h2{margin:0;font-size:1.05rem}.question-card p,.question-card time{color:var(--muted);font-size:.85rem}.question-form-page{max-width:48rem}.question-form-page form,.question-form-page label,.question-admin,.question-admin label{display:grid;gap:.55rem}.question-form-page form{gap:1rem}.question-form-page label,.question-admin label{font-weight:700}.question-form-page textarea,.question-admin textarea{width:100%;min-height:12rem;padding:.7rem;border:1px solid #b8c4d0;border-radius:.4rem;resize:vertical}.form-actions{display:flex;justify-content:end;gap:1rem;align-items:center}.question-detail-page{max-width:52rem;display:grid;gap:1.25rem}.question-detail{padding:1.4rem;border:1px solid var(--line);border-radius:.65rem;background:var(--paper)}.question-detail header{display:flex;justify-content:space-between;gap:1rem;align-items:start}.question-detail h1{margin:.2rem 0}.question-detail header p:not(.eyebrow),.question-detail>time{color:var(--muted);font-size:.85rem}.question-body,.question-reply p{white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.7}.question-replies{display:grid;gap:.75rem}.question-replies h2,.question-admin h2{margin:0}.question-reply{min-height:auto}.question-reply__meta{display:flex;justify-content:space-between;gap:1rem;color:var(--muted);font-size:.85rem}.question-admin{padding:1.25rem;border:1px solid var(--line);border-radius:.65rem;background:var(--paper)}.question-admin .button{justify-self:end}.dashboard-list h2{margin:0 0 1rem}.dashboard-list ul{display:grid;gap:.85rem;margin:0;padding:0;list-style:none}.dashboard-list li{display:grid;gap:.2rem;padding-bottom:.7rem;border-bottom:1px solid var(--line)}.dashboard-list li:last-child{padding-bottom:0;border:0}.dashboard-list a{color:var(--navy);font-weight:700}.dashboard-list time,.dashboard-list li p{margin:0;color:var(--muted);font-size:.82rem}.admin-dashboard-courses{display:grid;gap:1rem}.admin-course-card{min-height:auto}.admin-course-card header h2{margin:.2rem 0 1rem}.admin-course-card dl{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.75rem;margin:0}.admin-course-card dl div{padding:.8rem;border-radius:.45rem;background:#f3f5f8}.admin-course-card dt{color:var(--muted);font-size:.82rem}.admin-course-card dd{margin:.35rem 0 0;color:var(--navy);font-size:1.5rem;font-weight:800}@media(max-width:720px){.question-card__heading,.question-detail header,.question-reply__meta{align-items:start;flex-direction:column}.question-filters{display:grid}.question-filters label{min-width:0}.form-actions{justify-content:stretch}.form-actions .button{flex:1}.admin-course-card dl{grid-template-columns:repeat(2,minmax(0,1fr))}}.guide-entry{min-height:auto;margin-bottom:1rem}.guide-entry p{color:var(--muted)}.guide-entry .button{display:inline-flex;margin-top:.4rem;text-decoration:none}.guide-page .card{max-width:52rem}.guide-steps{display:grid;gap:1rem;padding-left:1.4rem}.guide-steps h3{margin:0 0 .3rem;color:var(--navy);font-size:1rem}.guide-steps p,.guide-support{margin:0;color:var(--muted);line-height:1.65}.audit-filters{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.8rem;margin-bottom:1rem}.audit-filters label{display:grid;gap:.35rem;font-weight:700}.audit-filters input{min-width:0}.audit-filters input[type=date]{min-height:2.75rem;padding:.5rem;border:1px solid #b8c4d0;border-radius:.4rem}@media(max-width:720px){.audit-filters{grid-template-columns:1fr}}.button--with-icon{display:inline-flex;justify-content:center;align-items:center;gap:.45rem;text-decoration:none}.button--secondary{color:var(--navy);border:1px solid #b8c4d0;background:#fff}.button--secondary:hover:not(:disabled){color:#fff;border-color:var(--navy-light)}.icon-button{width:2.35rem;height:2.35rem;display:inline-grid;place-items:center;flex:0 0 auto;padding:0;color:#526477;border:1px solid #cbd5df;border-radius:.45rem;background:#fff}.icon-button:hover:not(:disabled){color:var(--navy);border-color:#91a2b4;background:#f4f7fa}.icon-button:disabled{cursor:not-allowed;opacity:.35}.icon-button:focus-visible,.group-toolbar button:focus-visible,.leader-button:focus-visible,.group-set-card:focus-visible,.activity-card__main:focus-visible,.activity-card__admin-actions a:focus-visible,.submission-action:focus-visible,.submission-status__back:focus-visible,.submission-row__file a:focus-visible{outline:3px solid var(--focus-on-light);outline-offset:2px}.section-heading{display:flex;justify-content:space-between;align-items:end;gap:1rem;margin:0 0 .85rem}.section-heading h2{margin:.2rem 0 0;color:var(--navy);font-size:1.25rem}.section-heading>span{color:var(--muted);font-size:.86rem;font-weight:700}.group-hub-page,.group-board-page,.student-groups-page,.activity-list-page,.activity-detail-page{max-width:88rem}.group-course-select{max-width:34rem;display:grid;gap:.4rem;margin-bottom:1.25rem;color:var(--navy);font-weight:800}.group-course-select select,.group-toolbar select,.group-student-card__move select,.activity-editor select{width:100%;min-height:2.75rem;padding:.6rem .75rem;color:var(--ink);border:1px solid #b8c4d0;border-radius:.45rem;background:#fff}.group-setup{margin:0 0 2rem;overflow:hidden;border:1px solid #d3dce5;border-top:4px solid var(--gold);border-radius:.8rem;background:#fff;box-shadow:0 8px 24px #102a430a}.group-setup__header{display:flex;justify-content:space-between;align-items:start;gap:1.25rem;padding:1.3rem 1.4rem;border-bottom:1px solid var(--line);background:linear-gradient(135deg,#fffdf8,#f8fafc)}.group-setup__header h2{margin:.25rem 0 .35rem;color:var(--navy);font-size:1.25rem}.group-setup__header p{margin:0;color:var(--muted)}.group-setup__roster{display:inline-flex;align-items:center;gap:.45rem;flex:0 0 auto;padding:.55rem .75rem;color:#075e3b;border-radius:99px;background:#e9f9f0;font-size:.86rem;font-weight:800}.group-setup__fields{display:grid;grid-template-columns:minmax(14rem,2fr) repeat(2,minmax(8rem,1fr));gap:1rem;padding:1.3rem 1.4rem}.group-setup__fields label{display:grid;gap:.4rem;color:var(--navy);font-size:.9rem;font-weight:800}.group-setup__footer{display:flex;justify-content:space-between;align-items:center;gap:1rem;padding:0 1.4rem 1.3rem}.group-setup__footer p{display:inline-flex;align-items:center;gap:.45rem;margin:0;color:#53677a;font-weight:700}.group-setup__footer .button{margin:0}.group-set-section{margin-top:1.25rem}.group-set-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(18rem,1fr));gap:.85rem}.group-set-card{min-width:0;display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:.8rem;align-items:center;padding:1rem;color:var(--ink);border:1px solid var(--line);border-radius:.7rem;background:#fff;box-shadow:0 3px 10px #102a4308;text-decoration:none;transition:border-color .16s ease,box-shadow .16s ease,transform .16s ease}.group-set-card:hover{border-color:#a9b8c7;box-shadow:0 8px 22px #102a4312;transform:translateY(-1px)}.group-set-card__icon{width:2.75rem;height:2.75rem;display:grid;place-items:center;color:var(--navy);border-radius:.6rem;background:#eaf0f6}.group-set-card__body{min-width:0}.group-set-card h3{overflow:hidden;margin:0 0 .45rem;color:var(--navy);font-size:1rem;text-overflow:ellipsis;white-space:nowrap}.group-set-card__badges{display:flex;flex-wrap:wrap;gap:.35rem}.group-set-card__badges span{display:inline-flex;align-items:center;gap:.25rem;padding:.2rem .45rem;color:#35516d;border-radius:99px;background:#eef3f7;font-size:.72rem;font-weight:800}.group-set-card__badges .is-locked{color:#855700;background:#fff1cc}.group-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.75rem;margin-bottom:1rem}.group-summary__metric{min-width:0;display:grid;grid-template-columns:auto minmax(0,1fr);gap:.15rem .6rem;align-items:center;padding:.9rem 1rem;border:1px solid var(--line);border-radius:.65rem;background:#fff}.group-summary__metric>span:not(.group-summary__icon){color:var(--muted);font-size:.78rem;font-weight:700}.group-summary__metric strong{color:var(--navy);font-size:1.3rem}.group-summary__icon{grid-row:span 2;width:2.5rem;height:2.5rem;display:grid;place-items:center;color:var(--navy);border-radius:.55rem;background:#eaf0f6}.group-summary__metric.is-warning{border-color:#e6cd91;background:#fffdf8}.group-summary__metric.is-warning .group-summary__icon{color:#865800;background:#fff0c8}.group-toolbar{display:grid;gap:1rem;margin-bottom:1rem;padding:1rem;border:1px solid var(--line);border-radius:.7rem;background:#fff}.group-toolbar__controls{display:grid;grid-template-columns:minmax(14rem,2fr) minmax(10rem,1fr) auto;gap:.8rem;align-items:end}.group-toolbar__controls label:not(.group-toolbar__lock){display:grid;gap:.35rem;color:var(--navy);font-size:.82rem;font-weight:800}.group-toolbar__controls label>span{display:inline-flex;align-items:center;gap:.35rem}.group-toolbar__lock{min-height:2.75rem;display:inline-flex;align-items:center;gap:.4rem;padding:.55rem .75rem;color:var(--navy);border:1px solid #cbd5df;border-radius:.45rem;background:#f8fafc;font-size:.86rem;font-weight:800}.group-toolbar__lock input{width:1rem;height:1rem;accent-color:var(--navy)}.group-toolbar__actions{display:flex;flex-wrap:wrap;gap:.5rem;padding-top:.8rem;border-top:1px solid var(--line)}.group-toolbar__actions button,.group-conflict button{min-height:2.45rem;display:inline-flex;align-items:center;gap:.38rem;padding:.5rem .7rem;color:var(--navy);border:1px solid #bdc9d4;border-radius:.42rem;background:#fff;font-weight:750}.group-toolbar__actions button:hover{background:#f2f6f9}.group-toolbar__actions button.is-primary{color:#fff;border-color:var(--navy);background:var(--navy)}.group-conflict{display:flex;flex-wrap:wrap;gap:.5rem;align-items:center;margin-bottom:1rem!important}.group-workspace{display:grid;grid-template-columns:minmax(17rem,.8fr) minmax(0,3fr);gap:1rem;align-items:start}.group-board{grid-template-columns:repeat(auto-fit,minmax(17rem,1fr));align-items:start}.group-column{min-width:0;min-height:11rem;padding:.9rem;border-color:#d2dce5;box-shadow:0 4px 14px #102a4308}.group-column.is-full{border-color:#b9c7d4}.group-column--unassigned{border-color:#e4c985;background:#fffdf8}.group-column__header{display:flex;justify-content:space-between;gap:.75rem;align-items:start}.group-column__header h2{margin:.15rem 0 0;color:var(--navy);font-size:1.05rem}.group-column__eyebrow{display:inline-flex;align-items:center;gap:.3rem;color:var(--muted);font-size:.72rem;font-weight:800}.capacity-badge{flex:0 0 auto;padding:.28rem .5rem;color:#315170;border-radius:99px;background:#eaf0f6;font-size:.74rem;font-weight:850}.capacity-badge.is-full{color:#875900;background:#fff0c8}.capacity-badge.is-warning{color:#9d3f2f;background:#fff0e9}.capacity-meter{height:.3rem;overflow:hidden;margin:.7rem 0 .8rem;border-radius:99px;background:#e8edf2}.capacity-meter span{height:100%;display:block;border-radius:inherit;background:var(--navy-light)}.group-column.is-full .capacity-meter span{background:var(--gold)}.group-column__hint{margin:-.1rem 0 .7rem;color:var(--muted);font-size:.78rem;line-height:1.45}.group-column__members{display:grid;gap:.65rem;min-height:2rem}.group-member{overflow:hidden;border:1px solid #cbd5df;border-radius:.58rem;background:#fff}.group-student-card{gap:.65rem;margin:0;padding:.75rem;border:0;border-radius:0;touch-action:auto}.group-student-card.is-leader{background:linear-gradient(145deg,#fffaf0,#fff 65%)}.group-student-card__topline{min-width:0;display:grid;grid-template-columns:auto minmax(0,1fr) auto auto;gap:.55rem;align-items:center}.group-student-card__avatar{width:2.25rem;height:2.25rem;display:inline-grid;place-items:center;flex:0 0 auto;color:#fff;border-radius:.55rem;background:var(--navy);font-size:.88rem;font-weight:850}.group-student-card__identity{min-width:0;display:grid;gap:.08rem}.group-student-card__identity strong{overflow:hidden;color:var(--navy);font-size:.92rem;text-overflow:ellipsis;white-space:nowrap}.group-student-card__identity>span{color:var(--muted);font-size:.76rem}.leader-badge{display:inline-flex;align-items:center;gap:.25rem;padding:.25rem .42rem;color:#795000;border-radius:99px;background:#ffedbd;font-size:.7rem;font-weight:850;white-space:nowrap}.group-student-card__drag{touch-action:none}.group-student-card__move{display:grid;grid-template-columns:auto auto minmax(0,1fr);gap:.4rem;align-items:center;color:var(--muted);font-size:.75rem;font-weight:700}.group-student-card__move select{min-width:0;min-height:2.15rem;padding:.35rem .45rem;font-size:.78rem}.group-member__actions{display:flex;gap:.35rem;align-items:center;padding:.45rem .6rem;border-top:1px solid #e5eaf0;background:#f8fafc}.group-member__actions .icon-button{width:2rem;height:2rem}.leader-button{min-height:2rem;display:inline-flex;align-items:center;gap:.3rem;margin-left:auto;padding:.32rem .55rem;color:#526477;border:1px solid #cbd5df;border-radius:.4rem;background:#fff;font-size:.74rem;font-weight:800}.leader-button.is-active{color:#704700;border-color:#ddb85f;background:#fff4d8}.group-board--student{grid-template-columns:repeat(auto-fill,minmax(18rem,1fr))}.student-group-card{display:flex;flex-direction:column}.student-group-card.is-mine{border:2px solid var(--gold)}.student-group-card__members{display:grid;gap:.5rem;margin:0 0 1rem;padding:0;list-style:none}.student-group-card__members li{min-width:0;display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:.55rem;align-items:center;padding:.6rem;border:1px solid #e0e6ec;border-radius:.5rem;background:#fafbfd}.student-group-card__members li>span:nth-child(2){min-width:0;display:grid}.student-group-card__members strong{overflow:hidden;color:var(--navy);font-size:.88rem;text-overflow:ellipsis;white-space:nowrap}.student-group-card__members small{color:var(--muted)}.student-group-card__join{width:100%;margin-top:auto}.my-group-callout{display:flex;align-items:center;gap:.5rem;margin:0 0 1rem;padding:.8rem 1rem;color:#6d4900;border:1px solid #e3c571;border-radius:.55rem;background:#fff8e5;font-weight:800}.activity-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(18rem,1fr));gap:1rem}.activity-card{position:relative;min-width:0;min-height:15.5rem;display:flex;flex-direction:column;overflow:hidden;color:var(--ink);border:1px solid var(--line);border-top:4px solid #738ca4;border-radius:.75rem;background:#fff;box-shadow:0 4px 14px #102a4309;transition:border-color .16s ease,box-shadow .16s ease,transform .16s ease}.activity-card:hover{border-color:#a7b7c6;box-shadow:0 10px 25px #102a4314;transform:translateY(-2px)}.activity-card--group{border-top-color:#317a69}.activity-card--evidence{border-color:#e2c77e;border-top-color:var(--gold);background:linear-gradient(150deg,#fffaf0,#fff 55%)}.activity-card__main{min-width:0;display:flex;flex:1;flex-direction:column;padding:1.1rem;color:var(--ink);text-decoration:none}.activity-card__header{display:flex;justify-content:space-between;gap:.5rem;align-items:center}.activity-card__type,.publication-badge{display:inline-flex;align-items:center;gap:.3rem;padding:.25rem .48rem;border-radius:99px;font-size:.72rem;font-weight:850}.activity-card__type{color:#264663;background:#eaf0f6}.activity-card--group .activity-card__type{color:#12614e;background:#e7f5f0}.activity-card--evidence .activity-card__type{color:#735000;background:#ffedbd}.publication-badge{color:#657587;background:#f0f2f5}.publication-badge.is-published{color:#087249;background:#e9f9f0}.activity-card h2{margin:1.15rem 0;color:var(--navy);font-size:1.16rem;line-height:1.42}.activity-card__deadline{display:flex;gap:.55rem;align-items:center;margin:0 0 1rem;color:#53677a}.activity-card__deadline>span{display:grid;gap:.08rem}.activity-card__deadline small{color:var(--muted);font-size:.7rem;font-weight:750}.activity-card__deadline time{font-size:.82rem;font-weight:700}.activity-card__footer{min-width:0;display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:.55rem;align-items:center;margin-top:auto;padding-top:.8rem;border-top:1px solid var(--line)}.activity-card__footer>strong{color:var(--muted);font-size:.72rem;white-space:nowrap}.activity-card__admin-actions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.4rem;padding:.65rem;border-top:1px solid var(--line);background:#f8fafc}.activity-card__admin-actions a{min-width:0;min-height:2.35rem;display:inline-flex;justify-content:center;align-items:center;gap:.32rem;padding:.42rem .5rem;color:#42586d;border:1px solid #c8d2dc;border-radius:.42rem;background:#fff;font-size:.76rem;font-weight:800;text-align:center;text-decoration:none}.activity-card__admin-actions a:hover{color:var(--navy);border-color:#91a2b4;background:#f2f6f9}.activity-card__admin-actions a.is-primary{color:#fff;border-color:var(--navy);background:var(--navy)}.activity-card__admin-actions a.is-primary:hover{background:var(--navy-light)}.file-kind-list{min-width:0;display:flex;flex-wrap:wrap;gap:.25rem}.file-kind-list span{padding:.18rem .36rem;color:#35516d;border-radius:.3rem;background:#eef3f7;font-size:.67rem;font-weight:850}.activity-editor-page{max-width:55rem}.activity-editor{display:grid;gap:1rem}.activity-editor__section,.activity-panel{padding:1.25rem;border:1px solid var(--line);border-radius:.75rem;background:#fff;box-shadow:0 4px 14px #102a4308}.activity-editor__section>header,.activity-panel__header{display:flex;gap:.7rem;align-items:start;margin-bottom:1.1rem}.activity-editor__section>header>span,.activity-panel__header>span{width:2.45rem;height:2.45rem;display:grid;place-items:center;flex:0 0 auto;color:var(--navy);border-radius:.55rem;background:#eaf0f6}.activity-editor__section h2,.activity-panel__header h2{margin:0 0 .25rem;color:var(--navy);font-size:1.08rem}.activity-editor__section header p,.activity-panel__header p{margin:0;color:var(--muted);font-size:.83rem;line-height:1.5}.activity-editor__fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.activity-editor__fields>label{min-width:0;display:grid;gap:.4rem;color:var(--navy);font-size:.87rem;font-weight:800}.activity-editor__fields label small{display:flex;gap:.3rem;align-items:center;color:var(--muted);font-size:.72rem;font-weight:500}.activity-editor__wide{grid-column:1 / -1}.activity-editor textarea{width:100%;min-height:9rem;padding:.7rem .75rem;border:1px solid #b8c4d0;border-radius:.45rem;resize:vertical}.file-kind-fieldset{margin:0;padding:.8rem;border:1px solid #ccd6df;border-radius:.55rem}.file-kind-fieldset legend{padding:0 .25rem;color:var(--navy);font-size:.87rem;font-weight:800}.file-kind-fieldset>div{display:flex;flex-wrap:wrap;gap:.5rem}.file-kind-fieldset label{position:relative}.file-kind-fieldset label input{position:absolute;opacity:0}.file-kind-fieldset label span{display:inline-flex;padding:.42rem .65rem;color:#526477;border:1px solid #cbd5df;border-radius:.42rem;background:#fff;font-size:.78rem;font-weight:800;cursor:pointer}.file-kind-fieldset label input:checked+span{color:#fff;border-color:var(--navy);background:var(--navy)}.file-kind-fieldset label input:focus-visible+span{outline:3px solid var(--focus-on-light);outline-offset:2px}.activity-editor__section--publish{border-color:#dfcb96;background:#fffdf8}.publish-toggle{display:flex;gap:.65rem;align-items:start;padding:.75rem;border:1px solid #dfd1a8;border-radius:.55rem;background:#fff;cursor:pointer}.publish-toggle input{width:1.1rem;height:1.1rem;margin-top:.1rem;accent-color:var(--navy)}.publish-toggle>span{display:grid;gap:.18rem}.publish-toggle strong{color:var(--navy)}.publish-toggle small{color:var(--muted);line-height:1.45}.activity-editor__actions{display:flex;justify-content:end}.activity-editor__actions .button{min-width:8rem;margin:0}.activity-detail-page .page-title{align-items:start}.activity-detail-page .page-title h1{margin-top:.55rem}.activity-detail__type{display:inline-flex;align-items:center;gap:.35rem;padding:.28rem .55rem;color:#264663;border-radius:99px;background:#eaf0f6;font-size:.75rem;font-weight:850}.activity-detail__type--group{color:#12614e;background:#e7f5f0}.activity-detail__type--evidence{color:#735000;background:#ffedbd}.activity-detail__deadline{display:inline-flex;gap:.45rem;align-items:center;margin:-.6rem 0 1rem;color:#526477;font-size:.88rem;font-weight:700}.activity-panel{max-width:62rem;margin:1rem 0}.activity-panel__header{margin-bottom:.9rem}.activity-resource-list{display:grid;gap:.5rem;margin:0 0 1rem;padding:0;list-style:none}.activity-resource-list li{display:flex;gap:.5rem;align-items:center;padding:.6rem;border:1px solid #e0e6ec;border-radius:.5rem;background:#fafbfd}.activity-resource-list a{min-width:0;display:flex;gap:.5rem;align-items:center;color:var(--navy);font-weight:750;text-decoration:none}.activity-resource-list a span{overflow-wrap:anywhere}.activity-resource-list a small{color:var(--muted);font-weight:500;white-space:nowrap}.activity-resource-list .icon-button{margin-left:auto;color:var(--danger)}.activity-upload{display:flex;gap:.75rem;align-items:end;padding-top:1rem;border-top:1px solid var(--line)}.activity-upload__file{min-width:0;display:grid;flex:1;gap:.4rem;color:var(--navy);font-size:.85rem;font-weight:800}.activity-upload__file input{width:100%;min-height:2.75rem;padding:.45rem;border:1px dashed #9babb9;border-radius:.45rem;background:#fafbfd}.activity-upload .button{margin:0}.activity-panel--submission{border-top:4px solid var(--navy)}.current-submission{display:flex;justify-content:space-between;gap:1rem;align-items:center;margin-bottom:1rem;padding:.85rem;border:1px solid #bcdacb;border-radius:.55rem;background:#f1fbf5}.current-submission>div{min-width:0;display:grid;gap:.2rem}.current-submission strong{overflow-wrap:anywhere;color:#075e3b}.current-submission span,.current-submission p{margin:0;color:#4f6d5e;font-size:.78rem}.current-submission .button{flex:0 0 auto;margin:0}.current-submission--official{justify-content:start;border-color:#d8bd74;background:linear-gradient(135deg,#fff8e7,#fffdf8)}.current-submission__official-icon{width:2.65rem;height:2.65rem;display:grid;place-items:center;flex:0 0 auto;color:#765000;border-radius:.58rem;background:#ffe8ad}.current-submission--official>div strong{color:#624300}.current-submission--official>div span,.current-submission--official>div p{color:#6f5a2d}.activity-upload--submission{display:grid;align-items:stretch}.activity-upload--submission>p{margin:0;color:var(--muted);font-size:.8rem}.activity-upload__actions{display:flex;gap:.5rem}.activity-refresh-error{display:flex;flex-wrap:wrap;gap:.6rem;align-items:center;margin-top:.8rem}.activity-refresh-error .button{margin:0}.activity-panel--admin .button{display:inline-flex;margin:0}.activity-message{max-width:62rem}.submission-status-page{max-width:88rem}.submission-status__back{display:inline-flex;align-items:center;gap:.35rem;margin-bottom:1rem;color:#526477;font-size:.84rem;font-weight:800;text-decoration:none}.submission-status__back:hover{color:var(--navy)}.submission-status__title{margin-bottom:1rem}.submission-status__title .eyebrow{margin-bottom:.3rem}.submission-summary{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:.7rem;margin-bottom:1rem}.submission-summary__metric{min-width:0;display:grid;grid-template-columns:auto minmax(0,1fr);gap:.12rem .58rem;align-items:center;padding:.85rem .9rem;border:1px solid var(--line);border-radius:.68rem;background:#fff;box-shadow:0 3px 10px #102a4307}.submission-summary__metric>span:not(.submission-summary__icon){overflow:hidden;color:var(--muted);font-size:.75rem;font-weight:800;text-overflow:ellipsis;white-space:nowrap}.submission-summary__metric strong{color:var(--navy);font-size:1.4rem}.submission-summary__icon{grid-row:span 2;width:2.45rem;height:2.45rem;display:grid;place-items:center;color:#35516d;border-radius:.58rem;background:#edf2f6}.submission-summary__metric.is-pending{border-color:#e5d3a7;background:#fffdf8}.submission-summary__metric.is-pending .submission-summary__icon{color:#805500;background:#fff0c8}.submission-summary__metric.is-verified{border-color:#bcdacb;background:#f8fdf9}.submission-summary__metric.is-verified .submission-summary__icon{color:var(--success);background:#e8f7ef}.submission-summary__metric.is-resubmission{border-color:#ecc9c3;background:#fffaf9}.submission-summary__metric.is-resubmission .submission-summary__icon{color:var(--danger);background:#feebe8}.submission-summary__metric.is-missing .submission-summary__icon{color:#657587;background:#eef1f4}.submission-toolbar{display:grid;grid-template-columns:minmax(14rem,2fr) minmax(10rem,1fr) auto;gap:.8rem;align-items:end;margin-bottom:1rem;padding:1rem;border:1px solid var(--line);border-radius:.72rem;background:#fff;box-shadow:0 3px 10px #102a4307}.submission-toolbar label{min-width:0;display:grid;gap:.35rem;color:var(--navy);font-size:.8rem;font-weight:800}.submission-toolbar label>span{display:inline-flex;align-items:center;gap:.35rem}.submission-toolbar select{width:100%;min-height:2.75rem;padding:.6rem .75rem;color:var(--ink);border:1px solid #b8c4d0;border-radius:.45rem;background:#fff}.submission-toolbar__count{min-height:2.75rem;display:inline-flex;align-items:center;padding:.6rem .8rem;color:#526477;border-radius:.45rem;background:#eef3f7;font-size:.82rem;white-space:nowrap}.submission-list{display:grid;gap:.72rem}.submission-row{min-width:0;display:grid;grid-template-columns:minmax(12rem,1.15fr) minmax(10rem,.9fr) minmax(13rem,1.25fr) auto;gap:.85rem;align-items:center;padding:1rem;border:1px solid var(--line);border-left:4px solid #8ba0b3;border-radius:.7rem;background:#fff;box-shadow:0 3px 11px #102a4308}.submission-row--submitted{border-left-color:var(--gold)}.submission-row--verified{border-left-color:var(--success)}.submission-row--resubmission-requested{border-left-color:var(--danger);background:linear-gradient(90deg,#fff9f8,#fff 22%)}.submission-row__identity{min-width:0;display:flex;gap:.65rem;align-items:center}.submission-row__avatar{width:2.65rem;height:2.65rem;display:inline-grid;place-items:center;flex:0 0 auto;color:#fff;border-radius:.62rem;background:var(--navy);font-size:.8rem;font-weight:850}.submission-row__identity>div{min-width:0;display:flex;flex-wrap:wrap;gap:.32rem;align-items:center}.submission-row__identity h2{width:100%;overflow:hidden;margin:0 0 .1rem;color:var(--navy);font-size:.96rem;text-overflow:ellipsis;white-space:nowrap}.submission-state,.submission-late{display:inline-flex;align-items:center;gap:.25rem;padding:.23rem .42rem;border-radius:99px;font-size:.68rem;font-weight:850;white-space:nowrap}.submission-state{color:#526477;background:#edf1f4}.submission-state--submitted{color:#795000;background:#fff0c8}.submission-state--verified{color:var(--success);background:#e8f7ef}.submission-state--resubmission-requested{color:var(--danger);background:#feebe8}.submission-late{color:#8a400a;background:#fff0e6}.submission-row__details{min-width:0;display:flex;gap:.5rem;align-items:center;color:#607285}.submission-row__details>span:not(.submission-version){min-width:0;display:flex;gap:.42rem;align-items:center}.submission-row__details>span>span{min-width:0;display:grid;gap:.06rem}.submission-row__details small{color:var(--muted);font-size:.67rem;font-weight:750}.submission-row__details time,.submission-row__details strong{overflow:hidden;color:#40566b;font-size:.76rem;text-overflow:ellipsis;white-space:nowrap}.submission-version{flex:0 0 auto;padding:.2rem .38rem;color:#35516d;border-radius:.3rem;background:#eef3f7;font-size:.68rem;font-weight:850}.submission-row__file{min-width:0}.submission-row__file>a{min-width:0;display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:.55rem;align-items:center;padding:.58rem .65rem;color:var(--navy);border:1px solid #d6dee6;border-radius:.5rem;background:#f9fbfc;text-decoration:none}.submission-row__file>a:hover{border-color:#9badbd;background:#f2f6f9}.submission-row__file a>span:nth-child(2){min-width:0;display:grid;gap:.08rem}.submission-row__file a strong{overflow:hidden;font-size:.79rem;text-overflow:ellipsis;white-space:nowrap}.submission-row__file a small{color:var(--muted);font-size:.67rem}.submission-row__file-icon{width:2rem;height:2rem;display:grid;place-items:center;color:#35516d;border-radius:.42rem;background:#eaf0f6}.submission-row__no-file{display:inline-flex;align-items:center;gap:.4rem;color:var(--muted);font-size:.78rem;font-weight:700}.submission-row__official-source{display:inline-flex;align-items:center;gap:.4rem;padding:.58rem .65rem;color:#6d4b08;border:1px solid #dec47d;border-radius:.5rem;background:#fff8e6;font-size:.78rem;font-weight:850}.submission-row__actions{display:grid;grid-template-columns:1fr;gap:.38rem}.submission-action{min-height:2.35rem;display:inline-flex;justify-content:center;align-items:center;gap:.35rem;padding:.45rem .65rem;color:#465d72;border:1px solid #bdc9d4;border-radius:.42rem;background:#fff;font-size:.76rem;font-weight:800;white-space:nowrap}.submission-action:hover:not(:disabled){color:var(--navy);border-color:#91a2b4;background:#f2f6f9}.submission-action:disabled{cursor:not-allowed;opacity:.55}.submission-action--verify{color:#fff;border-color:var(--success);background:var(--success)}.submission-action--verify:hover:not(:disabled){color:#fff;border-color:#075b3a;background:#075b3a}.submission-action--request{color:#fff;border-color:var(--danger);background:var(--danger)}.submission-action--request:hover:not(:disabled){color:#fff;border-color:#8e1d14;background:#8e1d14}.submission-row__review-comment{grid-column:1 / -1;display:flex;gap:.55rem;margin:0;padding:.7rem .8rem;color:#7b3329;border-radius:.45rem;background:#fff0ed;font-size:.8rem;line-height:1.5}.submission-row__review-comment>span{display:grid;gap:.12rem}.submission-row__comment{grid-column:1 / -1;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:.7rem;align-items:end;padding:.8rem;border-top:1px solid var(--line);border-radius:.48rem;background:#f8fafc}.submission-row__comment label{min-width:0;display:grid;gap:.35rem;color:var(--navy);font-size:.8rem;font-weight:800}.submission-row__comment textarea{width:100%;min-height:5.2rem;padding:.65rem .7rem;color:var(--ink);border:1px solid #aebdca;border-radius:.42rem;resize:vertical}.submission-row__comment>div{display:flex;gap:.4rem}.submission-empty{display:flex;justify-content:center;align-items:center;gap:.5rem;min-height:9rem;margin:0;padding:1rem;color:var(--muted);border:1px dashed #b8c4d0;border-radius:.7rem;background:#fff;font-weight:700}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}@media(max-width:900px){.group-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.group-workspace{grid-template-columns:1fr}.group-column--unassigned{position:static}.submission-summary{grid-template-columns:repeat(3,minmax(0,1fr))}.submission-row,.submission-row__actions{grid-template-columns:repeat(2,minmax(0,1fr))}.submission-row__review-comment,.submission-row__comment{grid-column:1 / -1}}@media(max-width:720px){.page-title{align-items:stretch;flex-direction:column}.page-title>.button{width:100%;margin:0}.group-setup__header,.group-setup__footer{align-items:stretch;flex-direction:column}.group-setup__roster{align-self:start}.group-setup__fields{grid-template-columns:1fr}.group-setup__name{grid-column:auto}.group-setup__footer .button{width:100%}.group-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.group-summary__metric{padding:.75rem}.group-toolbar__controls{grid-template-columns:1fr}.group-toolbar__actions{display:grid;grid-template-columns:1fr 1fr}.group-toolbar__actions button{justify-content:center}.group-toolbar__actions button.is-primary{grid-column:1 / -1;grid-row:1}.group-board{grid-template-columns:1fr}.group-student-card__topline{grid-template-columns:auto minmax(0,1fr) auto}.group-student-card__topline .leader-badge{grid-column:2;justify-self:start}.group-student-card__drag{grid-column:3;grid-row:1 / span 2}.group-student-card__move{grid-template-columns:auto minmax(0,1fr)}.group-student-card__move>span{display:none}.activity-grid,.activity-editor__fields{grid-template-columns:1fr}.activity-editor__wide{grid-column:auto}.activity-upload,.current-submission{align-items:stretch;flex-direction:column}.activity-upload .button,.current-submission .button{width:100%}.activity-card__admin-actions{grid-template-columns:1fr}.submission-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.submission-toolbar{grid-template-columns:1fr}.submission-toolbar__count{min-height:auto;justify-self:start}.submission-row{grid-template-columns:1fr;padding:.85rem}.submission-row__actions{grid-template-columns:1fr 1fr}.submission-row__comment{grid-template-columns:1fr}.submission-row__comment>div{display:grid;grid-template-columns:1fr 1fr}}@media(prefers-reduced-motion:reduce){.group-set-card,.activity-card{transition:none}}.dashboard-page .dashboard-eyebrow{margin:0 0 .55rem;color:var(--navy)!important;font-size:.66rem;font-weight:650;letter-spacing:.12em}.dashboard-semester{flex:0 0 auto;margin-bottom:.25rem;padding:.45rem .7rem;color:#5e776b;border:1px solid var(--line);border-radius:.45rem;background:#fafcfb;font-size:.69rem}.dashboard-hero{position:relative;isolation:isolate;min-height:18rem;overflow:hidden;margin-bottom:2rem;border:1px solid #244a40;border-radius:.9rem;background:#153b31}.dashboard-hero__image{position:absolute;z-index:-2;inset:0 0 0 auto;width:76%;height:100%;-o-object-fit:cover;object-fit:cover;-o-object-position:center 53%;object-position:center 53%}.dashboard-hero:after{position:absolute;z-index:-1;top:0;right:0;bottom:0;left:0;content:"";background:linear-gradient(90deg,#14372f,#14372ffa 27%,#14372fc9 44%,#14372f26 73%,#14372f00)}.dashboard-hero__content{max-width:38rem;padding:2rem 2.25rem}.dashboard-hero__eyebrow{display:flex;align-items:center;gap:.55rem;margin:0 0 1rem;color:#bed4c9;font-size:.66rem;letter-spacing:.1em}.dashboard-hero__eyebrow>span{width:.3rem;height:.3rem;border-radius:50%;background:#91c6aa}.dashboard-hero h2{margin:0;color:#fff;font-size:clamp(1.5rem,2.2vw,2.05rem);font-weight:650;line-height:1.55;letter-spacing:-.045em;text-wrap:balance}.dashboard-hero__description{max-width:24rem;margin:.85rem 0 1.3rem;color:#d0dfd7;font-size:.78rem;line-height:1.9;word-break:keep-all}.dashboard-hero__link{display:inline-flex;justify-content:space-between;align-items:center;gap:1.6rem;min-height:2.65rem;padding:.6rem .9rem;color:#214e40;border:1px solid #fff;border-radius:.45rem;background:#fbfdfb;text-decoration:none;font-size:.75rem;font-weight:650}.dashboard-hero__link:hover{background:#e6f0e9}.dashboard-hero__link:focus-visible{outline:3px solid var(--focus-on-dark);outline-offset:4px}.dashboard-section-heading{margin-bottom:1rem}.dashboard-section-heading h2{margin:0;color:var(--ink);font-size:1.05rem}.dashboard-section-heading p{margin:.3rem 0 0;color:var(--muted);font-size:.76rem}.dashboard-section-heading>span{color:var(--muted);font-size:.72rem;font-weight:500}.admin-dashboard-courses{gap:1.1rem}.admin-course-card{padding:1.35rem 1.5rem}.admin-course-card>header{display:flex;justify-content:space-between;gap:1rem;align-items:center;margin-bottom:1rem}.admin-course-card header .eyebrow{color:#648573!important;font-size:.62rem;font-weight:600;letter-spacing:.09em}.admin-course-card header h2{margin:.2rem 0 0;font-size:1.04rem;color:var(--ink)}.text-link{display:inline-flex;flex:0 0 auto;gap:.5rem;align-items:center;color:var(--navy);font-size:.72rem;text-decoration:none;font-weight:600}.text-link:hover{text-decoration:underline;text-underline-offset:.25rem}.admin-course-card dl{gap:.8rem}.admin-course-card dl>div{padding:1rem 1.1rem;border:1px solid #e6ece8;border-radius:.6rem;background:#fafcfb}.admin-course-card dt{display:flex;justify-content:space-between;gap:.6rem;align-items:center;font-size:.75rem}.admin-course-card dt svg{flex:0 0 auto;color:#839b90;stroke-width:1.5}.admin-course-card dd{margin-top:.65rem;color:var(--ink);font-size:1.9rem;line-height:1.2;font-weight:550;letter-spacing:-.045em;font-variant-numeric:tabular-nums}.admin-course-card .has-pending dd{color:#926b2b}.dashboard-list{min-width:0;padding:1.5rem}.dashboard-list h2{padding-bottom:1rem;border-bottom:1px solid var(--line)}.dashboard-list a{text-decoration:none;font-size:.88rem}.dashboard-list a:hover{text-decoration:underline;text-underline-offset:.2rem}.dashboard-list li{gap:.45rem}.dashboard-list time{font-size:.72rem}.guide-entry{display:flex;align-items:center;gap:1rem;margin:1.5rem 0 0;padding:1.25rem 1.5rem;background:#eef4f1;border-color:#dae6df;box-shadow:none}.guide-entry__icon{width:2.7rem;height:2.7rem;display:grid;place-items:center;flex:0 0 auto;color:var(--navy);border-radius:.6rem;background:#fff}.guide-entry>div{min-width:0}.guide-entry h2{font-size:.9rem}.guide-entry p{margin:.35rem 0 0;font-size:.76rem;line-height:1.7}.guide-entry .button{flex:0 0 auto;align-items:center;gap:.8rem;min-height:2.5rem;margin:0 0 0 auto;font-size:.73rem}.button--secondary{border-color:#c8d7ce}.roster-table th{padding-block:1rem;color:#536b60;background:#f6f9f7;font-size:.78rem;font-weight:650}.roster-table td{padding-block:1rem;font-size:.85rem}.roster-table tbody tr:hover{background:#fafcfb}.notice-card,.question-card{transition:border-color .15s,box-shadow .15s}.notice-card:hover,.question-card:hover{border-color:#a8c2b4;box-shadow:0 3px 12px #214a3e08}.notice-card a,.question-card a{padding:1.3rem 1.5rem}.activity-card{border-top-width:2px;border-top-color:#93afa2;border-radius:.85rem;box-shadow:0 2px 6px #173b3005}.activity-card--group{border-top-color:#397560}.activity-card--evidence{border-top-color:var(--gold)}.group-setup__header{background:#f5f9f6}.group-set-card__icon,.group-summary__icon{color:var(--navy);background:#eaf2ed}.login-page .auth-card{border-top:1px solid #fff;border-radius:1.1rem;box-shadow:0 24px 65px #1a443a18;padding:2.5rem}.login-page .auth-card .eyebrow{color:var(--navy)!important;font-size:.7rem;letter-spacing:.12em}.login-page .auth-card h1{color:var(--ink);margin:.35rem 0 .4rem;font-size:1.85rem;letter-spacing:-.05em}.login-page .auth-card>p:not(.eyebrow):not(.form-error){margin-bottom:1.1rem;font-size:.84rem}.login-page .auth-card label{font-size:.78rem;font-weight:600}.login-page .auth-card input{min-height:3rem;margin-bottom:.5rem;background:#ffffffd9}.login-page .auth-card .button{margin-top:.6rem;min-height:3rem}@media(max-width:1100px)and (min-width:721px){.admin-course-card dl{grid-template-columns:repeat(2,minmax(0,1fr))}.dashboard-hero__content{max-width:32rem;padding:1.8rem}.dashboard-hero:after{background:linear-gradient(90deg,#14372f,#14372fea 35%,#14372f80 80%,#14372f33)}}@media(max-width:720px){.dashboard-semester{display:none}.dashboard-hero{min-height:18rem;margin-bottom:1.5rem;border-radius:.75rem}.dashboard-hero__content{padding:1.6rem 1.35rem}.dashboard-hero__image{width:100%;-o-object-position:67% center;object-position:67% center}.dashboard-hero:after{background:linear-gradient(90deg,#14372ff5,#14372fcc 57%,#14372f91)}.dashboard-hero__description{max-width:19rem;font-size:.76rem}.dashboard-hero h2{font-size:1.5rem}.dashboard-section-heading{align-items:center}.dashboard-section-heading>span{flex:0 0 auto}.admin-course-card{padding:1.15rem}.admin-course-card>header{align-items:start}.admin-course-card header h2{font-size:.92rem}.admin-course-card dl{gap:.6rem}.admin-course-card dl>div{padding:.85rem}.admin-course-card dt{align-items:start;font-size:.68rem}.admin-course-card dt svg{width:15px;height:15px}.admin-course-card dd{font-size:1.65rem}.guide-entry{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:start;gap:.8rem;padding:1.1rem}.guide-entry .button{grid-column:2;justify-self:start;margin:0}.login-page .auth-card{padding:1.75rem;border-color:var(--line)}.login-page .auth-card h1{font-size:1.65rem}}@media(prefers-reduced-motion:reduce){.nav-link,.button,.notice-card,.question-card{transition:none}}.language-switcher{max-width:100%;display:grid;gap:.35rem}.language-switcher__control{display:inline-flex;align-items:center;gap:.45rem;color:var(--muted)}.language-switcher__control>svg{flex-shrink:0}.language-switcher select{width:auto;max-width:100%;min-height:2.75rem;padding:.45rem .6rem;border:1px solid var(--line);border-radius:.5rem;background:var(--paper);color:var(--ink);font:inherit;font-size:.8rem}.language-switcher select:focus-visible{outline:3px solid var(--focus-on-light);outline-offset:2px}.language-switcher select:disabled{opacity:.65}.language-switcher>.form-error{max-width:16rem;font-size:.75rem}.auth-language{display:flex;justify-content:flex-end;margin-bottom:.25rem}.app-header,.app-header__tools{flex-wrap:wrap}@media(max-width:720px){.app-header__tools{flex:1 1 100%;max-width:100%;gap:.65rem}.app-header__tools .course-select{flex:1 1 8rem}.app-header__tools .language-switcher{flex:0 0 auto}}
