:root{--font-ui:"Segoe UI",system-ui,-apple-system,"Helvetica Neue",Arial,sans-serif;--font-mono:ui-monospace,"Cascadia Code",Consolas,monospace;--bg-app:#e9edf1;--bg-panel:#ffffff;--bg-inset:#f1f4f7;--bg-hover:#eaf1f8;--bg-selected:#d8e6f5;--primary:#2d6da3;--primary-strong:#1f5586;--primary-soft:#e3edf7;--primary-fill:#275f90;--critical-fill:#a02420;--nav-bg:#1e3a5f;--nav-bg-hover:#2a4c78;--nav-text:#c9d8ea;--nav-text-active:#ffffff;--nav-selected:#35608f;--text-1:#1c2733;--text-2:#4d5b6a;--text-3:#5d6b78;--critical:#b3261e;--critical-bg:#fbeae9;--warning:#8a5c00;--warning-bg:#fdf3da;--success:#1d6f5c;--success-bg:#e4f2ee;--info:#2d6da3;--info-bg:#e3edf7;--purple:#5b4b8a;--purple-bg:#ece8f6;--border:#ccd5de;--border-strong:#a8b6c4;--focus:#1f5586;--radius:3px;--radius-lg:5px;--shadow-1:0 1px 2px rgb(20 35 50/10%);--shadow-2:0 4px 12px rgb(20 35 50/18%);--pad-cell:3px 8px;--header-h:44px;--nav-w:176px}@media (prefers-color-scheme:dark){:root{--bg-app:#161b21;--bg-panel:#1e252d;--bg-inset:#171d24;--bg-hover:#253243;--bg-selected:#2c4460;--primary:#5b93c4;--primary-strong:#7aa9d1;--primary-soft:#24384e;--nav-bg:#141e2b;--nav-bg-hover:#1f2e41;--nav-text:#94a8bd;--nav-text-active:#e8eef5;--nav-selected:#2b4a70;--text-1:#e2e8ee;--text-2:#9fadba;--text-3:#97a5b2;--critical:#e5766e;--critical-bg:#3d2321;--warning:#d9a94e;--warning-bg:#362c14;--success:#5cb8a2;--success-bg:#1c332d;--info:#6ba3d6;--info-bg:#1f3346;--purple:#a596d4;--purple-bg:#2a2440;--border:#333f4c;--border-strong:#4d5c6c;--focus:#7aa9d1;--shadow-1:0 1px 2px rgb(0 0 0/45%);--shadow-2:0 4px 12px rgb(0 0 0/55%)}}*{box-sizing:border-box}body,html{margin:0;padding:0;height:100%}body{font-family:var(--font-ui);font-size:13px;line-height:1.4;color:var(--text-1);background:var(--bg-app)}:focus-visible{outline:2px solid var(--focus);outline-offset:1px}a{color:var(--primary)}h1,h2,h3,h4{margin:0 0 .35rem;line-height:1.25;font-weight:600}h1{font-size:1.15rem}h2{font-size:1rem}h3{font-size:.87rem}p{margin:.3rem 0}@media (prefers-reduced-motion:reduce){*,:after,:before{animation:none!important;transition:none!important}}.skip-link{position:absolute;left:-9999px;top:0;z-index:100;background:var(--bg-panel);padding:8px 14px;border:2px solid var(--focus)}.skip-link:focus{left:8px}.muted{color:var(--text-2)}.small{font-size:11.5px}.mono{font-family:var(--font-mono)}.env-banner{background:#101b29;color:#b8c9dc;font-size:10.5px;text-align:center;padding:2px 10px;letter-spacing:.05em}.env-banner strong{color:#ffc966}.app-frame{display:flex;min-height:calc(100vh - 21px)}.side-nav{width:var(--nav-w);min-width:var(--nav-w);background:var(--nav-bg);color:var(--nav-text);display:flex;flex-direction:column;padding:6px 0}.side-nav .brand{color:var(--nav-text-active);font-weight:700;font-size:15px;letter-spacing:.02em;padding:8px 14px 10px;text-decoration:none}.side-nav .brand span{color:#9fc3e8}.side-nav .nav-group-label{font-size:10px;text-transform:uppercase;letter-spacing:.08em;color:#9db4cf;padding:10px 14px 3px}.side-nav .nav-item-locked,.side-nav a.nav-item{display:flex;align-items:center;gap:8px;color:var(--nav-text);text-decoration:none;font-size:12.5px;font-weight:600;padding:6px 14px;border-left:3px solid transparent}.side-nav a.nav-item:hover{background:var(--nav-bg-hover);color:var(--nav-text-active)}.side-nav a.nav-item[aria-current=page]{background:var(--nav-selected);color:var(--nav-text-active);border-left-color:#9fc3e8}.side-nav .nav-item-locked{color:#5f7590;cursor:not-allowed}.side-nav .nav-item .count{margin-left:auto;background:var(--critical-fill);color:#fff;border-radius:8px;font-size:10px;padding:0 6px;font-weight:700}.side-nav .nav-foot{margin-top:auto;padding:8px 14px;font-size:10.5px;color:var(--nav-text)}@media (max-width:900px){.app-frame{flex-direction:column}.side-nav{width:100%;min-width:0;flex-direction:row;flex-wrap:wrap;align-items:center}.side-nav .brand{padding:6px 10px}.side-nav .nav-foot,.side-nav .nav-group-label{display:none}.side-nav a.nav-item{border-left:none;border-bottom:2px solid transparent;padding:6px 10px}.side-nav a.nav-item[aria-current=page]{border-bottom-color:#9fc3e8}}.app-main{flex:1 1;min-width:0;display:flex;flex-direction:column}.top-header{display:flex;align-items:center;gap:10px;height:var(--header-h);background:var(--bg-panel);border-bottom:1px solid var(--border-strong);padding:0 12px;position:-webkit-sticky;position:sticky;top:0;z-index:20}.top-header .search-form{flex:0 1 340px}.top-header .search-form input{width:100%;padding:4px 8px;font-size:12.5px;border:1px solid var(--border-strong);border-radius:var(--radius);background:var(--bg-inset);color:var(--text-1)}.top-header .spacer{flex:1 1}.top-header .whoami{text-align:right;font-size:10.5px;color:var(--text-2);line-height:1.25}.top-header .whoami b{display:block;font-size:12px;color:var(--text-1)}.header-icon-link{position:relative;text-decoration:none;color:var(--text-2);font-size:12px;font-weight:600;padding:5px 8px;border-radius:var(--radius);border:1px solid transparent}.header-icon-link:hover{background:var(--bg-hover);color:var(--text-1)}.header-icon-link .count{background:var(--critical-fill);color:#fff;border-radius:8px;font-size:10px;padding:0 5px;margin-left:4px;font-weight:700}.chip{display:inline-block;font-size:10.5px;font-weight:700;padding:1px 8px;border-radius:9px;border:1px solid var(--border-strong);color:var(--text-2);background:var(--bg-inset);white-space:nowrap}.chip.env{color:var(--warning);border-color:var(--warning);background:var(--warning-bg)}.workspace{flex:1 1;padding:10px 12px;max-width:1500px;width:100%;margin:0 auto}.panel{background:var(--bg-panel);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-1);padding:8px 12px;margin-bottom:10px}.panel-title{display:flex;align-items:baseline;justify-content:space-between;gap:10px;border-bottom:1px solid var(--border);padding-bottom:4px;margin-bottom:6px}.panel-title h1,.panel-title h2,.panel-title h3{margin:0}table.grid{width:100%;border-collapse:collapse;font-size:12px}table.grid th{text-align:left;font-size:10.5px;text-transform:uppercase;letter-spacing:.04em;color:var(--text-2);border-bottom:2px solid var(--border-strong);padding:3px 8px;white-space:nowrap;background:var(--bg-panel);position:-webkit-sticky;position:sticky;top:0}table.grid th a{color:inherit;text-decoration:none}table.grid th a:hover{color:var(--primary)}table.grid td{padding:var(--pad-cell);border-bottom:1px solid var(--border);vertical-align:top}table.grid tbody tr:nth-child(2n) td{background:var(--bg-inset)}table.grid tbody tr:hover td{background:var(--bg-hover)}table.grid tr.selected td{background:var(--bg-selected)}.table-scroll{overflow-x:auto}table.flowsheet{border-collapse:collapse;font-size:11.5px;min-width:100%}table.flowsheet td,table.flowsheet th{border:1px solid var(--border);padding:2px 7px;text-align:right;white-space:nowrap}table.flowsheet th{background:var(--bg-inset);font-weight:600;color:var(--text-2);font-size:10.5px}table.flowsheet td.row-label,table.flowsheet th.row-label{text-align:left;font-weight:600;position:-webkit-sticky;position:sticky;left:0;background:var(--bg-panel);z-index:1;min-width:110px}.badge{display:inline-block;padding:0 6px;border-radius:8px;font-size:10.5px;font-weight:700;border:1px solid transparent;white-space:nowrap}.badge.critical{color:var(--critical);background:var(--critical-bg);border-color:var(--critical)}.badge.warning{color:var(--warning);background:var(--warning-bg);border-color:var(--warning)}.badge.success{color:var(--success);background:var(--success-bg);border-color:var(--success)}.badge.info{color:var(--info);background:var(--info-bg);border-color:var(--info)}.badge.neutral{color:var(--text-2);background:var(--bg-inset);border-color:var(--border-strong)}.badge.purple{color:var(--purple);background:var(--purple-bg);border-color:var(--purple)}.flag-H,.flag-L{color:var(--warning);font-weight:700}.flag-HH,.flag-LL{color:var(--critical);font-weight:800}.btn{display:inline-block;font:inherit;font-weight:600;font-size:12px;padding:4px 12px;border-radius:var(--radius);cursor:pointer;border:1px solid var(--border-strong);background:var(--bg-panel);color:var(--text-1)}.btn:hover{background:var(--bg-hover)}.btn.primary{background:var(--primary-fill);border-color:var(--primary-fill);color:#fff}.btn.primary:hover{background:#1f5586}.btn.danger{color:var(--critical);border-color:var(--critical)}.btn.small{padding:2px 8px;font-size:11px}.btn:disabled{opacity:.5;cursor:not-allowed}label.field{display:block;margin-bottom:7px;font-weight:600;font-size:11.5px}label.field span{display:block;margin-bottom:1px;color:var(--text-2)}input[type=email],input[type=number],input[type=password],input[type=text],select,textarea{font:inherit;font-size:12.5px;width:100%;padding:4px 7px;border:1px solid var(--border-strong);border-radius:var(--radius);background:var(--bg-panel);color:var(--text-1)}textarea{resize:vertical;min-height:80px}.form-error{background:var(--critical-bg);color:var(--critical);border:1px solid var(--critical);border-radius:var(--radius);font-weight:600}.form-error,.notice{padding:6px 10px;margin-bottom:8px;font-size:12px}.notice{background:var(--info-bg);color:var(--info);border:1px solid var(--info);border-radius:var(--radius)}.notice.warning{background:var(--warning-bg);color:var(--warning);border-color:var(--warning)}.patient-banner{background:var(--bg-panel);border:1px solid var(--border-strong);border-top:3px solid var(--primary);border-radius:var(--radius-lg);padding:5px 12px 6px;margin-bottom:8px}.patient-banner .row1{display:flex;flex-wrap:wrap;gap:3px 18px;align-items:baseline}.patient-banner .row2{display:flex;flex-wrap:wrap;gap:3px 10px;align-items:center;margin-top:3px}.patient-banner .name{font-size:15px;font-weight:700}.patient-banner .kv{font-size:11.5px;color:var(--text-2)}.patient-banner .kv b{color:var(--text-1)}.allergy-chip{background:var(--critical-bg);color:var(--critical);border:1px solid var(--critical);border-radius:var(--radius);font-weight:700;font-size:10.5px;padding:0 7px}.allergy-chip:before{content:"⚠ "}.chart-tabs{display:flex;flex-wrap:wrap;gap:1px;border-bottom:2px solid var(--primary);margin-bottom:8px}.chart-tabs a{text-decoration:none;color:var(--text-2);font-weight:600;font-size:12px;padding:4px 11px;border:1px solid transparent;border-radius:var(--radius) var(--radius) 0 0}.chart-tabs a[aria-current=page]{color:#fff;background:var(--primary-fill);border-color:var(--primary-fill)}.chart-tabs a:hover:not([aria-current=page]){color:var(--text-1);background:var(--bg-hover)}.sim-clock{display:flex;align-items:center;gap:10px;flex-wrap:wrap;background:var(--primary-soft);border:1px solid var(--border-strong);border-radius:var(--radius-lg);padding:5px 10px;margin-bottom:8px}.sim-clock .time{font-family:var(--font-mono);font-weight:800;font-size:14px}.sim-clock .label{font-size:10px;text-transform:uppercase;letter-spacing:.06em;color:var(--text-2)}.cols{display:grid;grid-gap:10px;gap:10px}@media (min-width:980px){.cols-2{grid-template-columns:1fr 1fr}.cols-3-1{grid-template-columns:3fr 1.2fr}}.login-wrap{min-height:70vh;display:grid;place-items:center;padding:30px 12px}.login-card{width:100%;max-width:400px}.login-card .product{font-size:20px;font-weight:800;color:var(--primary-strong);margin-bottom:2px}.msg{border:1px solid var(--border);border-radius:var(--radius);padding:6px 10px;margin-bottom:6px;background:var(--bg-panel)}.msg.unread{border-left:4px solid var(--primary)}.msg .msg-head{display:flex;justify-content:space-between;gap:10px;flex-wrap:wrap}.msg .subject{font-weight:700;font-size:12.5px}details.msg>summary{list-style:none}details.msg>summary::-webkit-details-marker{display:none}details.msg>summary:before{content:"▸";margin-right:6px;color:var(--text-2)}details.msg[open]>summary:before{content:"▾"}.page{max-width:1100px;margin:0 auto;padding:14px}.feed-item{display:flex;gap:10px;padding:4px 6px;border-bottom:1px solid var(--border);font-size:12px}.feed-item:nth-child(2n){background:var(--bg-inset)}.feed-item .feed-time{min-width:96px;font-family:var(--font-mono);color:var(--text-2);font-size:11px}.feed-item .feed-type{min-width:84px}.feed-item .feed-body{flex:1 1;min-width:0}.filter-bar{display:flex;gap:4px;flex-wrap:wrap;margin-bottom:8px}.filter-bar a{text-decoration:none;font-size:11px;font-weight:700;color:var(--text-2);border:1px solid var(--border-strong);border-radius:9px;padding:1px 9px}.filter-bar a[aria-current=true]{background:var(--primary-fill);border-color:var(--primary-fill);color:#fff}.filter-bar a:hover:not([aria-current=true]){background:var(--bg-hover)}.hint{background:var(--purple-bg);border:1px dashed var(--purple);border-radius:var(--radius);padding:5px 10px;margin-bottom:5px;font-size:12px}.hint:before{content:"Guidance: ";font-weight:700;color:var(--purple)}.score-bar{background:var(--bg-inset);border-radius:8px;height:9px;overflow:hidden;border:1px solid var(--border)}.score-bar>div{height:100%;background:var(--primary)}.palette-overlay{position:fixed;inset:0;background:rgb(10 20 30/45%);z-index:60;display:flex;align-items:flex-start;justify-content:center;padding-top:12vh}.palette{width:100%;max-width:520px;border:1px solid var(--border-strong);border-radius:var(--radius-lg);box-shadow:var(--shadow-2);overflow:hidden}.palette,.palette input{background:var(--bg-panel)}.palette input{border:none;border-bottom:1px solid var(--border);border-radius:0;padding:10px 14px;font-size:14px}.palette input:focus-visible{outline:none}.palette ul{list-style:none;margin:0;padding:4px 0;max-height:320px;overflow-y:auto}.palette li{padding:6px 14px;font-size:12.5px;display:flex;justify-content:space-between;gap:10px;cursor:pointer;border-left:3px solid transparent}.palette li[aria-selected=true]{background:var(--bg-selected);border-left-color:var(--primary-fill);font-weight:700}.palette li .kind{color:var(--text-3);font-size:10.5px;text-transform:uppercase;letter-spacing:.05em}.palette .palette-help{padding:5px 14px;border-top:1px solid var(--border);color:var(--text-3);font-size:10.5px}kbd{font-family:var(--font-mono);font-size:10px;border:solid var(--border-strong);border-width:1px 1px 2px;border-radius:3px;padding:0 4px;background:var(--bg-inset)}@media print{.btn,.chart-tabs,.env-banner,.filter-bar,.side-nav,.sim-clock,.top-header,form{display:none!important}.panel{box-shadow:none;border-color:#999}body{background:#fff}.app-frame{display:block}}