@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@400;500;600;700;800&display=swap');
:root{--ink:#183f42;--muted:#748581;--green:#d8edc8;--green-dark:#436e50;--line:#e4eae5;--paper:#f6f8f5;--white:#fff;--amber:#fff2d8;--red:#ad5143;--shadow:0 12px 36px #173f4206}*{box-sizing:border-box}body{margin:0;color:var(--ink);background:var(--paper);font:14px/1.65 'DM Sans',-apple-system,BlinkMacSystemFont,'Segoe UI','Microsoft YaHei',sans-serif}h1,h2,h3,h4,p{margin:0}h1,h2,h3,.brand{font-family:Manrope,-apple-system,BlinkMacSystemFont,'Microsoft YaHei',sans-serif}h1{font-size:34px;font-weight:650;letter-spacing:-1.4px;line-height:1.25}h2{font-size:20px;font-weight:650;letter-spacing:-.5px;line-height:1.4}h3{font-size:15px;font-weight:650}p{color:var(--muted)}button,input,select,textarea{font:inherit}button,a,input,textarea,select{outline-offset:4px}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:3px solid #a7c888}button{cursor:pointer}a{color:inherit;text-decoration:none}button{border:0;color:inherit}svg{width:20px;height:20px;flex-shrink:0}button:disabled{opacity:.45;cursor:not-allowed}input,textarea,select{background:#fafbf9;border:1px solid #dce5da;color:var(--ink);padding:12px 14px;border-radius:10px;min-height:44px;width:100%}textarea{min-height:98px;resize:vertical}label{display:block;font-size:12px;font-weight:600;margin-bottom:6px}.skip{position:fixed;left:10px;top:-80px;background:white;padding:12px;z-index:100}.skip:focus{top:10px}.demo-bar{height:35px;display:flex;align-items:center;justify-content:center;gap:8px;background:var(--ink);color:#dce9e2;font-size:11px;padding:6px 16px}.demo-bar span{width:6px;height:6px;border-radius:50%;background:#c4e5a9}.topbar{height:78px;position:sticky;top:0;background:#fffffff5;backdrop-filter:blur(12px);border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:16px;padding:0 36px;z-index:20}.brand{display:flex;align-items:center;gap:10px;font-weight:750;font-size:20px;letter-spacing:-.7px}.brand-icon{width:34px;height:34px;display:grid;place-items:center;background:var(--ink);color:var(--green);border-radius:10px}.brand small{font:9px 'DM Sans',sans-serif;letter-spacing:2px;display:block;color:var(--muted);margin-top:-5px}.toptools,.role-switch,.language-switch,.actions,.inline{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.role-switch{background:#eff3ee;padding:4px;border-radius:10px;gap:2px}.role-switch button{padding:8px 12px;background:transparent;font-size:12px;border-radius:7px;color:var(--muted)}.role-switch button.active{background:#fff;color:var(--ink);box-shadow:0 2px 5px #173f4209;font-weight:650}.language-switch button{background:transparent;padding:5px;font-size:12px;color:var(--muted)}.language-switch button.active{color:var(--ink);font-weight:700}.avatar{width:35px;height:35px;display:grid;place-items:center;border-radius:50%;background:var(--green);font-size:11px;font-weight:700}.layout{display:grid;grid-template-columns:236px minmax(0,1fr);max-width:1600px;margin:auto;min-height:calc(100vh - 113px)}.sidebar{padding:28px 20px;border-right:1px solid var(--line);background:#fafbf8}.sidebar-top{font-size:10px;letter-spacing:1.8px;color:#99a797;margin:0 14px 12px}.nav{display:grid;gap:4px}.nav button{display:flex;align-items:center;gap:12px;background:transparent;padding:11px 14px;border-radius:9px;text-align:left;font-size:12px;color:#71857b}.nav button.active{background:#e8f0e1;color:#254b3c;font-weight:650}.nav svg{width:17px;height:17px}.nav .badge{margin-left:auto;background:white;padding:1px 6px;border-radius:6px;font-size:10px}.sidebar-bottom{margin:30px 14px 0;padding-top:20px;border-top:1px solid var(--line);font-size:11px;color:var(--muted)}.sidebar-bottom a{display:flex;align-items:center;gap:8px;margin-top:10px}.main{padding:30px 36px 48px;max-width:1364px;min-width:0}.breadcrumb{font-size:11px;color:#91a28f;display:flex;gap:8px;align-items:center;margin-bottom:17px}.page-head{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;margin-bottom:25px}.page-head p{font-size:13px;margin-top:10px;max-width:680px}.eyebrow{font-size:10px;letter-spacing:1.5px;text-transform:uppercase;color:#7e9378;margin-bottom:8px}.btn{padding:11px 17px;display:inline-flex;align-items:center;justify-content:center;gap:8px;border-radius:10px;background:var(--ink);color:#fff;font-size:12px;font-weight:550;min-height:42px;line-height:1.4}.btn svg{width:16px;height:16px}.btn.secondary{background:#eef4e8;color:#496b3d;border:1px solid #dae6d1}.btn.outline{background:#fff;color:var(--ink);border:1px solid var(--line)}.btn.danger{background:#fff3ee;color:#a05543;border:1px solid #efd8cf}.btn.small{min-height:34px;padding:7px 11px;font-size:11px}.btn.wide{width:100%}.text-btn{background:transparent;color:#54704d;font-size:12px;padding:6px 0;text-align:left}.case-strip{display:flex;align-items:center;gap:14px;flex-wrap:wrap;margin-bottom:23px;padding:13px 17px;background:white;border:1px solid var(--line);border-radius:12px}.case-strip select{width:auto;min-width:220px;max-width:100%;padding:6px 28px 6px 10px;min-height:34px;font-size:12px;background:#f7f9f4}.case-strip .subtle{margin-left:auto;font-size:11px}.pill{display:inline-flex;align-items:center;gap:5px;background:#ecf4e4;color:#5b7d46;font-size:10px;line-height:1.5;padding:4px 8px;border-radius:6px;white-space:nowrap}.pill.amber{background:var(--amber);color:#8a733c}.pill.red{background:#fff1ec;color:#a45b48}.pill.neutral{background:#eff2ef;color:#7f8e7d}.dot{width:5px;height:5px;border-radius:50%;background:currentColor}.grid{display:grid;grid-template-columns:minmax(0,1.75fr) minmax(275px,1fr);gap:22px}.stack{display:grid;gap:20px;align-content:start}.card{background:white;border:1px solid var(--line);border-radius:16px;padding:23px;box-shadow:var(--shadow);min-width:0}.card-header{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:19px}.card-header p{font-size:12px;margin-top:5px}.hero-card{border-radius:17px;background:var(--ink);padding:27px;position:relative;overflow:hidden;color:white;margin-bottom:22px;min-height:177px}.hero-card .eyebrow{color:#bad7a8}.hero-card h2{font-size:28px;letter-spacing:-.8px;max-width:580px}.hero-card p{color:#b8cec2;font-size:12px;margin:12px 0 19px;max-width:520px}.hero-card .btn{background:var(--green);color:var(--ink)}.hero-card .hero-icon{position:absolute;right:25px;top:26px;width:108px;height:108px;color:#c9e7b9;opacity:.15;transform:rotate(-8deg)}.stage-ribbon{display:grid;grid-template-columns:repeat(6,1fr);gap:9px;margin-bottom:22px}.stage{padding:12px 10px;border:1px solid var(--line);border-radius:10px;background:#fff;text-align:left;display:flex;gap:8px;align-items:center;min-width:0;font-size:10px;color:#8b9a88;line-height:1.5}.stage b{width:21px;height:21px;display:grid;place-items:center;border-radius:50%;background:#f0f4eb;flex-shrink:0;font-size:9px}.stage.done{background:#f2f7ec;color:#6d8960}.stage.active{border-color:#8fa97c;color:#294b34;background:#edf4e4}.stage.active b{background:#34553b;color:white}.stage span{min-width:0}.progress{height:5px;background:#ecf1e8;border-radius:5px;overflow:hidden;margin:16px 0 9px}.progress span{display:block;height:100%;background:#82a668;border-radius:5px}.muted{color:var(--muted);font-size:12px}.subtle{color:#91a18c;font-size:11px}.notice{padding:12px 15px;background:#f7f6ec;color:#88845d;font-size:11px;line-height:1.8;border-radius:9px;margin:15px 0}.notice.red{background:#fff1eb;color:#9c6153}.task{display:flex;align-items:flex-start;gap:12px;padding:14px 0;border-bottom:1px solid #edf1e9}.task:last-child{border-bottom:0}.task .task-mark{width:29px;height:29px;border-radius:50%;background:#f0f5ea;display:grid;place-items:center;flex-shrink:0;font-size:11px;color:#75935d}.task.done .task-mark{background:#e4eedb;color:#5c8146}.task>div:nth-child(2){flex:1;min-width:0}.task h3{font-size:13px}.task p{font-size:11px;margin-top:4px}.task .btn{margin-left:auto;flex-shrink:0}.empty{text-align:center;padding:30px 20px;color:var(--muted)}.empty svg{margin:0 auto 12px;width:32px;height:32px;color:#99b584}.summary-row{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;padding:12px 0;border-bottom:1px solid #edf1e9;font-size:12px}.summary-row:last-child{border:0}.summary-row span{color:var(--muted)}.summary-row strong{text-align:right;font-weight:550;max-width:67%;overflow-wrap:anywhere}.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:22px}.stat{background:white;border:1px solid var(--line);border-radius:13px;padding:18px}.stat p{font-size:11px}.stat strong{display:block;font-size:24px;letter-spacing:-1px;margin:6px 0}.stat small{font-size:10px;color:#8b9a86}.timeline{display:grid;gap:0}.timeline-item{padding:0 0 19px 26px;position:relative}.timeline-item:before{content:'';position:absolute;left:4px;top:8px;width:7px;height:7px;border-radius:50%;background:#a1bb8a}.timeline-item:not(:last-child):after{content:'';position:absolute;left:7px;top:20px;bottom:2px;width:1px;background:#e5ecdd}.timeline-item strong{font-size:12px;font-weight:550}.timeline-item p{font-size:10px;margin-top:4px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.field.full{grid-column:1/-1}.field small{font-size:10px;color:#91a18a}.choices{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-bottom:20px}.choice{position:relative;display:block;border:1px solid #e1e8db;border-radius:12px;padding:17px;cursor:pointer;font-weight:400}.choice input{position:absolute;width:15px;height:15px;min-height:0;right:12px;top:12px;accent-color:#42693e}.choice svg{margin-bottom:12px;color:#71915f}.choice strong{display:block;font-size:13px}.choice p{font-size:11px;margin-top:5px;font-weight:400}.choice:has(input:checked){border-color:#8eac79;background:#f2f7ec}.checks{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:12px}.check{display:flex;align-items:center;gap:9px;background:#f6f9f2;border-radius:8px;padding:11px;font-size:12px;font-weight:400;cursor:pointer}.check input{width:15px;height:15px;min-height:0;accent-color:#42693e}.form-error{color:var(--red);font-size:12px;min-height:21px}.record{border:1px solid var(--line);border-radius:12px;padding:18px;margin:12px 0}.record .record-top{display:flex;align-items:center;gap:12px}.record .record-icon{background:#eef4e7;border-radius:9px;width:38px;height:43px;display:grid;place-items:center;color:#7a955f}.record h3{font-size:13px}.record p{font-size:10px;margin:4px 0}.record .actions{margin-top:14px;justify-content:space-between}.hospital-summary{background:#f2f6ee;border-radius:13px;padding:19px;display:flex;gap:13px;align-items:center;margin:17px 0}.hospital-summary .brand-icon{background:white;color:#61834f;width:44px;height:44px}.hospital-summary h3{font-size:15px}.hospital-summary p{font-size:11px}.plan-days{display:grid;gap:12px}.plan-day{display:flex;align-items:flex-start;gap:15px;border:1px solid var(--line);border-radius:12px;padding:17px}.day-number{font-size:11px;color:#728c61;background:#f0f5e9;padding:7px 9px;min-width:51px;border-radius:7px;text-align:center;white-space:nowrap}.plan-day h3{font-size:13px}.plan-day p{font-size:11px;margin-top:4px}.plan-day>div:nth-child(2){flex:1}.plan-day .pill{align-self:flex-start}.table-wrap{overflow:auto}table{width:100%;border-collapse:collapse;text-align:left;font-size:12px}th{font-weight:500;color:#8b9a84;font-size:10px;background:#f7f9f4;padding:12px}td{padding:14px 12px;border-bottom:1px solid #edf1e8;vertical-align:top}td strong{font-weight:600}td .pill{margin-top:5px}.money{text-align:right;white-space:nowrap}.total-box{background:#eff5e8;padding:20px;border-radius:11px;margin-top:20px;display:flex;justify-content:space-between;align-items:center}.total-box strong{font-size:25px;letter-spacing:-.8px}.total-box p{font-size:11px}.appointment{background:#eff5e9;border-radius:13px;padding:24px;margin:18px 0}.appointment .date{font-size:29px;letter-spacing:-1px;margin:7px 0}.appointment p{font-size:12px}.ticket{border:1px dashed #b7caa2;border-radius:12px;padding:20px;margin-top:18px;text-align:center;background:#fafcf7}.ticket .code{font:22px monospace;letter-spacing:3px;margin:10px 0}.person-card{display:flex;align-items:center;gap:13px;margin-bottom:18px}.person-card .avatar{width:44px;height:44px}.person-card h3{font-size:13px}.person-card p{font-size:11px}.messages{display:grid;gap:15px;margin-bottom:20px;max-height:420px;overflow:auto;padding:5px}.message{max-width:87%;background:#f2f6ed;padding:13px 15px;border-radius:12px;font-size:12px;overflow-wrap:anywhere;white-space:pre-wrap}.message.mine{justify-self:end;background:#e5efd9}.message .meta{font-size:10px;color:#8da27b;margin-bottom:5px}.message small{display:block;font-size:9px;color:#99a88d;margin-top:5px}.status-panel{padding:18px;background:#fff5e1;border:1px solid #f0e4bf;border-radius:12px;margin-bottom:22px}.status-panel h3{margin-bottom:5px}.status-panel p{font-size:12px;margin-bottom:12px}.scenario-tools{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin-top:24px;padding:15px;background:#f0f4ec;border-radius:11px;border:1px dashed #ccd9c1;font-size:11px;color:#819674}.scenario-tools select{width:auto;max-width:100%;min-height:32px;font-size:11px;padding:6px 12px}.scenario-tools summary{cursor:pointer}.scenario-tools details{width:100%}.scenario-content{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin-top:12px}.page-foot{font-size:10px;color:#9baa94;text-align:center;margin-top:25px}.role-note{font-size:10px;color:#9aaa90;margin-top:15px}.rating{display:flex;gap:8px;margin:20px 0}.rating label{background:#f4f7ee;border:1px solid #e0e8d7;padding:9px 13px;border-radius:8px;cursor:pointer;font-size:18px}.rating input{width:14px;height:14px;min-height:0;accent-color:#628749;margin-right:5px}.incident{border-left:3px solid #caa660}.section-gap{margin-top:22px}.divider{height:1px;background:var(--line);margin:20px 0}dialog{width:min(550px,calc(100vw - 32px));border:1px solid var(--line);border-radius:18px;padding:27px;box-shadow:0 20px 90px #173f422e;color:var(--ink)}dialog::backdrop{background:#183f4255;backdrop-filter:blur(3px)}dialog h2{margin-bottom:12px}dialog p{font-size:12px;margin-bottom:18px}dialog .actions{justify-content:flex-end;margin-top:20px}#toast{position:fixed;bottom:28px;left:50%;transform:translateX(-50%);padding:12px 20px;background:#173f42;color:white;border-radius:10px;box-shadow:0 7px 30px #173f4230;z-index:100;font-size:12px;max-width:90vw;display:none}#toast.visible{display:block}.queue-card{display:flex;align-items:center;gap:15px;border:1px solid var(--line);background:white;border-radius:13px;padding:17px;margin-bottom:12px}.queue-card>div:first-child{flex:1}.queue-card strong{font-size:13px}.queue-card p{font-size:11px;margin-top:4px}.queue-card.active{border-color:#9bb983;background:#f9fcf4}.queue-meta{display:flex;gap:6px;margin-top:9px;flex-wrap:wrap}.success-icon{display:grid;place-items:center;width:54px;height:54px;border-radius:50%;background:#e5efd8;color:#6e8f50;margin:0 auto 20px}.success-icon svg{width:28px;height:28px}.closed{text-align:center;padding:35px 20px}.closed h2{font-size:27px;margin-bottom:14px}.closed p{font-size:12px}.queue-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:14px}.service-info{background:#f4f7ef;border-radius:12px;padding:18px;font-size:12px}.service-info p{font-size:11px;margin-top:8px}
@media(min-width:1601px){.layout{border-left:1px solid var(--line);border-right:1px solid var(--line)}}
@media(max-width:1150px){.main{padding:26px}.topbar{padding:0 25px}.layout{grid-template-columns:205px minmax(0,1fr)}.sidebar{padding:25px 12px}.grid{grid-template-columns:minmax(0,1fr)}.grid>.stack:last-child{grid-template-columns:1fr 1fr}.stage-ribbon{grid-template-columns:repeat(4,1fr)}}
@media(max-width:760px){.demo-bar{height:auto;min-height:30px;font-size:9px;line-height:1.6}.topbar{height:auto;min-height:95px;padding:13px 17px;flex-wrap:wrap;gap:12px}.brand{font-size:18px}.toptools{width:100%;justify-content:space-between}.toptools>.avatar{display:none}.role-switch{flex:1;justify-content:space-between}.role-switch button{padding:6px 11px;font-size:11px}.layout{display:block}.sidebar{padding:10px 12px;border-right:0;border-bottom:1px solid var(--line);position:sticky;top:111px;background:#f8faf5;z-index:10;overflow:auto;scrollbar-width:none}.sidebar-top,.sidebar-bottom{display:none}.nav{display:flex;width:max-content;gap:5px}.nav button{padding:8px 12px;white-space:nowrap;font-size:11px}.nav svg{width:15px;height:15px}.nav .badge{display:none}.main{padding:21px 17px 40px}.breadcrumb{margin-bottom:12px}h1{font-size:27px}.page-head{margin-bottom:18px}.page-head>.btn{font-size:10px;min-height:35px;padding:8px 11px}.page-head p{font-size:11px}.case-strip{padding:10px 12px;gap:8px}.case-strip select{min-width:0;flex:1}.case-strip .subtle{width:100%;margin-left:0}.hero-card{padding:23px}.hero-card h2{font-size:23px}.hero-card p{max-width:90%}.hero-card .hero-icon{width:82px;height:82px;right:12px}.card{padding:19px;border-radius:13px}.grid{gap:16px}.grid>.stack:last-child{grid-template-columns:1fr}.stack{gap:16px}.stage-ribbon{grid-template-columns:repeat(3,1fr);gap:7px}.stage{font-size:9px;padding:9px 7px;gap:5px}.stage b{width:17px;height:17px;font-size:8px}.stats{gap:7px}.stat{padding:12px}.stat strong{font-size:20px}.stat p{font-size:9px}.stat small{font-size:8px}.form-grid{gap:14px}.field{grid-column:1/-1}.choices{grid-template-columns:1fr}.choice{padding:15px}.choice svg{float:left;margin:5px 13px 0 0}.choice p{margin-top:4px}.checks{grid-template-columns:1fr 1fr}.check{font-size:10px}.plan-day{padding:13px;gap:10px;flex-wrap:wrap}.plan-day .pill{margin-left:61px}.task{flex-wrap:wrap}.task .btn{margin-left:41px}.total-box{padding:16px}.total-box strong{font-size:22px}th,td{padding:10px 8px}.queue-card{flex-wrap:wrap}.queue-card>.btn{margin-left:auto}.scenario-content{display:grid;grid-template-columns:1fr}.scenario-content select{width:100%}.sidebar{top:0;position:relative}.topbar{position:relative}.table-wrap table{min-width:400px}.summary-row strong{max-width:65%}.page-foot{font-size:9px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;animation:none!important;transition:none!important}}

/* Distinct workspaces: calm patient portal, clinical desk, operations board, local tasks. */
.role-patient .layout{display:block;max-width:1220px}.role-patient .sidebar{padding:0 24px;border:0;border-bottom:1px solid var(--line);background:white}.role-patient .sidebar-top,.role-patient .sidebar-bottom{display:none}.role-patient .nav{display:flex;gap:12px;overflow-x:auto;padding:10px 0}.role-patient .nav button{white-space:nowrap;border-radius:0;border-bottom:2px solid transparent;padding:13px 10px}.role-patient .nav button.active{background:transparent;border-color:var(--green-dark)}.role-patient .main{padding:28px 30px 48px;max-width:none}.patient-hero{margin:24px 0 20px;padding:34px 38px;background:#e3efda;border-radius:22px;min-height:225px;position:relative;overflow:hidden}.patient-hero h2{font-size:29px;max-width:75%;margin:10px 0}.patient-hero p{max-width:75%;color:#506658;margin-bottom:20px}.patient-hero .hero-icon{position:absolute;right:36px;top:45px;width:120px;height:120px;color:#a7c49a;transform:rotate(-12deg)}.patient-milestones{display:grid;grid-template-columns:repeat(5,1fr);margin:0 0 30px;padding:16px 0;gap:12px}.milestone{display:flex;gap:9px;align-items:center;font-size:12px;color:var(--muted)}.milestone b{display:grid;place-items:center;width:30px;height:30px;border-radius:50%;border:1px solid var(--line);flex-shrink:0;font-weight:500;background:white}.milestone.done{color:var(--green-dark)}.milestone.done b{background:var(--green);border-color:var(--green)}
.role-hospital{--ink:#223c60;--muted:#6b7c92;--green:#d9e8f5;--green-dark:#376595;--line:#e1e8f0;--paper:#f4f7fb}.role-hospital .sidebar{background:#fff}.role-hospital .nav button{color:#6b7c92}.role-hospital .nav button.active{background:#e8f0f9;color:#264f82}.role-hospital .card{border-radius:12px;box-shadow:none}.role-hospital .page-head h1{font-size:28px;letter-spacing:-.6px}.role-hospital .main{padding:28px}.role-ops{--ink:#293845;--muted:#74808e;--green:#dde5db;--green-dark:#415a48;--line:#e2e6e9;--paper:#f4f5f7}.role-ops .sidebar{background:#25323f;color:#e7ecef;border:0}.role-ops .sidebar-top{color:#96a6b5}.role-ops .nav button{color:#bbc6cf}.role-ops .nav button.active{background:#3c4b5a;color:#fff}.role-ops .sidebar-bottom{border-color:#445260}.role-ops .sidebar-bottom p{color:#9eafbd}.role-ops .page-head h1{font-size:28px;letter-spacing:-.7px}.role-ops .main{padding:28px}.role-ops .card{border-radius:12px;box-shadow:none}.role-partner{--ink:#4d4233;--muted:#8a8175;--green:#eee4cd;--green-dark:#836d38;--paper:#faf8f3;--line:#ebe5db}.role-partner .nav button.active{background:#eee7d6;color:#6c582a}.role-partner .main{max-width:1100px}.role-partner .sidebar{background:#fffcf7}
.metric-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:24px}.metric{padding:18px 20px;background:white;border:1px solid var(--line);border-radius:12px;display:flex;flex-direction:column;gap:6px}.metric span{font-size:12px;color:var(--muted)}.metric strong{font-size:32px;font-weight:650;line-height:1.3}.metric small{color:var(--muted)}.clinical-grid{display:grid;grid-template-columns:1.15fr 1fr;gap:20px;margin-bottom:22px}.work-item{display:grid;grid-template-columns:minmax(160px,.9fr) minmax(140px,1fr) auto;gap:14px;align-items:center;padding:20px 0;border-top:1px solid var(--line)}.work-item:first-child{border-top:0}.work-person{display:flex;gap:10px;align-items:center}.work-person h3 .subtle{display:block;font-size:10px;font-weight:400}.work-item p{font-size:12px}.clinical-grid .work-item{display:flex;flex-wrap:wrap}.clinical-grid .work-item .work-person{width:100%}.clinical-grid .work-item>.actions{margin-left:auto}.kanban{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-bottom:26px}.lane{background:#e9edf0;border-radius:12px;padding:16px}.lane>h2{font-size:14px;margin-bottom:16px;display:flex;justify-content:space-between}.lane>h2 span{color:var(--muted);font-size:12px}.project-tile{background:white;border:1px solid #dfe4e7;border-radius:10px;padding:17px;margin-bottom:12px}.project-tile>h3{margin:6px 0}.project-tile>p{font-size:12px;margin-bottom:10px}.project-tile>.btn{display:flex;margin-top:14px}.project-tile .pill{font-size:10px}.project-summary{display:flex;flex-wrap:wrap;gap:14px;align-items:center;padding:14px 18px;background:#e9edf0;border-radius:10px;font-size:12px;margin-bottom:24px}.queue-search{display:grid;grid-template-columns:minmax(160px,1fr) 220px auto;gap:12px;margin-bottom:22px}.dispatch-row{display:flex;align-items:center;flex-wrap:wrap;gap:16px;padding:18px 0;border-bottom:1px solid var(--line)}.dispatch-row>div:first-child{flex:1;min-width:160px}.assign-form{display:flex;gap:10px;align-items:center}.assign-form select{min-width:190px;font-size:12px}.schedule-row{display:flex;align-items:center;gap:22px;padding:20px 0;border-bottom:1px solid var(--line)}.schedule-row>div:nth-child(2){flex:1}.schedule-time{min-width:100px;display:flex;flex-direction:column;gap:4px}.schedule-time strong{font-size:18px}.schedule-time small{color:var(--muted);font-size:11px}.schedule-row p{font-size:12px}.workspace-context{display:flex;align-items:center;gap:16px;margin-bottom:20px}.workspace-context label{margin:0;white-space:nowrap;font-size:11px;color:var(--muted)}.workspace-context select{width:auto;min-width:230px;background:white;padding:10px 14px;font-size:12px}.partner-task{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:24px 0;border-bottom:1px solid var(--line)}.partner-task h3{font-size:19px;margin-bottom:8px}.partner-task p{font-size:12px;margin-bottom:10px}.demo-tools{margin-top:40px;border-top:1px dashed #d7ded5;padding-top:16px;font-size:12px;color:var(--muted)}.demo-tools summary{cursor:pointer;font-weight:600}.demo-tools p{margin:12px 0}.demo-controls{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.demo-controls select{width:auto;max-width:270px;font-size:12px}.modal-head{display:flex;justify-content:space-between;gap:16px;align-items:center;margin-bottom:24px}.modal-close{font-size:24px;background:transparent;color:var(--muted)}dialog .field{margin-bottom:16px}.project-table p{font-size:11px}.page-foot{margin-top:24px;font-size:11px;line-height:1.7}.section-gap{margin-top:18px}.stack>.card{margin-bottom:0}
@media(min-width:1500px){.role-ops .layout{max-width:1800px}.role-ops .main{max-width:none}.role-ops .grid{grid-template-columns:1.65fr 1fr}}
@media(max-width:1100px){.topbar{height:auto;min-height:78px;padding:16px 24px;flex-wrap:wrap}.metric-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.clinical-grid{grid-template-columns:1fr}.work-item{grid-template-columns:1fr auto}.work-item>div:nth-child(2){grid-column:1;grid-row:2}.work-item>.actions{grid-column:2;grid-row:1 / span 2}.role-ops .main,.role-hospital .main{padding:22px}.kanban{gap:10px}.lane{padding:12px}.patient-milestones{gap:6px}.milestone{font-size:11px}.milestone b{width:24px;height:24px}}
@media(max-width:760px){.role-patient .main{padding:22px 18px}.role-patient .sidebar{padding:0 14px}.role-patient .nav{gap:4px}.role-patient .nav button{padding:10px 8px;font-size:11px}.patient-hero{padding:26px 24px;min-height:220px}.patient-hero h2{font-size:25px;max-width:90%}.patient-hero p{max-width:90%}.patient-hero .hero-icon{width:80px;height:80px;opacity:.35;right:-15px;top:100px}.patient-milestones{display:flex;overflow:auto;gap:18px;margin-bottom:20px}.milestone{min-width:110px;flex-direction:column;text-align:center;gap:7px}.kanban{grid-template-columns:1fr}.lane{padding:16px}.metric-grid{gap:10px}.metric{padding:14px}.metric strong{font-size:28px}.queue-search{grid-template-columns:1fr 1fr}.queue-search input{grid-column:1 / -1}.queue-search select{width:100%}.schedule-row{gap:12px;flex-wrap:wrap}.schedule-time{min-width:80px}.schedule-row>.btn{margin-left:auto}.assign-form{width:100%}.assign-form select{flex:1;min-width:0}.workspace-context{flex-direction:column;align-items:flex-start;gap:7px}.workspace-context select{width:100%}.partner-task{align-items:flex-start;flex-direction:column}.role-switch button{padding:7px 9px;font-size:11px}.demo-bar{height:auto;min-height:35px;font-size:10px;text-align:center}.work-item{display:flex;flex-direction:column;align-items:flex-start;gap:10px}.work-item>.actions{margin-left:0}.demo-controls select{width:100%;max-width:none}.role-ops .sidebar{padding:14px}.role-hospital .sidebar,.role-partner .sidebar{padding:14px}.role-ops .nav button.active{color:white}.clinical-grid{gap:12px}}
.patient-hero{color:var(--ink)}.patient-hero .eyebrow{color:var(--green-dark)}.patient-hero p{color:#506658}.patient-hero .hero-icon{opacity:.7}

/* Keep navigation widths and reading position stable when content is redrawn. */
html{scrollbar-gutter:stable}
#app{overflow-anchor:none}
.nav button,.role-switch button,.language-switch button{font-weight:650}

/* The application frame stays still; content and navigation scroll independently. */
html{height:100%;scrollbar-gutter:auto}
body{height:100%;overflow:hidden}
#app{height:100vh;height:100dvh;display:flex;flex-direction:column;overflow:hidden}
.demo-bar,.topbar{flex-shrink:0}
.layout{flex:1;min-height:0;width:100%;overflow:hidden}
.sidebar{min-height:0;overflow:auto;overscroll-behavior:contain;scrollbar-gutter:stable}
.main{min-height:0;overflow:auto;overscroll-behavior:contain;scrollbar-gutter:stable;scroll-behavior:auto}
.role-patient .layout{display:flex;flex-direction:column}
.role-patient .sidebar{flex-shrink:0;overflow-y:hidden;scrollbar-gutter:auto}
.role-patient .main{flex:1;width:100%}
@media(max-width:760px){
 .layout{display:flex;flex-direction:column}
 .sidebar{flex-shrink:0;position:relative;top:auto;overflow-x:auto;overflow-y:hidden;scrollbar-gutter:auto}
 .main{flex:1;width:100%}
 .role-patient .sidebar{overflow-x:auto}
}
