:root{--bg:#f4f6f8;--surface:#fff;--surface-muted:#f9fafb;--border:#d9dee4;--border-strong:#b8c1cb;--text:#1c2630;--text-muted:#5b6875;--brand:#1f5f8b;--brand-strong:#174a6d;--brand-soft:#e8f1f8;--focus:#2b6cb0;--critical:#b42318;--critical-soft:#fef3f2;--important:#a15c07;--important-soft:#fffaeb;--info:#175cd3;--info-soft:#eff8ff;--ok:#067647;--ok-soft:#ecfdf3;--radius:8px;--radius-small:6px;--shadow:0 1px 2px #1018280f, 0 1px 3px #10182814;--touch:44px;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:24px;--space-6:32px;color:var(--text);background:var(--bg);font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif;font-size:16px;line-height:1.45}*{box-sizing:border-box}body{margin:0}h1,h2,h3{margin:0;line-height:1.25}h1{font-size:1.5rem}h2{font-size:1.125rem}h3{font-size:1rem}a{color:var(--brand)}:focus-visible{outline:3px solid var(--focus);outline-offset:2px}.muted{color:var(--text-muted)}.small{font-size:.875rem}.env-banner{padding:var(--space-1) var(--space-4);text-align:center;letter-spacing:.04em;color:#fff;font-size:.8125rem;font-weight:700}.env-banner--development{background:#5b3f8f}.env-banner--staging{background:#a15c07}.env-banner--unknown{background:var(--critical)}button,.button{justify-content:center;align-items:center;gap:var(--space-2);min-height:var(--touch);padding:0 var(--space-4);border:1px solid var(--border-strong);border-radius:var(--radius-small);background:var(--surface);color:var(--text);font:inherit;cursor:pointer;font-weight:600;text-decoration:none;display:inline-flex}button:hover,.button:hover{background:var(--surface-muted)}button.primary,.button.primary{border-color:var(--brand);background:var(--brand);color:#fff}button.primary:hover,.button.primary:hover{background:var(--brand-strong)}button.quiet{background:0 0;border-color:#0000}input,select,textarea{min-height:var(--touch);padding:0 var(--space-3);border:1px solid var(--border-strong);border-radius:var(--radius-small);background:var(--surface);color:var(--text);font:inherit}.top-bar{z-index:20;align-items:center;gap:var(--space-3);min-height:56px;padding:var(--space-2) var(--space-4);background:var(--surface);border-bottom:1px solid var(--border);flex-wrap:wrap;display:flex;position:sticky;top:0}.brand{color:var(--brand);margin-right:var(--space-2);font-size:1.125rem;font-weight:800;text-decoration:none}.top-nav{gap:var(--space-1);flex-wrap:wrap;display:flex}.top-bar>.top-nav{margin:0 calc(-1 * var(--space-4)) calc(-1 * var(--space-2));padding:var(--space-1) var(--space-3);border-top:1px solid var(--border);background:var(--bg);flex-basis:100%;order:10}.top-nav .menu-button{background:0 0;border-color:#0000;min-height:36px;font-weight:600}.top-nav .menu-button[aria-expanded=true],.top-nav .menu-button:hover{border-color:var(--border-strong);background:var(--surface)}.top-nav a{min-height:40px;padding:0 var(--space-3);border-radius:var(--radius-small);color:var(--text);align-items:center;font-weight:600;text-decoration:none;display:inline-flex}.top-nav a[aria-current=page]{background:var(--brand-soft);color:var(--brand-strong)}.top-bar .spacer{flex:1}.top-bar .who{color:var(--text-muted);font-size:.9375rem}.page{max-width:1240px;padding:var(--space-5) var(--space-4) var(--space-6);margin:0 auto}.page-title{align-items:baseline;gap:var(--space-3);margin-bottom:var(--space-4);flex-wrap:wrap;display:flex}.grid{gap:var(--space-4);grid-template-columns:repeat(auto-fill,minmax(280px,1fr));display:grid}.card{padding:var(--space-4);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow)}.card>h2,.card>h3{margin-bottom:var(--space-3)}.card-link{color:inherit;text-decoration:none;display:block}.card-link:hover{border-color:var(--brand)}.empty{padding:var(--space-4);border:1px dashed var(--border-strong);border-radius:var(--radius);color:var(--text-muted);background:var(--surface-muted)}dl.facts{gap:var(--space-2) var(--space-4);grid-template-columns:max-content 1fr;margin:0;display:grid}dl.facts dt{color:var(--text-muted)}dl.facts dd{margin:0}ul.plain{margin:0;padding:0;list-style:none}ul.plain>li+li{border-top:1px solid var(--border)}ul.plain>li{padding:var(--space-2) 0}.alert{gap:var(--space-3);padding:var(--space-3) var(--space-4);border-radius:var(--radius-small);border:1px solid;border-left-width:6px;align-items:flex-start;display:flex}.alert+.alert{margin-top:var(--space-2)}.alert strong{display:block}.alert--critical{background:var(--critical-soft);border-color:var(--critical);color:#7a1a12}.alert--important{background:var(--important-soft);border-color:var(--important);color:#6b3d05}.alert--info{background:var(--info-soft);color:#123f8f;border-color:#84adff}.chips{gap:var(--space-2);flex-wrap:wrap;display:flex}.chip{align-items:center;gap:var(--space-1);border:1px solid var(--border-strong);background:var(--surface-muted);white-space:nowrap;border-radius:999px;min-height:28px;padding:2px 10px;font-size:.875rem;font-weight:600;display:inline-flex}.chip--critical{background:var(--critical-soft);border-color:var(--critical);color:var(--critical)}.chip--important{background:var(--important-soft);border-color:var(--important);color:var(--important)}.chip--ok{background:var(--ok-soft);color:var(--ok);border-color:#75e0a7}.chip--info{background:var(--info-soft);color:var(--info);border-color:#84adff}.patient-header{z-index:10;gap:var(--space-3) var(--space-5);padding:var(--space-4);background:var(--surface);border-bottom:2px solid var(--brand);box-shadow:var(--shadow);grid-template-columns:minmax(240px,1fr) minmax(280px,2fr);align-items:start;display:grid;position:sticky;top:56px}.patient-header .name{font-size:1.375rem;font-weight:800}.patient-header .ids{color:var(--text-muted);font-size:.9375rem}.patient-header .row{align-items:center;gap:var(--space-2);flex-wrap:wrap;display:flex}.patient-header .label{min-width:82px;color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em;font-size:.8125rem;font-weight:700}.patient-header .row+.row{margin-top:var(--space-2)}table.board{border-collapse:collapse;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);width:100%;overflow:hidden}table.board th,table.board td{padding:var(--space-3);text-align:left;vertical-align:top;border-bottom:1px solid var(--border)}table.board th{background:var(--surface-muted);color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em;font-size:.8125rem}table.board tbody tr{cursor:pointer}table.board tbody tr:hover{background:var(--brand-soft)}table.board .patient-name{color:var(--text);font-weight:700;text-decoration:none}@media (width<900px){.patient-header{grid-template-columns:1fr}table.board,table.board tbody,table.board tr,table.board td{width:100%;display:block}table.board thead{display:none}table.board{background:0 0;border:none}table.board tr{margin-bottom:var(--space-3);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius)}table.board td{padding:var(--space-1) var(--space-3);border-bottom:none}table.board td:first-child{padding-top:var(--space-3)}table.board td:last-child{padding-bottom:var(--space-3)}table.board td[data-label]:before{content:attr(data-label) ": ";color:var(--text-muted);font-size:.8125rem}}.form{gap:var(--space-4);max-width:720px;display:grid}.form-row{gap:var(--space-4);grid-template-columns:repeat(auto-fit,minmax(200px,1fr));display:grid}.field{gap:var(--space-1);min-width:0;display:grid}.field>select{min-width:0}.field-label{font-weight:600}.field-label .required{color:var(--text-muted);font-size:.875rem;font-weight:400}.choice{gap:var(--space-2);align-items:center;min-height:36px;display:flex}.choice input{flex:none;width:20px;min-height:20px;padding:0}fieldset.plain{border:0;margin:0;padding:0}.field-hint{color:var(--text-muted);font-size:.875rem}textarea{min-height:88px;padding:var(--space-2) var(--space-3)}.actions{gap:var(--space-2);flex-wrap:wrap;display:flex}.actions.end{justify-content:flex-end}.card-head{justify-content:space-between;align-items:center;gap:var(--space-2);margin-bottom:var(--space-3);flex-wrap:wrap;display:flex}button.small{min-height:36px;padding:0 var(--space-3);font-size:.875rem}.form-document{max-height:180px;padding:var(--space-3);border:1px solid var(--border);border-radius:var(--radius-small);background:var(--surface-muted);white-space:pre-wrap;font-size:.875rem;overflow:auto}ul.checklist{gap:var(--space-2);margin:0;padding:0;list-style:none;display:grid}ul.checklist li{align-items:center;gap:var(--space-2);display:flex}.check{border-radius:50%;flex:none;place-items:center;width:24px;height:24px;font-size:.8125rem;font-weight:800;display:inline-grid}.check--done{background:var(--ok-soft);color:var(--ok);border:1px solid #75e0a7}.check--todo{background:var(--important-soft);color:var(--important);border:1px solid var(--important)}.check--later{background:var(--surface-muted);color:var(--text-muted);border:1px solid var(--border-strong)}.search-box{gap:var(--space-2);max-width:560px;display:flex}.search-box input{flex:1}.sign-in{max-width:520px;margin:var(--space-6) auto}.staff-list{gap:var(--space-2);margin:var(--space-3) 0 0;padding:0;list-style:none;display:grid}.staff-list button{justify-content:flex-start;width:100%}.overlay{z-index:50;padding:var(--space-4);background:#1018288c;place-items:center;display:grid;position:fixed;inset:0}.dialog{max-width:28rem;padding:var(--space-5);border-radius:var(--radius);background:var(--surface);box-shadow:0 20px 40px #10182840}.dialog p{margin:var(--space-3) 0 var(--space-4)}.dialog-actions{gap:var(--space-3);flex-wrap:wrap;display:flex}.logo{align-items:center;gap:var(--space-2);color:var(--brand);font-size:1.0625rem;font-weight:800;display:inline-flex}.menu{display:inline-block;position:relative}.menu-button{align-items:center;gap:var(--space-2);font-weight:600;display:inline-flex}.main-menu>.menu-button{padding-left:var(--space-2);background:0 0;border-color:#0000}.menu-caret{color:var(--text-muted);font-size:.75rem}.menu--primary>.menu-button{background:var(--brand);border-color:var(--brand);color:#fff}.menu--primary>.menu-button .menu-caret{color:#fff}.menu-popup{z-index:30;min-width:240px;max-height:70vh;padding:var(--space-1);background:var(--surface);border:1px solid var(--border-strong);border-radius:var(--radius);position:absolute;top:calc(100% + 4px);overflow:auto;box-shadow:0 8px 24px #10182824}.menu-popup--start{left:0}.menu-popup--end{right:0}.menu-popup.flyout{align-items:stretch;min-width:0;max-height:none;padding:0;display:flex;overflow:visible}.flyout-categories{min-width:220px;padding:var(--space-1);border-right:1px solid var(--border)}.flyout-category{justify-content:space-between}.flyout-category--active{background:var(--brand-soft);color:var(--brand-strong)}.flyout-arrow{color:var(--text-muted);margin-left:auto}.flyout-items{min-width:280px;max-height:70vh;padding:var(--space-1);overflow-y:auto}@media (width<900px){.menu-popup.flyout{left:8px;right:8px;top:calc(var(--top-bar-h,100px) + 4px);max-height:calc(100vh - var(--top-bar-h,100px) - 16px);flex-direction:column;position:fixed;overflow-y:auto}.flyout-categories{border-right:0;border-bottom:1px solid var(--border);flex-wrap:wrap;display:flex}.flyout-category{width:auto}}.menu-group-label{padding:var(--space-2) var(--space-3) var(--space-1);color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em;font-size:.75rem;font-weight:700}.menu-item{align-items:center;gap:var(--space-3);width:100%;min-height:40px;padding:0 var(--space-3);border-radius:var(--radius-small);text-align:left;background:0 0;border:0;font-weight:500;display:flex}.menu-item:hover,.menu-item:focus-visible{background:var(--brand-soft);outline:none}.menu-item--selected{color:var(--brand-strong);font-weight:700}.menu-item[aria-disabled=true]{color:var(--text-muted);cursor:default}.menu-item[aria-disabled=true]:hover{background:0 0}.menu-item-icon{width:20px;color:var(--text-muted);display:inline-flex}.menu-item-label{flex:1}.menu-item-hint{color:var(--text-muted);font-size:.8125rem}.top-nav a{gap:var(--space-1)}.top-search{align-items:center;gap:var(--space-2);padding:0 var(--space-3);border:1px solid var(--border);border-radius:var(--radius-small);background:var(--surface-muted);color:var(--text-muted);display:flex}.top-search input{background:0 0;border:0;width:180px;min-height:40px;padding:0}.top-search input:focus{outline:none}.patient-tabs{top:var(--top-bar-h,56px);z-index:15;gap:var(--space-1);padding:var(--space-2) var(--space-4) 0;background:var(--bg);border-bottom:1px solid var(--border);display:flex;position:sticky;overflow-x:auto}.patient-tab{align-items:center;gap:var(--space-1);padding:0 var(--space-1) 0 var(--space-3);border:1px solid var(--border);border-radius:var(--radius-small) var(--radius-small) 0 0;background:var(--surface-muted);white-space:nowrap;border-bottom:0;display:inline-flex}.patient-tab a{padding:var(--space-2) 0;color:var(--text);font-size:.9375rem;font-weight:600;text-decoration:none}.patient-tab--current{background:var(--surface);border-color:var(--border-strong)}.patient-tab button{min-height:32px;padding:0 var(--space-2)}.chart-frame{--chart-top:calc(var(--top-bar-h,56px) + 47px);--chart-head:120px}.chart-head{top:var(--chart-top);z-index:12;position:sticky}.patient-banner{align-items:center;gap:var(--space-2) var(--space-4);padding:var(--space-2) var(--space-4);background:var(--surface);border-bottom:2px solid var(--brand);flex-wrap:wrap;display:flex}.banner-who{align-items:center;gap:var(--space-2);display:flex}.banner-name{font-size:1.125rem;font-weight:800;line-height:1.2}.banner-fact{min-width:0;font-size:.875rem}.banner-label{color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em;font-size:.6875rem;font-weight:700}.avatar{background:var(--brand-soft);width:48px;height:48px;color:var(--brand-strong);border-radius:50%;flex:none;justify-content:center;align-items:center;font-weight:800;display:inline-flex}.avatar--small{width:36px;height:36px;font-size:.8125rem}.chart-toolbar{align-items:center;gap:var(--space-1);padding:var(--space-2) var(--space-4);background:var(--bg);border-bottom:1px solid var(--border);flex-wrap:wrap;display:flex}.chart-toolbar button.small{align-items:center;gap:var(--space-1);display:inline-flex}.chart-toolbar .toolbar-gap{width:var(--space-3)}.chart-toolbar .spacer{flex:1}.chart-toolbar .quick--planned{color:var(--text-muted);border-style:dashed}.chart-toolbar .quick--current{border-color:var(--brand);color:var(--brand-strong)}.count{margin-left:var(--space-1);background:var(--critical-soft);color:var(--critical);border-radius:999px;padding:0 6px;font-size:.75rem}.chart-body{grid-template-columns:230px minmax(0,1fr);align-items:start;display:grid}.chart-body--no-nav{grid-template-columns:minmax(0,1fr)}.chart-nav{top:calc(var(--chart-top) + var(--chart-head));max-height:calc(100vh - var(--chart-top) - var(--chart-head));padding:var(--space-2) 0 var(--space-4);border-right:1px solid var(--border);background:var(--surface);position:sticky;overflow-y:auto}.chart-nav-search{width:calc(100% - 2 * var(--space-3));margin:0 var(--space-3) var(--space-1);min-height:32px;font-size:.875rem}.chart-nav-heading{padding:var(--space-3) var(--space-3) var(--space-1);color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em;font-size:.6875rem;font-weight:700}.chart-nav-item{justify-content:space-between;align-items:center;gap:var(--space-2);width:100%;min-height:30px;padding:2px var(--space-3) 2px var(--space-4);color:var(--text);text-align:left;background:0 0;border:0;border-left:3px solid #0000;border-radius:0;font-size:.875rem;font-weight:500;display:flex}.chart-nav-item:hover{background:var(--brand-soft)}.chart-nav-item--current{border-left-color:var(--brand);background:var(--brand-soft);color:var(--brand-strong);font-weight:700}.chart-nav-item--planned{color:var(--text-muted)}.chart-nav-phase{flex:none;font-size:.6875rem}.chart-main{min-width:0;padding:var(--space-3) var(--space-4) var(--space-6)}.later-panel{border-style:dashed}.chart-index{gap:var(--space-2) var(--space-5);grid-template-columns:repeat(auto-fill,minmax(220px,1fr));display:grid}.chart-index h3{margin:var(--space-3) 0 var(--space-1);font-size:.9375rem}button.link{min-height:0;color:var(--brand-strong);background:0 0;border:0;padding:0;font-weight:500;text-decoration:underline}@media (width<900px){.chart-body{grid-template-columns:1fr}.chart-nav{border-right:0;border-bottom:1px solid var(--border);max-height:none;position:static}.chart-nav-item{min-height:40px}.chart-head{position:static}.top-search input{width:120px}}@media print{.top-bar,.patient-tabs,.chart-toolbar,.chart-nav,.env-banner{display:none}.chart-body{grid-template-columns:1fr}.chart-head{position:static}}.access-editor{gap:var(--space-4);grid-template-columns:minmax(180px,1fr) minmax(180px,1fr) minmax(320px,2.5fr);align-items:start;display:grid}.access-column{min-width:0}.access-permissions{max-height:70vh;padding-right:var(--space-2);overflow-y:auto}.permission-group h3{margin:var(--space-3) 0 var(--space-1);font-size:.9375rem}.permission--removed>span{text-decoration:line-through;-webkit-text-decoration-color:var(--text-muted);text-decoration-color:var(--text-muted)}.permission--removed .chip,.permission .chip{text-decoration:none}.access-save{margin-top:var(--space-4);border-top:1px solid var(--border);padding-top:var(--space-3)}@media (width<=900px){.access-editor{grid-template-columns:1fr}.access-permissions{max-height:none}}
