:root{--navy:#0c293a;--blue:#01639f;--teal:#09b4a3;--aqua:#40b59e;--ink:#163244;--muted:#667f8e;--line:#dcebf0;--soft:#f6fbfc;--white:#fff;--danger:#d74a4a;--warn:#d89d2e;--ok:#1d9c72;--shadow:0 16px 42px #0c293a1a}*{box-sizing:border-box}body{color:var(--ink);background:#f7fbfc;margin:0;font-family:Inter,system-ui,-apple-system,Segoe UI,sans-serif}a{color:inherit;text-decoration:none}button,input{font:inherit}.shell{grid-template-columns:240px 1fr;min-height:100vh;display:grid}.sidebar{border-right:1px solid var(--line);background:#fff;height:100vh;padding:20px 14px;position:sticky;top:0}.brand{color:var(--navy);margin:6px 10px 24px;font-size:22px;font-weight:900}.brand span{color:var(--teal)}.nav a{border-radius:10px;margin:3px 0;padding:11px 12px;font-size:14px;display:block}.nav a.active,.nav a:hover{background:linear-gradient(90deg,var(--teal),var(--blue));color:#fff}.main{padding:22px 26px}.topbar{align-items:center;gap:16px;margin-bottom:22px;display:flex}.search{border:1px solid var(--line);background:#fff;border-radius:12px;flex:1;padding:12px 14px}.user{border:1px solid var(--line);background:#fff;border-radius:12px;padding:10px 14px;font-size:13px}.title-row{justify-content:space-between;align-items:end;gap:20px;margin-bottom:18px;display:flex}.title-row h1{color:var(--navy);margin:0;font-size:30px}.muted{color:var(--muted)}.btn{cursor:pointer;border:0;border-radius:10px;padding:10px 14px;font-weight:800}.btn.primary{background:linear-gradient(135deg,var(--teal),var(--blue));color:#fff}.btn.ghost{border:1px solid var(--line);color:var(--navy);background:#fff}.grid{gap:14px;display:grid}.kpis{grid-template-columns:repeat(4,1fr)}.kpi,.card{border:1px solid var(--line);background:#fff;border-radius:16px;padding:18px;box-shadow:0 8px 24px #0c293a0d}.kpi small{color:var(--muted);display:block}.kpi strong{color:var(--navy);margin:6px 0;font-size:26px;display:block}.two{grid-template-columns:1.5fr .9fr}.card h3{color:var(--navy);margin:0 0 12px}.row{border-top:1px solid #edf4f6;justify-content:space-between;align-items:center;gap:10px;padding:11px 0;display:flex}.row:first-of-type{border-top:0}.badge{border-radius:999px;padding:4px 8px;font-size:11px;font-weight:800}.ok{color:#167457;background:#e7f7f1}.warn{color:#9b6d00;background:#fff4d9}.danger{color:#ad3636;background:#fdebea}.info{color:#17618e;background:#eaf4fb}.attention{background:linear-gradient(#f8ffff,#eef9fb);border:1px solid #cfe8ec}.patient-head{border:1px solid var(--line);background:#fff;border-radius:18px;grid-template-columns:auto 1fr auto;align-items:center;gap:18px;margin-bottom:16px;padding:18px;display:grid}.avatar{width:82px;height:82px;color:var(--navy);background:linear-gradient(135deg,#c9eef0,#c8ddef);border-radius:50%;place-items:center;font-size:28px;font-weight:900;display:grid}.patient-meta h1{color:var(--navy);margin:0}.chips{flex-wrap:wrap;gap:8px;margin-top:8px;display:flex}.chip{background:#eef7f9;border-radius:999px;padding:5px 9px;font-size:12px}.tabs{gap:8px;margin-bottom:14px;display:flex;overflow:auto}.tabs a{border:1px solid var(--line);background:#fff;border-radius:10px;padding:9px 12px;font-size:13px}.tabs a.active{background:var(--navy);color:#fff}.timeline .event{border-top:1px solid #edf4f6;padding:12px 0}.timeline .event:first-child{border-top:0}.event strong{color:var(--navy)}.danger-link{color:var(--danger);font-weight:800}.perm-grid{grid-template-columns:repeat(2,1fr);gap:10px;display:grid}.perm{border:1px solid var(--line);background:#fff;border-radius:12px;justify-content:space-between;align-items:center;padding:12px;display:flex}.switch{background:#c9d8de;border-radius:999px;width:42px;height:24px;position:relative}.switch.on{background:var(--teal)}.switch:after{content:"";background:#fff;border-radius:50%;width:18px;height:18px;position:absolute;top:3px;left:3px}.switch.on:after{left:21px}@media (width<=980px){.shell{grid-template-columns:1fr}.sidebar{height:auto;position:relative}.nav{gap:6px;display:flex;overflow:auto}.nav a{white-space:nowrap}.kpis,.two,.perm-grid{grid-template-columns:1fr 1fr}}@media (width<=620px){.main{padding:16px}.kpis,.two,.perm-grid{grid-template-columns:1fr}.patient-head{grid-template-columns:auto 1fr}.patient-head>div:last-child{grid-column:1/-1}.title-row{flex-direction:column;align-items:start}}.access{max-width:560px;margin:5vh auto;padding:22px 26px}.access .brand{margin:6px 10px 24px}.access .title-row h1{font-size:30px}.access-links{flex-wrap:wrap;gap:14px;margin-top:18px;font-size:14px;display:flex}form{gap:14px;display:grid}label{gap:8px;font-size:14px;display:grid}label .search{width:100%;margin:0}select{font:inherit;color:var(--ink);background:var(--white);border:1px solid var(--line);border-radius:12px;width:100%;padding:12px 14px}.form-columns,.permission-controls{grid-template-columns:repeat(2,1fr)}:focus-visible{outline:3px solid var(--teal);outline-offset:3px}button:disabled{cursor:not-allowed}.switch{cursor:pointer;border:0;flex-shrink:0;padding:0}.switch[aria-readonly]{cursor:default}.perm{gap:10px}.panel-intro{margin-bottom:12px}.panel-actions{margin-top:14px}.state-card h3{margin-bottom:12px}.form-error{border:1px solid var(--line);border-radius:12px;gap:10px;padding:12px;display:grid}.form-error .badge{justify-self:start}.invitation-section{margin-top:14px}.invitation-section>form,.notice{margin-bottom:14px}.account-menu{width:calc(100% - 32px);max-width:420px;color:var(--ink)}dialog::backdrop{background:#0c293a59}[hidden]{display:none!important}.btn{display:inline-block}#role-panel .tabs{flex-wrap:wrap}.search:disabled{background:var(--white)}@media (width<=980px){.sidebar,.main,.search{min-width:0}}@media (width<=620px){.access{margin:16px auto;padding:16px}.topbar{flex-wrap:wrap}.topbar .search{flex-basis:100%}.topbar .user{overflow-wrap:anywhere;max-width:100%}.card,.row>div{min-width:0}.row{flex-wrap:wrap}.form-columns,.permission-controls{grid-template-columns:1fr}}textarea{font:inherit;color:var(--ink);background:var(--white);border:1px solid var(--line);resize:vertical;border-radius:12px;width:100%;min-height:100px;padding:12px 14px}.row-actions{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.check{align-items:center;gap:10px;display:flex}.check input{width:auto}.filters{grid-template-columns:repeat(3,1fr);align-items:end}.brand img{object-fit:contain;max-width:180px;max-height:64px}.offline-banner{margin-bottom:14px}.btn:disabled{opacity:.6}.nav a[aria-disabled=true]{opacity:.55}@media (width<=620px){.filters{grid-template-columns:1fr}.row-actions{width:100%}}
