:root{font-family:Inter,"Segoe UI",Arial,sans-serif;color:#172944;background:#f5f8fc;font-synthesis:none;--blue:#1865d8;--muted:#63738b;--border:#e0e8f2}*{box-sizing:border-box}body{margin:0}button,input{font:inherit}button,a,input{touch-action:manipulation}button,a{ -webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.65}button:focus-visible,a:focus-visible,input:focus-visible{outline:3px solid #79b8ff;outline-offset:3px}a{color:var(--blue);text-decoration:none}a:hover{text-decoration:underline}h1,h2,h3,p{margin-top:0}h1{font-size:29px;letter-spacing:-1px}h2{font-size:20px;letter-spacing:-.4px}h3{font-size:15px}p{line-height:1.65}svg{width:22px;height:22px;flex-shrink:0}small{display:block;color:var(--muted);line-height:1.6}button{border:1px solid transparent;background:none;border-radius:8px;padding:11px 16px;color:inherit}input{width:100%;border:1px solid #d5dfed;border-radius:8px;background:#fff;padding:13px 14px;min-height:46px;color:#172944}input::placeholder{color:#8b98aa}label{display:block;font-size:13px;font-weight:600;margin:20px 0 8px}.primary{color:white;background:linear-gradient(180deg,#3084fa,#1865d8);box-shadow:0 3px 8px #1865d81c;font-weight:600;min-height:46px}.primary:hover{background:#175bc4;text-decoration:none}.secondary{background:#fff;border-color:var(--border);color:var(--blue)}.quiet{color:var(--blue);border-color:var(--border);background:#fff}.muted{color:var(--muted);font-size:13px}.brand{display:flex;align-items:center;gap:10px}.brand img{border-radius:9px}.brand strong{font-size:14px;letter-spacing:-.3px}.brand small{font-size:9px;letter-spacing:1px}.skip{position:fixed;top:-80px;left:12px;background:white;z-index:10;padding:12px}.skip:focus{top:12px}.login-layout{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(380px,.85fr);min-height:100dvh;padding:26px;gap:24px;max-width:1600px;margin:auto}.login-intro{position:relative;overflow:hidden;display:flex;flex-direction:column;justify-content:space-between;padding:42px;border-radius:24px;background:radial-gradient(ellipse at 80% 55%,#a6d3f94d,transparent 60%),linear-gradient(140deg,#eef7ff,#dfeefa 60%,#edf5fd)}.login-intro:after{content:"";position:absolute;right:-160px;top:25%;width:520px;height:520px;border:1px solid #ffffffc7;border-radius:50%;box-shadow:0 0 0 70px #ffffff25,0 0 0 140px #ffffff1a;pointer-events:none}.intro-copy{position:relative;z-index:1;padding:80px 0}.eyebrow{font-size:10px;letter-spacing:1.7px;font-weight:700;color:#5c7b9e;margin-bottom:18px}.intro-copy h2{font-size:clamp(30px,3.3vw,48px);line-height:1.17;letter-spacing:-1.7px;max-width:550px}.intro-copy>p:not(.eyebrow){font-size:16px;max-width:430px;color:#53718e}.intro-services{display:flex;flex-wrap:wrap;gap:10px;margin-top:32px;max-width:470px}.intro-services span{display:flex;align-items:center;gap:8px;background:#ffffff94;border:1px solid #ffffffa8;padding:12px 15px;border-radius:12px;font-size:12px;color:#3c648e}.intro-services svg{color:var(--blue);width:19px;height:19px}.intro-footer{display:flex;justify-content:space-between;gap:10px;font-size:10px;letter-spacing:2px;font-weight:700;color:#587ba0}.intro-footer span{letter-spacing:0;font-weight:400}.login-panel{align-self:center;justify-self:center;width:100%;max-width:390px;padding:28px 18px;text-align:center}.demedica-logo{max-width:180px;max-height:80px;object-fit:contain;margin:0 auto 38px}.login-panel h1{font-size:27px;margin-bottom:8px}.login-subtitle{color:#63738b;font-size:14px;margin-bottom:32px}.login-panel form{text-align:left}.login-panel .primary{width:100%;margin:22px 0 12px}.form-links{display:flex;justify-content:space-between;gap:10px;font-size:10px;margin-top:16px;color:var(--muted)}.login-security{display:flex;align-items:center;justify-content:center;gap:8px;font-size:11px;color:#6c7d93;margin:21px 0}.login-security svg{width:17px;height:17px;color:#507eae}.support-link{font-size:11px}.login-panel footer{font-size:11px;margin-top:52px;line-height:1.7}.login-panel footer small{font-size:10px}.notice,.error{padding:14px 16px;border:1px solid #d8e7f8;background:#f0f6fd;border-radius:9px;color:#4b6484;font-size:12px;line-height:1.65;margin:14px 0}.error{color:#9b2538;border-color:#f3cbd2;background:#fff3f5}.topbar{height:78px;display:flex;align-items:center;justify-content:space-between;gap:18px;border-bottom:1px solid var(--border);background:#fff;padding:0 30px}.account-bar{display:flex;gap:13px;align-items:center;font-size:12px}.connection{color:#48806e;font-size:11px;padding-right:15px}.avatar{height:32px;width:32px;border-radius:50%;display:grid;place-items:center;background:#e6f0ff;color:var(--blue);font-weight:700}.account-email{max-width:240px;overflow:hidden;text-overflow:ellipsis}.workspace{display:grid;grid-template-columns:210px minmax(0,1fr);min-height:calc(100dvh - 78px)}.sidebar{background:#fbfdff;border-right:1px solid var(--border);padding:26px 16px;display:flex;flex-direction:column;justify-content:space-between}.nav-item{display:flex;align-items:center;gap:12px;width:100%;margin-bottom:7px;text-align:left;font-size:13px;color:#566780;min-height:45px}.nav-item svg{width:18px;height:18px}.nav-item:hover{background:#eff5fc}.nav-item.active{color:#1263d7;background:#e6f0fe;font-weight:600}.sidebar-footer{padding:18px 10px 0;border-top:1px solid var(--border);color:#6c83a1}.sidebar-footer p{font-size:10px;margin:8px 0}.sidebar-footer small{font-size:9px}.workspace-main{padding:35px 40px 40px;max-width:1500px;width:100%;margin:auto}.page-heading .eyebrow{letter-spacing:.4px;font-weight:400;margin-bottom:14px}.page-heading h1{margin-bottom:8px}.page-heading{margin-bottom:28px}.welcome{display:flex;justify-content:space-between;align-items:center;background:linear-gradient(110deg,#e9f3ff,#f0f7ff);border:1px solid #d9e8fa;border-radius:14px;padding:28px 30px;margin-bottom:25px}.tag{font-size:9px;letter-spacing:1.5px;font-weight:700;color:var(--blue)}.welcome h2{font-size:24px;margin:12px 0 10px}.welcome p{font-size:13px;color:#58728f;margin-bottom:8px}.welcome-note{max-width:620px}.welcome-symbol{margin:0 25px;color:#6d9fdc;background:#ffffff7a;border-radius:24px;padding:24px}.welcome-symbol svg{width:64px;height:64px}.metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin:26px 0 32px}.metric{border:1px solid var(--border);border-radius:11px;background:white;padding:21px}.metric>span{font-size:11px;color:#576a85}.metric>strong{display:block;font-size:30px;line-height:1.6;font-weight:600;color:#8c9fb7}.metric>small{font-size:10px}.section-heading{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:16px}.section-heading h2{font-size:17px;margin:0}.section-heading>span{font-size:11px}.service-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}.service-card{background:#fff;border:1px solid var(--border);border-radius:12px;padding:22px 20px}.icon-tile{color:var(--blue);background:#edf5ff;border-radius:12px;width:46px;height:46px;display:grid;place-items:center;margin-bottom:20px}.icon-tile svg{width:25px;height:25px}.service-card h3{font-size:13px;margin-bottom:8px}.service-card p{font-size:11px;color:var(--muted);min-height:36px;margin-bottom:20px}.service-card>small{font-size:9px;border-top:1px solid #eef2f7;padding-top:12px}.info-card{display:flex;align-items:flex-start;gap:16px;background:#fff;border:1px solid var(--border);border-radius:11px;padding:22px;margin-top:26px}.info-card svg{color:#6e8cad}.info-card h3{font-size:12px;margin:1px 0 6px}.info-card p{font-size:11px;color:var(--muted);margin:0}.panel{background:#fff;border:1px solid var(--border);border-radius:12px;padding:28px;margin-bottom:20px}.panel p{font-size:14px}.panel dl{font-size:14px}.panel dt{font-size:11px;color:var(--muted);margin:18px 0 6px}.panel dd{margin:0;overflow-wrap:anywhere}.membership{padding:15px 0;border-bottom:1px solid var(--border);overflow-wrap:anywhere}.membership strong{font-size:13px}.membership small{font-size:11px}.link-button{display:inline-flex;align-items:center;padding:12px 20px;border-radius:8px;font-size:13px}.support-panel{max-width:720px}.mfa-panel{max-width:440px;margin:10vh auto;padding:30px}.mfa-panel h1{margin-top:30px}.mfa-panel form button{width:100%;margin-top:18px}.mfa-panel input{letter-spacing:6px;font-size:22px}.mfa-panel>.quiet{margin-top:15px}
@media(min-width:1600px){.login-layout{min-height:900px}}@media(max-width:1100px){.workspace-main{padding:28px 24px}.workspace{grid-template-columns:180px minmax(0,1fr)}.metrics,.service-grid{gap:10px}.service-card{padding:18px 14px}.login-intro{padding:30px}.connection{display:none}.welcome-symbol{display:none}}@media(max-width:800px){.login-layout{grid-template-columns:1fr;max-width:500px;padding:16px;min-height:100dvh;gap:0}.login-intro{padding:20px 24px;border-radius:16px;min-height:auto}.intro-copy{padding:28px 0 12px}.intro-copy h2{font-size:27px;letter-spacing:-.8px}.intro-copy>p:not(.eyebrow),.intro-services,.intro-footer{display:none}.intro-copy .eyebrow{font-size:9px;margin-bottom:10px}.login-panel{padding-top:30px}.demedica-logo{max-width:135px;max-height:50px;margin-bottom:22px}.login-panel footer{margin-top:28px}.workspace{grid-template-columns:150px minmax(0,1fr)}.sidebar{padding:22px 10px}.metrics,.service-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.topbar{padding:0 20px}.account-email{display:none}.welcome{padding:22px}.welcome h2{font-size:21px}.workspace-main{padding:24px 20px}}@media(max-width:560px){.topbar{height:68px;padding:0 16px}.brand strong{font-size:12px}.brand small{font-size:8px}.account-bar{gap:8px}.account-bar .quiet{padding:8px}.avatar{display:none}.workspace{display:block;min-height:calc(100dvh - 68px)}.sidebar{padding:10px 12px;border-right:0;border-bottom:1px solid var(--border)}.sidebar nav{display:flex;gap:4px}.nav-item{justify-content:center;padding:10px 9px;margin:0;font-size:12px;gap:6px}.sidebar-footer{display:none}.workspace-main{padding:24px 16px}.page-heading h1{font-size:25px}.welcome{padding:22px 18px}.welcome h2{font-size:20px}.metrics{gap:9px;margin:20px 0 26px}.metric{padding:17px 14px}.section-heading{align-items:flex-start;flex-direction:column;gap:5px}.service-card{padding:18px 14px}.service-card h3{line-height:1.5;min-height:36px}.panel{padding:22px 18px}.mfa-panel{margin:24px 16px}.form-links{font-size:10px}.login-panel h1{font-size:25px}.intro-copy{padding:22px 0 0}}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}}

/* Compact desktop home: keep the full overview visible without clipping content. */
@media (min-width: 801px) {
  .topbar { height: 64px; }
  .workspace { min-height: calc(100dvh - 64px); }
  .sidebar { padding-top: 20px; }
  .workspace-main:has(.welcome) { align-self: start; margin: 0 auto; padding: 22px 32px; }
  .workspace-main:has(.welcome) .page-heading { display: flex; align-items: center; justify-content: space-between; gap: 20px; margin-bottom: 18px; }
  .workspace-main:has(.welcome) .page-heading .eyebrow { margin-bottom: 8px; }
  .workspace-main:has(.welcome) .page-heading h1 { font-size: 27px; margin-bottom: 5px; }
  .workspace-main:has(.welcome) .page-heading .muted { margin-bottom: 0; }
  .workspace-main:has(.welcome) .page-heading > button { flex-shrink: 0; font-size: 13px; }
  .welcome { padding: 18px 22px; margin-bottom: 16px; }
  .welcome h2 { font-size: 22px; margin: 8px 0; }
  .welcome p { margin-bottom: 5px; line-height: 1.5; }
  .welcome-note { max-width: 850px; }
  .welcome-symbol { padding: 16px; margin: 0 8px 0 24px; border-radius: 18px; }
  .welcome-symbol svg { width: 44px; height: 44px; }
  .metrics { gap: 14px; margin: 16px 0 20px; }
  .metric { padding: 14px 18px; }
  .metric > strong { font-size: 26px; line-height: 1.35; }
  .section-heading { margin-bottom: 12px; }
  .service-grid { gap: 14px; }
  .service-card { padding: 16px 18px; }
  .icon-tile { width: 36px; height: 36px; border-radius: 10px; margin-bottom: 12px; }
  .icon-tile svg { width: 22px; height: 22px; }
  .service-card h3 { margin-bottom: 6px; }
  .service-card p { min-height: 0; margin-bottom: 12px; line-height: 1.5; }
  .service-card > small { padding-top: 8px; }
}
.operations .op-toolbar{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin:16px 0}.operations .op-toolbar h2{margin-right:auto}.operations .op-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.operations .op-field{display:flex;flex-direction:column;gap:6px;margin:10px 0;font-size:14px}.operations input,.operations select,.operations textarea{width:100%;padding:10px;border:1px solid #d4e1f2;border-radius:8px;background:white;color:#102c50;font:inherit}.operations input[type=checkbox]{width:20px;height:20px}.operations fieldset{border:1px solid #d4e1f2;border-radius:12px;padding:16px;margin:16px 0}.operations legend{font-weight:600}.operations .op-toolbar input{width:auto;flex:1}.operations .op-table-wrap{overflow:auto}.operations table{width:100%;border-collapse:collapse;text-align:left}.operations th,.operations td{padding:12px;border-bottom:1px solid #e4edf8}.operations dt{font-weight:600}.operations dd{margin:0 0 12px}.operations textarea{min-height:80px}.operations .op-form{max-width:1000px}@media(max-width:700px){.operations .op-grid{grid-template-columns:1fr}}

.operations [hidden]{display:none!important}

.access-form{display:grid;gap:16px}.access-form label{display:grid;gap:7px;margin:0}.access-form input{letter-spacing:normal;font-size:16px;min-height:44px;max-width:100%;padding:10px;border:1px solid #cad4e2;border-radius:8px}.access-form .access-consent{display:flex;align-items:center;gap:10px}.access-consent input{width:18px;height:18px;min-height:18px;padding:0;flex:0 0 18px}.access-review-card{padding:20px 0;border-top:1px solid #dbe3ed}.access-review-card>button{margin:8px 8px 0 0}.access-review-card input{display:block;width:100%;margin:12px 0}.access-request{max-width:640px;margin:40px auto}.access-request h1{margin-top:0}@media(max-width:680px){.access-request{margin:20px 16px}.sidebar nav{flex-wrap:wrap}}

/* Give physician registration its own hierarchy below sign-in support. */
.login-panel .support-link{display:inline-block;margin:0 0 22px}
.login-access{border-top:1px solid var(--border);padding-top:22px;text-align:center}
.login-access-title{font-size:13px;font-weight:600;color:#536981;margin:0 0 12px}
.login-access-button{display:flex;align-items:center;justify-content:center;gap:12px;width:100%;min-height:48px;padding:12px 18px;background:#eaf3ff;border:1px solid #c9ddf7;border-radius:10px;color:#185db9;font-size:14px;font-weight:600;transition:background .15s,border-color .15s}
.login-access-button:hover{background:#dfeeff;border-color:#9fc2ef}
.login-access-button:active{background:#d4e7ff}
.login-access-button span{font-size:20px;line-height:1;font-weight:400}
.login-access small{font-size:10px;margin-top:10px;color:#63738b}
.login-panel:has(.login-access) footer{margin-top:30px}

.identity-dialog{width:min(460px,calc(100% - 32px));max-height:90dvh;overflow:auto;border:1px solid #dbe6f3;border-radius:20px;padding:28px;color:#172944;box-shadow:0 24px 80px #17294430}.identity-dialog::backdrop{background:#17294470;backdrop-filter:blur(4px)}.identity-dialog h2{font-size:24px}.identity-dialog p{font-size:14px;color:#63738b}.identity-dialog>.quiet{margin-top:16px;width:100%}.identity-profile{grid-template-columns:repeat(2,minmax(0,1fr))}.identity-profile input[readonly]{background:#f2f6fb;color:#536981}.identity-profile .access-consent,.identity-profile>button,.identity-profile>[aria-live]{grid-column:1/-1}.identity-profile small{font-size:10px;font-weight:400}@media(max-width:600px){.identity-profile{grid-template-columns:1fr}.identity-dialog{padding:22px}}
