:root{color:#1f2a35;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:#edf5fb;font-family:Instrument Sans,Avenir Next,Segoe UI,Helvetica Neue,Arial,sans-serif;font-weight:400;line-height:1.45}*{box-sizing:border-box}html,body,#root{min-height:100%;margin:0}html{scrollbar-gutter:stable}body{min-height:100vh}button,input,textarea,select{font:inherit;box-sizing:border-box}button{cursor:pointer}.admin-root{--bg-main:#ecf5ff;--bg-accent:#dcedff;--bg-shell:#f8fbffb3;--surface-sidebar:#d6e8f8f0;--surface-card:#ffffffe0;--surface-card-strong:#f6fafffa;--surface-input:#fafcfff5;--text-main:#213243;--text-soft:#485d72;--text-faint:#62788d;--line-soft:#52759133;--line-strong:#52759157;--accent:#4a8fe0;--accent-strong:#326db0;--accent-soft:#4a8fe02e;--surface-control:#ffffff9e;--surface-control-strong:#ffffffe6;--shadow:0 24px 60px #4c769c26;--nav-active:#ffffffb3;--card-shadow-soft:0 12px 30px #55749114;--radius-shell:34px;--radius-card:24px;--radius-soft:18px;--radius-pill:999px;--space-xs:6px;--space-sm:10px;--space-md:14px;--space-lg:20px;--space-xl:28px;min-height:100vh;color:var(--text-main);background:radial-gradient(circle at top left, #badcffcc, transparent 28%), linear-gradient(180deg, var(--bg-main), #f5f9fd 100%);padding:18px}.admin-root[data-theme=green]{--bg-main:#eef8f3;--bg-accent:#deefe5;--bg-shell:#f8fcf9b8;--surface-sidebar:#dcece2f2;--surface-card:#ffffffe6;--surface-card-strong:#f5faf7fa;--surface-input:#fafdfbf5;--text-main:#24342d;--text-soft:#475b53;--text-faint:#62786d;--line-soft:#597a6c2e;--line-strong:#597a6c4d;--accent:#63a98a;--accent-strong:#4a856c;--accent-soft:#63a98a2e;--surface-control:#ffffff9e;--surface-control-strong:#ffffffe6;--shadow:0 24px 60px #688d7826;--nav-active:#ffffffb8;--card-shadow-soft:0 12px 30px #688d7814}.admin-root[data-theme=orange]{--bg-main:#fdf4ec;--bg-accent:#f7e4d6;--bg-shell:#fffaf6b8;--surface-sidebar:#f7e5d6f0;--surface-card:#ffffffe6;--surface-card-strong:#fdf8f3fa;--surface-input:#fffcf9f5;--text-main:#3a2d28;--text-soft:#634f47;--text-faint:#806b63;--line-soft:#8764552e;--line-strong:#8764554d;--accent:#d58b4d;--accent-strong:#b56f35;--accent-soft:#d58b4d2e;--surface-control:#ffffff9e;--surface-control-strong:#ffffffe6;--shadow:0 24px 60px #976f4e26;--nav-active:#ffffffb8;--card-shadow-soft:0 12px 30px #976f4e14}.app-shell,.login-shell{border-radius:var(--radius-shell);background:var(--bg-shell);min-height:calc(100vh - 36px);box-shadow:var(--shadow);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border:1px solid #fff9}.app-shell{grid-template-columns:260px minmax(0,1fr);display:grid;overflow:hidden}.app-shell-loading{pointer-events:none}.sidebar,.workspace-shell,.screen-section,.screen-grid,.card,.sidebar-card,.list-row,.topbar,.section-head,.quiet-banner,.login-card{min-width:0}.sidebar{gap:var(--space-lg);background:var(--surface-sidebar);border-right:1px solid #ffffff80;grid-template-rows:auto auto auto 1fr;padding:20px;display:grid}.brand{align-items:center;gap:12px;display:flex}.brand-mark{width:44px;height:44px;color:var(--accent-strong);background:linear-gradient(145deg, #ffffffc7, var(--bg-accent));letter-spacing:.08em;border-radius:16px;place-items:center;font-weight:700;display:grid;box-shadow:inset 0 1px 1px #fffc}.brand h1,.topbar h2,.section-head h3,.login-header h1{letter-spacing:-.04em;margin:0;font-family:Manrope,Avenir Next,Segoe UI,Helvetica Neue,Arial,sans-serif}.brand h1{font-size:.98rem}.eyebrow,.section-kicker,.detail-item span,.field span,.tiny{color:var(--text-soft);font-size:.76rem}.eyebrow,.section-kicker{text-transform:uppercase;letter-spacing:.1em}.nav-list{gap:8px;display:grid}.nav-item,.theme-switcher button,.ghost-button,.secondary-button,.icon-button,.primary-button{border:none;transition:background .2s,color .2s,border-color .2s,box-shadow .2s,transform .2s}.nav-item{color:var(--text-soft);background:0 0;border-radius:16px;justify-content:space-between;align-items:center;gap:12px;padding:10px 12px;font-size:.95rem;display:flex}.nav-item.active{color:var(--text-main);background:var(--nav-active);box-shadow:inset 0 0 0 1px #ffffffb3}.sidebar-card,.card,.login-card{border-radius:var(--radius-card);background:var(--surface-card);box-shadow:var(--card-shadow-soft);border:1px solid #ffffffbf}.sidebar-card{padding:16px}.mini-stats{gap:12px;margin-top:14px;display:grid}.mini-stats strong{font-size:1.4rem;line-height:1;display:block}.mini-stats span{color:var(--text-soft);font-size:.84rem}.loading-copy{gap:10px;width:100%;display:grid}.loading-copy-spacious{align-content:start}.workspace-shell{align-content:start;gap:16px;min-width:0;padding:18px;display:grid}.topbar{justify-content:space-between;align-items:flex-start;gap:16px;padding:6px 6px 2px;display:flex}.topbar h2{font-size:clamp(1.35rem,2.2vw,1.95rem)}.screen-section,.screen-grid{gap:14px;display:grid}.screen-grid-home{grid-template-columns:1.3fr .7fr}.screen-grid-wide{grid-template-columns:.78fr 1fr}.screen-grid-wide>:last-child{grid-column:1/-1}.screen-grid-stack{grid-template-columns:1fr;align-items:start}.screen-grid-stack>:last-child{grid-column:auto}.screen-grid-two{grid-template-columns:1fr 1fr}.card{padding:18px}.spacious-card{min-height:280px}.hero-title{letter-spacing:-.05em;margin:10px 0 0;font-size:clamp(1.7rem,3.3vw,2.35rem);line-height:1.02}.lead{max-width:60ch;color:var(--text-soft);margin:14px 0 0;font-size:.94rem;line-height:1.6}.lead.compact{max-width:48ch}.action-row,.section-head,.login-footer,.quiet-banner,.topbar-actions{justify-content:space-between;align-items:center;gap:12px;display:flex}.action-row{justify-content:flex-start;margin-top:20px}.quiet-banner{border-top:1px solid var(--line-soft);align-items:flex-start;margin-top:22px;padding-top:16px}.list{gap:10px;margin-top:14px;display:grid}.list-row{border-radius:var(--radius-soft);background:var(--surface-card-strong);border:1px solid var(--line-soft);text-align:left;justify-content:space-between;align-items:center;gap:14px;width:100%;padding:12px 14px;display:flex}.list-row.selected{background:var(--accent-soft);border-color:var(--line-strong)}.list-row strong,.detail-item strong{display:block}.list-row span{color:var(--text-soft);font-size:.86rem}.list-row strong{font-size:.94rem}.list-row-placeholder{min-height:64px}.skeleton-line,.skeleton-pill,.skeleton-button{background:color-mix(in srgb, var(--surface-card-strong) 74%, var(--bg-accent));border-radius:999px;position:relative;overflow:hidden}.skeleton-line:after,.skeleton-pill:after,.skeleton-button:after{content:"";background:linear-gradient(90deg,#0000,#ffffff73,#0000);animation:1.4s ease-in-out infinite skeleton-shimmer;position:absolute;inset:0;transform:translate(-100%)}.skeleton-line{height:12px}.skeleton-line-short{width:34%}.skeleton-line-medium{width:56%}.skeleton-line-long{width:78%}.skeleton-line-hero{width:min(90%,380px);height:30px}.skeleton-pill{width:64px;min-width:64px;height:28px}.skeleton-button{border-radius:8px;width:82px;height:32px}.skeleton-button-wide{border-radius:12px;width:144px;height:42px}.skeleton-button-icon{width:32px;height:32px}.workspace-loading-nav-item{background:var(--nav-active);box-shadow:inset 0 0 0 1px #ffffffb3}.pill{background:color-mix(in srgb, var(--accent-soft) 72%, white);min-width:68px;min-height:32px;color:var(--accent-strong);text-transform:uppercase;letter-spacing:.08em;border:1px solid var(--line-soft);border-radius:12px;justify-content:center;align-items:center;padding:6px 12px;font-size:.7rem;line-height:1;display:inline-flex}.pill.real,.pill.mock{background:var(--accent-soft)}.theme-picker{gap:8px;display:grid;position:relative}.theme-trigger{border:1px solid var(--line-strong);background:var(--surface-control-strong);width:82px;height:32px;color:var(--text-main);text-align:center;border-radius:8px;justify-content:center;align-items:center;padding:0 12px;line-height:1;display:inline-flex;box-shadow:0 8px 18px #0000000a}.theme-trigger.active{border-color:color-mix(in srgb, var(--text-main) 30%, white)}.theme-trigger-label{text-transform:uppercase;letter-spacing:.08em;color:var(--text-main);font-size:.75rem;font-weight:600;transform:translateY(-.5px)}.theme-options{z-index:20;grid-template-columns:82px;gap:6px;display:grid;position:absolute;top:0;right:calc(100% + 8px);transform:none}.theme-choice{border:1px solid var(--line-soft);background:var(--surface-control-strong);width:82px;height:32px;color:var(--text-main);text-align:center;text-transform:uppercase;letter-spacing:.08em;border-radius:8px;justify-content:center;align-items:center;padding:0 10px;font-size:.75rem;font-weight:700;line-height:1;display:inline-flex;box-shadow:0 8px 18px #0000000a}.theme-choice-blue{color:#335270;background:linear-gradient(#f8fbff 0%,#edf5ff 100%);border-color:#5c88b23d}.theme-choice-green{color:#456457;background:linear-gradient(#fbfdfb 0%,#eef7f1 100%);border-color:#6289743d}.theme-choice-orange{color:#7b5740;background:linear-gradient(#fffaf6 0%,#f8ece1 100%);border-color:#a5744c3d}.theme-choice.active{border-color:var(--line-strong);background:color-mix(in srgb, var(--accent-soft) 45%, white)}.theme-switcher{background:0 0;flex-wrap:wrap;gap:10px;max-width:100%;padding:0;display:flex}.theme-switcher button{border-radius:var(--radius-pill);background:var(--surface-control);color:var(--text-main);border:1px solid var(--line-soft);text-align:center;flex:0 auto;min-width:0;padding:10px 14px;font-weight:500}.theme-switcher button.active{color:var(--text-main);background:var(--surface-control-strong);border-color:var(--line-strong);box-shadow:0 1px #fffc,0 6px 18px #0000000a}.bookings-tabs{gap:16px}.primary-button,.secondary-button,.ghost-button,.icon-button{border-radius:12px;padding:10px 14px;font-size:.92rem}.primary-button{background:var(--accent);color:#fff}.secondary-button{border:1px solid color-mix(in srgb, var(--accent) 28%, var(--line-strong));background:linear-gradient(145deg, color-mix(in srgb, var(--surface-control-strong) 82%, white), color-mix(in srgb, var(--accent-soft) 52%, var(--surface-card-strong)));color:var(--accent-strong);box-shadow:inset 0 1px #ffffffc7,0 10px 24px #0000000d}.login-submit-button{justify-content:center;align-items:center;min-width:126px;display:inline-flex}.ghost-button{color:var(--text-main);border:2px solid color-mix(in srgb, var(--line-strong) 70%, var(--text-main));background:0 0}.primary-button:hover:not(:disabled),.secondary-button:hover:not(:disabled),.ghost-button:hover:not(:disabled){transform:translateY(-1px)}.primary-button:hover:not(:disabled){background:var(--accent-strong)}.secondary-button:hover:not(:disabled){border-color:color-mix(in srgb, var(--accent) 36%, var(--line-strong));background:linear-gradient(145deg, color-mix(in srgb, var(--surface-control-strong) 68%, white), color-mix(in srgb, var(--accent-soft) 70%, var(--surface-card-strong)));box-shadow:inset 0 1px #ffffffd1,0 14px 26px #00000014}.ghost-button:hover:not(:disabled){background:color-mix(in srgb, var(--accent-soft) 44%, var(--surface-card-strong));border-color:color-mix(in srgb, var(--accent) 28%, var(--line-strong))}.primary-button:focus-visible,.secondary-button:focus-visible,.ghost-button:focus-visible,.icon-button:focus-visible{box-shadow:0 0 0 3px color-mix(in srgb, var(--accent-soft) 88%, white);outline:none}.primary-button:disabled,.secondary-button:disabled,.ghost-button:disabled,.icon-button:disabled{cursor:not-allowed;opacity:.62;transform:none}.icon-button{background:var(--surface-control-strong);width:40px;height:40px;color:var(--text-main);border:3px solid color-mix(in srgb, var(--text-main) 46%, white);border-radius:999px;flex:0 0 40px;justify-content:center;align-items:center;padding:0;display:inline-flex;box-shadow:0 8px 18px #0000000a}.icon-button:hover{background:color-mix(in srgb, var(--surface-control-strong) 88%, var(--accent-soft));border-color:color-mix(in srgb, var(--text-main) 34%, white)}.power-icon{width:22px;height:22px;display:block;transform:translate(.35px,.7px)}.topbar-actions .icon-button{border:1px solid color-mix(in srgb, #9a3b3b 50%, var(--line-strong));background:color-mix(in srgb, #9a3b3b 15%, var(--surface-control-strong));border-radius:8px;flex:0 0 32px;width:32px;height:32px}.topbar-actions .icon-button:hover{background:color-mix(in srgb, #9a3b3b 20%, var(--surface-control-strong));border-color:color-mix(in srgb, #9a3b3b 60%, var(--line-strong))}.topbar-actions .power-icon{width:18px;height:18px;transform:none}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.outline-block{gap:12px;margin-top:18px;display:grid}.outline-part{border-radius:var(--radius-soft);background:var(--surface-card-strong);padding:14px}.outline-part ul{color:var(--text-soft);margin:10px 0 0;padding-left:20px}.reading-block{border-radius:var(--radius-soft);background:var(--surface-card-strong);color:var(--text-main);margin-top:18px;padding:18px;line-height:1.75}.compact-block{margin-bottom:18px}.detail-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:16px;display:grid}.detail-item{border-radius:var(--radius-soft);background:var(--surface-card-strong);padding:12px}.form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:16px;display:grid}.page-chip{border:1px solid var(--line-soft);background:var(--surface-card-strong);min-width:38px;height:38px;color:var(--text-main);border-radius:12px;padding:0 10px}.page-chip.active{background:var(--accent-soft);border-color:var(--line-strong);color:var(--accent-strong)}.field{gap:8px;display:grid}.field-wide{grid-column:1/-1}.field input,.field textarea,.field select{border:1px solid var(--line-soft);background:var(--surface-input);width:100%;color:var(--text-main);appearance:none;border-radius:12px;padding:10px 12px;box-shadow:inset 0 1px #ffffffbf}.field input::placeholder,.field textarea::placeholder{color:var(--text-faint)}.login-shell{place-items:center;padding:20px;display:grid}.login-card{width:min(560px,100%);padding:24px}.login-header{grid-template-columns:auto 1fr;align-items:start;gap:14px;display:grid}.login-header h1{margin-top:6px;font-size:clamp(1.7rem,4vw,2.3rem)}.login-card .form-grid{grid-template-columns:1fr}.login-error{color:#922b1f;background:#f9ebea;border:1px solid #c0392b40;border-radius:10px;margin:0;padding:10px 14px;font-size:.88rem;line-height:1.4}.login-footer{grid-column:1/-1;margin-top:18px}@keyframes skeleton-shimmer{0%{transform:translate(-100%)}to{transform:translate(100%)}}@media (width<=1100px){.screen-grid-home,.screen-grid-wide,.screen-grid-two{grid-template-columns:1fr}.screen-grid-wide>:last-child{grid-column:auto}}@media (width<=1280px){.screen-grid-home{grid-template-columns:1fr}}@media (width<=880px){.admin-root{padding:12px}.app-shell{grid-template-columns:1fr}.sidebar{border-bottom:1px solid #ffffff8c;border-right:none}.topbar,.section-head,.login-footer,.quiet-banner,.topbar-actions{flex-direction:column;align-items:flex-start}.detail-grid{grid-template-columns:1fr}.theme-options{grid-template-columns:1fr;width:100%;position:static}.theme-trigger,.theme-choice{width:100%}}@media (width<=520px){.form-grid{grid-template-columns:1fr}}.tabs{gap:12px;min-width:0;display:grid}.tabs-list{border-bottom:1px solid color-mix(in srgb, var(--line-strong) 82%, transparent);flex-wrap:wrap;align-items:flex-end;gap:22px;min-width:0;padding:0;display:flex}.tabs-tab{color:var(--text-soft);background:0 0;border:none;border-radius:8px;padding:0 2px 12px;font-weight:600;transition:color .2s,border-color .2s,opacity .2s;position:relative}.tabs-tab:after{content:"";background:0 0;border-radius:999px;height:3px;transition:background .2s;position:absolute;bottom:-1px;left:0;right:0}.tabs-tab:hover{color:var(--text-main)}.tabs-tab:focus-visible{outline:2px solid color-mix(in srgb, var(--accent) 72%, white);outline-offset:4px;color:var(--text-main)}.tabs-tab:focus-visible:after,.tabs-tab.active:after{background:color-mix(in srgb, var(--accent-strong) 78%, var(--text-main))}.tabs-tab.active{color:var(--text-main)}.tabs-panel{min-width:0}.slide-over-backdrop{z-index:29;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#10213361;animation:.2s ease-out slide-over-fade-in;position:fixed;inset:0}.slide-over-panel{z-index:30;background:var(--surface-card-strong,#fff);grid-template-rows:auto 1fr;width:min(620px,100vw - 32px);animation:.25s ease-out slide-over-slide-in;display:grid;position:fixed;top:0;bottom:0;right:0;overflow:hidden;box-shadow:-8px 0 40px #0000001f}.slide-over-header{border-bottom:1px solid var(--line-soft);background:inherit;z-index:1;justify-content:flex-end;align-items:center;padding:12px 16px;display:flex;position:sticky;top:0}.slide-over-close{width:32px;height:32px;color:var(--text-soft);cursor:pointer;background:0 0;border:none;border-radius:8px;justify-content:center;align-items:center;font-size:18px;line-height:1;transition:background .12s;display:inline-flex}.slide-over-close:hover{background:var(--accent-soft)}.slide-over-body{padding:20px 24px 32px;overflow-y:auto}@keyframes slide-over-fade-in{0%{opacity:0}to{opacity:1}}@keyframes slide-over-slide-in{0%{transform:translate(100%)}to{transform:translate(0)}}.slide-over-panel-wide{width:min(960px,100vw - 32px)}.slide-over-panel-workspace{width:calc(100vw - 32px)}@media (width<=640px){.slide-over-panel{width:100vw}}.screen-grid-admins{--admin-list-column-email:35%;--admin-list-column-name:16%;--admin-list-column-role:13%;--admin-list-column-phone:16%;--admin-list-column-last-login:20%}.admin-list-card{align-content:start;display:grid}.screen-grid-admins .card:last-child{max-width:none}.admin-list-table th:first-child,.admin-list-table td:first-child{width:var(--admin-list-column-email)}.admin-list-table .admin-row-link{color:inherit;font:inherit;text-align:left;background:0 0;border:none;padding:0;text-decoration:none}.admin-list-table .admin-row-link:hover,.admin-list-table .admin-row-link:focus-visible{text-decoration:underline}.admin-list-table tbody tr{cursor:default}.admin-list-table th:nth-child(2),.admin-list-table td:nth-child(2){width:var(--admin-list-column-name)}.admin-list-table th:nth-child(3),.admin-list-table td:nth-child(3){width:var(--admin-list-column-role)}.admin-list-table th:nth-child(4),.admin-list-table td:nth-child(4){width:var(--admin-list-column-phone)}.admin-list-table th:nth-child(5),.admin-list-table td:nth-child(5){width:var(--admin-list-column-last-login)}.list-toolbar-toggle{min-height:44px;color:var(--text-soft);align-self:end;align-items:center;gap:10px;font-size:.88rem;font-weight:600;display:inline-flex}.list-toolbar-toggle input[type=checkbox]{width:18px;height:18px;accent-color:var(--accent-strong);flex:none;margin:0}.list-toolbar-toggle span{color:inherit;font-size:inherit;letter-spacing:normal;text-transform:none}.admin-form-error{color:var(--color-danger,#c0392b);margin-bottom:.5rem}.admin-form-error-top{margin-top:8px}:root{--list-table-row-min-height:46px;--list-toolbar-gap:12px;--list-section-gap:14px}.list-toolbar{gap:var(--list-toolbar-gap);grid-template-columns:minmax(0,1fr) minmax(112px,160px);align-items:end;margin-top:16px;display:grid}.list-meta{margin-top:var(--list-section-gap);flex-wrap:wrap;justify-content:space-between;gap:12px;display:flex}.list-meta-trailing{align-items:center;margin-left:auto;display:flex}.list-table-shell{margin-top:var(--list-section-gap);border-radius:var(--radius-soft);border:1px solid var(--line-soft);background:var(--surface-card-strong);overflow:auto}.list-table{border-collapse:collapse;table-layout:fixed;width:100%;min-width:720px}.list-table th,.list-table td{text-align:left;border-bottom:1px solid var(--line-soft);vertical-align:top;padding:12px 14px;font-size:.88rem}.list-table td{overflow-wrap:anywhere}.list-table th{background:color-mix(in srgb, var(--surface-card-strong) 92%, white)}.list-sort-button{color:var(--text-soft);letter-spacing:.08em;text-transform:uppercase;text-align:left;background:0 0;border:none;justify-content:flex-start;align-items:center;gap:6px;padding:0;font-size:.74rem;font-weight:700;display:inline-flex}.list-sort-button.active{color:var(--text-main)}.list-sort-button:disabled{cursor:default;color:var(--text-soft);opacity:.72}.list-sort-arrow{width:10px;color:var(--accent-strong);opacity:0;justify-content:center;align-items:center;display:inline-flex}.list-sort-button.active .list-sort-arrow{opacity:1}.list-sort-icon{opacity:1;width:14px}.list-table tbody tr{cursor:pointer;transition:background .2s}.list-table tbody tr:hover{background:color-mix(in srgb, var(--accent-soft) 35%, white)}.list-table tbody tr.selected{background:var(--accent-soft);box-shadow:inset 3px 0 0 var(--accent)}.list-table tbody tr:last-child td{border-bottom:none}.list-table-message-row td{text-align:center;border-bottom:none;padding:32px 18px}.list-pagination{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-top:16px;display:flex}@media (width<=880px){.list-toolbar{grid-template-columns:1fr 1fr}.list-toolbar-search{grid-column:1/-1}.list-meta,.list-pagination{flex-direction:column;align-items:flex-start}}@media (width<=520px){.list-toolbar{grid-template-columns:1fr}.list-toolbar-search{grid-column:auto}.list-table{min-width:0}.list-table thead{display:none}.list-table tbody,.list-table tr,.list-table td{width:100%;display:block}.list-table tbody tr{border-bottom:1px solid var(--line-soft);padding:12px 14px}.list-table td{border:none;padding:0}.list-table td+td{margin-top:8px}.list-table td:before{content:attr(data-label);color:var(--text-soft);letter-spacing:.08em;text-transform:uppercase;margin-bottom:2px;font-size:.72rem;display:block}}.student-list-table th:first-child,.student-list-table td:first-child{width:28%}.student-list-table th:nth-child(2),.student-list-table td:nth-child(2),.student-list-table th:nth-child(3),.student-list-table td:nth-child(3),.student-list-table th:nth-child(4),.student-list-table td:nth-child(4),.student-list-table th:nth-child(5),.student-list-table td:nth-child(5){width:18%}.student-app-shell{grid-template-columns:1fr}.student-exams-grid{grid-template-columns:1fr;align-items:start}.student-exams-grid.is-focus{grid-template-columns:1fr}.student-exams-panel,.student-exam-detail-card{min-height:0}.student-exams-panel{align-content:start;display:grid}.student-exam-card-list{gap:12px;margin-top:16px;display:grid}.student-exam-card{background:var(--surface-card-strong);border:1px solid var(--line-soft);border-radius:18px;gap:12px;padding:16px;display:grid}.student-exam-card-head{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.student-exam-card-title-group{gap:4px;display:grid}.student-exam-card-title-group h4{margin:0}.student-exam-card-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;display:grid}.student-exam-card-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:10px;display:flex}.student-exam-card-actions>button{justify-content:center;align-items:center;min-width:180px;display:inline-flex}.student-exam-detail-head{justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:10px;display:flex}.student-back-link{color:var(--accent-strong);background:0 0;border:none;align-items:center;gap:8px;margin-bottom:10px;padding:0;font-size:.9rem;font-weight:600;display:inline-flex}.student-back-link:before{content:"<";border:1px solid color-mix(in srgb, var(--accent) 24%, var(--line-soft));background:color-mix(in srgb, var(--accent-soft) 72%, white);border-radius:999px;justify-content:center;align-items:center;width:24px;height:24px;font-size:.84rem;line-height:1;display:inline-flex}.student-back-link:hover:not(:disabled){color:var(--accent)}.student-back-link:hover:not(:disabled):before{border-color:color-mix(in srgb, var(--accent) 38%, var(--line-strong));background:color-mix(in srgb, var(--accent-soft) 88%, white)}.student-back-link:focus-visible{outline:none}.student-back-link:focus-visible:before{box-shadow:0 0 0 3px color-mix(in srgb, var(--accent-soft) 82%, white)}.student-exam-detail-actions{flex-wrap:wrap;justify-content:flex-end;align-items:flex-start;gap:8px;display:flex}.student-exam-detail-grid{margin-top:0;margin-bottom:12px}.student-result-shell{gap:14px;display:grid}.student-result-overall{border:1px solid color-mix(in srgb, var(--accent) 26%, var(--line-strong));background:linear-gradient(145deg, color-mix(in srgb, var(--accent-soft) 42%, white), var(--surface-card-strong));border-radius:20px;gap:6px;padding:18px;display:grid}.student-result-overall span{color:var(--text-soft);font-size:.82rem}.student-result-overall strong{font-size:clamp(2rem,5vw,3rem);line-height:1}.student-result-skill-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.student-result-score-tile,.student-result-pending{border:1px solid var(--line-soft);background:var(--surface-card-strong);border-radius:16px;gap:4px;padding:14px;display:grid}.student-result-score-tile span{color:var(--text-soft);font-size:.78rem}.student-result-score-tile strong{font-size:1.4rem}.student-exam-summary-item{background:var(--surface-card-strong);border:1px solid var(--line-soft);border-radius:12px;gap:2px;min-width:0;padding:9px 10px;display:grid}.student-exam-summary-item span{color:var(--text-soft);font-size:.74rem}.student-skill-strip{flex-wrap:wrap;gap:8px;margin-bottom:12px;display:flex}.student-skill-chip{background:var(--surface-card-strong);border:1px solid var(--line-soft);border-radius:12px;gap:2px;padding:8px 10px;display:grid}.student-skill-chip.is-active{border-color:color-mix(in srgb, var(--accent) 38%, var(--line-strong));background:color-mix(in srgb, var(--accent-soft) 50%, var(--surface-card-strong))}.student-skill-chip.is-done{border-color:color-mix(in srgb, var(--accent) 44%, var(--line-strong));background:linear-gradient(145deg, color-mix(in srgb, var(--accent-soft) 56%, white), color-mix(in srgb, var(--accent-soft) 72%, var(--surface-card-strong)))}.student-attempt-shell{gap:12px;display:grid}.student-attempt-head,.student-attempt-part-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.student-attempt-head{border:1px solid color-mix(in srgb, var(--accent) 22%, var(--line-soft));background:linear-gradient(135deg, color-mix(in srgb, var(--accent-soft) 45%, white), var(--surface-card-strong));border-radius:16px;padding:10px 12px}.student-attempt-headline{gap:8px;display:grid}.student-attempt-title-row{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.student-attempt-title-row h3{margin:0}.student-attempt-progress-pill{align-self:center}.student-attempt-timer{justify-items:end;gap:4px;min-width:110px;display:grid}.student-attempt-nav{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px;display:grid}.student-attempt-nav-buttons{flex-wrap:wrap;gap:8px;display:flex}.student-part-chip-strip{scrollbar-width:thin;grid-auto-columns:minmax(180px,220px);grid-auto-flow:column;gap:8px;padding-bottom:4px;display:grid;overflow-x:auto}.student-part-chip{border:1px solid var(--line-soft);background:var(--surface-card-strong);text-align:left;border-radius:12px;gap:4px;min-width:0;padding:8px 10px;transition:background .2s,border-color .2s,box-shadow .2s;display:grid}.student-part-chip:hover:not(:disabled){border-color:color-mix(in srgb, var(--accent) 24%, var(--line-strong));background:color-mix(in srgb, var(--accent-soft) 30%, var(--surface-card-strong))}.student-part-chip.is-current{border-color:color-mix(in srgb, var(--accent) 35%, var(--line-strong));background:color-mix(in srgb, var(--accent-soft) 45%, var(--surface-card-strong))}.student-part-chip:focus-visible{border-color:color-mix(in srgb, var(--accent) 36%, var(--line-strong));box-shadow:0 0 0 3px color-mix(in srgb, var(--accent-soft) 82%, white);outline:none}.student-part-chip span{color:var(--text-soft)}.student-audio-status{border:1px solid color-mix(in srgb, var(--accent) 25%, var(--line-strong));background:color-mix(in srgb, var(--accent-soft) 26%, var(--surface-card-strong));border-radius:16px;gap:4px;padding:10px 12px;display:grid}.student-recorder{border:1px solid color-mix(in srgb, var(--accent) 18%, var(--line-soft));background:color-mix(in srgb, var(--accent-soft) 24%, var(--surface-card-strong));border-radius:16px;gap:12px;min-width:0;padding:14px;display:grid}.student-recorder-status{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;min-width:0;display:flex}.student-recorder-metric{flex-wrap:wrap;align-items:baseline;gap:8px;min-width:0;display:flex}.student-recorder-metric span{color:var(--text-faint);letter-spacing:.08em;text-transform:uppercase;font-size:.74rem;font-weight:700}.student-recorder-metric strong{color:var(--text-main);font-size:1rem;line-height:1.2}.student-recorder-pill{border:1px solid var(--line-soft);background:color-mix(in srgb, var(--accent-soft) 72%, var(--surface-card-strong));min-height:28px;color:var(--accent-strong);letter-spacing:.08em;text-transform:uppercase;white-space:nowrap;border-radius:12px;justify-content:center;align-items:center;padding:6px 10px;font-size:.68rem;font-weight:800;line-height:1;display:inline-flex}.student-recorder-pill.is-recording,.student-recorder-pill.is-saving{border-color:color-mix(in srgb, var(--accent) 32%, var(--line-soft));background:color-mix(in srgb, var(--accent-soft) 86%, var(--surface-card-strong));color:var(--accent-strong)}.student-recorder-pill.is-saved{border-color:color-mix(in srgb, var(--accent) 24%, var(--line-soft))}.student-recorder-actions{flex-wrap:wrap;justify-content:flex-start;align-items:center;gap:10px;display:flex}.student-recorder-progress{gap:6px;display:grid}.student-recorder-progress-track{background:color-mix(in srgb, var(--line-soft) 68%, var(--surface-card-strong));border-radius:999px;height:8px;overflow:hidden}.student-recorder-progress-track span{border-radius:inherit;background:var(--accent);width:0;height:100%;transition:width .2s;display:block}.student-audio-resume-modal{z-index:40;align-content:start;justify-items:center;padding:clamp(72px,14vh,132px) 20px 20px;display:grid;position:fixed;inset:0}.student-audio-resume-backdrop{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#1021336b;position:absolute;inset:0}.student-audio-resume{z-index:1;border:1px solid color-mix(in srgb, #c96a4a 35%, var(--line-strong));background:color-mix(in srgb, #fff2eb 82%, var(--surface-card-strong));border-radius:20px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;width:min(720px,100vw - 40px);padding:20px;display:flex;position:relative;box-shadow:0 24px 60px #11182738}.student-attempt-part{background:var(--surface-card-strong);border:1px solid var(--line-soft);border-radius:16px;gap:10px;padding:12px;display:grid}.attempt-document{gap:12px;display:grid}.attempt-document p,.attempt-document blockquote,.attempt-document ul,.attempt-document ol,.attempt-document pre,.attempt-document fieldset{margin:0}.attempt-document blockquote{border-left:3px solid var(--line-strong);color:var(--text-soft);padding-left:14px}.attempt-inline-input,.attempt-inline-select,.attempt-textarea-field textarea{border:1px solid var(--line-soft);background:var(--surface-input);min-height:42px;color:var(--text-main);border-radius:12px;padding:10px 12px}.attempt-inline-input,.attempt-inline-select{vertical-align:middle;min-width:min(180px,100%);max-width:100%;margin:0 6px}.attempt-textarea-field{gap:8px;display:grid}.attempt-textarea-field textarea{resize:vertical;min-height:140px}.attempt-choice-group{border:1px solid var(--line-soft);background:color-mix(in srgb, var(--surface-card-strong) 85%, white);border-radius:14px;gap:8px;padding:12px;display:grid}.attempt-choice-option{align-items:center;gap:10px;display:flex}.attempt-code-block{color:#f2f6fb;background:#1f2a35;border-radius:14px;padding:12px 14px;overflow-x:auto}.attempt-table-shell{overflow-x:auto}.attempt-table{border-collapse:collapse;width:100%}.attempt-table th,.attempt-table td{border:1px solid var(--line-soft);text-align:left;vertical-align:top;padding:9px 10px}.student-attempt-timer strong{letter-spacing:-.03em;font-size:1.1rem}@media (width<=1240px){.student-exam-card-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=900px){.student-audio-resume-modal{padding-top:24px}.student-audio-resume{align-items:stretch}}@media (width<=1024px){.student-exams-grid.is-focus{grid-template-columns:1fr}}@media (width<=768px){.student-exam-detail-head,.student-exam-card-head,.student-exam-card-actions,.student-attempt-head{flex-direction:column;align-items:flex-start}.student-exam-card-grid{grid-template-columns:1fr}.student-exam-card-actions>button{width:100%}.student-result-skill-grid{grid-template-columns:1fr}.student-attempt-head{z-index:2;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);position:sticky;top:0}.student-attempt-timer{justify-items:flex-start}.student-attempt-nav{grid-template-columns:1fr}.student-attempt-nav-buttons{justify-content:flex-start}.student-recorder-actions>button{width:100%}}@media (width<=560px){.student-part-chip-strip{grid-auto-columns:minmax(160px,82vw)}.attempt-inline-input,.attempt-inline-select{width:100%;margin:8px 0;display:block}}.screen-grid-parts{--part-list-column-title:34%;--part-list-column-skill:14%;--part-list-column-duration:14%;--part-list-column-audio:14%;--part-list-column-updated:24%}.part-list-table th:first-child,.part-list-table td:first-child{width:var(--part-list-column-title)}.part-list-table th:nth-child(2),.part-list-table td:nth-child(2){width:var(--part-list-column-skill)}.part-list-table th:nth-child(3),.part-list-table td:nth-child(3){width:var(--part-list-column-duration)}.part-list-table th:nth-child(4),.part-list-table td:nth-child(4){width:var(--part-list-column-audio)}.part-list-table th:nth-child(5),.part-list-table td:nth-child(5){width:var(--part-list-column-updated)}.part-audio-preview{gap:12px;margin-top:12px;display:grid}.part-audio-preview audio{width:100%}.part-audio-status{margin:0}.screen-grid-exams{--exam-list-column-title:42%;--exam-list-column-status:18%;--exam-list-column-parts:12%;--exam-list-column-updated:28%}.exams-workspace-tabs{gap:14px}.exam-list-table th:first-child,.exam-list-table td:first-child{width:var(--exam-list-column-title)}.exam-list-table th:nth-child(2),.exam-list-table td:nth-child(2){width:var(--exam-list-column-status)}.exam-list-table th:nth-child(3),.exam-list-table td:nth-child(3){width:var(--exam-list-column-parts)}.exam-list-table th:nth-child(4),.exam-list-table td:nth-child(4){width:var(--exam-list-column-updated)}.exam-notice{background:var(--surface-card-strong);border-radius:12px;margin-bottom:12px;padding:12px 14px}.exam-editor-head{flex-wrap:wrap;align-items:flex-start;row-gap:14px}.exam-editor-toolbar{flex:100%;justify-items:start;gap:10px;width:100%;min-width:0;display:grid}.exam-editor-actions{flex-wrap:wrap;justify-content:flex-start;align-items:center;gap:10px;display:flex}.exam-start-helper{text-align:left;max-width:36rem;margin:0}.exam-editor-tabs{gap:12px;margin-top:20px}.exam-helper-copy{margin:0}.exam-start-confirmation{background:color-mix(in srgb, var(--surface-card-strong) 94%, white);gap:14px;margin-bottom:14px;display:grid}.exam-start-confirmation-head{gap:14px;display:grid}.exam-start-confirmation-head h4,.exam-start-confirmation-head p{margin:0}.exam-start-confirmation-actions{flex-wrap:wrap;justify-content:flex-end;gap:10px;display:flex}.exam-start-summary{gap:10px;display:grid}.exam-start-summary-row{border:1px solid var(--line-soft);background:var(--surface-card);border-radius:14px;gap:4px;padding:12px 14px;display:grid}.exam-start-summary-row span{color:var(--text-soft);text-transform:uppercase;letter-spacing:.08em;font-size:.76rem}.exam-start-summary-row strong{overflow-wrap:anywhere}.exam-skill-summary-list{gap:10px;display:grid}.exam-skill-summary-card{border:1px solid var(--line-soft);background:var(--surface-card-strong);border-radius:14px;gap:4px;padding:12px 14px;display:grid}.exam-skill-summary-card p{margin:0}.exam-tab-panel{gap:14px;margin-top:16px;display:grid}.exam-editor-section{gap:10px}.exam-panel-head{border-bottom:1px solid var(--line-soft);margin-bottom:0;padding-bottom:4px}.exam-panel-head h3{font-size:1rem}.exam-add-panel{max-width:720px}.exam-selection-list,.exam-picker-list{gap:10px;display:grid}.exam-selection-card,.exam-picker-row{background:var(--surface-card-strong);border:1px solid var(--line-soft);border-radius:12px;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px;padding:12px 14px;display:grid}.exam-picker-row{text-align:left;color:inherit}.exam-selection-copy{min-width:0}.exam-selection-card strong,.exam-picker-row strong{display:block}.exam-selection-card strong,.exam-selection-card p,.exam-picker-row strong,.exam-picker-row .muted{overflow-wrap:anywhere}.exam-selection-card p{margin:4px 0 0}.exam-selection-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:6px;display:flex}.exam-compact-action{cursor:pointer;border-radius:10px;flex:0 0 36px;justify-content:center;align-items:center;width:36px;height:36px;padding:0;font-size:1rem;line-height:1;transition:background-color .14s,border-color .14s,box-shadow .14s,color .14s,transform .14s;display:inline-flex}.exam-compact-action:disabled{cursor:default;color:var(--text-faint);background:color-mix(in srgb, var(--surface-control) 78%, white);border-color:color-mix(in srgb, var(--line-soft) 88%, white);box-shadow:none;opacity:.72}.exam-compact-action-glyph{line-height:1;transition:transform .14s;display:block;transform:translateY(-.5px)}.exam-compact-action-bar{background:currentColor;border-radius:999px;width:13px;height:1.75px;transition:background-color .14s,transform .14s;display:block}.exam-compact-action:not(:disabled):hover,.exam-compact-action:not(:disabled):focus-visible{background:color-mix(in srgb, var(--surface-control-strong) 78%, var(--accent-soft));border-color:color-mix(in srgb, var(--accent) 35%, var(--line-strong));transform:translateY(-1px);box-shadow:0 6px 16px #00000014}.exam-compact-action:not(.exam-compact-action-remove):not(:disabled):hover,.exam-compact-action:not(.exam-compact-action-remove):not(:disabled):focus-visible{color:color-mix(in srgb, var(--accent) 82%, var(--text-main))}.exam-compact-action:not(.exam-compact-action-remove):not(:disabled):hover .exam-compact-action-glyph,.exam-compact-action:not(.exam-compact-action-remove):not(:disabled):focus-visible .exam-compact-action-glyph{transform:translateY(-1px)}.exam-compact-action-remove:not(:disabled):hover,.exam-compact-action-remove:not(:disabled):focus-visible{background:color-mix(in srgb, #9a3b3b 12%, var(--surface-control-strong));border-color:color-mix(in srgb, #9a3b3b 42%, var(--line-strong))}@media (width<=880px){.exam-start-helper{text-align:left;max-width:none}.exam-editor-head{flex-direction:column;align-items:stretch}.exam-editor-toolbar{justify-items:stretch;width:100%}.exam-editor-actions{justify-content:flex-start}}@media (width<=720px){.exam-start-confirmation-actions>*{flex:150px}.exam-panel-head{align-items:flex-start}.exam-selection-card,.exam-picker-row{grid-template-columns:1fr}.exam-selection-actions{justify-content:flex-start}}.screen-grid-grading{grid-template-columns:minmax(0,1fr);align-items:start}.grading-list-card{align-content:start;gap:14px;display:grid}.grading-queue-table th:first-child,.grading-queue-table td:first-child{width:24%}.grading-queue-table th:nth-child(2),.grading-queue-table td:nth-child(2){width:30%}.grading-queue-table th:nth-child(3),.grading-queue-table td:nth-child(3){width:18%}.grading-queue-table th:nth-child(4),.grading-queue-table td:nth-child(4){width:16%}.grading-student-email{margin-top:4px}.grading-pill{white-space:nowrap}.grading-pill-pending{background:color-mix(in srgb, var(--accent-soft) 72%, white);color:var(--accent-strong)}.grading-pill-validated{color:#2f7d42;background:#e4f6e8}.grading-submission-head{align-items:flex-start;gap:14px}.grading-submission-head-actions{flex-wrap:wrap;justify-content:flex-end;gap:10px;display:flex}.grading-submission-grid{margin-top:0}.grading-summary-item strong{margin-top:4px;display:block}.grading-helper-copy,.grading-action-error{margin:0}.grading-validate-bar{background:var(--surface-card-strong);border:1px solid var(--line-soft);border-radius:14px;flex-wrap:wrap;align-items:center;gap:10px;padding:14px;display:flex}.grading-attempt-section,.grading-history-section{gap:14px;margin-top:16px;display:grid}.grading-attempt-head,.grading-part-head{margin-bottom:0}.grading-part-section,.grading-answer-list{gap:12px;display:grid}.grading-answer-card{border:1px solid var(--line-soft);background:var(--surface-card-strong);border-radius:16px;gap:14px;padding:16px;display:grid}.grading-answer-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.grading-answer-head h4,.grading-history-card p{margin:4px 0 0}.grading-answer-statuses{flex-wrap:wrap;justify-content:flex-end;gap:8px;display:flex}.grading-answer-result-correct{color:#2f7d42;background:#e4f6e8}.grading-answer-result-incorrect{color:#a03a3a;background:#f9e3e3}.grading-answer-result-manual,.grading-answer-result-overridden{background:color-mix(in srgb, var(--surface-control-strong) 72%, white);color:var(--text-main)}.grading-answer-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;display:grid}.grading-answer-panel{background:color-mix(in srgb, var(--surface-control-strong) 82%, white);border:1px solid var(--line-soft);border-radius:12px;gap:4px;padding:12px;display:grid}.grading-answer-panel strong,.grading-history-card strong{overflow-wrap:anywhere}.grading-answer-audio{width:100%;min-width:0}.grading-answer-actions{flex-wrap:wrap;align-items:end;gap:10px;display:flex}.grading-points-field{min-width:170px}.grading-override-field{max-width:240px}.grading-history-list{gap:10px;display:grid}.grading-history-card{border:1px solid var(--line-soft);background:var(--surface-card-strong);border-radius:14px;padding:12px 14px}.grading-history-head{justify-content:space-between;align-items:baseline;gap:12px;display:flex}@media (width<=720px){.grading-answer-grid{grid-template-columns:1fr}}
