:root{--color-bg:#0c0e16;--color-surface:#131620;--color-surface-2:#1a1f2e;--color-surface-3:#212840;--color-border:#ffffff14;--color-border-focus:#6382ff99;--color-brand:#6382ff;--color-brand-dim:#6382ff26;--color-brand-hover:#7a97ff;--color-teal:#3dd6c0;--color-amber:#f5a623;--color-red:#ff5c5c;--color-green:#3ecf8e;--color-purple:#b57bee;--color-text-primary:#eef0f8;--color-text-secondary:#eef0f899;--color-text-muted:#eef0f880;--font-sans:"Segoe UI", "Inter", system-ui, -apple-system, sans-serif;--font-head:"Aptos", "Segoe UI", "Inter", system-ui, sans-serif;--font-mono:"JetBrains Mono", "Fira Code", monospace;--space-1:.25rem;--space-2:.5rem;--space-3:.75rem;--space-4:1rem;--space-5:1.25rem;--space-6:1.5rem;--space-8:2rem;--space-10:2.5rem;--space-12:3rem;--space-16:4rem;--radius-sm:.375rem;--radius-md:.625rem;--radius-lg:1rem;--radius-xl:1.5rem;--radius-full:9999px;--shadow-sm:0 1px 3px #0006;--shadow-md:0 4px 16px #00000080;--shadow-lg:0 12px 40px #0009;--shadow-glow:0 0 24px #6382ff33;--transition-fast:.15s ease;--transition-normal:.25s ease;--transition-slow:.4s ease;--header-h:calc(60px + env(safe-area-inset-top));--content-max-w:1320px;--sidebar-w:240px}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}body{font-family:var(--font-sans);color:var(--color-text-primary);background-color:var(--color-bg);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;min-height:100dvh;font-size:1rem;line-height:1.6}img,video{max-width:100%;display:block}button{touch-action:manipulation;cursor:pointer;font-family:inherit}a{touch-action:manipulation;color:var(--color-brand);text-decoration:none}@media (hover: hover){a:hover{color:var(--color-brand-hover)}}ul,ol{list-style:none}a,button,[role=button],summary,label,input[type=checkbox],input[type=radio],select,[tabindex]{touch-action:manipulation}.skip-link{top:-100%;left:var(--space-4);padding:var(--space-2) var(--space-4);background:var(--color-brand);color:#fff;border-radius:var(--radius-sm);z-index:9999;transition:top var(--transition-fast);font-weight:600;position:absolute}.skip-link:focus{top:var(--space-2)}:focus-visible{outline:2px solid var(--color-brand);outline-offset:2px}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important}}#app{flex-direction:column;min-height:100dvh;display:flex}.sw-banner{z-index:110;justify-content:center;align-items:center;gap:var(--space-4);padding:var(--space-2) var(--space-4);padding-top:max(var(--space-2),env(safe-area-inset-top));padding-left:max(var(--space-4),env(safe-area-inset-left));padding-right:max(var(--space-4),env(safe-area-inset-right));border-bottom:1px solid var(--color-brand);color:var(--color-text-primary);background:linear-gradient(135deg,#2d3a6e,#1d2a5a);flex-wrap:wrap;font-size:.875rem;display:flex;position:sticky;top:0}.global-notice{z-index:95;width:min(var(--content-max-w), 100%);padding:var(--space-3) var(--space-6);border-bottom:1px solid var(--color-border);background:var(--color-surface-3);color:var(--color-text-primary);margin:0 auto;font-size:.875rem}.global-notice.info{background:#3dd6c017;border-bottom-color:#3dd6c059}.global-notice.success{background:#3ecf8e1a;border-bottom-color:#3ecf8e59}.global-notice.error{background:#ff5c5c1f;border-bottom-color:#ff5c5c59}.app-header{z-index:100;height:var(--header-h);-webkit-backdrop-filter:blur(16px)saturate(1.4);border-bottom:1px solid var(--color-border);background:#131620d9;position:sticky;top:0;padding-top:env(safe-area-inset-top);padding-left:env(safe-area-inset-left);padding-right:env(safe-area-inset-right)}.app-header.is-hidden{display:none}.header-inner{max-width:var(--content-max-w);padding:0 var(--space-6);justify-content:space-between;align-items:center;gap:var(--space-4);height:100%;margin:0 auto;display:flex}.brand{align-items:center;gap:var(--space-2);flex-shrink:0;display:flex}.brand-icon{border-radius:var(--radius-sm)}.brand-name{font-family:var(--font-head);color:var(--color-text-primary);letter-spacing:-.01em;font-size:1.05rem;font-weight:700}.brand-tag{color:var(--color-brand);background:var(--color-brand-dim);border-radius:var(--radius-full);letter-spacing:.04em;text-transform:uppercase;padding:1px 6px;font-size:.7rem;font-weight:600}.main-nav{align-items:center;gap:var(--space-2);display:flex}.nav-btn{touch-action:manipulation;color:var(--color-text-secondary);padding:var(--space-2) var(--space-4);border-radius:var(--radius-md);transition:color var(--transition-fast), background var(--transition-fast);white-space:nowrap;background:0 0;border:none;font-size:.875rem;font-weight:500;position:relative}@media (hover: hover){.nav-btn:hover{color:var(--color-text-primary);background:var(--color-surface-3)}}.nav-btn.active{color:var(--color-brand);background:var(--color-brand-dim)}.main-content{flex:1;overflow-x:hidden}.route-outlet{min-height:calc(100dvh - var(--header-h) - 48px - env(safe-area-inset-bottom))}.page-container{max-width:var(--content-max-w);gap:var(--space-8);flex-direction:column;margin:0 auto;padding-top:clamp(1rem,2.2vw,2rem);padding-bottom:clamp(1rem,2.2vw,2rem);padding-left:max(clamp(1rem,2.4vw,2.5rem),env(safe-area-inset-left));padding-right:max(clamp(1rem,2.4vw,2.5rem),env(safe-area-inset-right));display:flex}.page-header{gap:var(--space-2);flex-direction:column;display:flex}.page-title{font-family:var(--font-head);letter-spacing:-.02em;color:var(--color-text-primary);font-size:2rem;font-weight:700;line-height:1.2}.page-subtitle{color:var(--color-text-secondary);font-size:1rem}.card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--space-6);transition:border-color var(--transition-normal), box-shadow var(--transition-normal)}@media (hover: hover){.card:hover{box-shadow:var(--shadow-md);border-color:#6382ff33}}.card-grid{gap:var(--space-4);grid-template-columns:repeat(auto-fill,minmax(220px,1fr));display:grid}.card ul,.card ol{margin-left:1.1rem;list-style-position:outside}.card ul{list-style-type:disc}.card ol{list-style-type:decimal}.card li+li{margin-top:var(--space-1)}.stat-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--space-6);gap:var(--space-2);transition:border-color var(--transition-normal), transform var(--transition-fast);flex-direction:column;display:flex;position:relative;overflow:hidden}.stat-card:before{content:"";background:linear-gradient(90deg, var(--color-brand), var(--color-teal));height:2px;position:absolute;top:0;left:0;right:0}@media (hover: hover){.stat-card:hover{transform:translateY(-2px)}}.stat-label{color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.06em;font-size:.8rem;font-weight:500}.stat-value{font-family:var(--font-head);color:var(--color-text-primary);font-size:2.25rem;font-weight:700;line-height:1}.section{gap:var(--space-4);flex-direction:column;display:flex}.section-header{justify-content:space-between;align-items:center;gap:var(--space-3);margin-bottom:var(--space-2);flex-wrap:wrap;display:flex}.section-title{font-family:var(--font-head);color:var(--color-text-primary);font-size:1.25rem;font-weight:600}.stack-sm>*+*{margin-top:var(--space-3)}.stack-md>*+*{margin-top:var(--space-4)}.stack-lg>*+*{margin-top:var(--space-6)}.form-group{gap:var(--space-2);flex-direction:column;display:flex}.form-group label,.form-group legend{color:var(--color-text-secondary);font-size:.85rem;font-weight:600}.label-with-tip{align-items:flex-start;gap:var(--space-1);display:flex;flex-direction:column}.help-tip{display:block;position:static;font-size:0;border:none;background:none;width:auto;height:auto;border-radius:0;cursor:default;padding:0;margin:0}.help-tip:after{content:attr(data-tip);display:block;position:static;opacity:1;visibility:visible;color:var(--color-text-muted);font-size:.75rem;font-weight:400;line-height:1.35;padding:0;border:none;background:none;box-shadow:none;transform:none;min-width:0;max-width:100%;z-index:auto;transition:none;pointer-events:none;white-space:normal}.input{width:100%;padding:var(--space-3) var(--space-4);border-radius:var(--radius-md);border:1px solid var(--color-border);background:var(--color-surface-2);color:var(--color-text-primary);font:inherit}.input:focus{border-color:var(--color-border-focus);outline:none;box-shadow:0 0 0 2px #6382ff33}.form-actions{gap:var(--space-3);flex-wrap:wrap;justify-content:flex-end;display:flex}.btn-block{width:100%}.text-sm{font-size:.85rem}.text-xs{font-size:.75rem}.color-muted{color:var(--color-text-muted)}.color-info{color:var(--color-teal)}.p-md{padding:var(--space-4)}.empty-state{padding:var(--space-16) var(--space-8);text-align:center;color:var(--color-text-muted);border:1px dashed var(--color-border);border-radius:var(--radius-lg);justify-content:center;align-items:center;gap:var(--space-3);flex-direction:column;display:flex}.empty-state p{font-size:.95rem}.btn{justify-content:center;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-5);border-radius:var(--radius-md);transition:background var(--transition-fast), color var(--transition-fast), border-color var(--transition-fast), box-shadow var(--transition-fast), transform var(--transition-fast);white-space:nowrap;touch-action:manipulation;-webkit-user-select:none;user-select:none;border:1px solid #0000;font-size:.875rem;font-weight:600;line-height:1.4;display:inline-flex}.btn:active{transform:scale(.97)}.btn-primary{background:var(--color-brand);color:#fff;border-color:var(--color-brand)}@media (hover: hover){.btn-primary:hover{background:var(--color-brand-hover);box-shadow:0 0 16px #6382ff66}}.btn-ghost{color:var(--color-text-secondary);border-color:var(--color-border);background:0 0}@media (hover: hover){.btn-ghost:hover{background:var(--color-surface-3);color:var(--color-text-primary)}}.btn-danger{color:var(--color-red)}@media (hover: hover){.btn-danger:hover{border-color:var(--color-red);background:#ff5c5c14}}.btn-sm{padding:var(--space-1) var(--space-3);font-size:.8rem}.filter-row{gap:var(--space-2);flex-wrap:wrap;display:flex}.chip{padding:var(--space-1) var(--space-4);border-radius:var(--radius-full);background:var(--color-surface-2);border:1px solid var(--color-border);color:var(--color-text-secondary);cursor:pointer;transition:all var(--transition-fast);touch-action:manipulation;align-items:center;font-size:.8rem;font-weight:500;display:inline-flex}.chip-active{background:var(--color-brand-dim);border-color:var(--color-brand);color:var(--color-brand)}@media (hover: hover){.chip:hover{background:var(--color-brand-dim);border-color:var(--color-brand);color:var(--color-brand)}}.list-container{gap:var(--space-3);flex-direction:column;display:flex}.list-item{justify-content:space-between;align-items:flex-start;gap:var(--space-4);padding:var(--space-4);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface-2);display:flex}.list-item.clickable{cursor:pointer;touch-action:manipulation}@media (hover: hover){.list-item.clickable:hover{border-color:#6382ff4d}}.item-main{gap:var(--space-1);flex-direction:column;display:flex}.item-primary{color:var(--color-text-primary);font-weight:600}.item-secondary{color:var(--color-text-secondary);font-size:.85rem}.item-meta{align-items:center;gap:var(--space-2);flex-wrap:wrap;display:flex}.grid-layout{gap:var(--space-6);grid-template-columns:minmax(0,1.75fr) minmax(360px,1fr);display:grid}.grid-layout>aside.stack-md{gap:var(--space-4);grid-template-columns:1fr;display:grid}.grid-layout>aside.stack-md>*+*{margin-top:0}.workflow-stepper{gap:var(--space-2);display:grid}.step{padding:var(--space-2) var(--space-3);border-radius:var(--radius-sm);border:1px solid var(--color-border);color:var(--color-text-secondary);background:var(--color-surface-2);text-align:left;cursor:pointer;touch-action:manipulation;font-size:.8rem}.step:focus-visible{border-color:var(--color-brand);color:var(--color-text-primary)}@media (hover: hover){.step:hover{border-color:var(--color-brand);color:var(--color-text-primary)}}.step.active{border-color:var(--color-brand);color:var(--color-brand);background:var(--color-brand-dim)}.badge-row{gap:var(--space-2);flex-wrap:wrap;display:flex}.badge{border-radius:var(--radius-full);border:1px solid var(--color-border);color:var(--color-text-secondary);text-transform:capitalize;align-items:center;padding:2px 8px;font-size:.75rem;display:inline-flex}.badge-outline{border-color:#6382ff66}.badge-draft,.badge-pending,.badge-conditional,.badge-high{color:var(--color-amber);background:#f5a62326}.badge-active,.badge-suitable,.badge-intake,.badge-medium{color:var(--color-green);background:#3ecf8e26}.badge-closed,.badge-routed-out,.badge-critical{color:var(--color-red);background:#ff5c5c26}.badge-follow-up{color:var(--color-teal);background:#3dd6c01f}.badge-archived,.badge-low{color:var(--color-text-muted);background:#eef0f814}.badge-dot{text-transform:capitalize;align-items:center;font-size:.8rem;display:inline-flex}.suitability-summary{gap:var(--space-3);flex-direction:column;display:flex}.consent-indicator{border-radius:var(--radius-full);border:1px solid var(--color-border);padding:2px 8px;font-size:.8rem}.consent-indicator.consented{color:var(--color-green);border-color:#3ecf8e66}.consent-indicator.pending{color:var(--color-amber);border-color:#f5a62366}.settings-grid{gap:var(--space-6);flex-direction:column;display:flex}.settings-section{gap:var(--space-5);flex-direction:column;display:flex}.settings-heading{font-family:var(--font-head);color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:.06em;padding-bottom:var(--space-3);border-bottom:1px solid var(--color-border);font-size:.78rem;font-weight:600}.settings-row{justify-content:space-between;align-items:center;gap:var(--space-4);flex-wrap:wrap;display:flex}.settings-desc{color:var(--color-text-muted);margin-top:var(--space-1);font-size:.85rem}.debug-section{gap:var(--space-3)}.debug-summary{cursor:pointer;font-family:var(--font-head);color:var(--color-text-secondary);touch-action:manipulation;font-size:.95rem;font-weight:600;list-style:none}.debug-summary::-webkit-details-marker{display:none}.debug-summary:before{content:"▸";margin-right:var(--space-2);color:var(--color-brand);transition:transform var(--transition-fast);display:inline-block}.debug-section[open] .debug-summary:before{transform:rotate(90deg)}.debug-body{border-top:1px solid var(--color-border);padding-top:var(--space-4)}.error-screen{min-height:100dvh;padding:var(--space-8);background:var(--color-bg);justify-content:center;align-items:center;display:flex}.error-card{background:var(--color-surface);border-radius:var(--radius-xl);padding:var(--space-12);text-align:center;gap:var(--space-5);border:1px solid #ff5c5c4d;flex-direction:column;width:100%;max-width:440px;display:flex}.error-card h1{font-family:var(--font-head);color:var(--color-text-primary);font-size:1.5rem;font-weight:700}.error-msg{color:var(--color-red);font-size:.95rem}.noscript-card{font-family:var(--font-sans);text-align:center;padding:2rem}.app-footer{height:calc(48px + env(safe-area-inset-bottom));color:var(--color-text-muted);border-top:1px solid var(--color-border);background:var(--color-surface);justify-content:center;align-items:center;font-size:.75rem;padding-bottom:env(safe-area-inset-bottom);display:flex}@media (width<=640px){.header-inner{padding:0 var(--space-4);gap:var(--space-2)}.page-container{padding:var(--space-6) var(--space-4)}.page-title{font-size:1.5rem}.nav-btn{padding:var(--space-2) var(--space-3);font-size:.8rem}.stat-value{font-size:1.75rem}.card-grid{grid-template-columns:1fr}.section-header,.settings-row{flex-direction:column;align-items:flex-start}.grid-layout{grid-template-columns:1fr}.form-actions{justify-content:stretch}.form-actions .btn{width:100%}.brand-tag{display:none}}@media (width<=480px){.brand-name{display:none}.header-inner{padding:0 var(--space-2)}}@media (width>=1280px){.grid-layout>aside.stack-md{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-layout>aside.stack-md>.card:first-child{grid-column:1/-1}}@media (pointer:coarse){.btn,.chip,.nav-btn{min-height:44px}}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:var(--color-surface-3);border-radius:var(--radius-full)}@media (hover: hover){::-webkit-scrollbar-thumb:hover{background:var(--color-surface-2)}}.suitability-section{gap:var(--space-4);flex-direction:column;display:flex}.checklist-grid{gap:var(--space-3);background:var(--color-surface-2);padding:var(--space-4);border-radius:var(--radius-md);border:1px solid var(--color-border);grid-template-columns:repeat(auto-fill,minmax(min(280px,100%),1fr));display:grid}.check-item{gap:var(--space-2);color:var(--color-text-secondary);padding:var(--space-2);border-radius:var(--radius-sm);transition:background var(--transition-fast);border:1px solid var(--color-border);flex-direction:column;font-size:.9rem;display:flex}@media (hover: hover){.check-item:hover{background:var(--color-surface-3);color:var(--color-text-primary)}}.check-item legend{font-weight:600}.check-options{gap:var(--space-4);display:flex}.check-options label{align-items:center;gap:var(--space-2);cursor:pointer;touch-action:manipulation;display:inline-flex}.check-item input[type=radio]{accent-color:var(--color-brand);touch-action:manipulation}.suitability-footer{padding-top:var(--space-6);border-top:1px solid var(--color-border);gap:var(--space-4);flex-direction:column;display:flex}#s-outcome option[value=routed-out]{color:var(--color-red)}.border-top{border-top:1px solid var(--color-border)}.form-error{color:var(--color-red);border-radius:var(--radius-md);padding:var(--space-3);background:#ff5c5c14;border:1px solid #ff5c5c40;font-size:.9rem}.workflow-checklist{gap:var(--space-2);grid-template-columns:repeat(auto-fit,minmax(220px,1fr));display:grid}.workflow-item{align-items:center;gap:var(--space-2);text-align:left;border:1px solid var(--color-border);background:var(--color-surface-2);width:100%;color:var(--color-text-secondary);border-radius:var(--radius-md);padding:var(--space-3);transition:border-color var(--transition-fast), background var(--transition-fast), color var(--transition-fast);touch-action:manipulation;display:inline-flex}@media (hover: hover){.workflow-item:hover{border-color:var(--color-brand);color:var(--color-text-primary)}}.workflow-item.done{color:var(--color-green);background:#3ecf8e1a;border-color:#3ecf8e73}.workflow-item:disabled{opacity:.6;cursor:not-allowed}.modal-backdrop{z-index:300;padding:var(--space-4);background:#0c0e16bf;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.modal-card{width:min(560px,100%);max-height:90dvh;overflow-y:auto}.modal-list{padding-left:var(--space-5);list-style:outside}.modal-list li{margin-top:var(--space-2)}.grid-2{grid-template-columns:repeat(2,1fr)}.max-w-lg{max-width:800px}.mx-auto{margin-left:auto;margin-right:auto}.text-center{text-align:center}.mt-sm{margin-top:var(--space-2)}.pt-md{padding-top:var(--space-4)}.center-content{justify-content:center;min-height:calc(100dvh - 48px - env(safe-area-inset-bottom))}.onboarding-card{width:100%;max-width:480px;margin:0 auto}.header-main{gap:var(--space-2);flex-direction:column;display:flex}.italic{font-style:italic}.animate-fade-in{animation:fadeIn var(--transition-normal)}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@media (width<=860px){.grid-2,.workflow-checklist,.grid-layout{grid-template-columns:1fr}}@media print{.app-header,.app-footer,.sw-banner,.global-notice,.btn{display:none!important}.page-container,.card{color:#000!important;box-shadow:none!important;background:#fff!important;border:1px solid #ddd!important}}
input[type=checkbox]{touch-action:manipulation}
textarea{touch-action:manipulation}select{touch-action:manipulation}
input[type=text],input[type=email],input[type=number],input[type=date],input[type=time],input[type=url],input[type=tel]{touch-action:manipulation}
.clickable{touch-action:manipulation}
