:root{color:#17323a;font-synthesis:none;text-rendering:optimizelegibility;background:#eef4f2;font-family:Inter,PingFang SC,Microsoft YaHei,system-ui,sans-serif}*{box-sizing:border-box}body{min-width:320px;min-height:100vh;margin:0}a{color:inherit}.skip-link{z-index:20;color:#fff;background:#102f36;border-radius:.5rem;padding:.75rem 1rem;position:fixed;top:-4rem;left:1rem}.entry-page{background:radial-gradient(circle at 10% 15%,#28917e2b,#0000 35%),linear-gradient(145deg,#f7fbf9,#e7f0ed);place-items:center;padding:1.5rem;display:grid}.entry-card,.status-card,.workspace-card{background:#ffffffeb;border:1px solid #194f491f;border-radius:1.25rem;width:min(100%,760px);box-shadow:0 1.25rem 3.5rem #1e46411a}.entry-card{padding:clamp(1.5rem,5vw,3.5rem)}.entry-card h1,.portal-header h1{letter-spacing:-.03em;margin:0}.entry-card h1{font-size:clamp(2rem,7vw,4.25rem);line-height:1.05}.auth-card h1{font-size:clamp(1.8rem,6vw,3rem)}.auth-form{gap:1rem;display:grid}.login-method{background:#eef8f5;border:1px solid #bdd0ca;border-radius:.8rem;justify-content:space-between;align-items:center;gap:1rem;padding:1rem;display:flex}.login-method h2,.login-method p{margin:0}.login-method h2{font-size:1rem}.login-method p{color:#526b70;margin-top:.35rem;line-height:1.6}.method-divider{color:#61777b;align-items:center;gap:.75rem;margin:1.5rem 0;font-size:.86rem;display:flex}.method-divider:before,.method-divider:after{content:"";background:#d6dfdc;flex:1;height:1px}.configuration-form{gap:1rem;margin-top:1.5rem;display:grid}.configuration-status{flex-wrap:wrap;gap:.6rem;display:flex}.status-pill-muted{color:#526b70;background:#edf0ef}.toggle-row{background:#f8fbfa;border:1px solid #bdd0ca;border-radius:.65rem;align-items:flex-start;gap:.75rem;padding:1rem;display:flex}.toggle-row input{width:1.2rem;height:1.2rem;margin-top:.1rem}.toggle-row span{gap:.35rem;display:grid}.toggle-row small{color:#526b70;line-height:1.5}.binding-page{align-items:start}.binding-page .entry-card{margin:1.5rem 0}.verification-panel{background:#f6f8f7;border:1px solid #d6dfdc;border-radius:.8rem;justify-content:space-between;align-items:center;gap:1rem;margin:0 0 1.5rem;padding:1rem;display:flex}.verification-panel.verified{background:#eef8f5;border-color:#9dcec0}.verification-panel p{color:#526b70;margin:.35rem 0 0;line-height:1.5}.privacy-panel{border:1px solid #bdd0ca;border-radius:.8rem;padding:1rem}.privacy-panel h2{margin:0 0 .75rem;font-size:1rem}.privacy-text{color:#334f55;white-space:pre-wrap;background:#f6f8f7;border-radius:.55rem;max-height:15rem;padding:.9rem;font-size:.9rem;line-height:1.7;overflow:auto}.privacy-text:focus-visible{outline:3px solid #176f622e}.consent-row{align-items:flex-start;gap:.6rem;margin-top:.9rem;font-weight:700;display:flex}.consent-row input{width:1.1rem;height:1.1rem;margin-top:.15rem}.form-field{gap:.5rem;font-weight:700;display:grid}.form-field input,.form-field textarea{color:#17323a;width:100%;min-height:3rem;font:inherit;background:#fff;border:1px solid #bdd0ca;border-radius:.65rem;padding:.75rem .9rem}.form-field textarea{resize:vertical;min-height:10rem}.form-field small{color:#61777b;font-weight:400;line-height:1.5}.form-field select{color:#17323a;width:100%;min-height:3rem;font:inherit;background:#fff;border:1px solid #bdd0ca;border-radius:.65rem;padding:.75rem .9rem}.form-field input:focus-visible,.form-field textarea:focus-visible{border-color:#176f62;outline:3px solid #176f622e}.case-submission-form{gap:1.5rem;display:grid}.submission-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;display:grid}.choice-fieldset{border:1px solid #bdd0ca;border-radius:.8rem;grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem;margin:0;padding:1rem;display:grid}.choice-fieldset legend{padding:0 .4rem;font-weight:700}.choice-card,.risk-confirmation{background:#f8fbfa;border:1px solid #d6dfdc;border-radius:.7rem;align-items:flex-start;gap:.75rem;padding:1rem;display:flex}.choice-card input,.risk-confirmation input{width:1.15rem;height:1.15rem;margin-top:.15rem}.choice-card span,.risk-confirmation span{gap:.35rem;display:grid}.choice-card small,.risk-confirmation small{color:#526b70;line-height:1.55}.offline-panel{background:#eef8f5;border-radius:.8rem;gap:1rem;padding:1rem;display:grid}.risk-confirmation{background:#fff8e8;border-color:#d5a34b}.submission-success{background:#eef8f5;border:1px solid #9dcec0;border-radius:.8rem;margin-top:1.5rem;padding:1.25rem}.submission-success h3{margin:1rem 0 .5rem}.submission-success p{color:#526b70;line-height:1.7}.form-field select:focus-visible{border-color:#176f62;outline:3px solid #176f622e}.auth-footnote{color:#526b70;margin:1.5rem 0 0;font-size:.88rem;line-height:1.7}.eyebrow{color:#28786b;letter-spacing:.12em;text-transform:uppercase;margin:0 0 .75rem;font-size:.82rem;font-weight:700}.lead{color:#526b70;max-width:42rem;margin:1.5rem 0 2rem;font-size:1.05rem;line-height:1.8}.entry-grid{grid-template-columns:repeat(3,1fr);gap:.75rem;display:grid}.entry-grid a,.primary-link{color:#fff;text-align:center;background:#176f62;border-radius:.8rem;padding:1rem;font-weight:700;text-decoration:none}.entry-grid a:focus-visible,.entry-grid a:hover,.primary-link:focus-visible,.primary-link:hover{outline-offset:2px;background:#0e554c;outline:3px solid #176f6240}.portal-shell{background:#f4f7f6}.portal-header{background:#fff;border-bottom:1px solid #dce7e3;justify-content:space-between;align-items:center;gap:1rem;padding:1.25rem max(1.25rem,50vw - 560px);display:flex}.portal-header h1{font-size:1.35rem}.portal-header .eyebrow{margin-bottom:.3rem}.quiet-link{color:#176f62;text-underline-offset:.2rem;font-weight:700}.quiet-button{color:#176f62;font:inherit;text-underline-offset:.2rem;cursor:pointer;background:0 0;border:0;padding:0;font-weight:700;text-decoration:underline}.quiet-button:disabled{cursor:wait;opacity:.65}.portal-main{width:min(100% - 2rem,1120px);margin:0 auto;padding:clamp(2rem,7vw,5rem) 0}.status-card{padding:clamp(1.5rem,5vw,3rem)}.workspace-card{padding:clamp(1.25rem,4vw,2.5rem)}.status-card h2{margin:1rem 0 .75rem;font-size:clamp(1.5rem,4vw,2.3rem)}.status-card p{color:#526b70;margin:0;line-height:1.8}.section-heading{justify-content:space-between;align-items:flex-start;gap:1rem;display:flex}.section-heading h2{margin:.8rem 0 0;font-size:clamp(1.5rem,4vw,2.2rem)}.notice-box{background:#eef8f5;border-left:4px solid #28786b;border-radius:.5rem;margin:1.5rem 0;padding:1rem 1.1rem}.notice-box p,.file-description,.request-id{color:#526b70}.notice-box p{margin:.4rem 0 0;line-height:1.7}.file-picker{gap:.6rem;font-weight:700;display:grid}.file-picker input{background:#fff;border:1px solid #bdd0ca;border-radius:.65rem;width:100%;padding:.85rem}.action-row{flex-wrap:wrap;gap:.75rem;margin-top:1.5rem;display:flex}.primary-button,.secondary-button{min-height:2.75rem;font:inherit;cursor:pointer;border:0;border-radius:.65rem;padding:.7rem 1rem;font-weight:700}.primary-button{color:#fff;background:#176f62}.secondary-button{color:#176f62;background:#fff;border:1px solid #176f62}.secondary-link{color:#176f62;border:1px solid #176f62;border-radius:.65rem;align-items:center;min-height:2.75rem;padding:.7rem 1rem;font-weight:700;text-decoration:none;display:inline-flex}.primary-button:disabled{cursor:wait;opacity:.65}.result-message{margin:1.25rem 0 0;font-weight:700}.request-id{margin:.45rem 0 0;font-size:.85rem}.status-pill{color:#116454;background:#dff3ea;border-radius:999px;padding:.35rem .7rem;font-size:.82rem;font-weight:700;display:inline-flex}.filter-row{align-items:end;gap:.75rem;margin:1.5rem 0 0;display:flex}.compact-field{min-width:11rem}.filter-button{margin-bottom:.05rem}.table-scroll{border:1px solid #d6dfdc;border-radius:.75rem;margin-top:1rem;overflow-x:auto}.data-table{border-collapse:collapse;background:#fff;width:100%;min-width:850px}.data-table th,.data-table td{text-align:left;vertical-align:middle;border-bottom:1px solid #e4ebe9;padding:.85rem}.data-table th{color:#334f55;background:#f1f6f4;font-size:.88rem}.pagination-row{justify-content:space-between;align-items:center;gap:1rem;margin-top:1rem;display:flex}.account-editor,.error-report-panel{border-top:1px solid #d6dfdc;margin-top:2rem;padding-top:1.5rem}.error-report-panel h3{margin:.75rem 0 0;font-size:1.35rem}.import-error-table{min-width:720px}.account-editor h3{margin:.75rem 0 0;font-size:1.35rem}.editor-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;margin-top:1.25rem;display:grid}.role-fieldset{border:1px solid #bdd0ca;border-radius:.65rem;flex-wrap:wrap;gap:.75rem 1.5rem;margin:1.25rem 0 0;padding:1rem;display:flex}.role-fieldset legend{padding:0 .4rem;font-weight:700}.role-option{align-items:center;gap:.45rem;display:inline-flex}.role-option input{width:1.1rem;height:1.1rem}.attachment-panel{background:#f8fbfa;border:1px solid #bdd0ca;border-radius:.75rem;padding:1rem}.attachment-heading{justify-content:space-between;align-items:center;gap:1rem;display:flex}.attachment-heading h3{margin:0 0 .25rem;font-size:1rem}.attachment-heading small,.attachment-select small,.empty-hint{color:#526b70}.attachment-upload-button{flex:none;align-items:center;display:inline-flex}.attachment-list{gap:.65rem;margin:.85rem 0 0;padding:0;list-style:none;display:grid}.attachment-list li{background:#fff;border:1px solid #d6e2de;border-radius:.6rem;justify-content:space-between;align-items:center;gap:1rem;padding:.75rem;display:flex}.attachment-select{align-items:center;gap:.65rem;min-width:0;display:flex}.attachment-select span{gap:.2rem;min-width:0;display:grid}.attachment-select strong{overflow-wrap:anywhere}.attachment-actions{flex:none;gap:.8rem;display:flex}.danger-text-button{color:#a13939;font:inherit;text-underline-offset:.2rem;cursor:pointer;background:0 0;border:0;padding:0;font-weight:700;text-decoration:underline}.empty-hint{margin:.75rem 0 0;font-size:.9rem}.review-filter-row{grid-template-columns:repeat(3,minmax(0,1fr)) auto;display:grid}.review-queue-table{min-width:980px}.table-secondary{color:#526b70;margin-top:.25rem;display:block}.warning-box{color:#553c12;background:#fff8e7;border:1px solid #d6a74f;border-radius:.75rem;margin:1rem 0 1.25rem;padding:1rem}.warning-box p{margin:.45rem 0 0}.review-summary-grid,.identity-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:.75rem;display:grid}.review-summary-grid dl,.identity-grid dl,.offline-request>div{background:#f8fbfa;border:1px solid #dbe5e2;border-radius:.65rem;margin:0;padding:.8rem}.review-summary-grid dt,.identity-grid dt,.offline-request dt{color:#526b70;font-size:.82rem}.review-summary-grid dd,.identity-grid dd,.offline-request dd{overflow-wrap:anywhere;margin:.35rem 0 0;font-weight:700}.review-panel{background:#fff;border:1px solid #cbdad6;border-radius:.8rem;margin-top:1.25rem;padding:1.1rem}.review-panel h3{margin:0 0 .8rem}.review-panel h4{margin:1rem 0 .6rem}.original-content{white-space:pre-wrap;overflow-wrap:anywhere;background:#f2f6f5;border-radius:.65rem;margin:0;padding:1rem;line-height:1.75}.offline-request{grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem;margin:1rem 0 0;display:grid}.review-attachment-list,.conflict-list{gap:.65rem;margin:1rem 0 0;padding:0;list-style:none;display:grid}.review-attachment-list li,.conflict-list li{background:#f8fbfa;border:1px solid #dbe5e2;border-radius:.65rem;justify-content:space-between;align-items:center;gap:1rem;padding:.8rem;display:flex}.review-attachment-list span,.conflict-list span{gap:.25rem;min-width:0;display:grid}.review-attachment-list strong,.conflict-list strong{overflow-wrap:anywhere}.review-attachment-list small,.conflict-list small{color:#526b70}.conflict-form{border-top:1px solid #dbe5e2;grid-template-columns:minmax(240px,1fr) minmax(280px,2fr);align-items:end;gap:1rem;margin-top:1.25rem;padding-top:1rem;display:grid}.conflict-form .action-row{grid-column:1/-1}.staff-option-pagination{margin-top:.75rem}.dispatch-mode-options{margin-top:1rem}.dispatch-confirmation,.dispatch-summary,.dispatch-attachment-fieldset,.dispatch-handler-section,.dispatch-reason,.dispatch-final-warning{margin-top:1.25rem}.dispatch-attachment-fieldset{border:1px solid #cbdad6;border-radius:.75rem;gap:.65rem;padding:1rem;display:grid}.dispatch-attachment-option{background:#f8fbfa;border:1px solid #dbe5e2;border-radius:.65rem;padding:.75rem}.dispatch-handler-section{border-top:1px solid #dbe5e2;padding-top:1rem}.dispatch-handler-section h4{margin-top:0}.success-box{color:#194d38;background:#edf8f2;border:1px solid #4d9273;border-radius:.75rem;margin-top:1rem;padding:1rem}.success-box p{margin:.45rem 0 0}.staff-case-page{max-width:980px}.assigned-case-list{gap:.8rem;margin:1.25rem 0 0;padding:0;list-style:none;display:grid}.assigned-case-list li{background:#fff;border:1px solid #cbdad6;border-radius:.8rem;justify-content:space-between;align-items:center;gap:1rem;padding:1rem;display:flex}.assigned-case-list h3{margin:.55rem 0 .25rem}.assigned-case-list p,.assigned-case-list small{margin:.25rem 0 0}.assignment-decision-panel{background:#fffdf6;border-color:#d8b862}.return-reason-field{margin-top:1.25rem}.conversation-page,.conversation-list-page{max-width:980px}.conversation-list,.message-timeline,.message-attachment-list,.temporary-message-attachments{gap:.8rem;margin:1.25rem 0 0;padding:0;list-style:none;display:grid}.conversation-list>li{background:#fff;border:1px solid #cbdad6;border-radius:.8rem;justify-content:space-between;align-items:center;gap:1rem;padding:1rem;display:flex}.conversation-list h3{margin:.55rem 0 .25rem}.conversation-list p,.conversation-list small{margin:.25rem 0 0}.message-timeline>li{background:#fff;border:1px solid #cbdad6;border-radius:.8rem;width:min(88%,760px);padding:1rem}.message-timeline>li.handler{background:#f1faf5;border-color:#8ebda9;justify-self:end}.message-timeline>li.student{justify-self:start}.message-timeline header,.message-attachment-list li,.temporary-message-attachments li,.temporary-message-attachments label,.message-upload-row{justify-content:space-between;align-items:center;gap:.75rem;display:flex}.message-timeline header span,.message-upload-row small{color:#526b70;font-size:.85rem}.message-content{white-space:pre-wrap;overflow-wrap:anywhere;margin:.8rem 0 0;line-height:1.7}.pending-review-label{color:#6d5207;background:#fff3d0;border-radius:999px;margin:.75rem 0 0;padding:.35rem .6rem;font-size:.85rem;display:inline-block}.message-attachment-list li,.temporary-message-attachments li{background:#f8fbfa;border:1px solid #dbe5e2;border-radius:.6rem;padding:.65rem}.message-composer{margin-top:1.5rem}.message-upload-row{justify-content:flex-start;margin-top:1rem}.upload-label{cursor:pointer;position:relative;overflow:hidden}.upload-label input{opacity:0;pointer-events:none;width:1px;height:1px;position:absolute}@media (max-width:640px){.entry-grid{grid-template-columns:1fr}.portal-header{align-items:flex-start}.verification-panel,.login-method,.filter-row,.pagination-row{flex-direction:column;align-items:stretch}.compact-field{min-width:0}.editor-grid,.submission-grid,.choice-fieldset{grid-template-columns:1fr}.attachment-heading,.attachment-list li{flex-direction:column;align-items:stretch}.attachment-actions{justify-content:flex-end}.review-summary-grid,.identity-grid,.offline-request,.conflict-form,.review-filter-row{grid-template-columns:1fr}.review-attachment-list li,.conflict-list li,.assigned-case-list li,.conversation-list>li,.message-attachment-list li,.temporary-message-attachments li,.message-upload-row{flex-direction:column;align-items:stretch}.message-timeline>li{width:100%}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important}}.preview-banner{color:#4a3100;background:#fff2d6;border-bottom:2px solid #d48b00;flex-wrap:wrap;align-items:center;gap:.75rem;padding:.75rem 1rem;display:flex}.preview-banner nav{flex-wrap:wrap;gap:.75rem;display:flex}.preview-banner a{color:#573600;font-weight:700;text-decoration:underline}.preview-banner button{margin-left:auto}:root{--ink-strong:#12282d;--ink-muted:#607277;--line-soft:#dce6e3;--surface:#fff;--surface-soft:#f5f8f7;--brand:#087568;--brand-strong:#07594f;--brand-soft:#e4f5f0;--focus-ring:#08756838;color:var(--ink-strong);background:#f3f7f6}body{color:var(--ink-strong);-webkit-font-smoothing:antialiased;background:#f3f7f6}button,input,select,textarea{accent-color:var(--brand)}button,a,input,select,textarea,summary{-webkit-tap-highlight-color:transparent}.portal-shell{--portal-accent:#087568;--portal-accent-strong:#07594f;--portal-accent-soft:#e4f5f0;background:radial-gradient(circle at 88% 8%,#54b29d1c,#0000 27rem),#f3f7f6;min-height:100dvh}.portal-shell--student{--portal-accent:#087568;--portal-accent-strong:#07594f;--portal-accent-soft:#e1f5ef}.portal-shell--staff{--portal-accent:#245f88;--portal-accent-strong:#174767;--portal-accent-soft:#e8f2fa;background:radial-gradient(circle at 88% 8%,#4085b41c,#0000 28rem),#f3f7f9}.portal-shell--supervisor{--portal-accent:#7a5720;--portal-accent-strong:#5e4014;--portal-accent-soft:#f7eedc;background:radial-gradient(circle at 88% 8%,#b17e2e1f,#0000 28rem),#f7f6f2}.portal-shell--admin{--portal-accent:#2e5d75;--portal-accent-strong:#1f4358;--portal-accent-soft:#e9f1f5;background:#f3f5f7}.portal-header{z-index:12;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#fffffff0;border-bottom:1px solid #1a454d1a;min-height:5rem;padding:.9rem max(1.25rem,50vw - 750px);position:sticky;top:0;box-shadow:0 .35rem 1.5rem #1232390e}.portal-brand{min-width:0;color:var(--ink-strong);align-items:center;gap:.8rem;text-decoration:none;display:inline-flex}.portal-brand-mark,.nav-icon,.dashboard-action-icon,.admin-dashboard-card>span:first-child{background:var(--portal-accent-soft);color:var(--portal-accent-strong);border-radius:.8rem;flex:none;place-items:center;font-weight:800;display:inline-grid}.portal-brand-mark{background:linear-gradient(145deg, var(--portal-accent), var(--portal-accent-strong));width:2.8rem;height:2.8rem;box-shadow:0 .45rem 1rem color-mix(in srgb, var(--portal-accent) 22%, transparent);color:#fff;letter-spacing:.08em;font-size:.82rem}.portal-brand>span:last-child{gap:.16rem;display:grid}.portal-brand small{color:var(--ink-muted);letter-spacing:.08em;font-size:.72rem}.portal-brand strong{letter-spacing:-.02em;font-size:1.12rem}.portal-context-chip{background:var(--portal-accent-soft);color:var(--portal-accent-strong);border-radius:999px;padding:.45rem .72rem;font-size:.78rem;font-weight:800}.header-logout-button{border:1px solid var(--line-soft);color:#4c6268;min-height:2.55rem;font:inherit;cursor:pointer;background:#fff;border-radius:.75rem;padding:.55rem .85rem;font-size:.86rem;font-weight:750}.header-logout-button:hover,.header-logout-button:focus-visible{border-color:var(--portal-accent);color:var(--portal-accent-strong);outline:3px solid var(--focus-ring)}.portal-workspace{min-width:0}.portal-main{width:min(100% - 2rem,1120px);padding:clamp(1.5rem,4vw,3.5rem) 0}.portal-shell--student .portal-main{width:min(100% - 2rem,760px)}.portal-shell--staff .portal-main{width:min(100% - 2rem,900px)}.portal-shell--supervisor .portal-main{width:min(100% - 2rem,760px)}.privacy-callout{border:1px solid color-mix(in srgb, var(--portal-accent,#7a5720) 25%, white);background:color-mix(in srgb, var(--portal-accent-soft,#f7eedc) 72%, white);border-radius:1rem;margin:1.25rem 0;padding:1rem}.privacy-callout p{color:#5c574d;margin:.4rem 0 0;font-size:.9rem}.supervisor-contact-card{background:linear-gradient(145deg,#fffaf0,#fff);border:1px solid #dfc58f;border-radius:1.1rem;gap:1rem;margin-top:1.25rem;padding:clamp(1rem,4vw,1.4rem);display:grid;box-shadow:0 .8rem 2rem #5e401417}.supervisor-contact-card h3{margin:.6rem 0 .2rem;font-size:1.45rem}.contact-phone{color:var(--portal-accent-strong);letter-spacing:.04em;font-size:clamp(1.45rem,6vw,2rem);font-weight:850;text-decoration:none}.supervisor-contact-card dl{gap:.7rem;margin:0;display:grid}.supervisor-contact-card dl>div{grid-template-columns:5.5rem 1fr;gap:.75rem;display:grid}.supervisor-contact-card dt{color:#786b56;font-size:.86rem}.supervisor-contact-card dd{margin:0;font-weight:750}.supervisor-contact-card>p{color:#786b56;margin:0;font-size:.84rem}.portal-tabbar{z-index:10;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:#ffffffe6;border:1px solid #174a4f1a;border-radius:1rem;justify-content:center;gap:.35rem;width:-moz-fit-content;width:fit-content;max-width:calc(100% - 2rem);margin:.85rem auto 0;padding:.35rem;display:flex;position:sticky;top:5rem;box-shadow:0 .5rem 1.6rem #193a4214}.portal-tabbar a{color:#52686e;border-radius:.75rem;align-items:center;gap:.5rem;min-height:2.8rem;padding:.45rem .8rem;font-size:.88rem;font-weight:750;text-decoration:none;display:flex}.portal-tabbar .nav-icon{border-radius:.55rem;width:1.75rem;height:1.75rem;font-size:.72rem}.portal-tabbar a:hover,.portal-tabbar a:focus-visible,.portal-tabbar a.router-link-active:not(.nav-link--exact),.portal-tabbar a.router-link-exact-active{background:var(--portal-accent-soft);color:var(--portal-accent-strong);outline:none}.portal-shell--admin .portal-workspace{grid-template-columns:16.5rem minmax(0,1fr);width:min(100%,1600px);min-height:calc(100dvh - 5rem);margin:0 auto;display:grid}.portal-shell--admin .portal-main{width:100%;min-width:0;margin:0;padding:clamp(1.25rem,3vw,2.5rem)}.admin-sidebar{background:#f9fbfcf0;border-right:1px solid #dfe6e9;flex-direction:column;justify-content:space-between;height:calc(100dvh - 5rem);padding:1.35rem 1rem;display:flex;position:sticky;top:5rem;overflow-y:auto}.admin-nav-group+.admin-nav-group{border-top:1px solid #e2e8ea;margin-top:1.35rem;padding-top:1.15rem}.admin-nav-group h2{color:#7b898e;letter-spacing:.12em;text-transform:uppercase;margin:0 0 .45rem;padding:0 .7rem;font-size:.72rem}.admin-nav-group a{color:#40585f;border-radius:.75rem;align-items:center;gap:.7rem;min-height:2.85rem;margin:.2rem 0;padding:.48rem .65rem;font-size:.9rem;font-weight:720;text-decoration:none;display:flex}.admin-nav-group .nav-icon{border-radius:.58rem;width:1.9rem;height:1.9rem;font-size:.73rem}.admin-nav-group a:hover,.admin-nav-group a:focus-visible,.admin-nav-group a.router-link-active:not(.nav-link--exact),.admin-nav-group a.router-link-exact-active{background:var(--portal-accent-soft);color:var(--portal-accent-strong);outline:none}.admin-sidebar-footnote{color:#718188;background:#eef3f5;border-radius:.75rem;margin:1.5rem 0 0;padding:.8rem;font-size:.75rem;line-height:1.55}.admin-mobile-menu{display:none}.entry-card,.status-card,.workspace-card{background:#fffffff5;border:1px solid #1c505317;border-radius:1.35rem;box-shadow:0 1rem 2.7rem #1f444913}.portal-shell--admin .status-card,.portal-shell--admin .workspace-card{width:100%;max-width:none}.status-card,.workspace-card{padding:clamp(1.25rem,3.5vw,2.35rem)}.status-pill{background:var(--portal-accent-soft,#e4f5f0);color:var(--portal-accent-strong,#07594f);letter-spacing:.01em;align-items:center;padding:.38rem .7rem;font-size:.76rem}.primary-link,.primary-button{background:linear-gradient(145deg, var(--portal-accent,#087568), var(--portal-accent-strong,#07594f));box-shadow:0 .5rem 1rem color-mix(in srgb, var(--portal-accent,#087568) 16%, transparent)}.primary-link,.secondary-link,.primary-button,.secondary-button{border-radius:.8rem;justify-content:center;align-items:center;min-height:3rem}.primary-button:hover,.primary-button:focus-visible,.secondary-button:hover,.secondary-button:focus-visible,.primary-link:hover,.primary-link:focus-visible,.secondary-link:hover,.secondary-link:focus-visible{outline:3px solid var(--focus-ring);outline-offset:2px}.secondary-link,.secondary-button{border-color:color-mix(in srgb, var(--portal-accent,#087568) 58%, white);color:var(--portal-accent-strong,#07594f)}.form-field input,.form-field textarea,.form-field select{background:#fbfdfc;border-color:#cbd9d6;border-radius:.78rem;min-height:3.25rem;padding:.82rem .95rem}.form-field input:focus-visible,.form-field textarea:focus-visible,.form-field select:focus-visible{border-color:var(--portal-accent,#087568);outline:3px solid var(--focus-ring)}.choice-card{cursor:pointer;background:#fbfdfc;border-radius:.9rem;min-height:5.25rem}.choice-card:has(input:checked){border-color:var(--portal-accent,#087568);background:var(--portal-accent-soft,#e4f5f0);box-shadow:inset 0 0 0 1px var(--portal-accent,#087568)}.dashboard-home{overflow:hidden}.dashboard-hero-copy{max-width:42rem}.dashboard-kicker{letter-spacing:.1em;text-transform:uppercase;font-size:.78rem;font-weight:800;color:var(--portal-accent-strong,#07594f)!important;margin:1.2rem 0 .4rem!important}.dashboard-home h2{letter-spacing:-.045em;max-width:38rem;margin:0;font-size:clamp(1.75rem,5vw,2.65rem);line-height:1.18}.dashboard-home .dashboard-hero-copy>p:last-child{max-width:40rem;color:var(--ink-muted);margin-top:.9rem;line-height:1.75}.student-primary-action{margin-top:1.7rem}.dashboard-action-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.8rem;margin-top:.8rem;display:grid}.dashboard-action{min-width:0;color:var(--ink-strong);background:#fff;border:1px solid #d8e4e1;border-radius:1rem;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:.85rem;padding:1rem;text-decoration:none;transition:transform .16s,border-color .16s,box-shadow .16s;display:grid}.dashboard-action:hover,.dashboard-action:focus-visible{border-color:var(--portal-accent,#087568);outline:none;transform:translateY(-2px);box-shadow:0 .7rem 1.6rem #18464d1a}.dashboard-action--featured{background:linear-gradient(140deg, var(--portal-accent,#087568), var(--portal-accent-strong,#07594f));box-shadow:0 .85rem 1.8rem color-mix(in srgb, var(--portal-accent,#087568) 20%, transparent);color:#fff;border:0}.dashboard-action-icon{width:2.7rem;height:2.7rem}.dashboard-action--featured .dashboard-action-icon{color:#fff;background:#ffffff29}.dashboard-action>span:nth-child(2){gap:.25rem;min-width:0;display:grid}.dashboard-action strong{font-size:1rem}.dashboard-action small{color:var(--ink-muted);font-size:.8rem;line-height:1.5}.dashboard-action-arrow{color:currentColor;opacity:.7;font-size:1.2rem}.privacy-reassurance{background:#f2f7f5;border-radius:1rem;align-items:flex-start;gap:.75rem;margin-top:1.35rem;padding:1rem;display:flex}.privacy-reassurance>span{background:var(--portal-accent-soft,#e4f5f0);width:2.15rem;height:2.15rem;color:var(--portal-accent-strong,#07594f);border-radius:.7rem;flex:none;place-items:center;font-size:.72rem;font-weight:800;display:grid}.privacy-reassurance p{font-size:.85rem;color:#536a70!important;line-height:1.65!important}.staff-workflow-hint{grid-template-columns:repeat(3,minmax(0,1fr));gap:.6rem;margin-top:1.25rem;display:grid}.staff-workflow-hint span{color:#526975;background:#f3f7fa;border-radius:.85rem;align-items:center;gap:.55rem;padding:.7rem;font-size:.82rem;font-weight:700;display:flex}.staff-workflow-hint strong{background:var(--portal-accent);color:#fff;border-radius:50%;place-items:center;width:1.6rem;height:1.6rem;font-size:.72rem;display:grid}.admin-dashboard-home{padding:clamp(1.3rem,2.5vw,2rem)}.admin-dashboard-heading{justify-content:space-between;align-items:flex-end;gap:2rem;display:flex}.admin-dashboard-heading h2{margin-top:0}.admin-dashboard-section{border-top:1px solid #e3e9eb;margin-top:2rem;padding-top:1.5rem}.dashboard-section-heading h3{margin:0;font-size:1.1rem}.dashboard-section-heading .dashboard-kicker{margin-top:0!important}.admin-dashboard-grid{grid-template-columns:repeat(auto-fit,minmax(12.5rem,1fr));gap:.8rem;margin-top:1rem;display:grid}.admin-dashboard-card{min-height:7.2rem;color:var(--ink-strong);background:#fbfcfd;border:1px solid #dde5e8;border-radius:1rem;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:.25rem .75rem;padding:1rem;text-decoration:none;display:grid}.admin-dashboard-card>span:first-child{grid-row:1/span 2;width:2.45rem;height:2.45rem}.admin-dashboard-card strong{align-self:end}.admin-dashboard-card small{color:var(--ink-muted);align-self:start;line-height:1.45}.admin-dashboard-card:hover,.admin-dashboard-card:focus-visible{border-color:var(--portal-accent);outline:3px solid color-mix(in srgb, var(--portal-accent) 18%, transparent);outline-offset:1px;box-shadow:0 .7rem 1.5rem #22465617}.admin-dashboard-card--emphasis{background:linear-gradient(145deg,#edf6fa,#f8fbfc);border-color:#b9d3df}.assigned-case-list li,.conversation-list>li{border-color:#dbe5e2;border-radius:1rem;box-shadow:0 .35rem 1rem #193f450b}.assigned-case-list li>div,.conversation-list>li>div{min-width:0}.assigned-case-list h3,.conversation-list h3{overflow-wrap:anywhere}.review-panel,.attachment-panel,.table-scroll,.warning-box,.success-box,.notice-box{border-radius:1rem}.table-scroll{box-shadow:inset 0 0 0 1px #254b5205}.data-table th{z-index:1;position:sticky;top:0}@media (max-width:1024px){.portal-shell--admin .portal-workspace{min-height:0;display:block}.admin-sidebar{display:none}.admin-mobile-menu{z-index:9;background:#fff;border:1px solid #d9e2e5;border-radius:.9rem;width:calc(100% - 2rem);margin:.8rem auto 0;display:block;position:relative;box-shadow:0 .5rem 1.5rem #20414e12}.admin-mobile-menu summary{min-height:3rem;color:var(--portal-accent-strong);cursor:pointer;padding:.85rem 1rem;font-weight:800}.admin-mobile-menu nav{grid-template-columns:repeat(2,minmax(0,1fr));gap:.45rem;padding:0 .8rem .8rem;display:grid}.admin-mobile-menu nav>strong{color:#75868c;letter-spacing:.08em;grid-column:1/-1;margin-top:.55rem;font-size:.72rem}.admin-mobile-menu a{color:#405961;background:#f5f8f9;border-radius:.7rem;align-items:center;gap:.55rem;min-height:2.85rem;padding:.5rem;font-size:.84rem;font-weight:700;text-decoration:none;display:flex}.admin-mobile-menu .nav-icon{width:1.75rem;height:1.75rem;font-size:.7rem}.admin-mobile-menu a.router-link-active:not(.nav-link--exact),.admin-mobile-menu a.router-link-exact-active{background:var(--portal-accent-soft);color:var(--portal-accent-strong)}.portal-shell--admin .portal-main{padding:1rem}.admin-dashboard-heading{flex-direction:column;align-items:flex-start;gap:1rem}}@media (max-width:760px){.portal-shell{min-height:100dvh}.portal-header{min-height:4.25rem;padding:.62rem .85rem}.portal-brand{gap:.6rem}.portal-brand-mark{border-radius:.72rem;width:2.45rem;height:2.45rem;font-size:.72rem}.portal-brand small,.portal-context-chip{display:none}.portal-brand strong{text-overflow:ellipsis;white-space:nowrap;max-width:9.5rem;font-size:1rem;overflow:hidden}.header-logout-button{min-height:2.45rem;padding:.48rem .7rem;font-size:.8rem}.portal-tabbar{z-index:18;width:100%;max-width:none;padding:.45rem max(.55rem, env(safe-area-inset-right)) calc(.4rem + env(safe-area-inset-bottom)) max(.55rem, env(safe-area-inset-left));background:#fffffff7;border:0;border-top:1px solid #dbe5e2;border-radius:0;grid-template-columns:repeat(4,minmax(0,1fr));gap:0;margin:0;display:grid;position:fixed;inset:auto 0 0;box-shadow:0 -.5rem 1.8rem #1a3a4117}.portal-shell--staff .portal-tabbar{grid-template-columns:repeat(2,minmax(0,1fr));width:min(100%,32rem);left:50%;right:50%;transform:translate(-50%)}.portal-shell--supervisor .portal-tabbar{grid-template-columns:1fr;width:min(100%,32rem);left:50%;right:50%;transform:translate(-50%)}.portal-tabbar a{border-radius:.75rem;flex-direction:column;justify-content:center;gap:.17rem;min-height:3.65rem;padding:.25rem;font-size:.69rem;line-height:1}.portal-tabbar .nav-icon{width:1.8rem;height:1.8rem}.portal-shell--student .portal-main,.portal-shell--staff .portal-main,.portal-shell--supervisor .portal-main{width:100%;padding:.9rem .8rem calc(6rem + env(safe-area-inset-bottom));margin:0}.supervisor-contact-card dl>div{grid-template-columns:1fr;gap:.2rem}.portal-shell--admin .portal-main{padding:.8rem}.admin-mobile-menu{width:calc(100% - 1.6rem)}.admin-mobile-menu nav{grid-template-columns:1fr}.entry-card,.status-card,.workspace-card{border-radius:1.15rem;box-shadow:0 .65rem 1.8rem #1d424811}.status-card,.workspace-card{padding:1.1rem}.status-card h2,.section-heading h2{font-size:1.55rem;line-height:1.25}.section-heading{flex-direction:column-reverse;align-items:flex-start;gap:.65rem}.section-heading .quiet-link,.back-link{align-items:center;min-height:2.5rem;display:inline-flex}.dashboard-kicker{margin-top:1rem!important}.dashboard-home h2{font-size:1.82rem}.dashboard-action-grid{grid-template-columns:1fr}.dashboard-action{min-height:5.2rem;padding:.9rem}.dashboard-action-icon{width:2.55rem;height:2.55rem}.staff-workflow-hint,.admin-dashboard-grid,.admin-dashboard-grid--management{grid-template-columns:1fr}.admin-dashboard-card{min-height:5.9rem}.submission-grid,.choice-fieldset,.editor-grid,.review-summary-grid,.identity-grid,.offline-request,.conflict-form,.review-filter-row{grid-template-columns:1fr}.choice-fieldset{padding:.8rem}.form-field input,.form-field textarea,.form-field select{font-size:1rem}.action-row{grid-template-columns:1fr;display:grid}.action-row>.primary-link,.action-row>.secondary-link,.action-row>.primary-button,.action-row>.secondary-button,.action-row>.danger-button,.assigned-case-list .primary-link,.conversation-list .secondary-link{width:100%}.primary-link,.secondary-link,.primary-button,.secondary-button,.danger-button{min-height:3.15rem}.assigned-case-list li,.conversation-list>li,.review-attachment-list li,.conflict-list li,.message-attachment-list li,.temporary-message-attachments li,.message-upload-row{flex-direction:column;align-items:stretch}.assigned-case-list li,.conversation-list>li{padding:.95rem}.review-panel,.attachment-panel,.warning-box,.success-box,.notice-box{padding:.9rem}.message-timeline>li{width:94%;padding:.9rem}.message-timeline>li.handler{justify-self:end}.table-scroll{border-radius:.85rem;margin-left:-.2rem;margin-right:-.2rem}.pagination-row{text-align:center;grid-template-columns:1fr;display:grid}.pagination-row button{min-height:2.8rem}.attachment-heading,.attachment-list li{flex-direction:column;align-items:stretch}.attachment-upload-button{justify-content:center}.preview-banner button{margin-left:0}}html{scroll-behavior:smooth;background:#f3f7f6;min-height:100%}body{overscroll-behavior-y:none;min-height:100dvh}button,[role=button],a,label,summary{touch-action:manipulation}button:disabled,input:disabled,select:disabled,textarea:disabled{cursor:not-allowed;opacity:.68}.entry-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.auth-card{width:min(100%,35rem);position:relative;overflow:hidden}.auth-card:before{content:"";background:linear-gradient(90deg,#087568,#43a993 52%,#8bd2c0);height:.35rem;position:absolute;top:0;left:0;right:0}.auth-back-link{margin-bottom:.75rem}.auth-card h1{color:#102d33;font-size:clamp(2rem,7vw,2.8rem);line-height:1.12}.auth-card .lead{margin:1rem 0 1.5rem;font-size:.98rem;line-height:1.75}.auth-card .login-method{background:linear-gradient(145deg,#eef9f6,#f8fcfb);border-radius:1rem}.auth-card .action-row>*{flex:11rem}.binding-progress{grid-template-columns:repeat(3,minmax(0,1fr));gap:.45rem;margin:0 0 1.25rem;padding:0;list-style:none;display:grid}.binding-progress li{color:#7b8b8f;text-align:center;justify-items:center;gap:.4rem;min-width:0;display:grid}.binding-progress li>span{background:#f6f9f8;border:1px solid #cfdbd8;border-radius:50%;justify-content:center;align-items:center;width:2rem;height:2rem;font-size:.78rem;font-weight:800;display:inline-flex}.binding-progress li>small{text-overflow:ellipsis;white-space:nowrap;font-size:.72rem;font-weight:700;overflow:hidden}.binding-progress li.is-active>span{border-color:var(--portal-accent,#087568);box-shadow:0 0 0 .25rem var(--portal-accent-soft,#e4f5f0);background:#fff}.binding-progress li.is-complete>span{border-color:var(--portal-accent,#087568);background:var(--portal-accent,#087568);color:#fff}.field{color:var(--ink-strong,#12282d);gap:.5rem;margin-top:1rem;font-weight:750;display:grid}.field input,.field select,.field textarea{width:100%;min-height:3.25rem;color:inherit;font:inherit;background:#fbfdfc;border:1px solid #cbd9d6;border-radius:.78rem;padding:.82rem .95rem}.field textarea{resize:vertical;min-height:8rem}.field small{color:var(--ink-muted,#607277);justify-self:end;font-size:.78rem;font-weight:500}.field input:focus-visible,.field select:focus-visible,.field textarea:focus-visible{border-color:var(--portal-accent,#087568);outline:3px solid var(--focus-ring,#08756838)}.form-step-card{background:#fff;border:1px solid #d7e3df;border-radius:1rem;min-width:0;padding:1.1rem;box-shadow:0 .4rem 1.3rem #1e44490b}.form-step-kicker{color:#254c51;align-items:center;gap:.6rem;margin:0 0 1rem;font-size:.9rem;font-weight:800;display:flex}.form-step-kicker>span{background:var(--portal-accent,#087568);color:#fff;border-radius:.55rem;flex:none;justify-content:center;align-items:center;width:1.8rem;height:1.8rem;font-size:.76rem;display:inline-flex}.form-step-card>.form-field:first-of-type,.form-step-card>.choice-fieldset:first-of-type,.attachment-panel.form-step-card{margin-top:0}.form-error{color:#8b2828;background:#fff2f2;border:1px solid #e7b3b3;border-radius:.9rem;margin:1rem 0;padding:.9rem 1rem;font-weight:700;line-height:1.6}.empty-state{color:#65777b;text-align:center;background:#ffffffb3;border:1px dashed #c7d6d2;border-radius:1rem;margin-top:1rem;padding:1.35rem;line-height:1.7}.danger-button{color:#9a3030;min-height:3rem;font:inherit;cursor:pointer;background:#fff5f5;border:1px solid #d89b9b;border-radius:.8rem;padding:.72rem 1rem;font-weight:750}.danger-button:hover,.danger-button:focus-visible{outline-offset:2px;background:#ffeded;border-color:#b84b4b;outline:3px solid #b84b4b26}.consent-check,.confirmation-row{color:#304b51;cursor:pointer;background:#f8fbfa;border:1px solid #cbdad6;border-radius:.9rem;align-items:flex-start;gap:.75rem;margin-top:1rem;padding:1rem;font-weight:700;line-height:1.6;display:flex}.consent-check input,.confirmation-row input,.choice-card input,.risk-confirmation input,.role-option input,.attachment-select input{flex:none;width:1.25rem;height:1.25rem;margin-top:.12rem}:is(.confirmation-row:has(input:checked),.consent-check:has(input:checked)){border-color:var(--portal-accent,#087568);background:var(--portal-accent-soft,#e4f5f0)}.attachment-select-list{border:1px solid #cbdad6;border-radius:.9rem;gap:.7rem;margin-top:1.15rem;padding:1rem;display:grid}.attachment-select-list legend{padding:0 .4rem;font-weight:800}.back-link{min-height:2.6rem;color:var(--portal-accent-strong,#07594f);align-items:center;margin-bottom:.45rem;font-size:.88rem;font-weight:750;text-decoration:none;display:inline-flex}.back-link:hover,.back-link:focus-visible{text-underline-offset:.22rem;text-decoration:underline}.review-panel,.offline-approval-panel,.dispatch-panel{box-shadow:0 .4rem 1.3rem #1e44490b}.review-panel>.form-field+.form-field,.review-panel>.field+.field,.review-summary-grid,.identity-grid{margin-top:1rem}.review-summary-grid>div,.identity-grid>div,.review-summary-grid>dl,.identity-grid>dl{min-width:0}.review-summary-grid>div,.identity-grid>div{background:#f8fbfa;border:1px solid #dbe5e2;border-radius:.75rem;margin:0;padding:.8rem}.original-content,.message-content{color:#29464c}.section-heading h2,.status-card>h2{color:#132f35;letter-spacing:-.035em}.quiet-link,.quiet-button,.danger-text-button{align-items:center;min-height:2.7rem}.quiet-link,.quiet-button{color:var(--portal-accent-strong,#07594f)}.quiet-button,.danger-text-button{display:inline-flex}.assigned-case-list li,.conversation-list>li{position:relative;overflow:hidden}.assigned-case-list li:before,.conversation-list>li:before{background:var(--portal-accent,#087568);content:"";width:.25rem;position:absolute;top:0;bottom:0;left:0}.message-timeline>li{border-radius:1.15rem 1.15rem 1.15rem .35rem;box-shadow:0 .35rem 1rem #193f450b}.message-timeline>li.handler{border-radius:1.15rem 1.15rem .35rem}.message-timeline>.message-entry--mine{background:#eef9f4;border-color:#8ebda9;border-radius:1.15rem 1.15rem .35rem;justify-self:end}.message-timeline>.message-entry--other{background:#fff;border-radius:1.15rem 1.15rem 1.15rem .35rem;justify-self:start}.message-timeline>.message-entry--audit{border-left:.3rem solid var(--portal-accent,#087568);background:#fff;border-radius:.85rem;justify-self:stretch;width:100%}.message-composer{border-color:color-mix(in srgb, var(--portal-accent,#087568) 32%, white);background:linear-gradient(180deg, #fff, color-mix(in srgb, var(--portal-accent-soft,#e4f5f0) 34%, white))}.composer-mode-switch{background:#eef3f2;border:1px solid #cedbd8;border-radius:.9rem;grid-template-columns:repeat(2,minmax(0,1fr));gap:.3rem;margin-bottom:1rem;padding:.3rem;display:grid}.composer-mode-button{color:#536b70;min-height:2.8rem;font:inherit;cursor:pointer;background:0 0;border:0;border-radius:.7rem;padding:.65rem .75rem;font-size:.86rem;font-weight:750}.composer-mode-button--active{color:var(--portal-accent-strong,#07594f);background:#fff;box-shadow:0 .2rem .8rem #1f44491f}.message-attachment-list span,.temporary-message-attachments label,.temporary-message-attachments label span,.attachment-name{overflow-wrap:anywhere;min-width:0}.supervisor-appointment-list>li{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:1rem;display:grid}.supervisor-appointment-list .supervisor-contact-card{grid-column:1/-1;width:100%}.mobile-action-shortcut{display:none}#message-composer,#assignment-decision{scroll-margin-top:7rem}.supervisor-workbench .assigned-case-list li{background:linear-gradient(145deg,#fffdf8,#fff);border-color:#e5d5b5}.supervisor-workbench .primary-button{white-space:nowrap}.portal-shell--admin .admin-form-page{max-width:54rem}.table-scroll{scrollbar-color:#a8bbb6 transparent;scrollbar-width:thin}.data-table tbody tr{transition:background .14s}@media (max-width:1024px){.admin-mobile-menu{display:none}.admin-mobile-nav{z-index:11;width:min(100% - 2rem,56rem);margin:.8rem auto 0;display:block;position:sticky;top:5rem}.admin-mobile-nav-trigger{color:#294a57;width:100%;min-height:3.65rem;font:inherit;text-align:left;cursor:pointer;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:#fffffff7;border:1px solid #d7e1e4;border-radius:1rem;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:.75rem;padding:.62rem .75rem;display:grid;box-shadow:0 .55rem 1.5rem #20414e14}.admin-mobile-nav-trigger>.nav-icon{border-radius:.68rem;width:2.15rem;height:2.15rem}.admin-mobile-nav-current{gap:.08rem;min-width:0;display:grid}.admin-mobile-nav-current small{color:#77888e;font-size:.68rem}.admin-mobile-nav-current strong{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.admin-mobile-nav-action{color:var(--portal-accent-strong);font-size:.8rem;font-weight:800}.admin-mobile-nav-panel{background:#fffffffc;border:1px solid #d7e1e4;border-radius:1rem;grid-template-columns:repeat(2,minmax(0,1fr));gap:.45rem;max-height:calc(100dvh - 10.5rem);padding:.8rem;display:grid;position:absolute;top:calc(100% + .45rem);left:0;right:0;overflow-y:auto;box-shadow:0 1rem 2.5rem #1a37432b}.admin-mobile-nav-panel>strong{color:#74868c;letter-spacing:.1em;grid-column:1/-1;margin:.35rem 0 .05rem;font-size:.7rem}.admin-mobile-nav-panel a{color:#405961;background:#f4f7f8;border-radius:.8rem;align-items:center;gap:.6rem;min-height:3.2rem;padding:.55rem .65rem;font-size:.86rem;font-weight:730;text-decoration:none;display:flex}.admin-mobile-nav-panel .nav-icon{border-radius:.6rem;width:1.9rem;height:1.9rem;font-size:.72rem}.admin-mobile-nav-panel a.router-link-active:not(.nav-link--exact),.admin-mobile-nav-panel a.router-link-exact-active{background:var(--portal-accent-soft);color:var(--portal-accent-strong)}.admin-mobile-nav-backdrop{z-index:10;cursor:default;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#132d3547;border:0;width:100%;height:100%;padding:0;position:fixed;inset:0}.admin-mobile-nav-trigger[aria-expanded=true]{z-index:13;border-color:color-mix(in srgb, var(--portal-accent) 58%, white);position:relative;box-shadow:0 0 0 .22rem #0875681f,0 .75rem 1.8rem #20414e24}.admin-mobile-nav-panel[role=dialog]{z-index:13}.admin-mobile-nav-panel[role=dialog]:focus-visible{outline:3px solid var(--focus-ring,#08756838);outline-offset:2px}.admin-mobile-nav-close{color:#405961;min-height:2.85rem;font:inherit;cursor:pointer;background:#fff;border:1px solid #d4dfdc;border-radius:.75rem;grid-column:1/-1;justify-content:center;align-items:center;padding:.6rem .8rem;font-size:.82rem;font-weight:750;display:inline-flex}}@media (max-width:760px){:root{font-size:16px}.entry-grid{grid-template-columns:1fr}.entry-page{background:#f8fbfa;min-height:100dvh;padding:0;display:block}.entry-page .entry-card{width:100%;min-height:100dvh;padding:calc(1.5rem + env(safe-area-inset-top)) calc(1.1rem + env(safe-area-inset-right)) calc(1.5rem + env(safe-area-inset-bottom)) calc(1.1rem + env(safe-area-inset-left));box-shadow:none;border:0;border-radius:0;margin:0}.entry-page .eyebrow{letter-spacing:.06em;background:#e4f5f0;border-radius:999px;margin-bottom:1rem;padding:.42rem .7rem;display:inline-flex}.auth-card h1{font-size:2rem}.auth-card .login-method,.verification-panel{padding:.95rem}.auth-card .primary-button,.auth-card .secondary-button,.auth-card .secondary-link{width:100%}.portal-header{padding-top:calc(.55rem + env(safe-area-inset-top));padding-right:calc(.75rem + env(safe-area-inset-right));padding-left:calc(.75rem + env(safe-area-inset-left))}.portal-shell--student .portal-main,.portal-shell--staff .portal-main,.portal-shell--supervisor .portal-main{padding-right:calc(.8rem + env(safe-area-inset-right));padding-left:calc(.8rem + env(safe-area-inset-left))}.portal-shell--student .portal-main>.status-card,.portal-shell--student .portal-main>.workspace-card,.portal-shell--staff .portal-main>.status-card,.portal-shell--staff .portal-main>.workspace-card,.portal-shell--supervisor .portal-main>.status-card,.portal-shell--supervisor .portal-main>.workspace-card{box-shadow:none;background:0 0;border:0;border-radius:0;padding:.2rem 0 0}.portal-main>section>.status-pill:first-child,.portal-main>section>.back-link+.status-pill{margin-top:.15rem}.status-card>h2,.section-heading h2{margin-top:.7rem;font-size:1.65rem}.status-card>p,.workspace-card>p,.section-heading+p{font-size:.92rem;line-height:1.7}.review-panel,.attachment-panel,.privacy-callout,.supervisor-contact-card,.warning-box,.success-box,.notice-box,.empty-state{border-radius:1.05rem}.review-panel{margin-top:.85rem;padding:1rem}.review-panel h3{font-size:1.05rem}.review-summary-grid,.identity-grid{gap:.55rem}.review-summary-grid dl,.review-summary-grid>div,.identity-grid dl,.identity-grid>div,.offline-request>div{background:#ffffffe6;border-radius:.85rem;padding:.78rem}.choice-card,.risk-confirmation,.consent-check,.confirmation-row{min-height:4.85rem;padding:.9rem}.case-submission-form{gap:1rem}.portal-shell--student .case-submission-form>.action-row:last-child{z-index:7;bottom:calc(4.75rem + env(safe-area-inset-bottom));-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:#fffffff5;border:1px solid #1c50531a;border-radius:1rem;margin:.4rem -.35rem 0;padding:.7rem;position:sticky;box-shadow:0 .8rem 2rem #193a421f}.portal-shell--student .case-submission-form>.action-row:last-child .primary-button{width:100%}.assigned-case-list,.conversation-list,.message-timeline{gap:.7rem;margin-top:1rem}.assigned-case-list li,.conversation-list>li{background:#fffffff2;border-radius:1.05rem;gap:.75rem;padding:1rem .9rem .9rem 1.05rem}.assigned-case-list .primary-link,.assigned-case-list .primary-button,.conversation-list .secondary-link{width:100%;min-height:3.15rem}.message-timeline>li{width:92%;padding:.95rem}.message-timeline header{flex-direction:column;align-items:flex-start;gap:.25rem}.message-composer{padding-bottom:1rem}.mobile-action-shortcut{z-index:16;right:max(.85rem, env(safe-area-inset-right));bottom:calc(5.15rem + env(safe-area-inset-bottom));background:var(--portal-accent,#087568);color:#fff;border:1px solid #ffffffb8;border-radius:999px;justify-content:center;align-items:center;min-height:3rem;padding:.72rem 1rem;font-size:.84rem;font-weight:800;text-decoration:none;display:inline-flex;position:fixed;box-shadow:0 .7rem 1.6rem #184a4a3d}.supervisor-appointment-list>li{grid-template-columns:1fr}.supervisor-appointment-list>li>.primary-button,.supervisor-contact-card>.secondary-button{width:100%}.portal-shell--supervisor .portal-main{padding-bottom:calc(1.5rem + env(safe-area-inset-bottom))}.contact-phone{align-items:center;min-height:3.4rem;display:inline-flex}.admin-mobile-nav{top:calc(4.25rem + env(safe-area-inset-top));width:calc(100% - 1.6rem);margin-top:.65rem}.admin-mobile-nav-panel{max-height:calc(100dvh - 9.5rem - env(safe-area-inset-top));grid-template-columns:1fr}.portal-shell--admin .workspace-card,.portal-shell--admin .status-card{border-radius:1rem}.portal-shell--admin .section-heading,.portal-shell:not(.portal-shell--admin) .section-heading{flex-direction:column}.portal-shell--admin .filter-row{grid-template-columns:1fr;gap:.75rem;display:grid}.portal-shell--admin .filter-row .filter-button{width:100%}.portal-shell--admin .table-scroll{box-shadow:none;border:0;border-radius:0;margin:1rem 0 0;overflow:visible}.portal-shell--admin .data-table{background:0 0;min-width:0;display:block}.portal-shell--admin .data-table thead{clip:rect(0, 0, 0, 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.portal-shell--admin .data-table tbody{gap:.75rem;display:grid}.portal-shell--admin .data-table tr{background:#fff;border:1px solid #dce5e7;border-radius:1rem;padding:.45rem;display:block;overflow:hidden;box-shadow:0 .45rem 1.2rem #2143500e}.portal-shell--admin .data-table td{overflow-wrap:anywhere;border:0;border-bottom:1px solid #edf1f2;grid-template-columns:minmax(6.3rem,38%) minmax(0,1fr);align-items:center;gap:.75rem;min-height:2.7rem;padding:.55rem .6rem;display:grid}.portal-shell--admin .data-table td:last-child{border-bottom:0}.portal-shell--admin .data-table td:before{color:#718188;content:attr(data-label);font-size:.76rem;font-weight:750}.portal-shell--admin .data-table td[data-label=操作]{padding-top:.75rem;display:block}.portal-shell--admin .data-table td[data-label=操作]:before{display:none}.portal-shell--admin .data-table td[data-label=操作] .quiet-link,.portal-shell--admin .data-table td[data-label=操作] .quiet-button{border:1px solid color-mix(in srgb, var(--portal-accent) 45%, white);background:var(--portal-accent-soft);border-radius:.75rem;justify-content:center;width:100%;min-height:3rem;padding:.65rem;text-decoration:none;display:flex}.portal-shell--admin .data-table .table-empty-row{padding:0}.portal-shell--admin .data-table .table-empty-row td{color:#65777b;text-align:center;border:0;padding:1.1rem;line-height:1.6;display:block}.portal-shell--admin .data-table .table-empty-row td:before{display:none}.account-editor{margin-top:1.25rem;padding-top:1.15rem}.role-fieldset{gap:.45rem;display:grid}.role-option{background:#f7faf9;border-radius:.75rem;min-height:3rem;padding:.65rem}.error-report-panel .section-heading>.secondary-button{width:100%}.message-attachment-list .quiet-button,.temporary-message-attachments .danger-text-button{justify-content:center;width:100%;padding:.6rem .8rem}}@media (min-width:761px) and (max-width:1024px){.portal-shell--admin .table-scroll{box-shadow:none;border:0;border-radius:0;margin:1rem 0 0;overflow:visible}.portal-shell--admin .data-table{background:0 0;min-width:0;display:block}.portal-shell--admin .data-table thead{clip:rect(0, 0, 0, 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.portal-shell--admin .data-table tbody{grid-template-columns:repeat(2,minmax(0,1fr));gap:.8rem;display:grid}.portal-shell--admin .data-table tr{background:#fff;border:1px solid #dce5e7;border-radius:1rem;padding:.45rem;display:block;overflow:hidden;box-shadow:0 .45rem 1.2rem #2143500e}.portal-shell--admin .data-table td{overflow-wrap:anywhere;border:0;border-bottom:1px solid #edf1f2;grid-template-columns:minmax(6.1rem,40%) minmax(0,1fr);align-items:center;gap:.7rem;min-height:2.7rem;padding:.55rem .6rem;display:grid}.portal-shell--admin .data-table td:last-child{border-bottom:0}.portal-shell--admin .data-table td:before{color:#718188;content:attr(data-label);font-size:.76rem;font-weight:750}.portal-shell--admin .data-table td[data-label=操作]{padding-top:.75rem;display:block}.portal-shell--admin .data-table td[data-label=操作]:before,.portal-shell--admin .data-table .table-empty-row td:before{display:none}.portal-shell--admin .data-table td[data-label=操作] .quiet-link,.portal-shell--admin .data-table td[data-label=操作] .quiet-button{border:1px solid color-mix(in srgb, var(--portal-accent) 45%, white);background:var(--portal-accent-soft);border-radius:.75rem;justify-content:center;align-items:center;width:100%;min-height:3rem;padding:.65rem;text-decoration:none;display:flex}.portal-shell--admin .data-table .table-empty-row{grid-column:1/-1;padding:0}.portal-shell--admin .data-table .table-empty-row td{color:#65777b;text-align:center;border:0;padding:1.1rem;line-height:1.6;display:block}}@media (max-width:390px){.portal-brand strong{max-width:7.5rem}.header-logout-button{padding-left:.55rem;padding-right:.55rem}.portal-shell--student .portal-main,.portal-shell--staff .portal-main,.portal-shell--supervisor .portal-main{padding-right:calc(.65rem + env(safe-area-inset-right));padding-left:calc(.65rem + env(safe-area-inset-left))}.portal-tabbar a{font-size:.64rem}.portal-shell--admin .data-table td{grid-template-columns:5.7rem minmax(0,1fr)}}@media (min-width:761px) and (max-width:1180px){.review-summary-grid,.identity-grid,.editor-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (pointer:coarse){.primary-button,.secondary-button,.danger-button,.primary-link,.secondary-link,.quiet-link,.quiet-button,.danger-text-button,.header-logout-button{min-height:3rem}}:root{--color-primary:#2f73f4;--color-primary-hover:#2468e8;--color-primary-active:#1d5cd4;--color-primary-soft:#eaf2ff;--text-primary:#111318;--text-secondary:#48556a;--text-tertiary:#7b8799;--text-placeholder:#8c95a4;--text-disabled:#b9c0ca;--text-inverse:#fff;--bg-page:#fff;--bg-secondary:#f5f6f8;--bg-subtle:#fafbfd;--bg-elevated:#fff;--border-light:#edf0f5;--border-medium:#d9dde3;--border-focus:#2f73f447;--border-primary-soft:#d7e5ff;--border-primary-hover:#b8c9ec;--border-warning-soft:#f4dca9;--color-danger:#e21b1b;--color-warning:#d88a00;--color-success:#16a447;--color-info:#2f73f4;--info-text:#285cae;--warning-text:#8a5a00;--success-text:#126f35;--primary-soft-text:#174a9a;--danger-bg:#ffe4e5;--warning-bg:#fff0ce;--success-bg:#daf5df;--info-bg:#eaf2ff;--warning-subtle-bg:#fff8e8;--warning-strong-text:#78530a;--radius-xs:6px;--radius-sm:8px;--radius-md:12px;--radius-lg:16px;--radius-xl:24px;--radius-pill:999px;--shadow-card:0 2px 15px #26406e0b;--shadow-floating:0 7px 16px #2168ef47;--shadow-dialog:0 20px 50px #20335329;--shadow-hairline:0 0 0 1px #26406e08;--shadow-topbar:0 -4px 16px #26406e0a;--surface-glass:#fffffff5;--surface-glass-strong:#fffffffa;--overlay-backdrop:#11131861;--overlay-backdrop-light:#11131857;--gradient-primary-soft:linear-gradient(135deg, #edf5ff, #f8fbff);--gradient-primary-soft-alt:linear-gradient(135deg, #edf5ff, #f6f9ff);--gradient-warning-soft:linear-gradient(135deg, #fff6e8, #fffaf2);--gradient-success-soft:linear-gradient(135deg, #eef9f0, #f8fcf9);--gradient-success-result:linear-gradient(135deg, #eef9f0, #fbfefc);--surface-primary-subtle:#fbfdff;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:20px;--space-6:24px;--space-7:32px;--space-8:40px;--font-xs:12px;--font-sm:14px;--font-body:16px;--font-subtitle:18px;--font-title:20px;--font-page-title:22px;--font-number:24px;--font-number-lg:28px;--line-compact:1.35;--line-body:1.65;--transition-fast:.12s ease;--transition-normal:.2s ease;--transition-slow:.3s ease;--mobile-page-max:575px;--admin-content-max:1440px;--admin-sidebar-width:248px;--header-height:68px;--mobile-tabbar-height:64px;--portal-accent:var(--color-primary);--portal-accent-strong:var(--color-primary-active);--portal-accent-soft:var(--info-bg);--ink-strong:var(--text-primary);--ink-muted:var(--text-tertiary);--focus-ring:var(--border-focus);color:var(--text-primary);background:var(--bg-secondary);font-synthesis:none;text-rendering:optimizelegibility;font-family:-apple-system,BlinkMacSystemFont,SF Pro Display,PingFang SC,Microsoft YaHei,Arial,sans-serif}html{background:var(--bg-secondary);--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;min-width:320px;min-height:100%}body{background:var(--bg-secondary);min-width:320px;min-height:100vh;color:var(--text-primary);font-family:inherit;font-size:var(--font-body);line-height:var(--line-body);-webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:transparent;margin:0}button,input,select,textarea{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button{transition:transform var(--transition-fast), opacity var(--transition-fast), color var(--transition-normal), background-color var(--transition-normal), border-color var(--transition-normal)}button:not(:disabled):active,a:active{transform:scale(.98)}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,[tabindex]:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}a{color:inherit;text-decoration:none}h1,h2,h3,p{overflow-wrap:anywhere}::selection{background:var(--color-primary-soft);color:var(--text-primary)}.app-icon{flex:none;display:block}.visually-hidden{clip:rect(0, 0, 0, 0)!important;white-space:nowrap!important;border:0!important;width:1px!important;height:1px!important;margin:-1px!important;padding:0!important;position:absolute!important;overflow:hidden!important}.skip-link{z-index:2000;top:-72px;left:var(--space-4);padding:var(--space-3) var(--space-4);border-radius:var(--radius-sm);background:var(--text-primary);color:var(--text-inverse);font-size:var(--font-sm);font-weight:700;position:fixed}.skip-link:focus{top:var(--space-4)}.entry-page,.portal-shell{min-height:100vh}.app-page{min-height:0}.page-content{width:100%;padding-inline:var(--space-5)}.card,.app-section,.entry-card,.status-card,.workspace-card,.form-step-card,.review-panel,.attachment-panel,.privacy-panel,.offline-panel,.error-report-panel,.account-editor,.submission-success,.supervisor-contact-card{border-radius:var(--radius-md);background:var(--bg-elevated);box-shadow:var(--shadow-card);border:0}.app-section,.form-step-card,.review-panel,.attachment-panel,.privacy-panel,.offline-panel,.error-report-panel,.account-editor,.submission-success,.supervisor-contact-card{padding:var(--space-5)}.app-card{border-radius:var(--radius-md);background:var(--bg-page);box-shadow:var(--shadow-card);border:0}.app-form,.app-form-group{gap:var(--space-4);display:grid}.field,.form-field,.compact-field{margin:0}.review-panel.app-form-group>.form-field+.form-field,.review-panel.app-form-group>.field+.field{margin-top:0}.app-action-bar{align-items:center;gap:var(--space-3);flex-wrap:wrap;display:flex}.app-pagination{justify-content:center;align-items:center;gap:var(--space-3);display:flex}.app-pagination>span,.pagination-row>span{color:var(--text-tertiary);font-size:var(--font-sm)}.app-loading,.app-state{min-height:120px;padding:var(--space-6);border-radius:var(--radius-md);background:var(--bg-subtle);color:var(--text-tertiary);font-size:var(--font-sm);text-align:center;place-items:center;display:grid}.app-state--loading:before,.app-loading:before{border:2px solid var(--border-medium);border-top-color:var(--color-primary);content:"";border-radius:50%;width:22px;height:22px;animation:.7s linear infinite app-spin}@keyframes app-spin{to{transform:rotate(360deg)}}.app-page-head,.section-heading,.admin-dashboard-heading,.dashboard-section-heading,.attachment-heading{justify-content:space-between;align-items:flex-start;gap:var(--space-4);display:flex}.app-page-head{justify-content:stretch;align-items:start;gap:var(--space-2);display:grid}.app-page-head>p{color:var(--text-secondary);font-size:var(--font-sm);margin:0;line-height:1.65}.section-heading.app-page-head,.admin-dashboard-heading.app-page-head{justify-content:space-between;display:flex}.app-page-head__copy{gap:var(--space-2);min-width:0;display:grid}.app-header{min-width:0}.app-page-head__copy>h1,.app-page-head__copy>h2,.app-page-head__copy>p{margin:0}.app-page-head__copy>p{color:var(--text-secondary);font-size:var(--font-sm)}.app-page-head h1,.app-page-head h2,.section-heading h1,.section-heading h2,.admin-dashboard-heading h2,.dashboard-section-heading h3,.status-card>h2,.workspace-card>h2{color:var(--text-primary);font-size:var(--font-page-title);font-weight:700;line-height:var(--line-compact);letter-spacing:-.02em;margin:0}.app-section-head h2,.app-section-head h3,.review-panel h3,.form-step-card h2,.form-step-card h3,.attachment-panel h3{color:var(--text-primary);font-size:var(--font-subtitle);font-weight:700;line-height:var(--line-compact);margin:0}.app-section-head:not(h1):not(h2):not(h3){justify-content:space-between;align-items:center;gap:var(--space-3);display:flex}h1.app-section-head,h2.app-section-head,h3.app-section-head{color:var(--text-primary);font-size:var(--font-subtitle);font-weight:700;line-height:var(--line-compact);margin:0}.app-section-kicker,.app-overline{margin:0 0 var(--space-1);color:var(--color-primary);font-size:var(--font-xs);letter-spacing:.04em;font-weight:700;display:block}.eyebrow,.dashboard-kicker,.form-step-kicker{margin:0 0 var(--space-2);color:var(--color-primary);font-size:var(--font-xs);letter-spacing:.06em;text-transform:none;font-weight:700;line-height:1.4}.lead,.file-description,.empty-hint,.request-id,.auth-footnote,.table-secondary,.privacy-reassurance,.staff-workflow-hint{color:var(--text-tertiary)}.lead{margin:var(--space-3) 0 0;font-size:var(--font-body);line-height:var(--line-body)}.file-description,.empty-hint,.request-id,.auth-footnote,.table-secondary,.staff-workflow-hint{font-size:var(--font-sm);line-height:1.6}.file-description,.empty-hint,.request-id{margin:var(--space-3) 0 0}.request-id{font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:var(--font-xs)}.entry-page{padding:var(--space-6) var(--space-4);background:var(--bg-secondary);place-items:center;display:grid}.entry-card{width:min(100%,520px);padding:var(--space-7);border:1px solid var(--border-light);color:var(--text-primary);position:relative;overflow:hidden}.app-auth-page{background:var(--bg-secondary)}.app-auth-panel{gap:var(--space-5);display:grid}.app-entry-panel,.app-binding-panel{align-content:start}.app-auth-panel>*{margin-top:0}.app-auth-head{align-items:start;gap:var(--space-4);grid-template-columns:52px minmax(0,1fr);display:grid}.app-brand-mark,.app-section-icon,.app-hero-icon,.app-result-card__icon,.app-security-note__icon,.app-grid-menu__icon,.app-menu-icon,.app-cell-icon,.app-cell__icon{background:var(--info-bg);color:var(--color-primary);flex:none;place-items:center;display:grid}.app-brand-mark{border-radius:var(--radius-md);width:52px;height:52px}.app-section-icon,.app-cell-icon,.app-cell__icon,.app-grid-menu__icon,.app-menu-icon{border-radius:50%;width:44px;height:44px}.app-back-link{align-items:center;gap:var(--space-2);width:-moz-fit-content;width:fit-content;display:inline-flex}.app-auth-footnote{align-items:flex-start;gap:var(--space-2);padding-top:var(--space-4);border-top:1px solid var(--border-light);color:var(--text-tertiary);font-size:var(--font-xs);margin:0;line-height:1.6;display:flex}.app-auth-footnote .app-icon{color:var(--color-primary);margin-top:2px}.app-auth-actions>*{flex:160px}.app-login-method{background:var(--bg-subtle);flex-direction:column;align-items:stretch}.auth-card .app-login-method{background:var(--bg-subtle)}.app-auth-panel .lead{margin:var(--space-3) 0 0;color:var(--text-secondary);font-size:var(--font-body);line-height:var(--line-body)}.entry-card:before,.auth-card:before{display:none}.entry-card h1,.auth-card h1{color:var(--text-primary);letter-spacing:-.03em;margin:0;font-size:clamp(26px,6vw,34px);font-weight:700;line-height:1.22}.entry-grid{margin-top:var(--space-6);border:1px solid var(--border-light);border-radius:var(--radius-md);background:var(--bg-page);gap:0;display:grid;overflow:hidden}.entry-grid a{align-content:center;gap:var(--space-1);min-height:76px;padding:var(--space-4) 52px var(--space-4) var(--space-4);border:0;border-bottom:1px solid var(--border-light);background:var(--bg-page);box-shadow:none;color:var(--text-primary);border-radius:0;display:grid;position:relative}.entry-grid.app-grid-menu a{align-items:center;column-gap:var(--space-3);grid-template-columns:44px minmax(0,1fr)}.entry-grid.app-grid-menu a>span:last-child{gap:var(--space-1);min-width:0;display:grid}.entry-grid a:last-child{border-bottom:0}.entry-grid a:after{top:50%;right:var(--space-4);border-top:1.5px solid var(--text-tertiary);border-right:1.5px solid var(--text-tertiary);content:"";width:7px;height:7px;position:absolute;transform:translateY(-50%)rotate(45deg)}.entry-grid a:hover,.entry-grid a:focus-visible{border-color:var(--border-light);background:var(--bg-subtle);box-shadow:none;transform:none}.entry-grid strong{font-size:var(--font-subtitle);font-weight:700}.entry-grid small{color:var(--text-tertiary);font-size:var(--font-sm)}.back-link,.auth-back-link,.quiet-link{min-height:36px;color:var(--color-primary);font-size:var(--font-sm);align-items:center;font-weight:600;display:inline-flex}.auth-back-link{margin:0 0 var(--space-5)}.auth-form,.configuration-form,.case-submission-form{gap:var(--space-4);margin-top:var(--space-6);display:grid}.login-method,.verification-panel{justify-content:space-between;align-items:center;gap:var(--space-4);padding:var(--space-4);border-radius:var(--radius-md);background:var(--info-bg);border:0;display:flex}.login-method h2,.login-method p,.verification-panel p{margin:0}.login-method h2{color:var(--text-primary);font-size:var(--font-body);font-weight:700}.login-method p,.verification-panel p{margin-top:var(--space-1);color:var(--text-secondary);font-size:var(--font-sm)}.method-divider{align-items:center;gap:var(--space-3);margin:var(--space-5) 0;color:var(--text-tertiary);font-size:var(--font-xs);display:flex}.method-divider:before,.method-divider:after{background:var(--border-light);content:"";flex:1;height:1px}.auth-footnote{margin:var(--space-5) 0 0;padding-top:var(--space-4);border-top:1px solid var(--border-light)}.portal-shell{background:var(--bg-page);color:var(--text-primary);position:relative}.portal-header{z-index:100;min-height:var(--header-height);justify-content:space-between;align-items:center;gap:var(--space-3);padding:calc(var(--space-2) + env(safe-area-inset-top)) var(--space-5) var(--space-2);border-bottom:1px solid var(--border-light);background:var(--surface-glass);box-shadow:none;-webkit-backdrop-filter:saturate(160%)blur(14px);backdrop-filter:saturate(160%)blur(14px);display:flex;position:sticky;top:0}.portal-brand{align-items:center;gap:var(--space-3);min-width:0;display:flex}.portal-brand-mark{border-radius:var(--radius-md);background:var(--color-primary-soft);width:40px;height:40px;color:var(--color-primary);font-size:var(--font-xs);letter-spacing:-.02em;flex:none;place-items:center;font-weight:800;display:grid}.portal-brand>span:last-child{min-width:0;line-height:1.25;display:grid}.portal-brand small{color:var(--text-tertiary);font-size:11px;font-weight:500}.portal-brand strong{color:var(--text-primary);font-size:var(--font-body);text-overflow:ellipsis;white-space:nowrap;font-weight:700;overflow:hidden}.portal-header-actions{align-items:center;gap:var(--space-2);display:flex}.portal-context-chip{min-height:28px;padding:0 var(--space-3);border-radius:var(--radius-pill);background:var(--info-bg);color:var(--color-primary);font-size:var(--font-xs);border:0;align-items:center;font-weight:600;display:inline-flex}.header-logout-button{align-items:center;gap:var(--space-2);min-height:36px;padding:0 var(--space-3);border:1px solid var(--border-light);border-radius:var(--radius-sm);background:var(--bg-page);color:var(--text-secondary);font-size:var(--font-sm);cursor:pointer;font-weight:600;display:inline-flex}.portal-workspace{width:100%;min-height:calc(100vh - var(--header-height))}.portal-main{width:100%;max-width:none;padding:var(--space-5) var(--space-4) calc(var(--mobile-tabbar-height) + var(--space-6) + env(safe-area-inset-bottom));margin:0}.portal-shell--student,.portal-shell--staff,.portal-shell--supervisor{width:min(100%, var(--mobile-page-max));background:var(--bg-page);box-shadow:var(--shadow-hairline);margin:0 auto}.portal-shell--student .portal-main,.portal-shell--staff .portal-main,.portal-shell--supervisor .portal-main{max-width:none;margin:0}.portal-tabbar{z-index:110;width:min(100%, var(--mobile-page-max));max-width:none;min-height:calc(var(--mobile-tabbar-height) + env(safe-area-inset-bottom));padding:var(--space-1) var(--space-2) env(safe-area-inset-bottom);border:0;border-top:1px solid var(--border-light);background:var(--surface-glass-strong);box-shadow:var(--shadow-topbar);-webkit-backdrop-filter:saturate(160%)blur(16px);backdrop-filter:saturate(160%)blur(16px);border-radius:0;grid-auto-columns:1fr;grid-auto-flow:column;gap:0;margin:0 auto;display:grid;position:fixed;inset:auto 0 0;transform:none}.portal-shell--student .portal-tabbar,.portal-shell--staff .portal-tabbar{width:min(100%, var(--mobile-page-max));max-width:none;margin:0 auto;inset:auto 0 0;transform:none}.portal-tabbar a{min-width:0;min-height:56px;padding:var(--space-1);border-radius:var(--radius-sm);color:var(--text-tertiary);background:0 0;border:0;flex-direction:column;justify-content:center;align-items:center;gap:2px;font-size:11px;font-weight:600;display:flex;position:relative}.portal-tabbar .nav-icon{color:currentColor;background:0 0;border:0;border-radius:0;place-items:center;width:28px;height:28px;font-size:0;display:grid}.portal-tabbar a:hover,.portal-tabbar a:focus-visible,.portal-tabbar a.router-link-active:not(.nav-link--exact),.portal-tabbar a.router-link-exact-active{box-shadow:none;color:var(--color-primary);background:0 0;border:0;transform:none}.portal-tabbar a.router-link-active:not(.nav-link--exact):before,.portal-tabbar a.router-link-exact-active:before{border-radius:var(--radius-pill);background:var(--color-primary);content:"";width:20px;height:3px;position:absolute;top:2px}.preview-banner{gap:var(--space-2);padding:var(--space-3) var(--space-4);border:0;border-bottom:1px solid var(--border-warning-soft);background:var(--warning-subtle-bg);color:var(--warning-strong-text);font-size:var(--font-xs);line-height:1.5;display:grid}.preview-banner nav{gap:var(--space-2);flex-wrap:wrap;display:flex}.preview-banner nav a{color:var(--color-primary);font-weight:600}.status-card,.workspace-card{width:100%;max-width:none;box-shadow:none;background:0 0;border-radius:0;padding:0}.status-card>*+*,.workspace-card>*+*{margin-top:var(--space-5)}.dashboard-home,.staff-case-page,.conversation-page,.conversation-list-page,.supervisor-workbench,.case-review-detail,.admin-form-page,.staff-management,.app-student-home,.app-chat-page,.app-detail-page,.app-form-page,.app-list-page{gap:var(--space-5);display:grid}.app-student-home>*+*,.app-chat-page>*+*,.app-detail-page>*+*,.app-form-page>*+*,.app-list-page>*+*{margin-top:0}.app-info-card,.app-subsection{padding:var(--space-4);border-radius:var(--radius-md);background:var(--bg-subtle)}.dashboard-home>*+*,.staff-case-page>*+*,.conversation-page>*+*,.conversation-list-page>*+*,.supervisor-workbench>*+*,.case-review-detail>*+*,.admin-form-page>*+*,.staff-management>*+*{margin-top:0}.status-pill,.badge,.pending-review-label,.app-status{border-radius:var(--radius-pill);background:var(--info-bg);width:-moz-fit-content;width:fit-content;min-height:28px;color:var(--color-primary);font-size:var(--font-xs);white-space:nowrap;border:0;justify-content:center;align-items:center;padding:4px 12px;font-weight:700;line-height:1.25;display:inline-flex}.status-pill-muted{background:var(--bg-secondary);color:var(--text-tertiary)}.app-status--success{background:var(--success-bg);color:var(--color-success)}.app-status--warning{background:var(--warning-bg);color:var(--color-warning)}.app-status--danger{background:var(--danger-bg);color:var(--color-danger)}.notice-box,.warning-box,.success-box,.form-error,.result-message,.privacy-callout{margin:var(--space-4) 0 0;padding:var(--space-3) var(--space-4);border-radius:var(--radius-md);font-size:var(--font-sm);border:0;line-height:1.6}.notice-box,.privacy-callout{background:var(--info-bg);color:var(--info-text)}.warning-box{background:var(--warning-bg);color:var(--warning-text)}.success-box,.result-message{background:var(--success-bg);color:var(--success-text)}.form-error{background:var(--danger-bg);color:var(--color-danger)}.app-alert,.app-notice,.app-feedback{align-items:flex-start;gap:var(--space-3);display:flex}.app-alert>p,.app-alert>div>p,.app-notice>p,.app-feedback>p{margin:var(--space-1) 0 0}.app-alert--info{background:var(--info-bg);color:var(--info-text)}.app-alert--warning{background:var(--warning-bg);color:var(--warning-text)}.app-alert--danger{background:var(--danger-bg);color:var(--color-danger)}.app-feedback{background:var(--success-bg);color:var(--success-text)}.empty-state{align-content:center;place-items:center;gap:var(--space-2);min-height:180px;padding:var(--space-7) var(--space-5);border-radius:var(--radius-md);background:var(--bg-subtle);color:var(--text-tertiary);text-align:center;border:0;display:grid}.empty-state:before{background:var(--info-bg);width:52px;height:52px;color:var(--color-primary);content:"—";border-radius:50%;place-items:center;font-size:22px;font-weight:600;display:grid}.app-empty-state{justify-items:center;gap:var(--space-2);display:grid}.app-empty-state:before{display:none}.app-empty-state>.app-icon{color:var(--color-primary)}.app-empty-page{justify-items:center;gap:var(--space-4);text-align:center;display:grid}.app-empty-page__icon,.app-result-card__icon{border-radius:50%;width:64px;height:64px}.primary-button,.secondary-button,.danger-button,.quiet-button,.filter-button,.composer-mode-button,.primary-link,.secondary-link{justify-content:center;align-items:center;gap:var(--space-2);min-height:48px;padding:0 var(--space-5);border-radius:var(--radius-md);box-shadow:none;font-size:var(--font-body);text-align:center;cursor:pointer;font-weight:600;line-height:1.2;display:inline-flex}.app-primary-link{color:var(--color-primary);font-weight:600}.primary-button,.primary-link{border:1px solid var(--color-primary);background:var(--color-primary);color:var(--text-inverse)}.primary-button:hover,.primary-link:hover{border-color:var(--color-primary-hover);background:var(--color-primary-hover)}.primary-button:active,.primary-link:active{border-color:var(--color-primary-active);background:var(--color-primary-active)}.secondary-button,.secondary-link,.quiet-button,.filter-button,.composer-mode-button{border:1px solid var(--border-medium);background:var(--bg-page);color:var(--text-primary)}.secondary-button:hover,.secondary-link:hover,.quiet-button:hover,.filter-button:hover,.composer-mode-button:hover{border-color:var(--border-primary-hover);background:var(--bg-subtle);color:var(--color-primary)}.quiet-button,.filter-button,.composer-mode-button{min-height:40px;padding:0 var(--space-4);font-size:var(--font-sm)}.composer-mode-button--active,.filter-button.is-active{border-color:var(--color-primary);background:var(--info-bg);color:var(--color-primary)}.danger-button{border:1px solid var(--color-danger);background:var(--color-danger);color:var(--text-inverse)}.danger-button:hover,.danger-button:focus-visible{border-color:var(--color-danger);background:var(--color-danger);color:var(--text-inverse);outline-color:var(--color-danger)}.danger-text-button{min-height:36px;color:var(--color-danger);font-size:var(--font-sm);cursor:pointer;background:0 0;border:0;padding:0;font-weight:600}button:disabled,a[aria-disabled=true]{cursor:not-allowed;opacity:.48;transform:none}.action-row,.pagination-row,.attachment-actions,.message-upload-row,.confirmation-row{align-items:center;gap:var(--space-3);flex-wrap:wrap;display:flex}.action-row{margin-top:var(--space-5)}.action-row>:only-child{width:100%}.form-field,.field,.compact-field{gap:var(--space-2);color:var(--text-secondary);font-size:var(--font-sm);font-weight:600;display:grid}.app-form-field{min-width:0}.form-field>span,.field>span,.compact-field>span,.form-field>label,.field>label{color:var(--text-secondary);font-size:var(--font-sm);font-weight:600}.form-field input,.form-field select,.form-field textarea,.field input,.field select,.field textarea,.compact-field input,.compact-field select,.compact-field textarea,.search input{width:100%;min-width:0;min-height:48px;padding:11px var(--space-4);border-radius:var(--radius-md);background:var(--bg-secondary);box-shadow:none;color:var(--text-primary);font-size:var(--font-body);transition:border-color var(--transition-normal), background-color var(--transition-normal), box-shadow var(--transition-normal);border:1px solid #0000;outline:0;font-weight:400;line-height:1.45}.form-field textarea,.field textarea,.compact-field textarea{resize:vertical;min-height:112px}.form-field input::placeholder,.form-field textarea::placeholder,.field input::placeholder,.field textarea::placeholder{color:var(--text-placeholder)}.form-field input:focus,.form-field select:focus,.form-field textarea:focus,.field input:focus,.field select:focus,.field textarea:focus,.compact-field input:focus,.compact-field select:focus,.compact-field textarea:focus{border-color:var(--color-primary);background:var(--bg-page);box-shadow:0 0 0 3px var(--border-focus)}.form-field input:disabled,.form-field select:disabled,.form-field textarea:disabled,.field input:disabled,.field select:disabled,.field textarea:disabled{color:var(--text-disabled);cursor:not-allowed}.editor-grid,.submission-grid,.identity-grid,.review-summary-grid{gap:var(--space-4);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.choice-fieldset,.role-fieldset,.dispatch-attachment-fieldset{gap:var(--space-3);border:0;min-width:0;margin:0;padding:0;display:grid}.choice-fieldset legend,.role-fieldset legend,.dispatch-attachment-fieldset legend{margin-bottom:var(--space-2);color:var(--text-primary);font-size:var(--font-body);font-weight:700}.choice-card,.role-option,.attachment-select,.consent-check,.confirmation-row,.consent-row,.risk-confirmation,.toggle-row{align-items:flex-start;gap:var(--space-3);min-width:0;padding:var(--space-4);border:1px solid var(--border-light);border-radius:var(--radius-md);background:var(--bg-page);color:var(--text-secondary);cursor:pointer;transition:border-color var(--transition-normal), background-color var(--transition-normal);display:flex;position:relative}.app-select-card{min-height:76px}:is(.choice-card:has(input:checked),.role-option:has(input:checked),.attachment-select:has(input:checked),.consent-check:has(input:checked),.confirmation-row:has(input:checked),.consent-row:has(input:checked),.risk-confirmation:has(input:checked),.toggle-row:has(input:checked)){border-color:var(--color-primary);background:var(--info-bg)}.choice-card input,.role-option input,.attachment-select input,.consent-check input,.confirmation-row input,.consent-row input,.risk-confirmation input,.toggle-row input{width:20px;height:20px;accent-color:var(--color-primary);flex:none;margin:2px 0 0}.choice-card>span,.role-option>span,.attachment-select>span,.consent-check>span,.confirmation-row>span,.consent-row>span,.risk-confirmation>span,.toggle-row>span{gap:var(--space-1);min-width:0;display:grid}.choice-card strong,.role-option strong,.attachment-select strong,.toggle-row strong{color:var(--text-primary);font-size:var(--font-body)}.choice-card small,.role-option small,.attachment-select small,.toggle-row small{color:var(--text-tertiary);font-size:var(--font-sm);line-height:1.5}.file-picker{width:100%;padding:var(--space-4);border:1px dashed var(--border-medium);border-radius:var(--radius-md);background:var(--bg-subtle)}.attachment-upload-button,.app-upload-button{cursor:pointer}.attachment-list,.review-attachment-list,.attachment-select-list,.conflict-list,.message-attachment-list,.temporary-message-attachments{margin:var(--space-3) 0 0;border:1px solid var(--border-light);border-radius:var(--radius-md);background:var(--bg-page);gap:0;padding:0;list-style:none;display:grid;overflow:hidden}.attachment-list>li,.review-attachment-list>li,.attachment-select-list>li,.conflict-list>li,.message-attachment-list>li,.temporary-message-attachments>li{padding:var(--space-4);border-bottom:1px solid var(--border-light)}.attachment-list>li:last-child,.review-attachment-list>li:last-child,.attachment-select-list>li:last-child,.conflict-list>li:last-child,.message-attachment-list>li:last-child,.temporary-message-attachments>li:last-child{border-bottom:0}.binding-progress{margin:var(--space-5) 0;grid-template-columns:repeat(3,minmax(0,1fr));padding:0;list-style:none;display:grid}.binding-progress li{justify-items:center;gap:var(--space-2);color:var(--text-tertiary);font-size:var(--font-xs);text-align:center;display:grid;position:relative}.binding-progress li:before{z-index:2;border:2px solid var(--border-medium);background:var(--bg-page);content:counter(list-item);width:28px;height:28px;color:var(--text-tertiary);font-size:var(--font-xs);border-radius:50%;place-items:center;font-weight:700;display:grid;position:relative}.binding-progress li:not(:last-child):after{z-index:1;background:var(--border-light);content:"";width:calc(100% - 28px);height:2px;position:absolute;top:13px;left:calc(50% + 14px)}.binding-progress li.is-active:before,.binding-progress li.is-complete:before{border-color:var(--color-primary);background:var(--color-primary);color:var(--text-inverse)}.binding-progress li.is-active,.binding-progress li.is-complete{color:var(--color-primary)}.app-stepper li:before{display:none}.app-stepper li>span{z-index:2;border:2px solid var(--border-medium);background:var(--bg-page);width:28px;height:28px;color:var(--text-tertiary);font-size:var(--font-xs);border-radius:50%;place-items:center;font-weight:700;display:grid;position:relative}.app-stepper li.is-active>span,.app-stepper li.is-complete>span{border-color:var(--color-primary);background:var(--color-primary);color:var(--text-inverse)}.app-verification-cell{align-items:center;gap:var(--space-3);background:var(--bg-subtle);grid-template-columns:44px minmax(0,1fr) auto;display:grid}.app-verification-cell.verified{background:var(--success-bg)}.app-check-row{margin-top:var(--space-4)}.assigned-case-list,.conversation-list,.supervisor-appointment-list,.app-cell-list,.app-data-list{border:1px solid var(--border-light);border-radius:var(--radius-md);background:var(--bg-page);box-shadow:var(--shadow-card);gap:0;margin:0;padding:0;list-style:none;display:grid;overflow:hidden}.app-section.app-cell-list{padding:0}.assigned-case-list>li,.conversation-list>li,.supervisor-appointment-list>li,.app-cell-list>*,.app-data-list>*{border:0;border-bottom:1px solid var(--border-light);background:var(--bg-page);box-shadow:none;border-radius:0;margin:0;padding:0}.assigned-case-list>li:last-child,.conversation-list>li:last-child,.supervisor-appointment-list>li:last-child,.app-cell-list>:last-child,.app-data-list>:last-child{border-bottom:0}.assigned-case-list>li:before,.conversation-list>li:before{display:none}.app-cell{align-items:center;gap:var(--space-2) var(--space-3);min-height:88px;padding:var(--space-4) 44px var(--space-4) var(--space-4);color:var(--text-secondary);grid-template-columns:44px minmax(0,1fr) auto;display:grid;position:relative}.app-cell[href]:after{top:50%;right:var(--space-4);border-top:1.5px solid var(--text-tertiary);border-right:1.5px solid var(--text-tertiary);content:"";width:7px;height:7px;position:absolute;transform:translateY(-50%)rotate(45deg)}.app-cell:hover{background:var(--bg-subtle)}.app-cell strong{color:var(--text-primary);font-size:var(--font-subtitle);font-weight:700;line-height:var(--line-compact)}.app-cell small{color:var(--text-tertiary);font-size:var(--font-sm);line-height:1.5}.app-cell[href]{padding-right:44px}.app-appointment-cell{min-width:0}.app-cell:not([href]){padding-right:var(--space-4)}.app-cell-main,.app-cell__body{gap:var(--space-1);min-width:0;display:grid}.app-cell-main h3,.app-cell__body h3,.app-cell-main p,.app-cell__body p{margin:0}.app-cell-main h3,.app-cell__body h3{color:var(--text-primary);font-size:var(--font-subtitle);font-weight:700;line-height:var(--line-compact)}.app-cell-main p,.app-cell__body p{color:var(--text-secondary);font-size:var(--font-sm);line-height:1.5}.app-cell__title-row{justify-content:space-between;align-items:center;gap:var(--space-2);min-width:0;display:flex}.app-cell-action,.app-cell__action{min-height:40px;padding:0 var(--space-3);white-space:nowrap}.app-attachment-cell{grid-template-columns:minmax(0,1fr) auto}.supervisor-appointment-cell,.supervisor-appointment-list>li.supervisor-appointment-cell{grid-template-columns:44px minmax(0,1fr) auto}.supervisor-appointment-cell>.supervisor-contact-card{grid-column:1/-1;width:100%}.supervisor-workbench .assigned-case-list>li.app-cell{border-color:var(--border-light);background:var(--bg-page)}.supervisor-contact-card h3{margin:var(--space-1) 0 0;color:var(--text-primary);font-size:var(--font-title)}.supervisor-contact-card dt,.supervisor-contact-card>p{color:var(--text-tertiary)}.supervisor-contact-card dd{color:var(--text-primary)}.contact-phone{color:var(--color-primary);font-size:var(--font-number);font-weight:700}.dashboard-action-grid,.admin-dashboard-grid{gap:var(--space-3);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.dashboard-action,.admin-dashboard-card{align-content:start;gap:var(--space-2);min-height:128px;padding:var(--space-4);border-radius:var(--radius-md);background:var(--bg-subtle);box-shadow:none;color:var(--text-secondary);border:0;display:grid;position:relative}.app-grid-menu__item,.app-grid-menu-item{transition:transform var(--transition-fast), border-color var(--transition-normal), background-color var(--transition-normal)}.dashboard-action--featured,.admin-dashboard-card--emphasis,.student-primary-action{background:var(--gradient-primary-soft-alt)}.dashboard-action--featured .dashboard-action-icon{background:var(--info-bg);color:var(--color-primary)}.dashboard-action--featured small{color:var(--text-tertiary)}.dashboard-action-icon,.admin-dashboard-card>span:first-child{background:var(--info-bg);width:44px;height:44px;color:var(--color-primary);border-radius:50%;place-items:center;font-size:0;display:grid}.dashboard-action strong,.admin-dashboard-card strong{color:var(--text-primary);font-size:var(--font-body);font-weight:700}.dashboard-action small,.admin-dashboard-card small{color:var(--text-tertiary);font-size:var(--font-sm);line-height:1.45}.dashboard-action-arrow{top:var(--space-4);right:var(--space-4);color:var(--text-tertiary);font-size:20px;position:absolute}.app-student-hero{align-items:start;gap:var(--space-4);padding:var(--space-5);border-radius:var(--radius-md);background:var(--gradient-primary-soft);grid-template-columns:minmax(0,1fr) 64px;display:grid}.app-student-hero h2,.dashboard-hero-copy h2{margin:var(--space-2) 0 0;color:var(--text-primary);font-size:var(--font-page-title);font-weight:700;line-height:1.4}.app-student-hero p,.dashboard-hero-copy p{margin:var(--space-2) 0 0;color:var(--text-secondary);font-size:var(--font-sm);line-height:1.65}.dashboard-home .dashboard-hero-copy>p:last-child{margin-top:var(--space-2);color:var(--text-secondary);line-height:1.65}.app-hero-icon{border-radius:50%;width:64px;height:64px}.app-primary-action__link{min-height:88px;padding:var(--space-4);align-items:center;gap:var(--space-3);grid-template-columns:52px minmax(0,1fr);display:grid}.app-primary-action__link>span:last-child{gap:var(--space-1);display:grid}.app-action-icon{width:52px;height:52px}.app-security-note,.privacy-reassurance{align-items:flex-start;gap:var(--space-3);padding:var(--space-4);background:var(--bg-subtle);color:var(--text-secondary);display:flex}.app-security-note__icon{border-radius:50%;width:40px;height:40px}.app-security-note p,.privacy-reassurance p{font-size:var(--font-sm);margin:0;line-height:1.65}body .privacy-reassurance p{color:var(--text-secondary)!important}.privacy-reassurance>.app-security-note__icon,.privacy-reassurance>.app-cell-icon{background:var(--info-bg);width:40px;height:40px;color:var(--color-primary);border-radius:50%}.staff-workflow-hint{gap:var(--space-3);margin-top:var(--space-4);grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.staff-workflow-hint>span{justify-items:center;gap:var(--space-2);color:var(--text-secondary);font-size:var(--font-xs);text-align:center;display:grid}.staff-workflow-hint strong{background:var(--info-bg);width:32px;height:32px;color:var(--color-primary);font-size:var(--font-sm);border-radius:50%;place-items:center;display:grid}.mobile-action-shortcut{z-index:80;right:max(var(--space-4), calc((100vw - var(--mobile-page-max)) / 2 + var(--space-4)));bottom:calc(var(--mobile-tabbar-height) + var(--space-3) + env(safe-area-inset-bottom));min-height:48px;padding:0 var(--space-5);border-radius:var(--radius-pill);background:var(--color-primary);box-shadow:var(--shadow-floating);color:var(--text-inverse);font-size:var(--font-sm);border:0;justify-content:center;align-items:center;font-weight:700;display:none;position:fixed}.message-timeline{gap:var(--space-4);margin:0;padding:0;list-style:none;display:grid}.message-timeline>li{justify-items:start;gap:var(--space-1);width:auto;max-width:86%;box-shadow:none;background:0 0;border:0;border-radius:0;padding:0;display:grid}.message-timeline>li.message-entry--mine{justify-items:end;margin-left:auto}.message-timeline>li>header{align-items:center;gap:var(--space-2);color:var(--text-tertiary);font-size:var(--font-xs);flex-direction:row;display:flex}.message-timeline>li>header strong{color:var(--text-secondary);font-size:var(--font-sm);font-weight:600}.message-entry--audit{max-width:100%!important}.message-content{padding:var(--space-3) var(--space-4);border-radius:var(--radius-md) var(--radius-md) var(--radius-md) var(--radius-xs);background:var(--bg-secondary);color:var(--text-primary);font-size:var(--font-body);white-space:pre-wrap;margin:0;line-height:1.6}.message-entry--mine .message-content{border-radius:var(--radius-md) var(--radius-md) var(--radius-xs) var(--radius-md);background:var(--info-bg);color:var(--primary-soft-text)}.message-timeline>.message-entry--mine,.message-timeline>.message-entry--other,.message-timeline>.message-entry--audit{box-shadow:none;background:0 0;border:0;padding:0}.app-chat-list .app-cell{min-height:52px}.app-icon-button{border-radius:50%;width:44px;min-height:44px;padding:0;font-size:0}.message-composer{gap:var(--space-3);display:grid}.app-chat-composer{width:auto}.composer-mode-switch{gap:var(--space-2);padding:var(--space-1);border:1px solid var(--border-light);border-radius:var(--radius-md);background:var(--bg-secondary);margin-bottom:0;display:flex;overflow-x:auto}.composer-mode-button--active{box-shadow:none}.review-summary-grid,.identity-grid,.offline-request{margin:0}.review-summary-grid>div,.identity-grid>div,.offline-request>div,.app-stat-grid>*{min-width:0;padding:var(--space-4);border-radius:var(--radius-md);background:var(--bg-subtle);border:0}.app-stat-grid>:nth-child(3n+1){background:var(--gradient-primary-soft)}.app-stat-grid>:nth-child(3n+2){background:var(--gradient-warning-soft)}.app-stat-grid>:nth-child(3n){background:var(--gradient-success-soft)}.app-stat-grid dl,.app-stat-grid dt,.app-stat-grid dd{margin:0}.app-stat-grid dt{color:var(--text-tertiary);font-size:var(--font-xs)}.app-stat-grid dd{margin-top:var(--space-1);color:var(--text-primary);font-size:var(--font-subtitle);font-weight:700}.review-summary-grid dt,.identity-grid dt,.offline-request dt{color:var(--text-tertiary);font-size:var(--font-xs);margin:0;font-weight:500}.review-summary-grid dd,.identity-grid dd,.offline-request dd{margin:var(--space-1) 0 0;color:var(--text-primary);font-size:var(--font-body);overflow-wrap:anywhere;font-weight:600}.original-content,.privacy-text{margin:var(--space-3) 0 0;padding:var(--space-4);border-radius:var(--radius-md);background:var(--bg-secondary);color:var(--text-secondary);white-space:pre-wrap;border:0;line-height:1.75}.app-detail-list{gap:0;padding:0;display:grid;overflow:hidden}.app-detail-row{padding:var(--space-4);border-bottom:1px solid var(--border-light);align-items:center;gap:var(--space-4);grid-template-columns:minmax(96px,34%) minmax(0,1fr);display:grid;background:var(--bg-page)!important}.app-detail-row:last-child{border-bottom:0}.app-detail-row dt,.app-detail-row dd{margin:0}.app-detail-row dt{color:var(--text-tertiary);font-size:var(--font-sm)}.app-detail-row dd{color:var(--text-primary);font-size:var(--font-body);text-align:right;font-weight:600}.app-result-card{justify-items:center;gap:var(--space-3);padding:var(--space-6);background:var(--gradient-success-result);color:var(--text-secondary);text-align:center;display:grid}.app-result-card h3,.app-result-card p{margin:0}.app-result-card h3{color:var(--text-primary);font-size:var(--font-title)}.app-decision-card{border:1px solid var(--border-primary-soft);background:var(--surface-primary-subtle)}.portal-shell--admin{background:var(--bg-secondary);min-height:100vh}.portal-shell--admin .portal-header{min-height:72px;padding-inline:var(--space-7)}.portal-shell--admin .portal-brand-mark{width:44px;height:44px}.portal-shell--admin .portal-workspace{grid-template-columns:var(--admin-sidebar-width) minmax(0, 1fr);align-items:start;display:grid}.admin-sidebar{height:calc(100vh - 72px);padding:var(--space-5) var(--space-4);border-right:1px solid var(--border-light);background:var(--bg-page);color:var(--text-secondary);flex-direction:column;display:flex;position:sticky;top:72px;overflow-y:auto}.admin-nav-group+.admin-nav-group{margin-top:var(--space-6)}.admin-nav-group h2{margin:0 0 var(--space-2);padding:0 var(--space-3);color:var(--text-tertiary);font-size:var(--font-xs);letter-spacing:.04em;font-weight:700}.admin-nav-group a{align-items:center;gap:var(--space-3);min-height:44px;padding:0 var(--space-3);border-radius:var(--radius-sm);color:var(--text-secondary);font-size:var(--font-sm);background:0 0;border:0;margin:2px 0;font-weight:600;display:flex}.admin-nav-group .nav-icon{width:24px;height:24px;color:var(--text-tertiary);background:0 0;border:0;border-radius:0;place-items:center;font-size:0;display:grid}.admin-nav-group a:hover,.admin-nav-group a:focus-visible{background:var(--bg-secondary);color:var(--text-primary);border:0;transform:none}.admin-nav-group a.router-link-active:not(.nav-link--exact),.admin-nav-group a.router-link-exact-active{background:var(--info-bg);color:var(--color-primary)}.admin-nav-group a.router-link-active:not(.nav-link--exact) .nav-icon,.admin-nav-group a.router-link-exact-active .nav-icon{color:var(--color-primary)}.admin-sidebar-footnote{padding:var(--space-5) var(--space-3) 0;border-top:1px solid var(--border-light);color:var(--text-tertiary);font-size:var(--font-xs);margin:auto 0 0;line-height:1.5}.portal-shell--admin .portal-main{width:100%;max-width:var(--admin-content-max);padding:var(--space-7);margin:0 auto}.admin-page{gap:var(--space-5);display:grid}.admin-page>*+*{margin-top:0}.app-page-action{flex:none}.portal-shell--admin .status-card,.portal-shell--admin .workspace-card{padding:var(--space-6);border:1px solid var(--border-light);border-radius:var(--radius-md);background:var(--bg-page);box-shadow:var(--shadow-card)}.admin-dashboard-home{box-shadow:none!important;background:0 0!important;border:0!important;padding:0!important}.admin-dashboard-heading,.admin-dashboard-section{padding:var(--space-6);border:1px solid var(--border-light);border-radius:var(--radius-md);background:var(--bg-page);box-shadow:var(--shadow-card)}.admin-dashboard-heading{align-items:center}.admin-dashboard-section{gap:var(--space-5);display:grid}.admin-dashboard-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.admin-dashboard-grid--management{grid-template-columns:repeat(4,minmax(0,1fr))}.admin-dashboard-grid.app-cell-list{box-shadow:none;background:0 0;border:0;overflow:visible}.admin-dashboard-card{min-height:152px;padding:var(--space-5);border:1px solid var(--border-light);background:var(--bg-page)}.admin-dashboard-card:hover,.admin-dashboard-card:focus-visible{border-color:var(--border-primary-soft);background:var(--bg-subtle);box-shadow:var(--shadow-card);transform:translateY(-1px)}.admin-dashboard-card--emphasis{border-color:var(--border-primary-soft);background:var(--gradient-primary-soft)}.app-menu-icon{border-radius:50%;width:44px;height:44px}.admin-mobile-nav{display:none}.table-scroll{width:100%;margin-top:var(--space-4);border:1px solid var(--border-light);border-radius:var(--radius-md);background:var(--bg-page);overflow-x:auto}.table-scroll.app-data-list{padding:0;display:block}.app-data-list-table{margin:0}.data-table{border-collapse:collapse;width:100%;min-width:720px;color:var(--text-secondary);font-size:var(--font-sm);background:0 0;border:0}.data-table th,.data-table td{padding:var(--space-3) var(--space-4);border:0;border-bottom:1px solid var(--border-light);text-align:left;vertical-align:middle}.data-table th{background:var(--bg-subtle);color:var(--text-tertiary);font-size:var(--font-xs);letter-spacing:.02em;white-space:nowrap;font-weight:700}.data-table td strong{color:var(--text-primary);font-weight:700}.data-table tbody tr:last-child td{border-bottom:0}.data-table tbody tr:not(.table-empty-row):hover{background:var(--bg-subtle)}.table-secondary{margin-top:2px;display:block}.table-empty-row td{padding:var(--space-7);color:var(--text-tertiary);text-align:center}.filter-row,.review-filter-row{align-items:end;gap:var(--space-3);padding:var(--space-4);border-radius:var(--radius-md);background:var(--bg-subtle);flex-wrap:wrap;display:flex}.admin-mobile-nav-trigger{align-items:center;gap:var(--space-3);width:100%;min-height:56px;padding:var(--space-2) var(--space-4);border:0;border-bottom:1px solid var(--border-light);background:var(--bg-page);color:var(--text-primary);display:flex}.admin-mobile-nav-trigger>.nav-icon{border-radius:var(--radius-sm);background:var(--info-bg);width:36px;height:36px;color:var(--color-primary);place-items:center;font-size:0;display:grid}.admin-mobile-nav-current{flex:1;justify-items:start;line-height:1.3;display:grid}.admin-mobile-nav-current small{color:var(--text-tertiary);font-size:11px}.admin-mobile-nav-current strong{font-size:var(--font-sm)}.admin-mobile-nav-action{color:var(--color-primary);font-size:var(--font-sm);font-weight:600}.admin-mobile-nav-backdrop{z-index:200;background:var(--overlay-backdrop-light);position:fixed;inset:0}.admin-mobile-nav-panel{z-index:210;align-content:start;gap:var(--space-2);width:min(86vw,340px);padding:calc(var(--space-5) + env(safe-area-inset-top)) var(--space-4) var(--space-5);border-radius:0 var(--radius-lg) var(--radius-lg) 0;background:var(--bg-page);box-shadow:var(--shadow-dialog);border:0;display:grid;position:fixed;top:0;bottom:0;left:0;overflow-y:auto}.admin-mobile-nav-panel>strong{margin-top:var(--space-4);padding:0 var(--space-3);color:var(--text-tertiary);font-size:var(--font-xs)}.admin-mobile-nav-panel a{align-items:center;gap:var(--space-3);min-height:48px;padding:0 var(--space-3);border-radius:var(--radius-sm);color:var(--text-secondary);font-size:var(--font-sm);font-weight:600;display:flex}.admin-mobile-nav-panel a.router-link-active:not(.nav-link--exact),.admin-mobile-nav-panel a.router-link-exact-active{background:var(--info-bg);color:var(--color-primary)}.admin-mobile-nav-panel .nav-icon{color:currentColor;place-items:center;width:28px;height:28px;font-size:0;display:grid}.admin-mobile-nav-close{min-height:44px;padding:0 var(--space-4);border:1px solid var(--border-medium);border-radius:var(--radius-sm);background:var(--bg-page);color:var(--text-secondary);font-weight:600}.admin-mobile-nav-trigger[aria-expanded=true]{border-color:var(--color-primary);box-shadow:0 0 0 3px var(--border-focus)}.student-home-status,.student-service-section,.student-detail-note,.student-decision-group{gap:var(--space-2);display:grid}.student-home-status>p,.student-page-hint,.student-detail-note>p,.student-decision-group>p{color:var(--text-secondary);font-size:var(--font-sm);margin:0;line-height:1.55}.student-section-title,.student-detail-note>h3,.student-decision-group>h3{color:var(--text-primary);font-size:var(--font-subtitle);line-height:var(--line-compact);margin:0}.student-inline-guidance,details.privacy-reassurance,.conversation-summary{display:block}.student-inline-guidance>summary,details.privacy-reassurance>summary,.conversation-summary>summary{align-items:center;gap:var(--space-2);min-height:44px;color:var(--text-primary);cursor:pointer;font-size:var(--font-sm);font-weight:700;list-style:none;display:flex}.student-inline-guidance>summary::-webkit-details-marker{display:none}details.privacy-reassurance>summary::-webkit-details-marker{display:none}.conversation-summary>summary::-webkit-details-marker{display:none}.student-inline-guidance>summary:after,details.privacy-reassurance>summary:after,.conversation-summary>summary:after{color:var(--text-tertiary);content:"›";transition:transform var(--transition-fast);margin-left:auto;font-size:20px;font-weight:500;transform:rotate(90deg)}.student-inline-guidance:not([open])>summary:after,details.privacy-reassurance:not([open])>summary:after,.conversation-summary:not([open])>summary:after{transform:rotate(0)}.student-inline-guidance>p,details.privacy-reassurance>p{margin-top:var(--space-2)}.student-form-group{padding-bottom:var(--space-5);border-bottom:1px solid var(--border-light)}.student-form-group:last-of-type{border-bottom:0}.form-step-kicker>span{width:24px;height:24px;margin-right:var(--space-1);background:var(--color-primary-soft);color:var(--color-primary);border-radius:50%;place-items:center;display:inline-grid}.conversation-toolbar{align-items:center;min-height:40px}.conversation-summary{padding:0 var(--space-4);border:1px solid var(--border-light);border-radius:var(--radius-md);background:var(--bg-page);box-shadow:none}.conversation-summary[open]{padding-bottom:var(--space-4)}.conversation-summary .review-summary-grid{margin-top:var(--space-2)}.conversation-compose-form{background:var(--bg-page)}@media (max-width:1024px){.portal-shell--admin .portal-header{padding-inline:var(--space-5)}.portal-shell--admin .portal-workspace{display:block}.admin-sidebar{display:none}.admin-mobile-nav{z-index:90;top:calc(72px + env(safe-area-inset-top));width:100%;margin:0;display:block;position:sticky}.portal-shell--admin .portal-main{padding:var(--space-5)}.admin-dashboard-grid,.admin-dashboard-grid--management{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:760px){body{background:var(--bg-page)}.page-content{padding-inline:var(--space-4)}.entry-page{background:var(--bg-page);padding:0;display:block}.entry-card{width:100%;min-height:100vh;padding:calc(var(--space-8) + env(safe-area-inset-top)) var(--space-5) calc(var(--space-7) + env(safe-area-inset-bottom));box-shadow:none;border:0;border-radius:0}.entry-page .entry-card{padding:calc(var(--space-8) + env(safe-area-inset-top)) var(--space-4) calc(var(--space-7) + env(safe-area-inset-bottom))}.entry-page .app-overline{margin-bottom:var(--space-1);background:0 0;border-radius:0;padding:0}.binding-page .entry-card{margin:0}.portal-header{min-height:calc(52px + env(safe-area-inset-top));padding:env(safe-area-inset-top) var(--space-4) 0}.portal-brand-mark{display:none}.portal-brand{gap:0}.portal-brand small{display:none}.portal-brand strong{font-size:var(--font-subtitle)}.portal-context-chip{display:none}.header-logout-button{width:38px;min-height:38px;color:var(--text-secondary);border:0;justify-content:center;padding:0;font-size:0}.header-logout-button .app-icon{width:21px;height:21px}.portal-main{padding:var(--space-3) var(--space-4) calc(var(--mobile-tabbar-height) + var(--space-4) + env(safe-area-inset-bottom))}.portal-shell--student .portal-main,.portal-shell--staff .portal-main,.portal-shell--supervisor .portal-main{padding:var(--space-4) var(--space-4) calc(var(--mobile-tabbar-height) + var(--space-5) + env(safe-area-inset-bottom))}.portal-shell--supervisor .portal-main{padding-bottom:calc(var(--space-6) + env(safe-area-inset-bottom))}.app-page,.dashboard-home,.staff-case-page,.conversation-page,.conversation-list-page,.supervisor-workbench,.case-review-detail,.admin-form-page,.staff-management,.app-student-home,.app-chat-page,.app-detail-page,.app-form-page,.app-list-page{gap:var(--space-3);min-height:0}.app-loading,.app-state{min-height:80px;padding:var(--space-4)}.empty-state{min-height:120px;padding:var(--space-5) var(--space-4)}.empty-state:before{width:40px;height:40px}.student-home-status{gap:var(--space-1);padding:0 var(--space-1)}.student-home-status>p,.student-page-hint{font-size:var(--font-xs);line-height:1.5}.student-primary-action{border-radius:var(--radius-md);margin-top:0}.student-section-title{padding:0 var(--space-1);font-size:var(--font-body)}.dashboard-home .student-section-title{max-width:none;font-size:var(--font-body);font-weight:700;line-height:var(--line-compact);letter-spacing:0}.student-service-section{gap:var(--space-2)}.student-service-section .dashboard-action-grid{margin-top:0}.portal-shell--student .app-page>.app-section:not(.app-cell-list),.portal-shell--student .app-page>.review-panel,.portal-shell--student .app-page>.attachment-panel,.portal-shell--staff .app-page>.app-section:not(.app-cell-list),.portal-shell--staff .app-page>.review-panel,.portal-shell--supervisor .app-page>.app-section:not(.app-cell-list){padding:0 0 var(--space-4);border:0;border-bottom:1px solid var(--border-light);box-shadow:none;background:0 0;border-radius:0}.portal-shell--student .app-page>.conversation-summary,.portal-shell--staff .app-page>.conversation-summary{padding:0 var(--space-4);border:1px solid var(--border-light);border-radius:var(--radius-md);background:var(--bg-page)}.portal-shell--student .app-page>.conversation-summary[open],.portal-shell--staff .app-page>.conversation-summary[open]{padding-bottom:var(--space-4)}.student-form-group,.attachment-panel.student-form-group{gap:var(--space-3);padding:0 0 var(--space-4);border:0;border-bottom:1px solid var(--border-light);box-shadow:none;background:0 0;border-radius:0}.student-form-group:last-of-type{border-bottom:0}.student-inline-guidance,details.privacy-reassurance{padding:0 var(--space-3);border-radius:var(--radius-sm);margin:0}.student-inline-guidance>summary,details.privacy-reassurance>summary{min-height:42px}.form-field textarea,.field textarea,.compact-field textarea{min-height:96px}.choice-fieldset,.role-fieldset,.dispatch-attachment-fieldset{gap:var(--space-2)}.choice-card,.role-option,.attachment-select,.consent-check,.confirmation-row,.consent-row,.risk-confirmation,.toggle-row{padding:var(--space-3);border-radius:var(--radius-sm)}.app-select-card{min-height:0}.app-page-head,.section-heading,.admin-dashboard-heading,.dashboard-section-heading,.attachment-heading{align-items:flex-start}.section-heading{flex-direction:column}.section-heading>.quiet-link,.section-heading>.primary-link,.admin-dashboard-heading>.primary-link{width:100%}.editor-grid,.submission-grid,.identity-grid,.review-summary-grid{grid-template-columns:minmax(0,1fr)}.action-row,.confirmation-row{flex-direction:column;align-items:stretch}.action-row>*,.confirmation-row>*{width:100%}.app-cell{min-height:68px;padding:var(--space-3) 40px var(--space-3) var(--space-3);grid-template-columns:36px minmax(0,1fr)}.assigned-case-list>li.app-cell,.conversation-list>li.app-cell{gap:var(--space-2) var(--space-3);padding:var(--space-3) 40px var(--space-3) var(--space-3);background:var(--bg-page);border-radius:0}.app-cell-icon,.app-cell__icon{width:36px;height:36px}.app-cell-action,.app-cell__action{grid-column:2;width:100%}.compact-cell-list .app-cell{grid-template-columns:36px minmax(0,1fr);align-items:start;min-height:0}.compact-cell-list .app-cell__detail-label{color:var(--color-primary);font-size:var(--font-xs);font-weight:700}.app-attachment-cell{grid-template-columns:minmax(0,1fr) auto}.app-attachment-cell>.app-cell-action,.app-attachment-cell>.app-cell__action{grid-column:auto;width:auto}.supervisor-appointment-cell,.supervisor-appointment-list>li.supervisor-appointment-cell{grid-template-columns:40px minmax(0,1fr)}.supervisor-appointment-cell>.supervisor-contact-card{grid-column:1/-1}.login-method,.verification-panel{flex-direction:column;align-items:stretch}.auth-card .app-auth-actions>*{flex:none;width:100%}.app-auth-panel>.auth-form{margin-top:0}.app-verification-cell{padding:var(--space-3);grid-template-columns:minmax(0,1fr) auto;align-items:center}.app-verification-cell>.app-section-icon{display:none}.app-verification-cell>.secondary-button{align-self:center}.dashboard-action-grid,.admin-dashboard-grid,.admin-dashboard-grid--management{grid-template-columns:minmax(0,1fr)}.dashboard-action,.admin-dashboard-card{min-height:72px}.portal-shell--student .dashboard-action,.portal-shell--staff .dashboard-action{min-height:68px;padding:var(--space-3) 40px var(--space-3) var(--space-3);border-radius:0;grid-template-columns:36px minmax(0,1fr);align-content:center}.portal-shell--student .dashboard-action--featured,.portal-shell--staff .dashboard-action--featured{min-height:76px;padding:var(--space-3);border-radius:var(--radius-md);grid-template-columns:44px minmax(0,1fr)}.portal-shell--student .dashboard-action-icon,.portal-shell--staff .dashboard-action-icon,.portal-shell--student .app-action-icon,.portal-shell--staff .app-action-icon{width:36px;height:36px}.portal-shell--student .dashboard-action--featured .dashboard-action-icon,.portal-shell--staff .dashboard-action--featured .dashboard-action-icon{width:44px;height:44px}.staff-workflow-hint{gap:var(--space-2);margin-top:var(--space-2)}.staff-workflow-hint strong{width:28px;height:28px}.conversation-toolbar{min-height:36px}.conversation-summary{padding-inline:var(--space-3)}.conversation-summary[open]{padding-bottom:var(--space-3)}.conversation-summary .review-summary-grid{gap:0}.conversation-summary .review-summary-grid>div{padding:var(--space-3) 0;border-bottom:1px solid var(--border-light);background:0 0;border-radius:0}.conversation-summary .review-summary-grid>div:last-child{border-bottom:0}.conversation-list .app-cell{grid-template-columns:minmax(0,1fr)}.conversation-list .app-cell-icon,.conversation-list .app-cell__icon{display:none}.conversation-list .app-cell-main,.conversation-list .app-cell__body{grid-column:1}.conversation-list .app-cell__title-row{grid-template-columns:minmax(0,1fr) auto;display:grid}.app-cell__title-row>strong{overflow-wrap:anywhere;min-width:0}.staff-case-page>.assigned-case-list .app-cell{grid-template-columns:minmax(0,1fr)}.staff-case-page>.assigned-case-list .app-cell-icon,.staff-case-page>.assigned-case-list .app-cell__icon{display:none}.staff-case-page>.assigned-case-list .app-cell-main,.staff-case-page>.assigned-case-list .app-cell__body{grid-column:1}.staff-case-page>.assigned-case-list .app-cell__title-row{grid-template-columns:minmax(0,1fr);justify-items:start;display:grid}.staff-case-page .review-summary-grid,.staff-case-page .identity-grid{gap:var(--space-2);grid-template-columns:repeat(2,minmax(0,1fr))}.staff-case-page .review-summary-grid>div,.staff-case-page .identity-grid>div{padding:var(--space-3);border-radius:var(--radius-sm)}.staff-case-page .review-summary-grid>div:first-child{grid-column:1/-1}.staff-case-page .review-summary-grid dd,.staff-case-page .identity-grid dd{font-size:var(--font-sm)}.message-timeline{gap:var(--space-3)}.message-content{padding:10px var(--space-3)}.conversation-page>.empty-state{min-height:96px;padding:var(--space-4)}.conversation-compose-form{gap:var(--space-3)}.conversation-compose-form .action-row{margin-top:0}.case-submission-form>.app-action-bar{-webkit-backdrop-filter:none;backdrop-filter:none;background:0 0;border:0;margin:0;padding:0;position:static}.portal-shell--student .case-submission-form>.app-action-bar:last-child{z-index:auto;box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none;background:0 0;border:0;border-radius:0;margin:0;padding:0;position:static;bottom:auto}.message-timeline>li{max-width:90%}.portal-shell--admin .portal-header{min-height:calc(52px + env(safe-area-inset-top));padding-inline:var(--space-4)}.admin-mobile-nav{top:calc(52px + env(safe-area-inset-top))}.portal-shell--admin .portal-main{padding:var(--space-3) var(--space-4) calc(var(--space-5) + env(safe-area-inset-bottom))}.admin-mobile-omit{display:none!important}.admin-mobile-flat{padding:0 0 var(--space-4)!important;border:0!important;border-bottom:1px solid var(--border-light)!important;box-shadow:none!important;background:0 0!important;border-radius:0!important}.admin-mobile-flat:last-child{border-bottom:0!important}.admin-mobile-nested{margin-top:var(--space-3);padding:var(--space-3) 0 0!important;border-top:1px solid var(--border-light)!important}.admin-mobile-compact-notice{min-height:40px;padding:var(--space-2) var(--space-3);border-radius:var(--radius-sm);align-items:center;margin:0}.admin-mobile-hint,.admin-list-summary{font-size:var(--font-xs);margin:0;line-height:1.45}.admin-mobile-task-primary{padding:var(--space-4)!important;border:1px solid var(--border-primary-soft)!important;border-radius:var(--radius-md)!important;background:var(--surface-primary-subtle)!important}.admin-page--list>.app-page-head{display:none}.portal-shell--admin .status-card,.portal-shell--admin .workspace-card,.admin-dashboard-heading,.admin-dashboard-section{padding:var(--space-4)}.admin-dashboard-heading{flex-direction:column;align-items:stretch}.admin-dashboard-card{min-height:72px}.admin-dashboard-grid--management.app-cell-list{border:1px solid var(--border-light);border-radius:var(--radius-md);background:var(--bg-page);box-shadow:var(--shadow-card);gap:0;display:grid;overflow:hidden}.admin-dashboard-grid--management .app-cell-list-item{min-height:68px;padding:var(--space-4);border:0;border-bottom:1px solid var(--border-light);background:var(--bg-page);align-items:center;gap:var(--space-2) var(--space-3);border-radius:0;grid-template-columns:44px minmax(0,1fr);display:grid}.admin-dashboard-grid--management .app-cell-list-item:last-child{border-bottom:0}.admin-dashboard-grid--management .app-cell-list-item strong,.admin-dashboard-grid--management .app-cell-list-item small{grid-column:2}.admin-dashboard-section{gap:var(--space-3)}.admin-dashboard-grid,.admin-dashboard-grid--management.app-cell-list{border:1px solid var(--border-light);border-radius:var(--radius-md);background:var(--bg-page);box-shadow:none;gap:0;display:grid;overflow:hidden}.admin-dashboard-grid .admin-dashboard-card,.admin-dashboard-grid--management .admin-dashboard-card.app-cell-list-item{min-height:68px;padding:var(--space-3) 40px var(--space-3) var(--space-3);border:0;border-bottom:1px solid var(--border-light);background:var(--bg-page);box-shadow:none;align-content:center;align-items:center;gap:2px var(--space-3);border-radius:0;grid-template-columns:36px minmax(0,1fr);display:grid;position:relative}.admin-dashboard-grid .admin-dashboard-card:last-child,.admin-dashboard-grid--management .admin-dashboard-card.app-cell-list-item:last-child{border-bottom:0}.admin-dashboard-grid .admin-dashboard-card:after,.admin-dashboard-grid--management .admin-dashboard-card.app-cell-list-item:after{top:50%;right:var(--space-4);border-top:1.5px solid var(--text-tertiary);border-right:1.5px solid var(--text-tertiary);content:"";width:7px;height:7px;position:absolute;transform:translateY(-50%)rotate(45deg)}.admin-dashboard-grid .admin-dashboard-card .app-menu-icon,.admin-dashboard-grid--management .admin-dashboard-card.app-cell-list-item .app-menu-icon{grid-row:1/3;width:36px;height:36px}.admin-dashboard-grid .admin-dashboard-card strong,.admin-dashboard-grid .admin-dashboard-card small,.admin-dashboard-grid--management .admin-dashboard-card.app-cell-list-item strong,.admin-dashboard-grid--management .admin-dashboard-card.app-cell-list-item small{grid-column:2}.filter-row,.review-filter-row{flex-direction:column;align-items:stretch}.filter-row>*,.review-filter-row>*{width:100%}.portal-shell--admin .review-filter-row{padding:var(--space-3);gap:var(--space-3);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.portal-shell--admin .review-filter-row>:first-child,.portal-shell--admin .review-filter-row>.filter-button{grid-column:1/-1}.table-scroll{background:0 0;border:0;border-radius:0;overflow:visible}.data-table{min-width:0;display:block}.data-table thead{display:none}.data-table tbody{gap:var(--space-2);display:grid}.data-table tr{padding:var(--space-3);border:1px solid var(--border-light);border-radius:var(--radius-md);background:var(--bg-page);box-shadow:var(--shadow-card);display:grid;overflow:hidden}.data-table td{border:0;border-bottom:1px solid var(--border-light);gap:var(--space-3);text-align:right;grid-template-columns:minmax(88px,34%) minmax(0,1fr);min-width:0;padding:6px 0;display:grid}.data-table td:last-child{border-bottom:0}.data-table td:before{color:var(--text-tertiary);content:attr(data-label);font-size:var(--font-xs);text-align:left;font-weight:600}.data-table td>*,.data-table .table-secondary{justify-self:end}.data-table .table-empty-row{display:block}.data-table .table-empty-row td{padding:var(--space-6);text-align:center;display:block}.data-table .table-empty-row td:before{display:none}.portal-shell--admin .data-table tr{padding:var(--space-3);border:1px solid var(--border-light);border-radius:var(--radius-md);background:var(--bg-page);box-shadow:var(--shadow-card)}.portal-shell--admin .data-table td{border-bottom:1px solid var(--border-light);gap:var(--space-3);min-height:0;color:var(--text-secondary);grid-template-columns:minmax(88px,34%) minmax(0,1fr);padding:6px 0}.portal-shell--admin .data-table td:before{color:var(--text-tertiary);font-size:var(--font-xs);font-weight:600}.portal-shell--admin .data-table td[data-label=操作] .quiet-link,.portal-shell--admin .data-table td[data-label=操作] .quiet-button{border-color:var(--border-primary-soft);background:var(--info-bg);color:var(--color-primary)}.portal-shell--admin .data-table td.admin-mobile-action{padding-top:var(--space-3);text-align:left;display:block}.portal-shell--admin .data-table td.admin-mobile-action:before{display:none}.portal-shell--admin .data-table td.admin-mobile-action>*{justify-self:stretch;width:100%}.portal-shell--admin .data-table td.admin-mobile-primary{padding-top:0;font-weight:700}.portal-shell--admin .data-table td.admin-mobile-primary strong{font-size:var(--font-sm);white-space:nowrap}.portal-shell--admin .data-table td.admin-mobile-primary .table-secondary{overflow-wrap:anywhere;text-align:right;white-space:normal;font-size:11px}.portal-shell--admin .data-table td.admin-mobile-secondary{display:none}}@media (min-width:761px) and (max-width:1024px){.portal-shell--admin .table-scroll{margin-top:var(--space-4);box-shadow:none;border:0;border-radius:0;overflow:visible}.portal-shell--admin .data-table tr{padding:var(--space-3);border:1px solid var(--border-light);border-radius:var(--radius-md);background:var(--bg-page);box-shadow:var(--shadow-card)}.portal-shell--admin .data-table td{min-height:0;padding:var(--space-2);border-bottom:1px solid var(--border-light);color:var(--text-secondary)}.portal-shell--admin .data-table td:before{color:var(--text-tertiary);font-size:var(--font-xs);font-weight:600}.portal-shell--admin .data-table td[data-label=操作] .quiet-link,.portal-shell--admin .data-table td[data-label=操作] .quiet-button{border-color:var(--border-primary-soft);background:var(--info-bg);color:var(--color-primary)}}@media (max-width:430px){.entry-card,.portal-main{padding-right:var(--space-4);padding-left:var(--space-4)}.app-section,.form-step-card,.review-panel,.attachment-panel,.privacy-panel,.offline-panel,.error-report-panel,.account-editor,.submission-success,.supervisor-contact-card{padding:var(--space-4)}}@media (max-width:360px){.portal-brand-mark{display:none}.portal-tabbar a{font-size:10px}.primary-button,.secondary-button,.danger-button,.primary-link,.secondary-link{padding-inline:var(--space-4)}}@media (min-width:761px){.portal-shell--student,.portal-shell--staff,.portal-shell--supervisor{min-height:100vh}.portal-shell--student .portal-main,.portal-shell--staff .portal-main,.portal-shell--supervisor .portal-main{padding-right:var(--space-5);padding-left:var(--space-5)}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}html,body{min-width:0}.empty-state:before,.empty-state:after{content:none;display:none}.portal-back-link{height:44px;color:var(--text-secondary);border-radius:var(--radius-sm);flex:0 0 40px;justify-content:center;align-items:center;display:flex}.portal-back-link .app-icon{transform:rotate(180deg)}.portal-back-link+.portal-brand{min-width:0;margin-right:auto}@media (max-width:575px){.portal-back-link+.portal-brand .portal-brand-mark{display:none}}.work-page{gap:var(--space-5,20px);align-content:start;display:grid}.work-page>.work-section-head,.work-page>.work-caption,.work-section-head>.work-caption{margin:0}.work-section{min-width:0;margin-block:16px}.work-section h2,.work-section h3,.work-focus h2{margin:0}.work-section-head{justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px;display:flex}.work-section-head h2{font-size:var(--font-section-title)}.work-section-head a{color:var(--color-primary);font-size:var(--font-small,13px);flex-shrink:0}.work-caption,.work-number{color:var(--text-secondary);font-size:var(--font-small,13px)}.work-caption{margin:8px 0 12px}.work-list{border-top:1px solid var(--border-light);margin:0;padding:0;list-style:none}.work-list>li{border-bottom:1px solid var(--border-light)}.work-item{color:var(--text-primary);border-radius:var(--radius-xs);padding:16px 4px;text-decoration:none;display:block}.work-item:hover,.work-item:focus-visible{background:var(--bg-secondary)}.work-item__heading{flex-wrap:wrap;justify-content:space-between;align-items:start;gap:8px;display:flex}.work-item__heading strong{font-size:var(--font-body)}.work-item p{font-size:var(--font-small,13px);color:var(--text-secondary);margin:8px 0 12px;line-height:1.65}.work-item__meta{color:var(--text-secondary);font-size:var(--font-small,13px);justify-content:space-between;align-items:center;gap:8px;display:flex}.work-number{overflow-wrap:anywhere;margin-top:6px;display:block}.work-status-action{color:var(--warning-text);background:var(--warning-bg)}.work-count{color:var(--primary-soft-text);background:var(--color-primary-soft);border-radius:var(--radius-xs);margin-left:8px;padding:2px 8px;font-size:14px;display:inline-block}.work-empty{text-align:center;background:var(--bg-subtle);border-radius:var(--radius-md);padding:24px 8px}.work-empty p{color:var(--text-secondary);margin:12px 0}.work-tabs{background:var(--bg-secondary);border-radius:var(--radius-md);gap:4px;padding:4px;display:flex}.work-tabs button{min-width:0;min-height:44px;color:var(--text-secondary);border-radius:var(--radius-sm);font:inherit;background:0 0;border:0;flex:1;padding:8px 4px;font-size:14px}.work-tabs button[aria-pressed=true]{color:var(--primary-soft-text);background:var(--bg-elevated);font-weight:600}.work-focus{background:var(--color-primary-soft);border:1px solid var(--border-primary-soft);border-radius:var(--radius-md);padding:20px}.work-focus>p{margin:12px 0 16px;line-height:1.75}.work-focus .primary-link{justify-content:center;margin-top:12px;display:flex}.work-content{white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.8}.work-deadline{color:var(--primary-soft-text);font-weight:500}.progress-history{margin:16px 0;padding:0 0 0 10px;list-style:none}.progress-history li{border-left:1px solid var(--border-medium);gap:6px;padding:0 0 24px 22px;display:grid;position:relative}.progress-history li:before{content:"";background:var(--border-medium);border-radius:50%;width:9px;height:9px;position:absolute;top:6px;left:-5px}.progress-history li:first-child:before{background:var(--color-primary)}.progress-history li:last-child{border-left-color:#0000;padding-bottom:0}.progress-history time{color:var(--text-secondary);font-size:13px}.work-inline-actions{flex-wrap:wrap;gap:8px 20px;margin-top:12px;display:flex}.work-inline-actions a{min-height:44px;color:var(--color-primary);align-items:center;display:inline-flex}.work-queue-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;display:grid}.work-queue{border:1px solid var(--border-light);border-radius:var(--radius-md);color:var(--text-primary);background:var(--bg-elevated);padding:20px;text-decoration:none}.work-queue:hover{border-color:var(--border-primary-soft);background:var(--bg-subtle)}.work-queue__top{color:var(--color-primary);justify-content:space-between;align-items:center;gap:8px;margin-bottom:16px;display:flex}.work-queue__number{font-size:var(--font-number-lg);font-variant-numeric:tabular-nums;line-height:1}.work-queue h3{font-size:var(--font-section-title)}.work-queue p{color:var(--text-secondary);margin:10px 0 16px;font-size:13px;line-height:1.65}.work-queue__link{color:var(--color-primary);font-size:13px}.work-queue__failed{color:var(--color-danger);font-size:13px}@media (max-width:1199px){.work-queue-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:479px){.work-queue-grid{gap:12px}.work-queue{padding:16px 12px}.work-queue h3{font-size:16px}.work-focus{padding:16px}.work-section-head{flex-wrap:wrap}}
