:root{color-scheme:light;--ink:#173c3d;--muted:#597476;--teal:#087d76;--teal-dark:#06665f;--pale:#e6f5f1;--line:#d6e5e2;--bg:#f4f8f6;--white:#fff;--red:#a62f35;--red-bg:#fff0ef;--amber:#8a5b0b;--amber-bg:#fff7df;--shadow:0 8px 28px #143e3d0b;font-family:-apple-system,BlinkMacSystemFont,"PingFang SC","Microsoft YaHei",sans-serif;font-size:16px;line-height:1.6}
*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink)}button,input,select,textarea{font:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{cursor:default;opacity:.5}button,input,select{min-height:48px}button{border:1px solid transparent;border-radius:11px;padding:10px 18px;background:var(--teal);color:white;font-weight:650;line-height:1.35;touch-action:manipulation}button:hover:enabled{background:var(--teal-dark)}button.secondary{background:white;border-color:var(--line);color:var(--ink)}button.secondary:hover:enabled{background:var(--pale)}button.danger{background:var(--red)}button.text-button{background:transparent;color:var(--teal);padding-inline:10px}button.small{min-height:44px;padding:9px 13px;font-size:.9rem}button.link-button{background:transparent;color:var(--teal);padding:0;text-align:left;min-height:44px;border-radius:4px}input,select,textarea{border:1px solid #b9d1cb;border-radius:9px;padding:10px 12px;background:#fff;color:var(--ink);width:100%;min-width:0}textarea{min-height:88px;resize:vertical}input[readonly],textarea[readonly],input:disabled,select:disabled{background:#f3f7f5;color:var(--muted)}input[type=checkbox]{width:24px;height:24px;min-height:24px;accent-color:var(--teal);flex:none}a{color:var(--teal);text-underline-offset:3px}label{display:block;font-weight:600;margin-bottom:6px}label .optional{font-size:.85rem;color:var(--muted);font-weight:400}input:focus-visible,select:focus-visible,textarea:focus-visible,button:focus-visible,a:focus-visible,summary:focus-visible{outline:3px solid #42b9a5;outline-offset:3px}h1,h2,h3,p{margin:0}h1{font-size:1.8rem;line-height:1.4;letter-spacing:-.03em}h2{font-size:1.22rem;line-height:1.5}h3{font-size:1.04rem;line-height:1.5}small,.small-text{font-size:.85rem;color:var(--muted)}.muted{color:var(--muted)}.eyebrow{font-size:.76rem;font-weight:750;letter-spacing:.12em;color:var(--teal);margin-bottom:8px}.brand{display:flex;align-items:center;gap:10px;min-width:0}.brand-mark{height:42px;width:42px;flex:none;background:var(--teal);border-radius:12px;display:grid;place-items:center;color:white;font-weight:750;font-size:1.35rem}.brand-name{font-weight:750;font-size:1.02rem;line-height:1.3}.brand-sub{font-size:.72rem;color:var(--muted)}.badge{display:inline-flex;align-items:center;gap:5px;padding:3px 9px;border-radius:6px;background:var(--pale);color:var(--teal-dark);font-size:.74rem;font-weight:650;white-space:nowrap;line-height:1.7}.badge.test{background:#fff1ce;color:#805b14}.badge.gray{background:#eef2f2;color:#607273}.badge.red{background:var(--red-bg);color:var(--red)}.badge.blue{background:#eaf2fa;color:#335d8b}.badge.amber{background:var(--amber-bg);color:var(--amber)}.topbar{min-height:84px;padding:16px max(24px,env(safe-area-inset-right));background:white;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:18px;position:sticky;top:0;z-index:20}.topbar-tools,.row,.actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.topbar-tools .user{font-size:.88rem;color:var(--muted);margin-right:5px}.workspace{max-width:1376px;margin:auto;padding:30px 28px 48px}.page-heading{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:24px}.page-heading p{margin-top:5px;color:var(--muted)}.disclaimer{padding:14px 18px;border:1px solid #d7e9e2;background:#eff8f4;border-radius:12px;color:#48675f;font-size:.86rem;margin-bottom:24px;line-height:1.7}.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-bottom:26px}.stat{padding:19px 22px;background:white;border:1px solid var(--line);border-radius:16px;box-shadow:var(--shadow)}.stat-label{font-size:.82rem;color:var(--muted)}.stat-value{font-size:2rem;font-weight:750;line-height:1.4;font-variant-numeric:tabular-nums;margin-top:5px}.stat-note{font-size:.78rem;color:var(--muted)}.card{background:white;border:1px solid var(--line);border-radius:16px;box-shadow:var(--shadow);padding:22px;margin-bottom:20px}.section-header{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:18px}.section-header .muted{font-size:.86rem}.empty-state{padding:45px 20px;text-align:center;color:var(--muted);border:1px dashed #cadbd6;border-radius:12px}.empty-state h3{color:var(--ink);margin:8px 0}.empty-state p{margin-bottom:18px}.candidate-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.candidate-card{border:1px solid var(--line);border-radius:14px;padding:18px;background:#fff}.candidate-name{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:8px}.candidate-id{font-size:.82rem;color:var(--muted);margin-bottom:15px;font-variant-numeric:tabular-nums;overflow-wrap:anywhere}.subject-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:6px;margin-bottom:14px}.subject-cell{border:1px solid #e0e9e6;border-radius:9px;padding:10px 6px;text-align:center;background:#f7faf9;min-height:85px}.subject-cell.done{background:#ecf7f1;border-color:#cce5d7}.subject-cell.active{background:#eef5fc;border-color:#d7e6f5}.subject-cell.fail{background:var(--red-bg);border-color:#f1d5d3}.subject-name{font-size:.75rem;color:var(--muted)}.subject-status{font-size:.78rem;font-weight:650;margin-top:5px}.subject-score{font-size:.72rem;color:var(--muted)}.exam-summary{font-size:.82rem;border-radius:8px;background:#f4f8f6;padding:11px;margin-bottom:14px;line-height:1.6}.exam-summary.terminated{background:var(--red-bg);color:var(--red)}.record-list{display:flex;flex-direction:column}.record-row{display:grid;grid-template-columns:1fr auto;gap:16px;align-items:center;border-top:1px solid var(--line);padding:15px 0}.record-row:first-child{border-top:0;padding-top:0}.record-row:last-child{padding-bottom:0}.record-title{font-weight:650;margin:4px 0}.record-meta{font-size:.82rem;color:var(--muted)}.record-status{display:flex;align-items:center;gap:12px}.back-row{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:20px}.detail-layout{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:22px;align-items:start}.detail-main{min-width:0}.detail-aside{position:sticky;top:105px}.detail-aside .card{padding:20px}.detail-title{margin:9px 0}.info-pairs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;padding-top:17px;margin-top:17px;border-top:1px solid var(--line)}.info-pairs dt{font-size:.77rem;color:var(--muted);margin-bottom:3px}.info-pairs dd{margin:0;font-weight:600;font-size:.91rem}.source-text{white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.85;font-size:.9rem;color:#425f60}.source-pages{font-size:.77rem;color:var(--muted);margin-top:7px}details{border-top:1px solid var(--line);margin-top:18px;padding-top:12px}summary{cursor:pointer;font-weight:650;color:var(--teal);min-height:44px;padding:9px 0}details .source-text{margin-top:10px}.criterion{border:1px solid var(--line);border-radius:12px;margin-top:16px;overflow:hidden}.criterion-header{display:flex;align-items:flex-start;justify-content:space-between;gap:15px;padding:15px 17px;background:#f5faf7}.criterion-name{font-weight:650;font-size:.96rem}.criterion-number{display:inline-grid;place-items:center;background:white;border:1px solid #cde2d8;border-radius:6px;width:25px;height:25px;margin-right:8px;font-size:.75rem;vertical-align:middle;flex:none}.criterion-max{font-size:.82rem;color:var(--teal);white-space:nowrap;font-weight:650}.criterion-body{padding:16px 17px}.criterion-body .source-text{font-size:.87rem;margin-bottom:15px}.mark-fields{display:grid;grid-template-columns:130px minmax(0,1fr);gap:14px}.mark-fields label{font-size:.83rem}.point-entry{font-size:1.12rem;font-weight:700;text-align:center;font-variant-numeric:tabular-nums}.criterion-comment{min-height:54px;height:54px}.score-big{font-size:3rem;font-weight:750;color:var(--teal);font-variant-numeric:tabular-nums;line-height:1.25;margin:9px 0}.score-big span{font-size:1rem;color:var(--muted);font-weight:400}.score-help{font-size:.81rem;color:var(--muted);margin:7px 0 17px}.stack{display:flex;flex-direction:column;gap:10px}.aside-row{display:flex;justify-content:space-between;gap:12px;padding:8px 0;font-size:.83rem;border-top:1px solid #e7efec}.aside-row strong{font-weight:650}.alert{padding:13px 15px;border-radius:10px;background:var(--amber-bg);border:1px solid #ecdcb5;font-size:.86rem;color:var(--amber);margin-bottom:16px;overflow-wrap:anywhere}.alert.error{background:var(--red-bg);border-color:#efcece;color:var(--red)}.alert.success{background:var(--pale);color:var(--teal-dark);border-color:#c5e4d8}.alert p+p{margin-top:7px}.fatal-box{padding:16px;background:#fff7f5;border:1px solid #efd5ce;border-radius:12px;margin-top:20px}.check-label{display:flex;align-items:flex-start;gap:11px;cursor:pointer;min-height:44px;line-height:1.5}.check-label input{margin-top:2px}.fatal-box p{font-size:.82rem;color:#8c635b;margin:0 0 12px 35px}.fatal-rules{padding:0 0 0 23px;margin:0 0 15px;color:#81524c;font-size:.86rem;line-height:1.8}.fatal-box textarea{margin-top:6px}.form-field{margin-bottom:17px}.form-field:last-child{margin-bottom:0}.form-help{font-size:.81rem;color:var(--muted);margin-top:6px}.form-card{border:1px solid var(--line);padding:16px;border-radius:12px;margin-top:13px}.form-card .row{justify-content:space-between}.form-card h3{font-size:.96rem}.form-data{margin-top:15px}.form-data dt{font-size:.8rem;color:var(--muted);margin-top:12px}.form-data dd{margin:3px 0 0;padding:8px 11px;background:#f5f8f6;border-radius:7px;font-size:.9rem;white-space:pre-wrap;overflow-wrap:anywhere}.form-data pre,.json-view{white-space:pre-wrap;overflow-wrap:anywhere;background:#f5f8f6;padding:15px;border-radius:8px;font-size:.79rem;max-height:430px;overflow:auto}.form-kind-label{font-size:.78rem;font-weight:650;color:var(--muted);margin-top:15px}.save-bar{position:sticky;bottom:0;z-index:10;background:#fffffff5;backdrop-filter:blur(12px);border:1px solid var(--line);border-radius:12px;padding:12px 16px;display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:20px;box-shadow:0 -4px 24px #234a3a0b}.save-bar .muted{font-size:.8rem}.auth-shell{max-width:1070px;margin:6vh auto;padding:25px;display:grid;grid-template-columns:1.05fr 1fr;gap:64px;align-items:center;min-height:70vh}.auth-intro h1{font-size:2.4rem;margin:28px 0 18px;line-height:1.45}.auth-intro>p{color:var(--muted);max-width:420px}.auth-intro .brand{margin-bottom:24px}.auth-steps{list-style:none;padding:0;margin:28px 0 0;display:grid;gap:15px}.auth-steps li{display:flex;align-items:center;gap:13px;color:var(--muted);font-size:.9rem}.auth-steps span{height:30px;width:30px;border-radius:9px;background:var(--pale);color:var(--teal);display:grid;place-items:center;font-weight:700}.auth-card{padding:29px}.auth-card h2{margin-bottom:6px}.auth-card>.muted{font-size:.86rem;margin-bottom:23px}.auth-card .primary-submit{width:100%;margin-top:7px}.auth-foot{font-size:.76rem;color:var(--muted);margin-top:20px;text-align:center}.startup{height:80vh;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:15px;color:var(--muted)}.toast{position:fixed;left:50%;bottom:28px;transform:translateX(-50%);max-width:min(600px,calc(100vw - 30px));padding:13px 20px;border-radius:12px;background:#163f3e;color:white;box-shadow:0 5px 25px #123d3d30;z-index:100;line-height:1.5;text-align:center;font-size:.9rem}.toast.error{background:#8f3037}.modal-backdrop{position:fixed;inset:0;background:#123a3c66;z-index:60;display:flex;align-items:center;justify-content:center;padding:24px;backdrop-filter:blur(3px)}.modal{background:white;border-radius:18px;box-shadow:0 20px 80px #102d3640;width:min(570px,100%);max-height:calc(100vh - 48px);max-height:calc(100dvh - 48px);overflow:auto;padding:25px}.modal.wide{width:min(820px,100%)}.modal-header{display:flex;align-items:flex-start;justify-content:space-between;gap:15px;margin-bottom:20px}.modal-header h2{padding-top:5px}.modal-close{min-width:44px;padding:6px 12px;background:#f0f5f3;color:var(--muted);font-size:1.5rem;line-height:1}.modal-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:22px;padding-top:18px;border-top:1px solid var(--line)}.modal-description{font-size:.87rem;color:var(--muted);margin-bottom:21px}.item-preview{border:1px solid var(--line);border-radius:10px;padding:14px;background:#f8fbf9;font-size:.84rem;margin-top:14px}.item-preview strong{display:block;margin-bottom:5px}.review-grid{display:grid;grid-template-columns:1fr 1fr;gap:13px;margin:18px 0}.review-cell{background:#f4f8f6;border-radius:10px;padding:13px}.review-cell .muted{font-size:.78rem}.review-cell strong{display:block;margin-top:4px}.footer-note{font-size:.75rem;color:var(--muted);text-align:center;margin-top:29px}.skip-link{position:absolute;left:15px;top:-60px;z-index:200;background:white;padding:12px}.skip-link:focus{top:12px}[hidden]{display:none!important}.visually-hidden{position:absolute!important;clip:rect(1px,1px,1px,1px);clip-path:inset(50%);width:1px;height:1px;overflow:hidden;white-space:nowrap}
@media(min-width:1200px){.workspace{padding-inline:45px}.detail-layout{grid-template-columns:minmax(0,1fr) 320px}}
@media(max-width:1000px){.topbar{padding:14px 22px}.topbar-tools{gap:7px}.topbar-tools .user{display:none}.workspace{padding:24px 22px 40px}.detail-layout{grid-template-columns:minmax(0,1fr) 260px;gap:17px}.detail-aside .card{padding:16px}.card{padding:19px}.auth-shell{gap:35px}.auth-intro h1{font-size:2rem}.candidate-grid{gap:13px}.candidate-card{padding:14px}}
@media(max-width:850px){.topbar{min-height:77px;padding:12px 16px;gap:8px}.brand-name{font-size:.93rem}.brand-sub{font-size:.65rem}.brand-mark{height:38px;width:38px;font-size:1.2rem}.topbar-tools{justify-content:flex-end}.topbar-tools button{padding:9px 11px;font-size:.8rem;min-height:44px}.topbar .badge{display:none}.workspace{padding:23px 16px 32px}.page-heading{align-items:flex-start;margin-bottom:19px}.page-heading h1{font-size:1.52rem}.page-heading p{font-size:.86rem}.page-heading .actions{justify-content:flex-end}.page-heading .actions button{font-size:.85rem;padding-inline:12px}.stats{gap:10px;margin-bottom:20px}.stat{padding:15px}.stat-value{font-size:1.7rem}.stat-note{font-size:.71rem}.candidate-grid{grid-template-columns:1fr}.detail-layout{grid-template-columns:1fr}.detail-aside{position:static;grid-row:1}.detail-aside .card{margin-bottom:0;padding:17px}.detail-aside .score-big{font-size:2.4rem;display:inline-block;margin:1px 10px 0 0}.detail-aside .score-help{display:inline;font-size:.78rem}.detail-aside .stack{display:grid;grid-template-columns:1fr 1fr;margin-top:14px}.detail-aside .aside-row{display:inline-flex;margin-right:15px;border-top:0;padding:4px 0}.detail-aside .aside-row strong{margin-left:10px}.detail-title{font-size:1.25rem}.info-pairs{gap:10px}.info-pairs dd{font-size:.83rem}.card{padding:18px}.record-status{gap:7px}.record-status>.badge{display:none}.record-title{font-size:.92rem}.record-meta{font-size:.76rem}.record-row{gap:10px}.auth-shell{grid-template-columns:1fr;max-width:520px;margin:0 auto;padding:30px 20px;gap:27px}.auth-intro h1{font-size:1.75rem;margin:20px 0 10px}.auth-intro>p{font-size:.88rem}.auth-steps{display:none}.auth-intro .brand{margin-bottom:10px}.auth-card{padding:23px}.mark-fields{grid-template-columns:105px minmax(0,1fr);gap:10px}.criterion-header,.criterion-body{padding:14px}.criterion-name{font-size:.89rem}.criterion-max{font-size:.76rem}.criterion-number{margin-right:5px}.source-text{font-size:.86rem}.back-row{gap:10px}.back-row .actions button{font-size:.8rem;padding-inline:10px}.modal-backdrop{padding:15px}.modal{padding:21px;max-height:calc(100vh - 30px);max-height:calc(100dvh - 30px)}.save-bar{padding:10px 12px}.save-bar button{font-size:.86rem;padding-inline:12px}}
@media(max-width:420px){.brand-sub{max-width:125px}.topbar-tools button[data-action=accounts]{display:none}.stats{gap:7px}.stat{padding:12px}.stat-label{font-size:.73rem}.stat-note{display:none}.stat-value{font-size:1.5rem}.page-heading{flex-direction:column;gap:14px}.page-heading .actions{width:100%;justify-content:flex-start}.subject-cell{min-height:78px}.info-pairs{grid-template-columns:1fr 1fr}.criterion-header{gap:7px}.mark-fields{grid-template-columns:90px minmax(0,1fr)}.save-bar .muted{max-width:140px;font-size:.72rem}.review-grid{grid-template-columns:1fr}.modal-actions button{padding-inline:12px;font-size:.9rem}}
@media(prefers-reduced-motion:no-preference){button{transition:background .16s,opacity .16s}.modal{animation:appear .15s ease-out}@keyframes appear{from{transform:translateY(8px);opacity:.4}to{transform:translateY(0);opacity:1}}}
.criterion-header{flex-wrap:wrap}.criterion-header .criterion-name{flex:1;min-width:220px}.criterion-actions{margin:13px 0}.criterion-actions button.selected{background:var(--pale);border-color:var(--teal);color:var(--teal-dark)}.veto-row{background:white;border:1px solid #eadad5;border-radius:10px;padding:15px;margin:14px 0}.veto-row h3{font-size:.92rem;margin:10px 0}.veto-row .source-text{font-size:.85rem}.veto-reason{margin:10px 0 0!important;padding:10px;background:var(--red-bg);border-radius:7px;font-size:.84rem!important;color:var(--red)!important;white-space:pre-wrap}.form-reopen{margin-top:20px;border-top:1px solid var(--line);padding-top:17px}.scope-filter{margin-top:15px}.scope-filter button.selected{background:var(--teal);color:white}

.source-original-title{font-size:.86rem;line-height:1.7;color:var(--muted);overflow-wrap:anywhere;margin:6px 0 10px}.detail-title{overflow-wrap:anywhere}

/* Compact human-operated navigation for long assessment pages. */
:root{--assessment-topbar-height:84px;--assessment-nav-height:108px}
.assessment-nav{position:sticky;top:var(--assessment-topbar-height);z-index:19;background:#f4f8f6fa;border-bottom:1px solid var(--line);box-shadow:0 5px 14px #143e3d0b;backdrop-filter:blur(12px)}
.assessment-nav-inner{max-width:1376px;margin:auto;padding:6px 16px}
.assessment-nav-row{display:flex;align-items:center;gap:6px;min-width:0;overflow-x:auto;overscroll-behavior-x:contain;-webkit-overflow-scrolling:touch;scrollbar-width:thin}
.assessment-nav-scores{gap:3px;margin-top:4px}
.assessment-nav .nav-section{flex:0 0 auto;min-height:44px;padding:8px 12px;font-size:.85rem;white-space:nowrap}
.assessment-nav .nav-index{flex:0 0 44px;min-width:44px;width:44px;height:44px;min-height:44px;padding:3px 2px;font-size:12px;line-height:1.25;border-radius:8px;white-space:nowrap;font-variant-numeric:tabular-nums}
.assessment-scroll-target{scroll-margin-top:max(250px,calc(var(--assessment-topbar-height) + var(--assessment-nav-height) + 16px))}
.assessment-nav ~ .workspace .detail-aside{top:calc(var(--assessment-topbar-height) + var(--assessment-nav-height) + 16px)}

/* Browser-wide access and compact phone controls. */
html{scrollbar-gutter:stable}body{overflow-wrap:break-word}.header-home{display:inline-flex;align-items:center;justify-content:center;min-width:44px;min-height:44px;padding:8px 10px;text-decoration:none;font-size:.85rem;font-weight:650}.candidate-actions{display:flex;gap:6px;flex-wrap:wrap}.access-details{margin:16px 0 22px}.access-details dt{font-size:.8rem;color:var(--muted);margin-top:10px}.access-details dd{margin:3px 0 0;font-weight:650;overflow-wrap:anywhere}.access-code{font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:1.2rem;letter-spacing:.08em}.access-copy{height:126px;font-size:.88rem;line-height:1.7}.assessment-nav-row:focus-within{scroll-behavior:auto}.criterion-header .criterion-name{min-width:min(220px,100%)}input,textarea,select{scroll-margin-top:calc(var(--assessment-topbar-height) + var(--assessment-nav-height) + 20px)}
@media(max-width:600px){
 .topbar{display:grid;grid-template-columns:minmax(0,1fr);gap:7px;padding:10px 12px}.topbar .brand{min-width:0}.topbar-tools{justify-content:flex-start;flex-wrap:nowrap;overflow-x:auto;max-width:100%;gap:5px}.topbar-tools>*{flex:0 0 auto}.topbar-tools button[data-action=accounts]{display:inline-flex;align-items:center}.topbar-tools .header-home{padding:8px;min-width:44px}.brand-name{font-size:.93rem}.brand-sub{max-width:none}.workspace{padding:20px 12px 28px}.card{padding:15px}.section-header{align-items:flex-start;flex-wrap:wrap}.section-header h2{font-size:1.08rem}.candidate-name{align-items:flex-start}.record-row{grid-template-columns:minmax(0,1fr) auto;gap:8px}.record-status button{padding-inline:9px}.criterion-header .criterion-name{min-width:0;flex-basis:100%}.criterion-header{padding:12px;gap:8px}.criterion-body{padding:12px}.mark-fields{grid-template-columns:minmax(75px,.8fr) minmax(0,1.7fr)}.criterion-actions{gap:7px}.criterion-actions .small-text{flex-basis:100%}.assessment-nav-inner{padding:5px 10px}.assessment-nav .nav-section{font-size:.78rem;padding:8px 10px}.assessment-nav .nav-index{font-size:11px}.assessment-nav-row{scrollbar-width:none}.assessment-nav-row::-webkit-scrollbar{display:none}.back-row{align-items:flex-start;flex-wrap:wrap}.back-row .actions{width:100%}.back-row .actions button{flex:1}.detail-aside .stack{grid-template-columns:1fr}.info-pairs dd{overflow-wrap:anywhere}.save-bar{align-items:flex-start;flex-wrap:wrap;bottom:env(safe-area-inset-bottom);gap:8px}.save-bar .muted{max-width:none;flex-basis:100%}.save-bar .actions{width:100%}.save-bar .actions button{flex:1;min-height:44px}.modal-backdrop{padding:12px}.modal{padding:19px;max-height:calc(100dvh - 24px)}.modal-actions{flex-wrap:wrap;gap:8px}.modal-actions button{flex:1 1 auto;min-height:44px}.auth-shell{padding:28px 16px}.auth-card{padding:22px}.fatal-box{padding:12px}.veto-row{padding:12px}.detail-aside .aside-row{display:flex;margin:0;justify-content:space-between}.toast{bottom:max(18px,env(safe-area-inset-bottom))}
}
@media(max-width:360px){.stats{gap:6px}.stat{padding:10px}.stat-label{font-size:.7rem}.stat-value{font-size:1.4rem}.subject-grid{gap:4px}.subject-cell{padding:8px 3px}.subject-name{font-size:.7rem}.subject-status{font-size:.71rem}.modal{padding:16px}.auth-card{padding:20px}}
@media(max-height:500px) and (max-width:1000px){.topbar{position:static}.assessment-nav{position:static}.assessment-scroll-target{scroll-margin-top:16px}.assessment-nav ~ .workspace .detail-aside{position:static}}
