:root{--navy: #102344;--navy-soft: #263b5f;--teal: #31b99d;--teal-dark: #168b7a;--green: #58b888;--blue: #267fd3;--amber: #d58b1f;--red: #c84646;--ink: #16202f;--muted: #637083;--line: #dce7ea;--surface: #ffffff;--surface-soft: #f5fbfa;--surface-blue: #eef6ff;--background: #eef6f5;--shadow: 0 18px 45px rgba(16, 35, 68, .11)}*{box-sizing:border-box}body{margin:0;min-width:320px;background:var(--background);color:var(--ink);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;line-height:1.5}button,input,select,textarea{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.55}h1,h2,h3,h4,p{margin:0}h1{color:var(--navy);font-size:1.65rem;line-height:1.2}h2{color:var(--navy);font-size:1.25rem;line-height:1.25}h3{color:var(--navy);font-size:1.05rem}h4{color:var(--navy);font-size:1rem}p,small,dd,dt,li{color:var(--muted)}.app-shell{display:grid;grid-template-columns:300px minmax(0,1fr);min-height:100vh}.login-shell{display:grid;place-items:center;min-height:100vh;padding:1rem;background:linear-gradient(135deg,#eef6f5 0%,#eef6ff 100%)}.login-panel{display:grid;gap:1rem;width:min(460px,100%);padding:1.25rem;border:1px solid var(--line);border-radius:8px;background:#fff;box-shadow:var(--shadow)}.login-brand{display:flex;gap:.85rem;align-items:center}.login-brand img{width:68px;height:68px;object-fit:cover;border:1px solid var(--line);border-radius:8px}.login-form,.login-note{display:grid;gap:.7rem}.login-form label{display:grid;gap:.3rem;color:var(--navy);font-weight:800}.login-error{padding:.75rem;border:1px solid #f2b6b6;border-radius:8px;background:#fff4f4;color:var(--red);font-weight:800}.login-note{padding:.85rem;border-radius:8px;background:var(--surface-soft)}.login-note span{color:var(--muted);overflow-wrap:anywhere}.sidebar{position:sticky;top:0;display:flex;flex-direction:column;gap:1rem;height:100vh;padding:1.25rem;overflow:auto;background:var(--navy);color:#fff}.brand{display:flex;align-items:center;gap:.8rem;min-height:74px}.brand img{width:58px;height:58px;object-fit:cover;border:2px solid rgba(255,255,255,.5);border-radius:8px;background:#fff}.brand strong{display:block;font-size:1.22rem}.brand span,.sidebar p,.role-nav small{color:#ffffffb8}.role-nav{display:grid;gap:.55rem}.role-nav button{display:grid;gap:.1rem;width:100%;padding:.75rem;color:#fff;text-align:left;border:1px solid rgba(255,255,255,.12);border-radius:8px;background:rgba(255,255,255,.06)}.role-nav button.active,.role-nav button:hover{border-color:#31b99db3;background:rgba(49,185,157,.2)}.sidebar-panel{display:grid;gap:.45rem;padding:.9rem;border:1px solid rgba(255,255,255,.14);border-radius:8px;background:rgba(255,255,255,.07)}.sidebar .eyebrow{color:#9ce2d4}.main{display:grid;align-content:start;gap:1rem;min-width:0;padding:1.25rem}.topbar{display:flex;align-items:center;justify-content:space-between;gap:1rem;min-height:74px;padding:1rem;border:1px solid var(--line);border-radius:8px;background:rgba(255,255,255,.82);box-shadow:var(--shadow)}.topbar-actions{display:flex;align-items:center;gap:.8rem;flex-wrap:wrap;justify-content:flex-end;min-width:0}.select-label{display:grid;gap:.25rem;color:var(--muted);font-size:.78rem}select,input,textarea{width:100%;border:1px solid var(--line);border-radius:8px;background:#fff;color:var(--ink)}select,input{min-height:42px;padding:0 .75rem}textarea{min-height:96px;padding:.75rem;resize:vertical}.identity{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap;color:var(--navy);font-weight:700;min-width:0}.identity span{overflow-wrap:anywhere}.eyebrow{display:block;color:var(--teal-dark);font-size:.72rem;font-weight:800;letter-spacing:0;text-transform:uppercase}.metric-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.85rem}.metric,.panel,.summary-tile,.list-item,.bundle,.security-grid article,.portal-section article,.guided-form,.home-map{border:1px solid var(--line);border-radius:8px;background:var(--surface)}.metric{display:grid;gap:.25rem;min-height:118px;padding:1rem}.metric span{color:var(--muted);font-weight:700}.metric strong{color:var(--navy);font-size:2rem;line-height:1}.metric-info{border-top:4px solid var(--blue)}.metric-good{border-top:4px solid var(--green)}.metric-warn{border-top:4px solid var(--amber)}.metric-bad{border-top:4px solid var(--red)}.workspace-grid{display:grid;grid-template-columns:minmax(0,1fr);gap:1rem;align-items:start;min-width:0}.panel{min-width:0;padding:1rem;box-shadow:0 8px 24px #1023440f}.panel-heading,.module-heading,.workspace-header{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;margin-bottom:1rem}.creation-panel{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:.9rem;align-items:start;margin-bottom:1rem;padding:1rem;border:1px solid #bfe8df;border-radius:8px;background:var(--surface-soft)}.creation-panel p{margin-top:.2rem}.full-row{grid-column:1 / -1}.form-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.75rem;align-items:end}.form-grid label{display:grid;gap:.3rem;color:var(--navy);font-weight:800}.wide-field{grid-column:span 2}.form-actions{display:flex;justify-content:flex-end}.search{max-width:320px}.filter-row,.tab-list{display:flex;gap:.45rem;margin-bottom:.8rem;overflow-x:auto;padding-bottom:.15rem}.chip,.tab-list button{flex:0 0 auto;min-height:36px;padding:0 .7rem;border:1px solid var(--line);border-radius:999px;background:#fff;color:var(--navy);font-size:.88rem;font-weight:800}.chip.active,.chip:hover,.tab-list button.active,.tab-list button:hover{border-color:var(--teal);background:#dff7f2;color:var(--teal-dark)}.patient-table{display:grid;max-width:100%;min-width:0;overflow-x:auto;border:1px solid var(--line);border-radius:8px}.table-row{display:grid;grid-template-columns:minmax(210px,1.7fr) .6fr 1.2fr .9fr 1fr 1fr .9fr;gap:.75rem;align-items:center;min-width:880px;padding:.8rem;border:0;border-bottom:1px solid var(--line);background:#fff;text-align:left}.table-row:last-child{border-bottom:0}.table-head{background:var(--surface-soft);color:var(--navy);font-size:.78rem;font-weight:900;text-transform:uppercase}.patient-row:hover,.patient-row.active{background:#f0fbf8}.patient-row strong,.patient-row small{display:block}.patient-row small{margin-top:.15rem}.patient-summary-panel{display:grid;grid-template-columns:minmax(220px,.9fr) minmax(320px,1.2fr) minmax(220px,.8fr);gap:1rem;align-items:start}.patient-card-head{display:flex;align-items:center;gap:.75rem}.avatar{display:grid;place-items:center;width:52px;height:52px;border-radius:50%;background:#dff7f2;color:var(--teal-dark);font-weight:900}.fact-list{display:grid;gap:.55rem;margin:0}.fact-list div{display:grid;grid-template-columns:120px minmax(0,1fr);gap:.5rem}.fact-list.compact div{grid-template-columns:150px minmax(0,1fr)}.fact-list dt{font-size:.78rem;font-weight:900;text-transform:uppercase}.fact-list dd{margin:0;color:var(--ink)}.readiness-score{display:grid;gap:.5rem}.readiness-score>div{display:flex;justify-content:space-between;color:var(--muted);font-weight:800}.progress{height:10px;overflow:hidden;border-radius:999px;background:#dbe8ec}.progress span{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--teal),var(--blue))}.barrier-list{display:grid;gap:.45rem}.barrier{padding:.65rem;border-left:4px solid var(--amber);border-radius:6px;background:#fff8ec;color:#6f470f;font-weight:700}.side-actions{display:flex;gap:.5rem;flex-wrap:wrap}.patient-summary-panel .barrier-list{grid-column:1 / span 2}.patient-summary-panel .side-actions{align-self:end}.button{min-height:40px;padding:0 .8rem;border:1px solid var(--line);border-radius:8px;background:#fff;color:var(--navy);font-weight:850}.button:hover{border-color:var(--blue);color:var(--blue)}.button.primary{border-color:var(--teal);background:var(--teal);color:#fff}.button.subtle{background:var(--surface-soft)}.button.small{min-height:34px;padding:0 .65rem;font-size:.86rem}.pill{display:inline-flex;align-items:center;justify-content:center;width:fit-content;min-height:26px;padding:.2rem .55rem;border-radius:999px;font-size:.76rem;font-weight:900;white-space:nowrap}.pill-good{background:#e2f7e9;color:#1d7048}.pill-warn{background:#fff2d7;color:#7d4e08}.pill-bad{background:#fde8e8;color:#a53131}.pill-info{background:#e7f1ff;color:#185da5}.workspace-status,.status-cluster{display:flex;align-items:flex-start;gap:.45rem;flex-wrap:wrap;justify-content:flex-end}.tab-body{min-height:320px}.summary-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.75rem}.summary-tile,.list-item,.bundle{display:grid;gap:.65rem;padding:.9rem}.summary-tile p{min-height:48px}.two-column{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;margin-top:1rem}.two-column>div{display:grid;gap:.65rem;align-content:start}.stack-list{display:grid;gap:.5rem}.stack-list span{padding:.6rem;border:1px solid var(--line);border-radius:8px;background:var(--surface-soft)}.module-heading p{margin-top:.2rem}.item-grid{display:grid;gap:.75rem}.list-item{grid-template-columns:minmax(0,1.25fr) minmax(180px,.75fr) auto;align-items:center}.list-item>div:first-child{display:grid;gap:.35rem}.list-item ol{margin:.2rem 0 0;padding-left:1.1rem}.mini-facts{display:grid;gap:.35rem;margin:0}.mini-facts div{display:grid;gap:.1rem}.mini-facts dt{color:var(--muted);font-size:.72rem;font-weight:900;text-transform:uppercase}.mini-facts dd{margin:0;color:var(--ink);font-weight:700}.warning-box,.emergency-note{display:grid;gap:.35rem;padding:.75rem;border-radius:8px;background:#fff8ec;color:#70470c}.warning-box span{color:#70470c}.home-grid{display:grid;grid-template-columns:minmax(0,1fr) 360px;gap:1rem}.home-map{padding:1rem}.flag-list{display:grid;gap:.55rem;align-content:start}.flag{padding:.75rem;border-radius:8px;font-weight:800}.flag-good{background:#e2f7e9;color:#1d7048}.flag-warn{background:#fff2d7;color:#7d4e08}.flag-bad{background:#fde8e8;color:#a53131}.timeline{display:grid;gap:.85rem}.timeline-item{display:grid;grid-template-columns:22px minmax(0,1fr);gap:.55rem;align-items:start}.timeline-dot{width:14px;height:14px;margin-top:.32rem;border:3px solid #fff;border-radius:50%;background:var(--blue);box-shadow:0 0 0 2px var(--blue)}.message-list{display:grid;gap:.65rem;margin-top:.8rem}.message{display:grid;gap:.4rem;padding:.85rem;border:1px solid var(--line);border-left:4px solid var(--teal);border-radius:8px;background:#fff}.message.unread{border-left-color:var(--red);background:#fffafa}.message>div{display:flex;justify-content:space-between;gap:.75rem;flex-wrap:wrap}.message-compose{display:grid;gap:.65rem;margin-top:.8rem}.empty-state{padding:1rem;border:1px dashed var(--line);border-radius:8px;color:var(--muted);background:var(--surface-soft)}.caregiver-network{display:grid;gap:.8rem;margin:1rem 0;padding:1rem;border:1px solid var(--line);border-radius:8px;background:#fff}.caregiver-header{display:flex;justify-content:space-between;gap:1rem;align-items:flex-start}.caregiver-header p{margin-top:.2rem}.caregiver-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:.7rem}.caregiver-card{display:grid;gap:.45rem;padding:.85rem;border:1px solid var(--line);border-radius:8px;background:var(--surface-soft)}.caregiver-card strong,.caregiver-card span{display:block}.caregiver-card span{color:var(--muted)}.caregiver-card .status-cluster{justify-content:flex-start}.caregiver-form{padding-top:.8rem;border-top:1px solid var(--line)}.checklist-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.85rem}.check-section{display:grid;gap:.55rem;align-content:start}.check-item{display:grid;grid-template-columns:14px minmax(0,1fr) auto;gap:.6rem;align-items:center;width:100%;padding:.7rem;border:1px solid var(--line);border-radius:8px;background:#fff;text-align:left}.check-status{width:12px;height:12px;border-radius:50%}.check-good{background:var(--green)}.check-warn{background:var(--amber)}.check-bad{background:var(--red)}.check-info{background:var(--blue)}.portal-shell{display:grid;grid-template-columns:390px minmax(0,1fr);gap:1rem;align-items:start;min-width:0}.phone-preview{display:grid;gap:1rem;padding:1rem;border:10px solid var(--navy);border-radius:28px;background:#fff;box-shadow:var(--shadow)}.portal-header{display:flex;align-items:center;gap:.7rem}.portal-header img{width:48px;height:48px;object-fit:cover;border-radius:8px;border:1px solid var(--line)}.portal-header span,.portal-header strong{display:block}.portal-status{display:grid;gap:.45rem;padding:.85rem;border-radius:8px;background:var(--surface-soft)}.portal-status strong{color:var(--navy);font-size:1.35rem}.portal-actions{display:grid;gap:.55rem;margin-top:.65rem}.portal-actions button{display:flex;justify-content:space-between;gap:.75rem;align-items:center;min-height:54px;padding:.65rem;border:1px solid var(--line);border-radius:8px;background:#fff;color:var(--navy);font-weight:850;text-align:left}.portal-section{display:grid;gap:.55rem}.portal-section article{padding:.75rem}.portal-detail{align-self:stretch}.guided-form{display:grid;gap:.75rem;margin:1rem 0;padding:1rem;background:var(--surface-blue)}.guided-form label{display:grid;gap:.3rem;color:var(--navy);font-weight:800}.admin-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.simple-table{display:grid;gap:.55rem}.simple-table>div{display:grid;grid-template-columns:minmax(150px,1fr) minmax(130px,.8fr) minmax(120px,.8fr) auto;gap:.7rem;align-items:center;padding:.7rem;border:1px solid var(--line);border-radius:8px;background:#fff}.bundle-grid,.security-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem}.bundle{background:var(--surface-soft)}.analytics-bars{display:grid;gap:.75rem}.analytics-row{display:grid;grid-template-columns:minmax(160px,1fr) 1.2fr 48px;gap:.7rem;align-items:center}.security-layout{display:grid;gap:1rem}.security-grid article{padding:.9rem}.security-grid article p{margin-top:.35rem}.security-grid article small{display:block;margin-top:.5rem;color:var(--teal-dark);font-weight:800}.api-grid{display:flex;gap:.45rem;flex-wrap:wrap}code{padding:.35rem .5rem;border-radius:6px;background:var(--navy);color:#dff7f2;font-size:.85rem}.ehr-map{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.85rem}.ehr-map div{display:grid;gap:.45rem;padding:.85rem;border-radius:8px;background:var(--surface-soft)}.ehr-map span{color:var(--muted)}.toast{position:fixed;right:1rem;bottom:1rem;z-index:20;max-width:min(420px,calc(100vw - 2rem));padding:.9rem 1rem;border-radius:8px;background:var(--navy);color:#fff;box-shadow:var(--shadow);font-weight:800}@media (max-width: 1180px){.app-shell{grid-template-columns:1fr}.sidebar{position:static;height:auto}.role-nav{grid-template-columns:repeat(4,minmax(0,1fr))}.portal-shell{grid-template-columns:1fr}.phone-preview{max-width:420px}}@media (max-width: 860px){.main{padding:.75rem}.topbar,.panel-heading,.module-heading,.workspace-header,.creation-panel,.caregiver-header{display:grid}.topbar-actions{justify-content:flex-start}.metric-grid,.summary-grid,.two-column,.form-grid,.home-grid,.checklist-grid,.admin-grid,.bundle-grid,.security-grid,.ehr-map{grid-template-columns:1fr}.role-nav{grid-template-columns:repeat(2,minmax(0,1fr))}.list-item,.simple-table>div,.patient-summary-panel{grid-template-columns:1fr}.patient-summary-panel .barrier-list,.patient-summary-panel .side-actions{grid-column:auto}.status-cluster{justify-content:flex-start}.wide-field{grid-column:auto}.form-actions{justify-content:flex-start}.search{max-width:none}}@media (max-width: 560px){.sidebar{padding:.9rem}.brand{min-height:auto}.brand img{width:48px;height:48px}.role-nav{grid-template-columns:1fr}.metric{min-height:100px}.fact-list div,.fact-list.compact div,.analytics-row{grid-template-columns:1fr}.phone-preview{border-width:6px;border-radius:20px;padding:.75rem}.portal-actions button{align-items:flex-start;flex-direction:column}}
