:root{
  --bg:#f7faf9;
  --bg-elevated:#ffffff;
  --surface:#ffffff;
  --surface-soft:#edf7f6;
  --surface-strong:#dff1ef;
  --ink:#20282a;
  --ink-2:#334044;
  --muted:#617074;
  --teal:#0b7f85;
  --teal-2:#0b9299;
  --teal-dark:#075e63;
  --on-accent:#ffffff;
  --teal-deep:#12383b;
  --line:#d8e4e2;
  --line-strong:#718582;
  --success:#17704d;
  --success-bg:#e8f6ee;
  --danger:#9a2d22;
  --danger-bg:#fff0ed;
  --warning:#735712;
  --warning-bg:#fff7df;
  --focus:#a65d00;
  --shadow-sm:0 10px 28px rgba(13,63,67,.06);
  --shadow-md:0 18px 48px rgba(13,63,67,.10);
  --shadow-lg:0 32px 90px rgba(13,63,67,.13);
  --radius-sm:10px;
  --radius-md:16px;
  --radius-lg:24px;
  --radius-xl:34px;
  --header-h:74px;
  color-scheme:light;
  color-scheme:only light; /* Keep the authored palette when a browser offers auto-dark recoloring. */
  font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  font-size:16px;
}
.session-warning{width:min(34rem,calc(100% - 2rem));max-height:calc(100dvh - 2rem);overflow:auto;margin:auto;padding:clamp(1.25rem,4vw,2.25rem);border:1px solid var(--line-strong);border-radius:var(--radius-lg);color:var(--ink);background:var(--surface);box-shadow:var(--shadow-lg)}
.session-warning::backdrop{background:rgba(8,24,28,.72)}
.session-warning h2{margin-top:0}
.session-warning .session-countdown{padding:1rem;border-radius:var(--radius-sm);background:var(--surface-soft)}
.session-warning [role=timer]{font-variant-numeric:tabular-nums;font-size:1.4rem;margin-left:.4rem}
.session-warning button{min-height:44px;white-space:normal}
.session-warning .toolbar{flex-wrap:wrap;gap:.75rem}
@media(prefers-color-scheme:dark){
  :root{
    --bg:#172326;
    --bg-elevated:#1b292c;
    --surface:#1f2f33;
    --surface-soft:#243d41;
    --surface-strong:#2a4b50;
    --ink:#f3f7f6;
    --ink-2:#dce6e5;
    --muted:#b9c7c9;
    --teal:#78d5d4;
    --teal-2:#8be4e2;
    --teal-dark:#9aeeeb;
    --on-accent:#12383b;
    --teal-deep:#0e2c30;
    --line:#405359;
    --line-strong:#849b9f;
    --success:#a8e8c4;
    --success-bg:#183a2b;
    --danger:#ffb7ac;
    --danger-bg:#432923;
    --warning:#f2d889;
    --warning-bg:#453a1d;
    --focus:#ffc15a;
    --shadow-sm:none;
    --shadow-md:none;
    --shadow-lg:none;
    color-scheme:dark;
    color-scheme:only dark;
  }
}

*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:calc(var(--header-h) + 44px)}
body{margin:0;background:var(--bg);color:var(--ink);line-height:1.62;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased}
body,button,input,select,textarea{font-family:inherit}
img,svg{display:block;max-width:100%}
a{color:var(--teal-dark);text-underline-offset:.2em;text-decoration-thickness:1px}
a:hover{text-decoration-thickness:2px}
button,input,select,textarea{font:inherit}
button{cursor:pointer}
button:disabled{cursor:not-allowed;opacity:.58}
:focus-visible{outline:3px solid var(--focus);outline-offset:3px}
::selection{background:var(--surface-strong);color:var(--ink)}
.sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
.skip-link{position:fixed;z-index:1000;left:1rem;top:-6rem;background:var(--ink);color:var(--surface);padding:.8rem 1rem;border-radius:10px;text-decoration:none}
.skip-link:focus{top:1rem}

h1,h2,h3,h4{color:var(--ink);line-height:1.08;letter-spacing:-.035em;margin:0 0 .8rem}
h1{font-size:clamp(2.35rem,5vw,4.8rem);font-weight:760}
h2{font-size:clamp(1.85rem,3.3vw,3.1rem);font-weight:730}
h3{font-size:1.24rem;font-weight:720}
p{margin:0 0 1rem;color:var(--muted)}
small,.small{font-size:.84rem;color:var(--muted)}
.kicker,.eyebrow{display:flex;align-items:center;gap:.65rem;margin:0 0 1rem;color:var(--teal-dark);font-size:.74rem;font-weight:850;letter-spacing:.16em;text-transform:uppercase}
.kicker>span{width:30px;height:1px;background:var(--teal)}
.light-kicker{color:#b5e7e7}

.button,:where(button:not(.menu-toggle):not(.marquee-toggle):not(.workspace-menu-toggle):not(.workspace-backdrop)){display:inline-flex;align-items:center;justify-content:center;gap:.55rem;min-height:46px;padding:.72rem 1.15rem;border:1px solid transparent;border-radius:999px;background:var(--teal-dark);color:var(--on-accent);font-weight:760;text-decoration:none;line-height:1.2;transition:transform .18s ease,background-color .18s ease,border-color .18s ease,box-shadow .18s ease}
.button:hover,:where(button:not(.menu-toggle):not(.marquee-toggle):not(.workspace-menu-toggle):not(.workspace-backdrop)):hover{transform:translateY(-1px)}
.button-primary{background:var(--teal);color:var(--on-accent);box-shadow:0 14px 34px rgba(11,127,133,.2)}
.button-primary:hover{background:var(--teal-dark)}
.button-dark{background:var(--ink);color:var(--surface)}
.button-light{background:#fff;color:#183336;border-color:#fff}
.button-ghost,.secondary,button.secondary{background:transparent;color:var(--ink);border-color:var(--line-strong);box-shadow:none}
.button-ghost:hover,.secondary:hover,button.secondary:hover{background:var(--surface-soft)}
.danger,button.danger{background:var(--danger);color:var(--on-accent)}
.text-button{background:transparent!important;border:0!important;color:var(--teal-dark)!important;padding:0!important;min-height:auto!important;border-radius:0!important;box-shadow:none!important}

input,select,textarea{width:100%;min-height:46px;margin:.42rem 0 0;padding:.72rem .85rem;border:1px solid var(--line-strong);border-radius:10px;background:var(--surface);color:var(--ink);box-shadow:inset 0 1px 0 rgba(255,255,255,.2)}
input:hover,select:hover,textarea:hover{border-color:var(--teal)}
textarea{min-height:120px;resize:vertical}
input[type=checkbox]{width:20px;min-height:20px;margin:.15rem .55rem 0 0;accent-color:var(--teal)}
label{display:block;margin:0 0 1rem;color:var(--ink-2);font-size:.9rem;font-weight:680}
form{margin-top:1.15rem}
form>button{margin-top:.2rem}
.password-field{margin-bottom:1rem;min-width:0}
.password-field>label{margin-bottom:.35rem}
.password-control{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:stretch;gap:.5rem;min-width:0}
.password-control>input{min-width:0;width:100%;margin:0}
.secure-site .password-control>button.password-toggle[data-act]{flex:0 0 auto;width:auto;min-width:4.5rem;min-height:44px;margin:0;padding:.55rem .75rem;border:1px solid var(--line-strong);border-radius:12px;background:var(--surface-soft);color:var(--ink);font-size:.9rem}

/* Theme is controlled exclusively by OS CSS preferences; no stored override. */
@media(prefers-color-scheme:light){:root{color-scheme:light;color-scheme:only light}}

/* Public header and brand */
.site-header{position:sticky;top:0;z-index:120;background:color-mix(in srgb,var(--surface) 92%,transparent);backdrop-filter:blur(18px);border-bottom:1px solid color-mix(in srgb,var(--line) 88%,transparent)}
.site-header-inner{width:min(1480px,100%);height:var(--header-h);margin:auto;padding:0 clamp(1rem,5vw,5.5rem);display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:1.4rem}
.platform-brand{display:inline-flex;flex-direction:column;justify-content:center;min-width:0;color:var(--ink);text-decoration:none;line-height:1}
.platform-brand-name{font-size:1.38rem;font-weight:860;letter-spacing:-.05em;white-space:nowrap}
.brand-cross{color:var(--teal-2);font-style:normal;font-size:1.35em;vertical-align:-.06em}
.platform-brand-owner{margin-top:.32rem;font-size:.58rem;font-weight:780;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);white-space:nowrap}
.public-nav{display:flex;justify-content:center;align-items:center;gap:clamp(.9rem,2.1vw,2rem)}
.public-nav a{position:relative;padding:.9rem 0;color:var(--ink-2);font-size:.84rem;font-weight:720;text-decoration:none;white-space:nowrap}
.public-nav a::after{content:"";position:absolute;left:0;right:0;bottom:.55rem;height:2px;background:var(--teal);transform:scaleX(0);transition:transform .2s ease}
.public-nav a:hover::after,.public-nav a:focus-visible::after{transform:scaleX(1)}
.header-login{min-height:42px!important;padding:.62rem 1rem!important;font-size:.82rem}
.menu-toggle,.workspace-menu-toggle{display:none;width:44px;height:44px;border:0;border-radius:10px;background:transparent;color:var(--ink);align-items:center;justify-content:center;flex-direction:column;gap:5px}
.menu-toggle span:not(.sr-only),.workspace-menu-toggle span:not(.sr-only){display:block;width:23px;height:2px;background:currentColor;border-radius:2px}

/* Restrained service strip */
.services-marquee{height:38px;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;background:var(--surface-soft);border-bottom:1px solid var(--line);overflow:hidden;color:var(--teal-dark)}
.services-marquee-window{overflow:hidden;min-width:0}
.services-marquee-track{display:flex;width:max-content;animation:services-scroll 34s linear infinite;will-change:transform}
.services-marquee-track span{padding-right:5rem;white-space:nowrap;font-size:.77rem;font-weight:760;letter-spacing:.015em}
.services-marquee.is-paused .services-marquee-track{animation-play-state:paused}
.marquee-toggle{width:38px;height:38px;display:grid;place-items:center;border:0;border-left:1px solid var(--line);background:var(--surface-soft);color:var(--teal-dark);font-weight:850}
@keyframes services-scroll{to{transform:translateX(-50%)}}

/* Public hero */
.public-hero{position:relative;isolation:isolate;overflow:hidden;width:min(1480px,100%);margin:auto;padding:clamp(3.2rem,6vw,6.8rem) clamp(1rem,6vw,6.5rem) clamp(4rem,7vw,7rem);display:grid;grid-template-columns:minmax(0,1.02fr) minmax(340px,.78fr);gap:clamp(2.2rem,6vw,6rem);align-items:center}
.public-hero::before{content:"";position:absolute;z-index:-1;width:620px;height:620px;border-radius:50%;right:-220px;top:20px;border:1px solid color-mix(in srgb,var(--teal) 14%,transparent);background:radial-gradient(circle at 50% 50%,color-mix(in srgb,var(--teal) 9%,transparent),transparent 67%)}
.public-hero-copy{max-width:760px}
.public-hero h1{font-size:clamp(3rem,6.3vw,6.15rem);max-width:860px;letter-spacing:-.065em;margin-bottom:1.25rem}
.hero-lead{max-width:650px;font-size:clamp(1.04rem,1.5vw,1.2rem);line-height:1.7}
.hero-actions{display:flex;flex-wrap:wrap;gap:.75rem;margin:1.8rem 0 1.15rem}
.availability-line{display:flex;align-items:flex-start;gap:.6rem;max-width:650px;font-size:.87rem;margin:0 0 1.7rem}
.status-dot{display:inline-block;flex:0 0 9px;width:9px;height:9px;border-radius:50%;margin-top:.37rem;background:var(--muted)}
.status-dot.is-live{background:#25a66f;box-shadow:0 0 0 5px color-mix(in srgb,#25a66f 15%,transparent)}
.status-dot.is-muted{background:#8a989a}
.hero-facts{display:grid;grid-template-columns:repeat(3,1fr);background:var(--line);gap:1px;border:1px solid var(--line);border-radius:18px;overflow:hidden;max-width:760px}
.hero-facts>div{padding:.9rem 1rem;background:color-mix(in srgb,var(--surface) 94%,transparent)}
.hero-facts span,.hero-facts strong{display:block}
.hero-facts span{font-size:.72rem;color:var(--muted);margin-bottom:.2rem}
.hero-facts strong{font-size:.84rem;color:var(--ink)}
.public-hero-visual{position:relative;width:min(100%,560px);justify-self:center}
.founder-portrait{margin:0;aspect-ratio:4/5;border-radius:42px;overflow:hidden;background:var(--surface-strong);box-shadow:var(--shadow-lg)}
.founder-portrait img{width:100%;height:100%;object-fit:cover;object-position:center 12%}
.floating-note{position:absolute;display:flex;align-items:center;gap:.75rem;max-width:260px;padding:.82rem .95rem;border:1px solid color-mix(in srgb,var(--surface) 75%,var(--line));border-radius:17px;background:color-mix(in srgb,var(--surface) 93%,transparent);backdrop-filter:blur(14px);box-shadow:var(--shadow-md)}
.floating-note strong,.floating-note small{display:block}
.floating-note strong{font-size:.84rem}.floating-note small{font-size:.72rem;line-height:1.35}
.floating-note-top{right:-1.4rem;top:2.7rem}
.floating-note-bottom{left:-2rem;bottom:1.7rem}
.note-icon{width:34px;height:34px;display:grid;place-items:center;flex:0 0 34px;border-radius:50%;background:var(--surface-soft);color:var(--teal);font-size:1.35rem;font-weight:800}

.proof-bar{display:grid;grid-template-columns:repeat(3,1fr);background:var(--surface);border-block:1px solid var(--line)}
.proof-bar>div{display:grid;grid-template-columns:auto 1fr;column-gap:.85rem;padding:1.25rem clamp(1rem,4vw,2.25rem);border-right:1px solid var(--line)}
.proof-bar>div:last-child{border-right:0}
.proof-bar span{grid-row:1/3;color:var(--teal);font-weight:850;font-size:.84rem}
.proof-bar strong,.proof-bar small{display:block}.proof-bar strong{font-size:.92rem}.proof-bar small{font-size:.77rem;line-height:1.45;margin-top:.2rem}

.public-section{width:min(1480px,100%);margin:auto;padding:clamp(3.9rem,6.5vw,6.2rem) clamp(1rem,6vw,6.5rem)}
.section-heading{display:flex;align-items:end;justify-content:space-between;gap:2.2rem;margin-bottom:2.3rem}
.section-heading>div{max-width:800px}.section-heading>p{max-width:520px;margin:0;font-size:1rem}
.editorial-heading h2{font-size:clamp(2.2rem,4.6vw,4.35rem)}
.compact-heading h2{max-width:760px}
.doctor-section{padding-top:clamp(3.9rem,6vw,5.8rem)}
.practitioner-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}
.practitioner-card{min-width:0;padding:1.5rem;border:1px solid var(--line);border-radius:22px;background:linear-gradient(145deg,var(--surface),var(--bg-elevated));box-shadow:var(--shadow-sm)}
.practitioner-card-header{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;margin-bottom:1.2rem}
.practitioner-initial{width:46px;height:46px;display:grid;place-items:center;border-radius:14px;background:var(--surface-soft);color:var(--teal-dark);font-weight:850;font-size:1.1rem}
.practitioner-card h3{margin:.2rem 0 .25rem}
.practitioner-meta{display:flex;flex-wrap:wrap;gap:.45rem;margin:.9rem 0}
.meta-pill,.badge{display:inline-flex;align-items:center;gap:.35rem;padding:.28rem .52rem;border-radius:999px;background:var(--surface-soft);color:var(--teal-dark);font-size:.74rem;font-weight:720;white-space:normal}
.practitioner-status{display:flex;align-items:center;gap:.5rem;font-size:.8rem;font-weight:700;color:var(--ink-2)}
.practitioner-card .button{margin-top:.5rem}
.directory-empty{padding:2rem;border:1px dashed var(--line-strong);border-radius:22px;background:var(--surface);text-align:center;grid-column:1/-1}
.skeleton-card{min-height:190px}.skeleton-line{height:13px;width:70%;margin:.85rem 0;border-radius:999px;background:linear-gradient(90deg,var(--surface-soft),var(--surface-strong),var(--surface-soft));background-size:200% 100%;animation:skeleton 1.4s ease-in-out infinite}.skeleton-line.wide{width:88%;height:18px}.skeleton-line.short{width:46%}@keyframes skeleton{50%{background-position:100% 0}}

.steps-section{padding-top:2rem}
.journey-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line);border:1px solid var(--line);border-radius:26px;overflow:hidden}
.journey-grid article{padding:clamp(1.4rem,3vw,2.4rem);background:var(--surface)}
.journey-grid article>span{display:inline-grid;place-items:center;width:36px;height:36px;border-radius:50%;background:var(--surface-soft);color:var(--teal-dark);font-size:.76rem;font-weight:850;margin-bottom:1.3rem}
.journey-grid h3{font-size:1.35rem}

.feature-band{border-radius:32px;padding:clamp(2.2rem,5vw,4rem);margin-bottom:clamp(3rem,6vw,6rem);width:min(1320px,calc(100% - 2rem))}
.weight-band{display:grid;grid-template-columns:1fr .9fr;align-items:center;gap:clamp(2rem,6vw,6rem);background:linear-gradient(135deg,#0b7f85,#0a5d63);color:#fff;box-shadow:0 24px 70px rgba(11,127,133,.18)}
.weight-band h2{color:#fff;max-width:760px}.weight-band p{color:#e2f1f1;max-width:650px}
.weight-visual{position:relative;min-height:330px;display:grid;place-items:center}
.weight-orbit{position:absolute;width:min(330px,82vw);aspect-ratio:1;border:1px solid rgba(255,255,255,.22);border-radius:50%}.weight-orbit::before,.weight-orbit::after{content:"";position:absolute;inset:18%;border:1px solid rgba(255,255,255,.14);border-radius:50%}.weight-orbit::after{inset:36%}.weight-orbit span{position:absolute;width:10px;height:10px;border-radius:50%;background:#bfeceb}.weight-orbit span:nth-child(1){top:12%;left:30%}.weight-orbit span:nth-child(2){right:9%;top:48%}.weight-orbit span:nth-child(3){bottom:16%;left:24%}
.weight-panel{position:relative;width:min(330px,88%);padding:1.35rem;border:1px solid rgba(255,255,255,.26);border-radius:20px;background:rgba(11,50,54,.55);backdrop-filter:blur(12px)}
.weight-panel small{color:#c8e7e6;letter-spacing:.13em}.weight-panel strong{display:block;font-size:1.35rem;margin:.35rem 0 1.15rem}.weight-panel p{font-size:.76rem;margin:.85rem 0 0;color:#c8e7e6}
.progress-lines{display:grid;gap:.55rem}.progress-lines i{display:block;height:8px;border-radius:999px;background:rgba(255,255,255,.18)}.progress-lines i::after{content:"";display:block;height:100%;border-radius:999px;background:#c8eceb}.progress-lines i:nth-child(1)::after{width:58%}.progress-lines i:nth-child(2)::after{width:78%}.progress-lines i:nth-child(3)::after{width:43%}.progress-lines i:nth-child(4)::after{width:66%}

.certificate-contact-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:1rem;padding-top:0}
.certificate-panel,.contact-panel{padding:clamp(1.7rem,4vw,3rem);border-radius:28px}
.certificate-panel{background:var(--surface);border:1px solid var(--line)}
.contact-panel{background:var(--teal-deep);color:#fff}
.contact-panel h2{color:#fff}.contact-panel p{color:#c8d9da}
.verify-form label{margin-bottom:.5rem}.inline-field{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:.65rem;align-items:end}.inline-field input{margin:0}
.contact-links{display:grid;gap:.65rem;margin-top:1.5rem}.contact-links a{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.9rem 0;border-bottom:1px solid rgba(255,255,255,.15);color:#fff;text-decoration:none}.contact-links span{color:#bdd2d3;font-size:.78rem}.contact-links strong{font-size:.85rem;text-align:right}

.public-footer{display:grid;grid-template-columns:1.15fr .85fr;gap:1.5rem 3rem;padding:3rem clamp(1rem,6vw,6.5rem);border-top:1px solid var(--line);background:var(--surface)}
.footer-brand-block p{max-width:520px;margin:.8rem 0 0;font-size:.82rem}.footer-links,.social-links{display:flex;gap:.8rem 1.1rem;flex-wrap:wrap;align-items:center}.footer-links{justify-content:flex-end}.social-links{grid-column:2;justify-content:flex-end}.footer-links a,.social-links a{font-size:.8rem;color:var(--muted)}.public-footer>small{grid-column:1/-1;border-top:1px solid var(--line);padding-top:1rem}

.whatsapp-support{position:fixed;z-index:95;right:max(1rem,env(safe-area-inset-right));bottom:max(1rem,env(safe-area-inset-bottom));display:inline-flex;align-items:center;gap:.55rem;min-height:48px;padding:.68rem .9rem;border-radius:999px;background:#177d51;color:#fff;text-decoration:none;font-size:.82rem;font-weight:800;box-shadow:0 14px 34px rgba(0,0,0,.18)}
.whatsapp-support svg{width:20px;height:20px;fill:currentColor}
.back-to-top{position:fixed;z-index:94;right:max(1rem,env(safe-area-inset-right));bottom:calc(max(1rem,env(safe-area-inset-bottom)) + 58px);width:42px;height:42px;display:grid;place-items:center;border:1px solid var(--line);border-radius:50%;background:var(--surface);color:var(--ink);box-shadow:var(--shadow-sm)}
.back-to-top svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:2}
.reveal{opacity:1;transform:none}.js .reveal{opacity:0;transform:translateY(14px);transition:opacity .55s ease,transform .55s ease}.js .reveal.visible{opacity:1;transform:none}

/* Auth and secure application */
.auth-wrap{width:min(100%,600px);margin:clamp(2rem,7vh,5rem) auto;padding:0 1.2rem}.auth-wrap>.platform-brand,.auth-wrap>.brand{margin-bottom:2rem}.auth-wrap>.card{padding:clamp(1.5rem,4vw,2.4rem)}
.brand{display:inline-flex;flex-direction:column;color:var(--ink);text-decoration:none;font-weight:850;font-size:1.35rem;line-height:1.05;letter-spacing:-.04em}.brand>span:last-child{margin-top:.4rem;color:var(--muted);font-size:.58rem;letter-spacing:.13em;text-transform:uppercase}.brand-line{display:flex;align-items:center;gap:.4rem}.cross{color:var(--teal-2);font-style:normal;font-size:1.6em}
.auth-links{display:flex;justify-content:space-between;gap:.8rem;flex-wrap:wrap;margin-top:1.1rem}.auth-alternative{text-align:center;margin-top:1.4rem}
.auth-wrap .auth-links{padding-top:.35rem}
.auth-wrap .auth-links button{min-height:44px}
.saved-config{overflow-wrap:anywhere}
.saved-config h3{margin-top:.6rem}
.config-cancel{margin-top:1rem}
form[aria-busy="true"]{cursor:progress}
form[aria-busy="true"] button[type="submit"]{opacity:.75}

.layout{display:grid;grid-template-columns:268px minmax(0,1fr);min-height:100vh;background:var(--bg)}
.sidebar{position:sticky;top:0;height:100vh;overflow:auto;padding:1.2rem .9rem 1.5rem;background:var(--surface);border-right:1px solid var(--line)}
.sidebar-head{display:flex;align-items:center;justify-content:space-between;gap:.6rem;padding:.25rem .65rem .8rem}.sidebar .brand{min-width:0;margin:0}.sidebar .brand>span:first-child{white-space:nowrap}.sidebar nav{padding-top:.7rem}.nav-group{display:block;padding:1.25rem .75rem .45rem;color:var(--muted);font-size:.67rem;font-weight:850;letter-spacing:.13em;text-transform:uppercase}
.sidebar nav a{display:flex;align-items:center;min-height:42px;margin:.1rem 0;padding:.62rem .75rem;border-radius:10px;color:var(--muted);font-size:.86rem;font-weight:650;text-decoration:none;transition:background .18s ease,color .18s ease}.sidebar nav a:hover{background:var(--bg-elevated);color:var(--ink)}.sidebar nav a.active{background:var(--surface-soft);color:var(--teal-dark);font-weight:780}
.workspace{min-width:0}
.topbar{position:sticky;top:0;z-index:40;min-height:76px;display:flex;justify-content:space-between;align-items:center;gap:1rem;padding:1rem clamp(1.2rem,3vw,2.3rem);background:color-mix(in srgb,var(--surface) 91%,transparent);backdrop-filter:blur(16px);border-bottom:1px solid var(--line)}
.context-controls{display:flex;align-items:center;gap:.8rem;flex-wrap:wrap;min-width:0}.context-control{min-width:150px;margin:0;color:var(--muted);font-size:.68rem;font-weight:760;letter-spacing:.05em;text-transform:uppercase}.context-control select{width:auto;max-width:280px;min-height:38px;margin:.22rem 0 0;padding:.45rem 2rem .45rem .65rem;font-size:.82rem;text-transform:none;letter-spacing:0}.workspace-label{font-size:.82rem;font-weight:720;color:var(--ink-2)}
.topbar .user{display:flex;align-items:center;gap:.8rem;min-width:0}.topbar .user span{font-size:.84rem;font-weight:680;overflow-wrap:anywhere}.topbar .user button{min-height:40px;padding:.55rem .85rem;font-size:.78rem}
.content{width:min(100%,1500px);margin:auto;padding:clamp(1.5rem,3.4vw,2.7rem)}
.pagehead{display:flex;align-items:flex-end;justify-content:space-between;gap:1.2rem;margin-bottom:1.7rem}.pagehead h1{font-size:clamp(2rem,3vw,3.1rem);margin-bottom:.4rem}.pagehead p{max-width:760px;margin:0}.pagehead>button{flex:0 0 auto}
.card{min-width:0;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-md);padding:1.35rem;box-shadow:var(--shadow-sm)}
.card>:last-child{margin-bottom:0}.content>.card,.content>.two-col,.content>.table-wrap,.content>.grid,.content>.stats{margin-bottom:1.4rem}
.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:1rem}
.stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:.85rem}.stat{position:relative;box-shadow:none;border-radius:14px}.stat p{font-size:.8rem;margin-bottom:.35rem}.stat strong{display:block;margin:.1rem 0 .6rem;font-size:clamp(1.8rem,3vw,2.5rem);line-height:1.15;letter-spacing:-.05em}.stat a{font-size:.8rem;font-weight:720}
.two-col{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.two-col>*{min-width:0}
.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 1rem}.form-grid .wide{grid-column:1/-1}.form-box{max-width:920px}
.notice{padding:.85rem 1rem;margin:1rem 0;border-left:3px solid var(--teal);border-radius:10px;background:var(--surface-soft);color:var(--ink);font-size:.88rem}.notice.error{background:var(--danger-bg);border-color:var(--danger);color:var(--danger)}.notice.success{background:var(--success-bg);border-color:var(--success);color:var(--success)}.notice.warning{background:var(--warning-bg);border-color:var(--warning);color:var(--warning)}
.badge{border-radius:999px}
.tabs{display:flex;gap:.45rem;flex-wrap:wrap;margin:1rem 0 1.3rem}.tabs a{display:inline-flex;align-items:center;min-height:40px;padding:.52rem .8rem;border:1px solid var(--line);border-radius:999px;background:var(--surface);color:var(--ink-2);font-size:.8rem;font-weight:680;text-decoration:none}.tabs a:hover{background:var(--surface-soft)}
.table-wrap{overflow:auto;border:1px solid var(--line);border-radius:14px;background:var(--surface)}table{width:100%;border-collapse:collapse;text-align:left;font-size:.84rem}th{background:var(--surface-soft);color:var(--muted);font-weight:740;white-space:nowrap}td,th{padding:.86rem 1rem;border-bottom:1px solid var(--line);vertical-align:top}td{max-width:440px;overflow-wrap:anywhere}tr:last-child td{border-bottom:0}td button{min-height:34px!important;padding:.42rem .65rem!important;margin:.15rem .2rem .15rem 0;font-size:.75rem}
.empty{text-align:center;padding:3rem 1.2rem;border:1px dashed var(--line-strong);border-radius:16px;background:var(--surface)}.empty p{max-width:35rem;margin:.5rem auto}
.toolbar{display:flex;align-items:center;gap:.55rem;flex-wrap:wrap;margin:1rem 0}.toolbar label{margin:0}.toolbar .button,.toolbar button{min-height:40px;padding:.55rem .85rem;font-size:.78rem}
.prose{white-space:pre-wrap;overflow-wrap:anywhere;color:var(--ink)}pre{white-space:pre-wrap;overflow-wrap:anywhere;font-size:.83rem}
progress{width:100%;height:14px;accent-color:var(--teal)}.qr{display:block;max-width:100%;margin:1rem 0;padding:.75rem;border-radius:10px;background:#fff}.secret{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;letter-spacing:.08em;overflow-wrap:anywhere}.view-pdf{width:100%;height:75vh;border:1px solid var(--line);border-radius:12px;background:#fff}
.chat{height:330px;overflow-y:auto;padding:1rem;border:1px solid var(--line);border-radius:12px;background:var(--bg-elevated)}.message{max-width:85%;padding:.68rem .85rem;margin-bottom:.65rem;border-radius:12px;background:var(--surface-soft);white-space:pre-wrap;overflow-wrap:anywhere}.message.mine{margin-left:auto;background:var(--surface);border:1px solid var(--line)}
#toast{position:relative;margin:1rem;max-width:100%;display:none;padding:.85rem 1rem;border-radius:12px;background:var(--ink);color:var(--surface);box-shadow:var(--shadow-md)}
#call-panel{position:fixed;z-index:160;right:1rem;bottom:1rem;width:min(360px,calc(100vw - 2rem));padding:.9rem;border:1px solid #55777b;border-radius:18px;background:#0f292d;color:#fff;box-shadow:0 18px 50px rgba(0,0,0,.3)}#call-panel video{width:100%;max-height:220px;border-radius:10px;background:#091619}#call-panel .local-video{position:absolute;right:1.2rem;top:3.6rem;width:90px;max-height:70px}#call-panel p{margin:0 0 .45rem;color:#d7e7e8;font-size:.82rem}#call-panel button{min-height:36px!important;padding:.45rem .65rem!important;margin:.25rem .15rem 0 0;font-size:.75rem}
.muted{color:var(--muted)}details{margin:1rem 0}summary{cursor:pointer;font-weight:720}dialog{max-width:620px;padding:1.7rem;border:1px solid var(--line);border-radius:18px;background:var(--surface);color:var(--ink)}dialog::backdrop{background:rgba(0,0,0,.5)}
.consent-panel{border-left:3px solid var(--teal)}.release-version{margin-top:1.5rem}.weight-promo{background:var(--surface-soft)}
.integration-status-grid,.settings-feature-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.85rem;margin-bottom:1.2rem}.setting-summary{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem}.setting-summary strong{display:block}.setting-summary small{display:block;margin-top:.25rem}.settings-note{font-size:.82rem}
.email-route-list{display:grid;gap:.65rem}.email-route{display:grid;grid-template-columns:minmax(110px,.7fr) minmax(180px,1.2fr) auto;align-items:center;gap:.8rem;padding:.75rem 0;border-bottom:1px solid var(--line)}.email-route:last-child{border-bottom:0}.email-route strong,.email-route span{overflow-wrap:anywhere}.email-route span{font-size:.82rem;color:var(--muted)}

/* Responsive */
@media(max-width:1100px){
  .site-header-inner{grid-template-columns:auto auto}.menu-toggle{display:flex;justify-self:end}.header-login{display:none}.public-nav{position:absolute;left:1rem;right:1rem;top:calc(var(--header-h) - 1px);display:none;flex-direction:column;align-items:stretch;gap:0;padding:.65rem;border:1px solid var(--line);border-radius:18px;background:var(--surface);box-shadow:var(--shadow-md)}.public-nav.open{display:flex}.public-nav a{padding:.8rem .9rem;border-radius:10px}.public-nav a::after{display:none}.public-nav a:hover{background:var(--surface-soft)}
  .public-hero{grid-template-columns:1fr .78fr;gap:2.5rem}.floating-note-top{right:.2rem}.floating-note-bottom{left:.2rem}
  .practitioner-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .layout{grid-template-columns:230px minmax(0,1fr)}
  .sidebar{padding-inline:.7rem}
  .section-heading{align-items:flex-start;flex-direction:column;gap:.8rem}
}
@media(max-width:820px){
  .public-hero{grid-template-columns:1fr;padding-top:3.2rem}.public-hero-copy{max-width:none}.public-hero-visual{width:min(82vw,500px)}.founder-portrait{border-radius:34px}.public-hero-visual{margin-top:1rem}
  .proof-bar{grid-template-columns:1fr}.proof-bar>div{border-right:0;border-bottom:1px solid var(--line)}.proof-bar>div:last-child{border-bottom:0}
  .journey-grid{grid-template-columns:1fr}.weight-band,.certificate-contact-grid{grid-template-columns:1fr}.weight-visual{min-height:280px}
  .public-footer{grid-template-columns:1fr}.footer-links,.social-links{grid-column:1;justify-content:flex-start}
  .layout{display:block}.sidebar{position:sticky;top:0;z-index:70;height:auto;overflow:visible;padding:.7rem 1rem;border-right:0;border-bottom:1px solid var(--line)}.sidebar-head{padding:0}.workspace-menu-toggle{display:flex}.sidebar nav{display:none;position:absolute;left:.75rem;right:.75rem;top:calc(100% + .45rem);max-height:72vh;overflow:auto;padding:.65rem;border:1px solid var(--line);border-radius:16px;background:var(--surface);box-shadow:var(--shadow-md)}.sidebar nav.open{display:block}.nav-group{padding-top:.9rem}.topbar{position:static;padding:.85rem 1rem;flex-wrap:wrap}.context-controls{width:100%}.topbar .user{width:100%;justify-content:space-between}.content{padding:1.2rem 1rem 2rem}.pagehead{align-items:flex-start;flex-direction:column}.two-col,.form-grid{grid-template-columns:1fr}.form-grid .wide{grid-column:auto}
  .integration-status-grid,.settings-feature-grid{grid-template-columns:1fr 1fr}
}
@media(max-width:600px){
  :root{--header-h:68px}
  html{scroll-padding-top:calc(var(--header-h) + 38px)}
  .site-header-inner{height:var(--header-h);padding:0 1rem}.platform-brand-name{font-size:1.2rem}.platform-brand-owner{font-size:.51rem;letter-spacing:.11em}.public-nav{top:calc(var(--header-h) - 1px)}
  .services-marquee{height:34px}.marquee-toggle{width:36px;height:34px}.services-marquee-track span{font-size:.7rem;padding-right:3rem}
  .public-hero{padding:2.65rem 1rem 3.4rem;gap:1.8rem}.public-hero h1{font-size:clamp(2.75rem,14vw,4.1rem);margin-bottom:1rem}.hero-lead{font-size:1rem}.hero-actions{margin-top:1.4rem}.hero-actions .button{flex:1 1 210px}.hero-facts{grid-template-columns:1fr}.hero-facts>div{padding:.75rem .85rem}.public-hero-visual{width:min(88vw,440px)}.floating-note{position:relative;inset:auto!important;margin:-1.1rem .75rem 0;max-width:none}.floating-note-top{display:none}.founder-portrait{border-radius:28px}
  .public-section{padding:3.35rem 1rem}.editorial-heading h2{font-size:clamp(2.1rem,10vw,3.2rem)}.practitioner-grid{grid-template-columns:1fr}.journey-grid{border-radius:20px}.feature-band{width:calc(100% - 2rem);margin-inline:1rem;border-radius:24px;padding:1.6rem}.weight-visual{min-height:250px}.certificate-contact-grid{padding-top:0}.certificate-panel,.contact-panel{padding:1.35rem;border-radius:22px}.inline-field{grid-template-columns:1fr}.inline-field .button{width:100%}
  .public-footer{padding:2.4rem 1rem 6.6rem}.whatsapp-support{width:52px;height:52px;min-height:52px;padding:0;justify-content:center;border-radius:50%}.whatsapp-support span{display:none}.whatsapp-support svg{width:23px;height:23px}.back-to-top{right:max(1rem,env(safe-area-inset-right));bottom:calc(max(1rem,env(safe-area-inset-bottom)) + 62px)}
  .pagehead h1{font-size:2rem}.stats{grid-template-columns:1fr 1fr}.card{padding:1.1rem}.table-wrap{border-radius:12px}.email-route{grid-template-columns:1fr}.integration-status-grid,.settings-feature-grid{grid-template-columns:1fr}.context-control{flex:1 1 140px;min-width:0}.context-control select{width:100%;max-width:none}.topbar .user span{max-width:62vw}
}
@media(max-width:390px){
  .platform-brand-owner{max-width:230px;overflow:hidden;text-overflow:ellipsis}.public-hero{padding-inline:1rem}.public-hero h1{font-size:2.8rem}.auth-wrap form>button[type=submit],.content form>button[type=submit]{width:100%}.hero-actions .button{width:100%}.stats{grid-template-columns:1fr}.toolbar .button,.toolbar button,td button{width:auto}.auth-links .button,.auth-links button{width:100%}.contact-links a{align-items:flex-start;flex-direction:column}.contact-links strong{text-align:left}
}
@media(max-width:320px){
  .platform-brand-name{font-size:1.1rem}.platform-brand-owner{font-size:.46rem;max-width:210px}.public-hero h1{font-size:2.55rem}.content{padding-inline:.8rem}.sidebar{padding-inline:.8rem}.topbar{padding-inline:.8rem}
}
@media(prefers-reduced-motion:reduce){
  *,*::before,*::after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}
  .services-marquee-track{animation:none;display:block;width:auto;padding:0 1rem}.services-marquee-track span{white-space:normal;padding:0}.services-marquee-track span[aria-hidden=true]{display:none}.js .reveal{opacity:1;transform:none}.skeleton-line{animation:none}
}
@media print{.sidebar,.topbar,button,#call-panel,.whatsapp-support,.back-to-top,.site-header,.services-marquee{display:none!important}.layout{display:block}.content{padding:0}.card{box-shadow:none}.public-footer{padding:1rem}}


/* DrKTMed 2.3.0 — patient, practitioner-screening and medical-aid claims workflow */
.subform{margin:1rem 0 1.25rem;padding:1rem;border:1px solid var(--line);border-radius:14px;background:var(--surface-soft)}
.subform>legend{padding:0 .4rem;font-size:.78rem;font-weight:760;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}
.waiting-status{display:grid;grid-template-columns:auto minmax(0,1fr);gap:.85rem;align-items:start;padding:1rem 1.1rem;margin:1rem 0;border:1px solid var(--line);border-radius:14px;background:var(--surface-soft)}
.pulse-dot{width:.75rem;height:.75rem;margin-top:.35rem;border-radius:50%;background:var(--teal);box-shadow:0 0 0 .32rem color-mix(in srgb,var(--teal) 15%,transparent)}
.checklist{display:grid;gap:.6rem;padding:0;margin:1rem 0;list-style:none}.checklist li{display:flex;align-items:flex-start;gap:.65rem;padding:.65rem .75rem;border-bottom:1px solid var(--line)}.checklist li:last-child{border-bottom:0}.checklist strong{min-width:8.5rem;color:var(--ink)}
.claim-sections{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;margin-bottom:1.2rem}.claim-sections>.card{margin:0}.claim-dl{display:grid;grid-template-columns:minmax(8rem,.8fr) minmax(0,1.4fr);gap:.45rem .9rem;margin:0}.claim-dl dt{font-weight:720;color:var(--muted)}.claim-dl dd{margin:0;overflow-wrap:anywhere}.claim-dl .wide{grid-column:1/-1}
.consent-box{border-left:3px solid var(--teal)}.consent-statement{max-height:26rem;overflow:auto;padding:1rem;border:1px solid var(--line);border-radius:12px;background:var(--surface-soft);font-size:.9rem;line-height:1.65}
.workflow-list{display:grid;gap:.7rem;margin:1rem 0;padding:0;list-style:none;counter-reset:flow}.workflow-list li{position:relative;padding:.75rem .85rem .75rem 3rem;border:1px solid var(--line);border-radius:12px;background:var(--surface)}.workflow-list li::before{counter-increment:flow;content:counter(flow,decimal-leading-zero);position:absolute;left:.85rem;top:.72rem;color:var(--teal);font-weight:800;font-size:.74rem;letter-spacing:.08em}
.claim-status-line{display:flex;align-items:center;justify-content:space-between;gap:.75rem;flex-wrap:wrap}.claim-status-line .badge{flex:0 0 auto}
@media(max-width:820px){.claim-sections{grid-template-columns:1fr}.claim-dl{grid-template-columns:1fr}.claim-dl dt{margin-top:.45rem}.claim-dl dd{padding-bottom:.45rem;border-bottom:1px solid var(--line)}.checklist strong{min-width:0}.checklist li{display:grid;grid-template-columns:1fr}.waiting-status{grid-template-columns:auto minmax(0,1fr)}}
@media(max-width:390px){.subform{padding:.85rem}.consent-statement{padding:.8rem}.workflow-list li{padding-left:2.75rem}}
@media(prefers-reduced-motion:reduce){.pulse-dot{box-shadow:none}}
.practitioner-photo{width:64px;height:64px;display:block;object-fit:cover;object-position:center top;border-radius:18px;border:1px solid var(--border);background:var(--surface-soft)}

/* Practitioner onboarding and screening */
.application-progress{display:grid;gap:1rem}.application-progress-head{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem}.application-progress progress{width:100%;height:.75rem;accent-color:var(--teal)}
.application-checklist{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.55rem}.application-check{display:flex;align-items:flex-start;gap:.55rem;padding:.65rem .75rem;border:1px solid var(--border);border-radius:12px;background:var(--surface-soft)}.application-check.done{border-color:color-mix(in srgb,var(--teal) 42%,var(--border));background:color-mix(in srgb,var(--teal) 8%,var(--surface))}.application-check>span:first-child{font-weight:850;color:var(--teal-dark)}
.application-documents{display:grid;gap:1rem}.application-document{padding:1rem;border:1px solid var(--border);border-radius:16px;background:var(--surface)}.application-document.complete{background:color-mix(in srgb,var(--teal) 4%,var(--surface))}.application-document-head{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem}.application-document h3{margin:.05rem 0 .25rem}.required-mark,.optional-mark{font-size:.72rem;font-weight:800;text-transform:uppercase;letter-spacing:.05em;margin-left:.4rem}.required-mark{color:var(--teal-dark)}.optional-mark{color:var(--muted)}
.uploaded-files{display:grid;gap:.55rem;margin:.75rem 0}.uploaded-file{display:flex;justify-content:space-between;align-items:center;gap:.75rem;padding:.65rem .75rem;border:1px solid var(--border);border-radius:12px}.uploaded-file>div{min-width:0;display:grid;gap:.15rem}.uploaded-file strong{overflow-wrap:anywhere}.uploaded-file span{font-size:.85rem;color:var(--muted)}
.check-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.5rem}.check-option{display:flex;align-items:center;gap:.5rem;padding:.6rem .7rem;border:1px solid var(--border);border-radius:12px;background:var(--surface);cursor:pointer}.check-option input{width:1.05rem;height:1.05rem;flex:0 0 auto}.language-picker{margin-top:1rem}
.agreement-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.agreement-card{padding:1rem;border:1px solid var(--border);border-radius:16px;background:var(--surface-soft)}.agreement-card.complete{border-color:color-mix(in srgb,var(--teal) 42%,var(--border))}
.screening-card{display:grid;gap:1rem}.screening-evidence-list{display:grid;gap:.6rem}.screening-evidence{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.75rem;border:1px solid var(--border);border-radius:12px}.screening-evidence p{margin:.2rem 0 0;color:var(--muted);overflow-wrap:anywhere}.two-col.compact{align-items:start}
@media(max-width:820px){.application-checklist,.agreement-grid,.check-grid{grid-template-columns:1fr}.application-document-head,.uploaded-file,.screening-evidence,.application-progress-head{align-items:stretch;flex-direction:column}.screening-evidence .toolbar,.uploaded-file .button{width:100%}.uploaded-file .button{text-align:center}}

/* DrKTMed 2.5.1 policy editor */
.policy-editor [data-form="policy"] textarea{min-height:34rem;line-height:1.55;resize:vertical}.policy-draft-tools{display:flex;gap:1rem;align-items:center;justify-content:space-between;flex-wrap:wrap;margin-top:1rem}.policy-draft-tools .small{margin:0;max-width:52rem}

/* DrKTMed 2.5.2 regulatory compliance and telehealth check-in */
.compliance-review{max-width:1100px}.compliance-review form{margin-top:1rem}.compliance-review .field:has(input[type="checkbox"]){padding:.55rem 0;border-bottom:1px solid var(--border)}.compliance-review input[type="checkbox"]{min-width:1.25rem;min-height:1.25rem}.compliance-sources{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:.75rem;margin-top:1rem}.compliance-sources p{margin:0;padding:.85rem;border:1px solid var(--border);border-radius:12px}.compliance-certificate{border-width:2px}.telehealth-checkin{margin:1rem 0}.telehealth-checkin form{max-width:800px}.telehealth-checkin .field:has(input[type="checkbox"]){padding:.5rem 0}.policy-editor textarea{min-height:34rem;line-height:1.5}
@media(max-width:640px){.policy-editor textarea{min-height:28rem}.compliance-sources{grid-template-columns:1fr}}

/* DrKTMed cumulative correction: guided onboarding, document state and claims UX */
.application-stepper{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.65rem;margin:1rem 0 1.25rem}.application-step{display:flex;align-items:center;gap:.65rem;min-height:52px;padding:.7rem .8rem;border:1px solid var(--line);border-radius:14px;background:var(--surface);color:var(--ink-2);text-decoration:none}.application-step>span{display:grid;place-items:center;width:30px;height:30px;flex:0 0 30px;border-radius:50%;background:var(--surface-soft);font-size:.72rem;font-weight:850;color:var(--teal-dark)}.application-step b{font-size:.78rem;line-height:1.25}.application-step.done{border-color:rgba(16,145,147,.35)}.application-step.active{outline:2px solid var(--teal);outline-offset:1px;background:var(--surface-soft)}.application-nav{display:flex;justify-content:space-between;gap:1rem;margin:1rem 0 1.5rem}.status-line{display:block;margin-top:.35rem;color:var(--muted);font-size:.78rem}.current-file{border-left:3px solid var(--teal)}
.claim-line-editor{overflow:auto;margin:1rem 0}.claim-line-head,.claim-line{display:grid;grid-template-columns:minmax(110px,.7fr) minmax(230px,2fr) 76px minmax(105px,.7fr) minmax(100px,.7fr);gap:.5rem;align-items:center;min-width:760px}.claim-line-head{padding:.55rem .35rem;color:var(--muted);font-size:.72rem;font-weight:780;text-transform:uppercase}.claim-line{padding:.35rem 0;border-top:1px solid var(--line)}.claim-line input,.claim-line select{margin:0;min-height:42px}.claim-line output{padding:.65rem .5rem;text-align:right;font-variant-numeric:tabular-nums}.claim-total{text-align:right;padding:.8rem 0;font-size:1.05rem}.weight-guidance>.stats{margin:1rem 0}.weight-guidance details{border-top:1px solid var(--line);padding-top:.8rem}
@media(max-width:900px){.application-stepper{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:520px){.application-stepper{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:.35rem}.application-step{min-width:210px;scroll-snap-align:start}.application-nav{position:sticky;bottom:max(.5rem,env(safe-area-inset-bottom));z-index:20;padding:.65rem;background:color-mix(in srgb,var(--bg) 88%,transparent);backdrop-filter:blur(12px);border:1px solid var(--line);border-radius:16px}.application-nav .button{min-width:110px}.application-document{padding:1rem!important}.uploaded-file{gap:.75rem}.claim-line-editor{margin-inline:-.4rem}}
/* Integrated laboratory record: the same data remains legible on mobile. */
.lab-workspace { max-width: 1440px; margin: 0 auto; }
.lab-workspace .toolbar { flex-wrap: wrap; gap: .75rem; margin: 1rem 0; }
.lab-filter-grid,.lab-result-fields,.lab-config-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 1rem; }
.lab-workspace label { display: flex; flex-direction: column; gap: .4rem; }
.lab-workspace label:has(input[type=checkbox]) { flex-direction: row; align-items: flex-start; }
.lab-workspace input[type=checkbox] { flex: 0 0 auto; margin-top: .35rem; }
.lab-workspace .lab-error[hidden] { display: none; }
.lab-workspace fieldset { min-width: 0; }
.lab-entry-row { padding: 1.2rem; margin: 1rem 0; border: 1px solid #628487; border-radius: 14px; }
.lab-entry-row legend { font-weight: 700; padding: 0 .5rem; }
.lab-entry-row details { margin-top: 1rem; }
.lab-patient-banner { border-left: 5px solid #087b80; }
.lab-patient-match { padding: 1rem 0; border-bottom: 1px solid #839596; }
.lab-meta { display: grid; grid-template-columns: minmax(130px,1fr) 3fr; gap: .65rem 1rem; }
.lab-meta dt { font-weight: 650; }
.lab-meta dd { margin: 0; overflow-wrap: anywhere; }
.lab-flag { font-weight: 800; display: inline-block; white-space: normal; overflow-wrap: normal; word-break: normal; min-width: 5.5em; border: 1px solid currentColor; padding: .25rem .5rem; border-radius: 6px; font-size: .82rem; }
.lab-high,.lab-low { color: #9d3e00; background: #fff3dd; }
.lab-critical_high,.lab-critical_low { color: #990b21; background: #ffe6eb; }
.lab-normal { color: #05664f; background: #e3f6ed; }
.lab-unavailable { color: #414b55; background: #edf0f4; }
.lab-table { margin: 1.4rem 0; }
.lab-table small { display: block; margin-top: .35rem; font-size: .78rem; }
.lab-table td { vertical-align: top; }
.lab-table td:nth-child(3),.lab-table td:nth-child(4) { word-break: normal; overflow-wrap: normal; }
.lab-report-summary { margin-top: 1rem; }
.lab-config-list { list-style: none; padding: 0; }
.lab-config-list li { display: flex; justify-content: space-between; gap: 1rem; padding: .8rem 0; border-bottom: 1px solid #889a9c; }
.lab-config-list small { display: block; }
.lab-preview { border: 2px solid #087b80; }
.lab-preserve { white-space: pre-wrap; }
.lab-trend-figure { color: #007279; margin: 1rem 0; }
.lab-trend-figure svg { width: 100%; height: auto; overflow: visible; }
.lab-trend-figure text { fill: currentColor; font-size: 12px; }
@media(prefers-color-scheme:dark) { .lab-trend-figure { color: #8bdddf; } .lab-patient-banner,.lab-preview { border-color: #8bdddf; } }
@media(max-width:800px) {
 .lab-filter-grid,.lab-result-fields,.lab-config-grid { grid-template-columns: 1fr; }
 .lab-meta { grid-template-columns: 1fr; gap: .2rem; }
 .lab-meta dd { margin-bottom: .8rem; }
 .lab-table { overflow: visible; }
 .lab-table table,.lab-table tbody,.lab-table tr,.lab-table td { display: block; width: 100%; min-width: 0; box-sizing: border-box; }
 .lab-table thead { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); }
 .lab-table tr { border: 1px solid #668486; border-radius: 12px; margin-bottom: 1rem; overflow: hidden; }
 .lab-table td { padding: .65rem 1rem; overflow-wrap: anywhere; }
 .lab-table td::before { content: attr(data-label); display: block; font-size: .72rem; font-weight: 700; opacity: .75; margin-bottom: .15rem; }
 .lab-config-list li { flex-wrap: wrap; }
}

.patient-reference{overflow-wrap:anywhere;font-size:.8rem}

.evidence-dialog{width:min(1050px,94vw);max-width:1050px;max-height:92vh;overflow:auto;padding:22px;border:1px solid var(--line,#789);border-radius:16px;background:var(--surface,#fff);color:var(--ink,#142c30)}.evidence-dialog::backdrop{background:rgba(0,0,0,.7)}.evidence-dialog .toolbar{justify-content:space-between}.evidence-dialog h2{font-size:1.5rem;margin:0}.evidence-dialog .view-pdf{width:100%;height:65vh;background:#fff}.evidence-image{display:block;max-width:100%;height:auto;margin:auto}.core-identity{margin:0 0 24px;padding:16px;border:1px solid var(--line,#789);border-radius:12px}.core-identity legend{font-weight:700}

/* Per-person administration permissions */
.administrator-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr));gap:1rem;margin-bottom:1.5rem}
.administrator-card h2{font-size:1.25rem}.administrator-card p{overflow-wrap:anywhere}
.permission-table{margin:1rem 0}.permission-table td{overflow-wrap:normal;min-width:90px}
.permission-table .permission-module{min-width:180px;max-width:260px;font-weight:700}
.permission-toggle{display:flex;align-items:center;gap:.45rem;margin:0;white-space:nowrap;font-size:.8rem}
.permission-toggle input[type=checkbox]{width:22px;height:22px;min-height:22px;flex:0 0 22px;margin:0;accent-color:var(--primary,#0b7477)}
.evidence-history h3{overflow-wrap:anywhere;font-size:1.05rem}
@media(max-width:700px){
 .permission-table{border:0;overflow:visible;background:transparent}
 .permission-table table,.permission-table tbody{display:block;width:100%}
 .permission-table thead{display:none}
 .permission-table tr{display:flex;flex-wrap:wrap;border:1px solid var(--line);border-radius:12px;background:var(--surface);padding:.75rem;margin-bottom:.9rem;gap:.75rem}
 .permission-table td{display:block;box-sizing:border-box;min-width:0;width:calc(50% - .4rem);padding:0;border:0;max-width:none}
 .permission-table td.permission-module{width:100%;min-width:0;max-width:none;font-size:1rem;padding-bottom:.4rem}
 .permission-table td[data-action-label]::before{content:attr(data-action-label);display:block;font-size:.8rem;color:var(--muted);margin-bottom:.3rem;text-transform:capitalize}
 .permission-table td.permission-na{display:none}
 .permission-toggle{font-size:.85rem}
}

/* Practitioner and identity review flow */
.practitioner-tabs{display:flex;flex-wrap:wrap;gap:.6rem;margin:1.5rem 0}
.practitioner-tabs button{width:auto}
.practitioner-tabs [aria-current=page]{outline:3px solid var(--teal);outline-offset:2px}
.practitioner-details{margin-top:1.5rem;border-top:1px solid var(--line);padding-top:1rem}
.practitioner-details h4{margin:1.4rem 0 .7rem}
.evidence-dialog .evidence-decision{padding-top:1rem}
.evidence-dialog .evidence-decision form{max-width:none}
.evidence-history .toolbar,.evidence-decision .toolbar{flex-wrap:wrap}
@media(max-width:600px){.practitioner-tabs{display:grid;grid-template-columns:1fr}.practitioner-tabs button{width:100%}.screening-evidence{align-items:stretch;flex-direction:column}.screening-evidence button{width:100%}.evidence-dialog .toolbar{flex-wrap:wrap}.evidence-decision .toolbar button{width:100%}.claim-dl dd{overflow-wrap:anywhere}}

.evidence-dialog .toolbar:first-child{display:flex;flex-wrap:nowrap;align-items:flex-start;gap:.75rem}
.evidence-dialog [data-close-preview]{width:auto;flex:0 0 auto;padding:.6rem .9rem}
.evidence-dialog .evidence-decision details{margin:.5rem 0 1rem}
@media(max-width:600px){.evidence-dialog{padding:16px}.evidence-dialog h2{font-size:1.15rem}.evidence-dialog .view-pdf{height:38vh}.evidence-dialog .evidence-decision .toolbar{display:grid;grid-template-columns:1fr 1fr}.evidence-dialog .evidence-decision button:first-child{grid-column:1/-1}.evidence-dialog .evidence-decision button{font-size:.86rem;padding:.7rem .6rem}}
.evidence-dialog > .toolbar > button[data-close-preview]{width:auto;max-width:7rem;flex:0 0 auto}
.evidence-dialog > .toolbar > h2{flex:1;min-width:0;overflow-wrap:anywhere}

/* Purpose-based workspace navigation and full role labels. */
.sidebar .nav-section{margin:.35rem 0;border-bottom:1px solid var(--border,#728485);padding:0 0 .4rem}
.sidebar .nav-section summary{cursor:pointer;font-size:.95rem;font-weight:800;line-height:1.5;padding:.8rem .5rem;color:var(--text);letter-spacing:.02em}
.sidebar .nav-section summary::marker{color:var(--text)}
.sidebar .nav-section a{margin:.15rem 0 .15rem .5rem;line-height:1.4;white-space:normal}
.context-control{flex:0 0 auto;min-width:13rem}
.context-control select{min-width:13rem;width:100%;padding-right:2.7rem}
@media(max-width:700px){.topbar .context-controls{width:100%;display:grid;grid-template-columns:minmax(0,1fr);gap:.8rem}.topbar .workspace-label{width:100%;white-space:normal}.topbar .context-control{width:100%;min-width:0}.topbar .context-control select{min-width:0;width:100%;max-width:none;font-size:1rem}.sidebar .nav-section summary{font-size:1rem;padding:.7rem .5rem}.topbar .user{width:100%;justify-content:space-between}.topbar .user button[data-act=logout]{width:auto;flex:0 0 auto}}

#call-panel{max-height:calc(100dvh - 2rem);overflow:auto}#call-panel label{color:#e7f2f3}#call-panel select{color:#1d3033;background:#fff}

/* Email setup and delivery, 2.7.5 */
.mail-accounts{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,22rem),1fr));gap:1rem}
.mail-account h3,.mail-account p{overflow-wrap:anywhere}
.mail-actions{display:flex;flex-wrap:wrap;gap:.5rem}
.mail-cron{white-space:pre-wrap;overflow-wrap:anywhere;font-size:.9rem}
#setting-editor{scroll-margin-top:8rem}
#setting-editor h2{overflow-wrap:anywhere}
#mail-credentials{min-width:0;border:1px solid var(--line,#bcc7c6);border-radius:1rem;padding:1rem}
#mail-credentials[hidden]{display:none}

/* Saved settings and individual SMTP test results. */
[hidden]{display:none!important}
.config-summary{display:grid;grid-template-columns:minmax(6rem,1fr) minmax(0,2fr);gap:.4rem 1rem;margin:1rem 0}
.config-summary dt{font-weight:600;text-transform:capitalize}
.config-summary dd{margin:0;overflow-wrap:anywhere}
.mail-test-controls,.mail-test-result{border-top:1px solid var(--border,#b6c8c8);margin-top:1rem;padding-top:1rem}
.mail-test-result{overflow-wrap:anywhere}
.config-state{margin-bottom:.75rem}.config-cancel{margin-top:.75rem}
@media(max-width:450px){.config-summary{grid-template-columns:1fr;gap:.2rem}.config-summary dd{margin-bottom:.6rem}}

/* Traffic summaries remain readable on narrow screens and both themes. */
.traffic-chart{display:block;width:100%;height:auto;min-height:180px;color:var(--text);margin:1rem 0}.traffic-chart text{fill:currentColor;font-size:13px}.traffic-grid{stroke:currentColor;opacity:.15}.traffic-bar{fill:var(--accent,#127f80)}.traffic-stats .traffic-source-title{font-size:clamp(1.25rem,2.5vw,1.8rem);line-height:1.25}.traffic-source{margin:1.2rem 0}.traffic-source>div{display:flex;justify-content:space-between;gap:.75rem;flex-wrap:wrap}.traffic-source progress{width:100%;height:.8rem;accent-color:var(--accent,#127f80)}.traffic-source p{margin:.25rem 0}.traffic-stats .small{font-size:.9rem;line-height:1.5}

#setting-editor code,#setting-editor p,#whatsapp-setup p{overflow-wrap:anywhere}#setting-editor details{min-width:0}

/* Visible resend state remains disabled until the server-directed cooldown ends. */
button.resend-cooldown,button.resend-cooldown:hover{background:#dce2e3!important;border-color:#b8c4c6!important;color:#405458!important;opacity:1;cursor:not-allowed;box-shadow:none;}
@media(prefers-color-scheme:dark){button.resend-cooldown,button.resend-cooldown:hover{background:#39474a!important;border-color:#566467!important;color:#d5dfe0!important;}}
.verification-result .button{display:inline-flex;justify-content:center;align-items:center;min-height:48px;padding:12px 24px;border-radius:28px;background:#00686c;color:#fff;text-decoration:none;font-weight:700;}

/* Shared asynchronous action feedback without shifting button layout. */
button[aria-busy="true"]{cursor:progress;opacity:.7}
button[aria-busy="true"]::after{content:" …"}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto!important}*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}

/* 2.7.15: task-sized auth headings and single in-flow feedback. */
.auth-wrap h1{font-size:clamp(2rem,4vw,2.8rem);overflow-wrap:anywhere}
.auth-new-account{display:flex;align-items:center;gap:.8rem;flex-wrap:wrap;margin-top:1.2rem}
.form-error,.alternative-practitioners{scroll-margin-block:8rem 2rem}
select{appearance:none;-webkit-appearance:none;min-height:46px;padding-right:2.5rem;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 16 16'%3E%3Cpath d='m4 6 4 4 4-4' fill='none' stroke='%23617074' stroke-width='2'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right .8rem center;background-size:16px}
@media(forced-colors:active){select{appearance:auto;-webkit-appearance:auto;background-image:none}}

.exception-row{align-items:end;border-top:1px solid var(--line);padding-top:1rem;margin-top:1rem}#standby-windows{margin-top:1rem}#consult-timer{font-variant-numeric:tabular-nums;font-size:1.3rem;font-weight:700}

#standby-exceptions .exception-row{margin-bottom:1rem}button[data-action=remove-availability]{min-width:5.5rem;overflow-wrap:normal;word-break:normal}

/* Selected periods remain visible in both themes; summary is keyboard-operable. */
.traffic-period [aria-current=page]{background:var(--teal);color:white;outline:3px solid var(--teal);outline-offset:2px;font-weight:700}
.medical-aid-panel>summary{cursor:pointer;font-size:1.2rem;font-weight:700;padding:8px 0}
.medical-aid-panel[open]>summary{margin-bottom:16px}

/* Patient application reuses the existing account and care records. */
.patient-application-summary progress{display:block;width:100%;height:12px;margin:12px 0 20px;accent-color:var(--teal,#007a78)}
.patient-application-steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;padding:0;list-style:none}.patient-application-steps li{padding:14px;border:1px solid var(--line,#b9cbce);border-radius:12px}.patient-application-steps strong,.patient-application-steps span{display:block}.patient-application-steps span{font-size:.9rem;margin-top:6px}.patient-application-steps .is-complete{border-color:var(--teal,#007a78)}.patient-application-summary .actions{display:flex;flex-wrap:wrap;gap:12px}.patient-application-agreements{margin:24px 0}@media(max-width:640px){.patient-application-steps{grid-template-columns:1fr}}

.patient-application-summary .button:not(.secondary),.patient-application-details button[type=submit],.patient-application-agreements [data-act=accept-policy]{background:#00686c;color:#fff}.patient-application-details>summary{font-weight:700;cursor:pointer}

/* 2.7.22 workspace hierarchy, focus and long-content repairs */
.workspace .pagehead h1{font-size:clamp(1.65rem,2.8vw,2.25rem);line-height:1.18;letter-spacing:-.025em}
.workspace .pagehead{margin-bottom:1.5rem;align-items:flex-start}
.workspace .pagehead p{max-width:70ch;margin-top:.5rem}
.workspace .card{min-width:0;overflow-wrap:anywhere}
.workspace .card>h2{font-size:1.2rem;line-height:1.35}
.workspace .urgent-offers{border-inline-start:4px solid var(--teal);margin-bottom:1.5rem}
.workspace .urgent-offers a{font-weight:700}
.consultation-clock{font-size:1.35rem;font-weight:700;border-inline-start:4px solid var(--teal);padding:.65rem 1rem;background:var(--surface,#f0f7f6);border-radius:.4rem;margin-block:.75rem 1.25rem}
.completed-checkin>section{border:0;box-shadow:none;padding:.75rem 0 0;margin:0}
.weight-optional{margin-block:1rem;padding:.8rem;border:1px solid var(--border,#9aa);border-radius:.6rem}
.weight-optional summary{font-weight:650;cursor:pointer;min-height:2rem;line-height:1.5}
.weight-optional[open]>.form-grid{margin-top:1rem}
.preserve-lines{white-space:pre-wrap;overflow-wrap:anywhere}
.clinical-addendum{border-block-end:1px solid var(--border,#9aa);padding-block:1rem}
.identity-dialog{width:min(92vw,30rem);max-height:90dvh;overflow:auto;background:var(--surface,#fff);color:var(--ink,#18373a);border:1px solid var(--border,#9aa);border-radius:1rem;padding:1.5rem}
.identity-dialog::backdrop{background:rgba(8,25,27,.62)}
.identity-dialog input{width:100%;box-sizing:border-box}
.workspace a:focus-visible,.workspace button:focus-visible,.workspace summary:focus-visible{outline:3px solid var(--teal);outline-offset:3px}
@media(max-width:520px){.workspace .pagehead{display:block}.workspace .pagehead .toolbar{margin-top:1rem}.workspace .card{padding:1rem}.workspace select{max-width:100%}.consultation-clock{position:relative}.identity-dialog{padding:1.1rem}}

#call-panel.embedded-call{position:relative;inset:auto;width:100%;max-width:48rem;max-height:none;margin:1rem 0 1.5rem;box-sizing:border-box;z-index:1}#call-panel.embedded-call video{max-height:340px}#call-panel.embedded-call .local-video{max-height:90px}#call-panel.embedded-call button{min-height:44px!important;padding:.6rem .8rem!important}

/* Consultation communication, 2.7.24 */
#call-panel.call-minimized video,#call-panel.call-minimized label,#call-panel.call-minimized #capture-status,#call-panel.call-minimized #media-health{display:none}
#call-panel .call-controls{display:flex;gap:.3rem;flex-wrap:wrap}#call-panel button{min-height:44px!important}#call-panel .danger{margin-top:1rem;border:2px solid #e69494}#call-panel select{width:100%}#call-panel a{color:#e4ffff}.message-state{display:block;opacity:.85;margin-top:.4rem}
.photo-draft{display:grid;grid-template-columns:minmax(80px,140px) 1fr;gap:.75rem;margin:1rem 0}.photo-draft img{max-width:140px;width:100%;max-height:180px;object-fit:contain}.photo-draft textarea{min-width:0}.photo-dialog{width:min(850px,94vw);max-height:92dvh;overflow:auto;border:1px solid #647f83;border-radius:16px;padding:1.25rem;background:var(--surface,#fff);color:var(--text,#20353a)}.photo-dialog::backdrop{background:#061b22aa}.photo-dialog video{width:100%;max-height:60dvh;background:#102b30}.photo-dialog .toolbar{display:flex;flex-wrap:wrap;gap:.5rem}.photo-dialog button{min-height:44px}.chat-photo{display:block;padding:4px!important;margin-top:.5rem;max-width:260px}.chat-photo img{max-width:100%;max-height:200px;object-fit:contain}.image-pan{overflow:auto;max-height:65dvh;touch-action:pan-x pan-y}.image-pan img{display:block;width:100%;height:auto}.image-pan:focus-visible{outline:3px solid #087b87;outline-offset:3px}
@media(prefers-color-scheme:dark){.photo-dialog{background:#1d3033;color:#e7f2f3}}

/* Shared-account status: text and symbols accompany colour. */
.account-checks{margin:1rem 1.5rem 0;padding:.8rem 1rem;border:1px solid var(--border,#b7c9c6);border-radius:12px;background:var(--surface,#fff);color:var(--text,#153b35)}
.account-checks summary{cursor:pointer;font-weight:650;min-height:24px}
.account-checks ul{list-style:none;padding:0;display:grid;gap:.55rem}
.check-complete{color:#17623f}.check-pending{color:inherit}
@media(prefers-color-scheme:dark){.account-checks{background:#112a29;color:#e3efec;border-color:#42615c}.account-checks .check-complete{color:#8be0b1}}
@media(max-width:600px){.account-checks{margin:.7rem .7rem 0}}

/* Device-permission recovery follows the workspace theme and stays keyboard operable. */
.device-permissions{margin-block:1rem;padding:1rem;border-inline-start:4px solid var(--warning);background:var(--warning-bg);color:var(--ink);border-radius:var(--radius-sm);overflow-wrap:anywhere}
.device-permissions summary{cursor:pointer;min-height:44px;padding-block:.6rem;font-weight:650}
.device-permissions button,#room-device-preparation button,#prebooking-devices button{min-height:44px;margin:.35rem .35rem .35rem 0;white-space:normal}
[data-device-feedback]:empty{display:none}
/* Consultation journey: scoped to existing workflow components. */
.care-journey{display:flex;gap:.5rem;list-style:none;padding:0;margin:1rem 0;flex-wrap:wrap;font-size:.82rem}.care-journey li{display:flex;gap:.35rem;align-items:center;opacity:.7}.care-journey li[aria-current]{font-weight:700;opacity:1}.care-journey span{display:grid;place-items:center;border:1px solid currentColor;border-radius:50%;width:1.5rem;height:1.5rem}
.room-workspace{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(260px,1fr);gap:1rem;align-items:start}.room-call-area{position:sticky;top:5rem;min-width:0}.room-taskbar{display:flex;align-items:center;gap:.6rem;flex-wrap:wrap;margin:.6rem 0}.room-taskbar button{width:auto!important;min-height:44px}.room-chat{margin:0!important;min-width:0}.room-chat .chat{height:auto;min-height:4rem;max-height:42dvh;padding:.75rem}.chat-empty{margin:.25rem;font-size:.9rem;color:var(--text-muted)}.room-chat textarea{min-height:72px;max-height:150px}.room-chat h2{font-size:1.1rem;margin-bottom:.5rem}.room-chat form{margin-top:.6rem}.room-chat form button{min-height:44px}.completed-consent{padding:.8rem 1rem!important}.completed-consent .consent-panel{border:0;margin:0;padding:.75rem 0;box-shadow:none}.completed-consent summary,.room-secondary summary,.room-attachments summary,.waiting-sound summary{cursor:pointer;min-height:32px;font-weight:650}.rehearsal-label{padding:.55rem .75rem!important;margin:.5rem 0!important;font-size:.85rem}.consultation-clock{padding:.6rem .8rem!important;margin:.6rem 0!important;font-size:.95rem!important}.waiting-card{border-left:4px solid #397d82!important}.waiting-sound{max-width:38rem;padding:1rem}.waiting-sound label{display:block;margin:.6rem 0}.waiting-sound input[type=range]{width:100%}.waiting-sound button{width:auto!important;margin:.3rem .3rem .3rem 0}
.incoming-call{border:0;border-radius:20px;padding:0;width:min(440px,calc(100vw - 24px));max-height:calc(100dvh - 24px);overflow:auto;color:#fff;background:#0f292d;box-shadow:0 20px 80px #0007}.incoming-call::backdrop{background:#07191bd9}.incoming-call #call-panel{position:static!important;width:100%!important;max-height:none!important;margin:0!important;border:0!important;box-shadow:none!important;padding:1.3rem!important}.incoming-call h2{color:white}.incoming-call .call-controls{display:grid!important;grid-template-columns:1fr 1fr}.incoming-call button{width:100%!important;min-height:48px}
#call-panel.embedded-call{margin:.5rem 0!important;max-width:none;position:relative;max-height:68dvh;overflow:auto}#call-panel.embedded-call #remote-video{max-height:28dvh;min-height:140px;object-fit:contain}#call-panel .call-controls{display:flex;flex-wrap:wrap;gap:.35rem}#call-panel .call-controls button,#call-panel .call-controls a{width:auto!important;flex:1 1 80px;padding:.45rem .6rem;font-size:.85rem;margin:0;min-height:44px}#call-panel .call-controls .danger{margin:0}#call-panel .call-details{font-size:.82rem;margin-top:.5rem}#call-panel .call-details summary{cursor:pointer;min-height:36px;display:flex;align-items:center}#call-panel .call-details p{margin:.45rem 0}#call-panel .call-details label{margin:.5rem 0}#call-panel>p.small{font-size:.75rem;margin:.5rem 0}.room-attachments{margin-top:1rem!important}.room-attachments [data-photo-camera],.room-attachments [data-photo-gallery],.room-attachments [data-photo-files]{width:auto!important}
button:focus-visible,a:focus-visible,summary:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:3px solid #dc9b39;outline-offset:3px}
@media(max-width:760px){.room-workspace{grid-template-columns:1fr;gap:.7rem}.room-call-area{top:4rem;z-index:10;background:var(--bg);border-radius:12px}.care-journey{gap:.4rem;font-size:.7rem}.care-journey li{gap:.2rem}.care-journey span{width:1.2rem;height:1.2rem}.room-chat .chat{max-height:26dvh}.room-taskbar{margin:.3rem 0;gap:.5rem}.room-taskbar button,.room-taskbar a{font-size:.85rem}.room-call-area:has(#call-panel:not([hidden])) #room-media-controls{display:none}#call-panel.embedded-call{max-height:52dvh}#call-panel.embedded-call #remote-video{max-height:23dvh;min-height:100px}#call-panel .local-video{max-height:64px!important;max-width:85px!important}.room-chat,.room-attachments,.room-secondary{padding:1rem!important}body:has(.room-workspace) .back-to-top,body:has(.room-workspace) .whatsapp-support{display:none!important}}
@media(max-height:520px){.room-call-area{position:static}#call-panel.embedded-call{max-height:none}#call-panel.embedded-call #remote-video{max-height:35dvh}.incoming-call{max-height:calc(100dvh - 12px)}}

/* Task context stays compact while safety and account links remain reachable. */
body:has(.room-workspace) .account-checks{font-size:.8rem;padding:.35rem .7rem;margin-top:.4rem}
body:has(.room-workspace) .pagehead{margin-bottom:.5rem}
body:has(.room-workspace) .pagehead h1{font-size:1.5rem;margin:0}
body:has(.room-workspace) .pagehead p{margin:.25rem 0}
body:has(.room-workspace) .completed-consent{margin:.5rem 0!important;font-size:.85rem}
body:has(.room-workspace) #content>.notice.success{padding:.5rem .75rem;margin:.5rem 0;font-size:.85rem}
@media(max-width:760px){
 body:has(.room-workspace) .topbar{padding:.4rem 1rem;min-height:0;gap:.3rem}
 body:has(.room-workspace) .topbar .context-controls{display:none}
 body:has(.room-workspace) .topbar .user{width:100%;justify-content:space-between;font-size:.8rem}
 body:has(.room-workspace) .content{padding-top:.6rem}
 body:has(.room-workspace) .room-call-area{top:4.5rem}
 body:has(.room-workspace) #room-media-controls{display:flex;gap:.4rem}
 body:has(.room-workspace) #room-media-controls button{flex:1;width:auto;padding:.5rem;font-size:.85rem;min-height:44px}
 body:has(.room-workspace) .room-call-area:has(#call-panel:not([hidden])) .room-taskbar [data-room-chat],body:has(.room-workspace) .room-call-area:has(#call-panel:not([hidden])) .room-taskbar [data-room-attachments]{display:none}
 #call-panel.embedded-call{overflow:auto;scroll-padding-bottom:1rem}
}

#call-panel.embedded-call{scroll-margin-top:5rem}

.room-call-area:has(#call-panel:not([hidden])) #room-media-controls{display:none}

/* 2.7.30: stable consultation cards and a single clinical workspace. */
.consultation-list{display:grid;gap:.85rem}.consultation-card{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr) minmax(150px,.7fr);gap:1rem;align-items:start;margin:0!important;overflow-wrap:normal!important}.consultation-card h3{font-size:1.05rem;margin:.3rem 0}.consultation-card p{margin:.35rem 0}.consultation-reference{font-size:.8rem;overflow-wrap:anywhere}.consultation-state{font-weight:700}.consultation-actions{display:flex;flex-direction:column;align-items:stretch;gap:.55rem}.consultation-actions a,.consultation-actions button{white-space:normal;word-break:normal;overflow-wrap:normal;min-height:44px}.queue-columns{display:grid;grid-template-columns:1fr;gap:1.2rem}.queue-group h2{font-size:1.2rem}.queue-summary h2{font-size:1.3rem}.queue-offer{padding:.8rem 0;border-top:1px solid var(--line)}.queue-summary,.queue-group{margin-bottom:1rem}
.practitioner-workspace{grid-template-columns:minmax(250px,.8fr) minmax(350px,1.4fr)}.clinical-workspace{min-width:0;background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:1rem}.workspace-tabs{display:flex;gap:.3rem;flex-wrap:wrap;margin-bottom:1rem}.workspace-tabs button{flex:1 1 100px;width:auto;min-height:44px;font-size:.85rem;padding:.6rem;border:1px solid var(--line)}.workspace-tabs button[aria-selected=false]{background:var(--surface-soft);color:var(--ink)}.workspace-tabs button[aria-selected=true]{background:#00686c;color:#fff}.clinical-workspace [role=tabpanel][hidden]{display:none!important}.clinical-workspace h2{font-size:1.2rem}.clinical-summary-grid{display:grid;grid-template-columns:1fr 1fr;gap:.6rem}.clinical-summary-grid textarea{min-height:66px}.clinical-summary{border-bottom:1px solid var(--line);padding:.5rem 0;margin-bottom:1rem}.clinical-summary>summary{font-weight:700;min-height:44px;cursor:pointer}.clinical-workspace .form-grid{display:block}.clinical-workspace label{margin-bottom:.7rem}.examination-sections{padding:.8rem;border:1px solid var(--line);border-radius:8px;margin-block:1rem}.examination-sections [data-exam-row]{border-bottom:1px solid var(--line);padding:.6rem 0}.examination-sections .toolbar{align-items:end}.examination-sections .toolbar label{flex:1}.examination-sections button{width:auto;min-height:44px}.clinical-workspace [data-complaint-photos]{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:.75rem}.clinical-workspace .room-attachments{border:0;padding:0!important;box-shadow:none}.clinical-workspace .room-chat{border:0;padding:0!important;box-shadow:none}.clinical-workspace .chat{max-height:45dvh}.room-call-area{position:static}.room-workspace{overflow-anchor:none}.room-call-area:has(#call-panel:not([hidden])){position:sticky;top:5rem}.waiting-sound{max-width:none}.sound-options{display:flex;gap:1rem;flex-wrap:wrap}.sound-options label{display:flex;gap:.5rem;align-items:center}.sound-options input[type=checkbox]{width:auto}.sound-volume{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.waiting-card,.clinical-workspace,.consultation-card{overflow-anchor:none}
@media(max-width:850px){.practitioner-workspace{grid-template-columns:1fr}.consultation-card{grid-template-columns:1fr 1fr}.consultation-actions{grid-column:1/-1;flex-direction:row;flex-wrap:wrap}.consultation-actions a,.consultation-actions button{flex:1 1 160px}.room-call-area:has(#call-panel:not([hidden])){position:relative;top:auto}}
@media(max-width:520px){.consultation-card{grid-template-columns:1fr;gap:.6rem}.consultation-actions{grid-column:auto}.clinical-summary-grid{grid-template-columns:1fr}.clinical-workspace{padding:.8rem}.sound-volume{grid-template-columns:1fr;gap:0}.care-journey{font-size:.74rem}.workspace-tabs{gap:.25rem}.workspace-tabs button{flex-basis:85px}}
/* Outlined secondary actions must beat the base :not() button selector. */
.secure-site button.secondary[data-act],.secure-site .clinical-workspace button.secondary{background:transparent;color:var(--ink);border-color:var(--line-strong);box-shadow:none}
.secure-site .clinical-workspace .workspace-tabs button[aria-selected=false]{background:var(--surface-soft);color:var(--ink);border-color:var(--line-strong)}
.secure-site .clinical-workspace .workspace-tabs button[aria-selected=true]{background:#00686c;color:#fff;border-color:#00686c}
.secure-site button[hidden]{display:none!important}
body:has(.room-workspace),body:has(.waiting-card){scroll-behavior:auto}
html:has(.room-workspace),html:has(.waiting-card){scroll-behavior:auto}

/* Consultation workspace: compact controls and persistent care time. */
.consultation-status-bar{position:sticky;top:76px;z-index:35;display:flex;align-items:center;justify-content:space-between;gap:.7rem;padding:.65rem .9rem;margin:.7rem 0;border:1px solid var(--line);border-radius:12px;background:var(--surface);box-shadow:0 4px 16px #0001}
.consultation-status-bar .consultation-clock{margin:0!important;padding:0!important;border:0;background:transparent;font-size:1.35rem!important;font-variant-numeric:tabular-nums;color:var(--ink)}
.consultation-status-bar .time-low{color:#b34d00}
.consultation-status-actions{display:flex;align-items:center;gap:.7rem;flex-wrap:wrap;justify-content:flex-end}
.consultation-status-actions button{width:auto!important;min-height:44px;padding:.5rem .8rem;font-size:.9rem}
.voice-alert-control{display:flex;align-items:center;gap:.35rem;font-size:.8rem;margin:0;white-space:nowrap}
.voice-alert-control input{width:auto;margin:0}
#consult-time-warning{font-size:.82rem;margin:.25rem 0 0;color:var(--ink)}
body:has(.room-workspace) .account-checks{display:none}
body:has(.room-workspace) .care-journey{font-size:.75rem;margin:.5rem 0}
.room-workspace button,.room-attachments button,.photo-dialog button{width:auto!important;min-height:44px;border-radius:8px;padding:.5rem .75rem;font-size:.88rem}
#call-panel .call-controls{display:flex;gap:.4rem;flex-wrap:wrap}
#call-panel .call-controls button,#call-panel .call-controls a{flex:0 1 auto!important;min-width:58px;min-height:44px;padding:.45rem .6rem!important;font-size:.8rem!important;border-radius:8px}
#call-panel .call-controls #call-end{margin-left:auto!important}
.room-call-area:has(#call-panel:not([hidden])){top:155px}
.room-call-area:has(#call-panel:not([hidden])) .room-taskbar [data-room-chat],.room-call-area:has(#call-panel:not([hidden])) .room-taskbar [data-room-attachments]{display:none}
.room-taskbar{font-size:.85rem}
.room-attachments>.attachment-menu .toolbar{gap:.4rem}
.photo-dialog{max-width:min(520px,calc(100vw - 24px))}
.photo-dialog video{max-height:48dvh;object-fit:contain}
.photo-dialog .toolbar{display:flex;gap:.5rem;flex-wrap:wrap}
.photo-draft{gap:.5rem!important}
.photo-draft button{padding:.4rem .65rem!important;font-size:.82rem!important}
button:active,.button:active{transform:translateY(1px);filter:brightness(.9)}
button[aria-busy=true]{opacity:.7;cursor:progress}
button[aria-busy=true]::after{content:' …'}
.history-choice{min-width:0}
.allergy-types{border:1px solid var(--line);padding:.6rem;border-radius:8px;display:flex;flex-wrap:wrap;gap:.35rem .8rem}
.allergy-types label{display:flex;align-items:center;gap:.35rem;font-size:.85rem;margin:.2rem 0}
.allergy-types input{width:auto;margin:0}
.icd-picker{padding:.7rem;border:1px solid var(--line);border-radius:10px;margin:1rem 0}
.icd-picker [data-icd-results]{max-height:260px;overflow:auto}
.icd-picker .icd-result{display:block;text-align:left;width:100%!important;min-height:44px;background:var(--surface-soft);color:var(--ink);border:1px solid var(--line);margin:.3rem 0;white-space:normal;line-height:1.4}
.icd-picker .icd-result:disabled{opacity:.6;cursor:not-allowed}
.icd-selected{display:flex;align-items:center;justify-content:space-between;gap:.5rem;padding:.5rem 0;border-bottom:1px solid var(--line);font-size:.88rem}
.icd-selected button{flex-shrink:0}
@media(max-width:760px){
 .consultation-status-bar{top:58px;padding:.55rem .65rem;gap:.4rem;flex-wrap:wrap}
 .consultation-status-bar .consultation-clock{font-size:1.15rem!important}
 .consultation-status-actions{gap:.5rem}
 .room-call-area:has(#call-panel:not([hidden])){position:static}
 #call-panel.embedded-call{max-height:none}
 #call-panel .call-controls{gap:.3rem}
 #call-panel .call-controls button,#call-panel .call-controls a{min-width:54px;padding:.4rem .5rem!important;font-size:.78rem!important}
 .clinical-workspace{padding:.7rem}
 .workspace-tabs{gap:.25rem;margin-bottom:.7rem;flex-wrap:nowrap}
 .workspace-tabs button{min-width:0;flex:1;padding:.4rem;font-size:.78rem;white-space:normal}
 .clinical-summary-grid{grid-template-columns:1fr}
 .room-chat .chat{max-height:38dvh}
 .photo-draft{grid-template-columns:minmax(90px,1fr) minmax(100px,1fr)}
 .voice-alert-control{font-size:.75rem}
}
@media(min-width:851px){.clinical-workspace>[role=tabpanel]{max-height:66dvh;min-height:20rem;overflow:auto;scrollbar-gutter:stable;padding-right:.6rem;overscroll-behavior:contain}.clinical-workspace form>.form-error{position:relative}.clinical-workspace form>button[type=submit]{position:sticky;bottom:0;box-shadow:0 0 0 5px var(--surface)}.practitioner-workspace .room-call-area{position:sticky;top:5rem}}

/* Connection presence is separate from accepting patients. Colour never stands alone. */
.practitioner-connection{display:inline-flex;align-items:center;gap:.45rem;font-size:.9rem;font-weight:650}.presence-dot{width:.7rem;height:.7rem;border-radius:50%;background:currentColor;flex:none}.practitioner-connection.is-online{color:#167243}.practitioner-connection.is-offline{color:#b3333b}.practitioner-connection.is-unknown{color:var(--muted)}
.message-state.is-grey{color:#647078}.message-state.is-seen{color:#086bb5}.message-state span{font-size:1.05em;letter-spacing:-.12em;margin-inline-end:.3rem}.call-diagnostics{white-space:pre-wrap;overflow-wrap:anywhere;max-height:22rem;overflow:auto;font-size:.75rem;background:var(--bg);padding:.7rem;border-radius:.6rem}.photo-draft progress{max-width:100%;width:100%}
@media(prefers-color-scheme:dark){.practitioner-connection.is-online{color:#6de3a3}.practitioner-connection.is-offline{color:#ff979e}.message-state.is-grey{color:#b4bdc3}.message-state.is-seen{color:#71c5ff}}
.message-state.is-grey,.message-state.is-seen{opacity:1}
#call-panel #call-mode{min-height:44px}#call-panel #call-reconnect:not([hidden]){display:block;width:100%;margin:.6rem 0}

/* Final scoped overrides keep the consultation header clear of the navigation. */
.consultation-status-bar{top:var(--consult-header-height,76px)}
.room-workspace:not(:has(#call-panel:not([hidden]))){grid-template-columns:1fr}
.room-workspace:not(:has(#call-panel:not([hidden]))) .room-call-area{position:static;display:flex;gap:1rem;align-items:center;flex-wrap:wrap}
.room-workspace:not(:has(#call-panel:not([hidden]))) #room-presence{margin:0}
body:has(.room-workspace) .room-workspace button,body:has(.room-workspace) .room-attachments button,.photo-dialog button{border-radius:8px!important}
body:has(.room-workspace) .clinical-workspace .workspace-tabs button{padding:.5rem .75rem!important;font-size:.85rem}
body:has(.room-workspace) #content>.notice.success{padding:.35rem .7rem!important;font-size:.8rem}
@media(min-width:851px){.clinical-workspace form>button[type=submit]{position:static;box-shadow:none}.clinical-workspace>[role=tabpanel]{max-height:68dvh}}

@media(prefers-color-scheme:dark){.consultation-status-bar .time-low{color:#ffbd6b}}

/* 2.7.33 — compact discovery, clear account access and structured profiles. */
.header-account{display:flex;align-items:center;justify-content:flex-end;gap:.5rem;font-size:.85rem;font-weight:700;white-space:nowrap}
.header-account a{padding:.65rem .15rem;text-decoration:none;color:var(--ink)}
.header-account a:hover{text-decoration:underline}
.compact-doctors .doctor-preview{padding:1.15rem;display:flex;flex-direction:column;border-radius:18px;gap:.75rem}
.doctor-identity{display:flex;gap:.85rem;align-items:center;min-height:64px}
.doctor-identity>div:last-child{min-width:0}
.compact-doctors .doctor-identity h3{font-size:1.15rem;line-height:1.3;margin:0 0 .2rem;overflow-wrap:anywhere}
.compact-doctors .doctor-identity p{font-size:.82rem;margin:0;color:var(--muted)}
.compact-doctors .practitioner-photo,.compact-doctors .practitioner-initial{width:64px;height:64px;min-width:64px;border-radius:14px;object-fit:cover}
.compact-doctors .doctor-rating,.compact-doctors .doctor-languages{font-size:.85rem;line-height:1.5;margin:0}
.doctor-rating>span:first-child{color:var(--teal-dark)}
.compact-doctors .doctor-slot{font-size:.9rem;font-weight:650;line-height:1.45;margin:0;display:block}
.doctor-slot .status-dot{display:inline-block;width:8px;height:8px;margin-right:.45rem}
.doctor-slot small{display:block;font-size:.7rem;font-weight:400;color:var(--muted);margin:.25rem 0 0 1rem}
.compact-doctors .express-label{font-size:.78rem;color:var(--teal-dark);margin:0}
.compact-doctors .doctor-book{font-size:.85rem;min-height:44px;padding:.55rem .85rem;width:auto;align-self:stretch;margin-top:auto}
.doctor-biography{font-size:.85rem;line-height:1.55}
.doctor-biography summary{font-weight:650;cursor:pointer;min-height:40px;padding:.6rem 0}
.compact-doctors .doctor-biography p{font-size:.85rem;margin:.5rem 0}
.directory-search{display:block;max-width:38rem;margin:0 0 1.3rem;font-weight:650;font-size:.9rem}
.directory-search input{display:block;width:100%;margin-top:.4rem;min-height:46px}
.directory-more{margin:-1.5rem auto 2rem;text-align:center;padding:0 1rem}
.public-site .directory-more .button{width:auto;min-height:44px;font-size:.9rem}
.founder-media{padding-top:1rem;padding-bottom:2rem}
.founder-media h2{font-size:clamp(1.7rem,4vw,2.4rem)}
.media-marquee{position:relative;display:flex;align-items:center;gap:.5rem;border-block:1px solid var(--line);padding:1rem 0}
.media-marquee-window{overflow:hidden;flex:1;min-width:0}
.media-marquee-track{display:flex;width:max-content;animation:media-scroll 38s linear infinite}
.media-marquee-group{display:flex;gap:1.2rem;padding-right:1.2rem}
.media-logo{margin:0;width:180px;flex:0 0 180px;text-align:center}
.media-logo>div{height:82px;display:flex;align-items:center;justify-content:center;background:#fff;border-radius:10px;padding:12px}
.media-logo img{display:block;max-width:155px;max-height:58px;width:auto;height:auto;object-fit:contain}
.media-logo figcaption{font-size:.72rem;line-height:1.4;margin:.5rem 0 0}
.media-logo figcaption strong,.media-logo figcaption span{display:block}
.media-logo figcaption span{color:var(--muted);min-height:2.8em}
.media-marquee.is-paused .media-marquee-track{animation-play-state:paused}
.media-marquee .marquee-toggle{flex:0 0 40px;width:40px;height:44px;background:var(--surface);color:var(--ink);border:1px solid var(--line);border-radius:8px}
@keyframes media-scroll{to{transform:translateX(-50%)}}
.universities{padding:1rem;margin:1rem 0;border:1px solid var(--line);border-radius:12px}
.university-row{display:flex;align-items:flex-end;gap:.6rem;margin-bottom:.6rem}
.university-row label{flex:1;min-width:0;margin:0}
.university-row input{width:100%}
.university-row button,.universities>button{width:auto!important;min-height:44px!important;padding:.55rem .8rem!important;font-size:.82rem!important;white-space:nowrap}
.typing-status{min-height:1.3em;font-size:.8rem;color:var(--muted);margin:.3rem 0}
@media(max-width:1100px){
 .site-header-inner{grid-template-columns:minmax(0,1fr) auto auto;gap:.6rem}
 .site-header-inner .menu-toggle{order:3}
 .header-account{order:2}
}
@media(max-width:600px){
 .site-header-inner{padding-inline:.85rem;gap:.45rem}
 .header-account{font-size:.75rem;gap:.3rem}
 .site-header-inner .platform-brand-owner{max-width:145px;font-size:.43rem;letter-spacing:.04em;white-space:normal}
 .site-header-inner .platform-brand-name{font-size:1.13rem}
 .site-header-inner .menu-toggle{width:38px}
 .compact-doctors{gap:.8rem}
 .compact-doctors .doctor-preview{padding:1rem}
 .doctor-section .section-heading h2{font-size:2rem}
 .public-site .founder-media{padding-inline:1rem}
}
@media(prefers-reduced-motion:reduce){
 .media-marquee-track{animation:none;transform:none;width:auto}
 .media-marquee-window{overflow:auto}
 .media-marquee-group[aria-hidden=true]{display:none}
}
.evidence-capture{margin:.5rem 0 1rem}
.evidence-capture .toolbar button,.evidence-camera-dialog button,[data-camera-controls] button{width:auto!important;min-height:44px!important;font-size:.85rem!important;padding:.55rem .85rem!important}
[data-evidence-preview] img{display:block;max-width:100%;max-height:260px;object-fit:contain;border:1px solid var(--line);border-radius:10px}
[data-capture-previews]{display:flex;gap:.5rem;flex-wrap:wrap}
[data-capture-previews] img{max-width:46%;max-height:170px;object-fit:contain}
[data-camera-controls]{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem;margin:.6rem 0}
[data-camera-controls] label{flex:1;min-width:130px;margin:0;font-size:.85rem}
[data-camera-controls] p{width:100%;margin:.25rem 0;font-size:.75rem}
.evidence-camera-dialog video{max-height:42vh!important;object-fit:contain}
.identity-hold{font-size:.8rem;padding:.65rem .85rem}

/* Keep invitation headings readable inside the dark call surface. */
#call-panel h2{font-size:1.15rem;line-height:1.3;color:#fff;margin:0 0 .65rem;letter-spacing:normal}

/* Public footer: accessible legal navigation, aligned desktop and mobile groups. */
.public-footer{display:grid;grid-template-columns:minmax(220px,2fr) repeat(3,minmax(150px,1fr));gap:28px;align-items:start;padding:40px max(24px,calc((100vw - 1200px)/2));background:#ffffff;color:#253234;border-top:1px solid #dde5e5}.public-footer h3{font-size:1rem;margin:0 0 12px}.public-footer nav{display:flex;flex-direction:column;gap:4px}.public-footer a{display:inline-flex;align-items:center;min-height:44px;text-decoration:none;color:#006e75}.public-footer a:hover{text-decoration:underline}.public-footer a:focus-visible{outline:3px solid #008e97;outline-offset:3px}.public-footer .footer-brand-block{min-width:0}.public-footer .social-links{flex-wrap:wrap}@media(max-width:800px){.public-footer{grid-template-columns:1fr 1fr}}@media(max-width:480px){.public-footer{grid-template-columns:1fr;gap:20px}}

/* Message alerts remain outside the media panel; no message content is exposed. */
.chat-alert{position:fixed;right:16px;bottom:14px;z-index:92;display:flex;flex-wrap:wrap;gap:6px;align-items:center;max-width:min(420px,calc(100vw - 24px));padding:8px;background:#fff;border:1px solid #c8d9db;border-radius:12px;box-shadow:0 4px 20px #0002}
.chat-alert[hidden]{display:none}.chat-alert button{min-height:38px;padding:8px 12px}.chat-alert [data-chat-announcement]{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}#chat{overflow-anchor:none}.chat-alert~*{scroll-margin-bottom:85px}
@media(max-width:600px){.chat-alert{right:8px;bottom:8px;font-size:.85rem;max-width:calc(100vw - 16px)}}


/* 2.7.42: system-only colour tokens, including native form and menu controls. */
input,select,textarea { color:var(--ink); background-color:var(--surface); border-color:var(--line-strong); }
option { color:var(--ink); background-color:var(--surface); }
.menu-toggle,.workspace-menu-toggle { color:var(--ink); background-color:var(--surface); border:1px solid var(--line-strong); padding:8px; flex-shrink:0; }
.menu-toggle svg,.workspace-menu-toggle svg { width:24px; height:24px; stroke:currentColor; fill:none; stroke-width:2; }
@media(prefers-reduced-motion:reduce) { body { transition:none; } }
/* Institution combobox uses the existing profile form's save and review workflow. */
.universities { margin-block:1rem; min-inline-size:0; }
.university-chip { display:grid; grid-template-columns:minmax(0,1fr) auto auto; gap:.5rem; align-items:center; border:1px solid var(--line-strong); border-radius:12px; padding:.65rem; margin-bottom:.65rem; background:var(--surface-soft); }
.university-chip>div { overflow-wrap:anywhere; }
.university-chip small { display:block; margin-top:.25rem; }
.university-chip button { min-width:44px; width:auto!important; padding:.5rem!important; }
.university-saved { color:var(--success); }
.university-suggestions { position:relative; z-index:30; list-style:none; margin:.25rem 0; padding:.35rem; max-height:min(240px,35dvh); overflow-y:auto; overscroll-behavior:contain; background:var(--surface); color:var(--ink); border:1px solid var(--line-strong); border-radius:12px; box-shadow:var(--shadow-md); }
.university-suggestions li { padding:.7rem; min-height:44px; cursor:pointer; overflow-wrap:anywhere; border-radius:8px; }
.university-suggestions li:hover,.university-suggestions [aria-selected=true] { background:var(--surface-strong); outline:2px solid var(--focus); outline-offset:-2px; }
.university-manual summary { min-height:44px; padding-block:.6rem; cursor:pointer; }
.university-manual label { margin-top:.75rem; }
.university-manual button { margin:.75rem .4rem 0 0; width:auto!important; }
[data-university-save-state].error { color:var(--danger); }

.declaration-card details>summary,.identity-more>summary { cursor:pointer; min-height:44px; padding-block:.6rem; }
.declaration-text { max-height:160px; overflow-y:auto; overscroll-behavior:contain; padding:.75rem; margin-block:.5rem; border:1px solid var(--line-strong); border-radius:10px; background:var(--surface-soft); white-space:pre-wrap; }
.identity-status { margin:.6rem 0 1rem; overflow-wrap:anywhere; }
.identity-status.is-verified { color:var(--success); }
.identity-more { min-width:0; }
.evidence-history .toolbar { align-items:flex-start; }


/* 2.7.43: text branding, bounded password toggle and comfortable auth gutters. */
.platform-brand { min-width:0; }
.platform-brand-owner { white-space:normal; overflow:visible; text-overflow:clip; }
.auth-wrap { margin-block:clamp(1.25rem,5svh,3rem); padding-inline:clamp(16px,4vw,24px); padding-bottom:calc(24px + env(safe-area-inset-bottom)); }
.auth-wrap>.platform-brand { margin-bottom:1.5rem; }
.auth-wrap>.card { padding:clamp(16px,4vw,28px); }
.password-control>button.password-toggle { width:auto; max-width:7rem; white-space:nowrap; }

/* 2.7.44 account and reference screens: summaries first, details on request. */
.account-card-heading { display:flex; flex-wrap:wrap; gap:.5rem 1rem; align-items:baseline; justify-content:space-between; }
.account-card-heading h2 { margin:0; }
.saved-preference { color:var(--teal-2); font-size:.8rem; white-space:nowrap; }
.contact-number { font-size:1.1rem; font-weight:650; margin:.6rem 0 .25rem; overflow-wrap:anywhere; }
.contact-editor>summary,.account-disclosure>summary,.browser-group>summary,.saved-wording>summary,.wording-editor>summary,.agreement-evidence>summary { min-height:44px; cursor:pointer; align-items:center; gap:.5rem; }
.account-disclosure>summary,.browser-group>summary,.saved-wording>summary { display:flex; justify-content:space-between; list-style:none; }
.account-disclosure>summary::after,.browser-group>summary::after,.saved-wording>summary::after { content:'+'; flex:none; margin-left:auto; }
.account-disclosure[open]>summary::after,.browser-group[open]>summary::after,.saved-wording[open]>summary::after { content:'−'; }
.account-disclosure>summary span:last-of-type:not(:first-child),.saved-wording>summary small { color:var(--muted); font-weight:400; font-size:.8rem; }
.account-disclosure>summary::-webkit-details-marker,.browser-group>summary::-webkit-details-marker,.saved-wording>summary::-webkit-details-marker { display:none; }
.account-disclosure[open]>summary,.contact-editor[open]>summary,.saved-wording[open]>summary { margin-bottom:.75rem; }
.account-disclosure .form-box { max-width:100%; }
.account-legal-links { display:flex; flex-wrap:wrap; gap:.5rem 1.25rem; }
.account-legal-links a { display:inline-flex; align-items:center; min-height:44px; }
.browser-group { border-top:1px solid var(--line); padding:.5rem 0; }
.browser-group summary small { display:block; font-size:.75rem; color:var(--muted); }
.sign-in-records { list-style:none; padding:0; margin:0; }
.sign-in-records li { display:flex; flex-wrap:wrap; justify-content:space-between; align-items:center; gap:.5rem; padding:.75rem 0; border-top:1px solid var(--line); }
.sign-in-records li div { flex:1 1 150px; min-width:0; }
.sign-in-records li span,.sign-in-records li small { display:block; color:var(--muted); font-size:.8rem; }
.sign-in-records button { width:auto; flex:none; min-height:44px; }
.sign-in-history .browser-group:last-child { padding-bottom:0; }
.saved-wording textarea { min-height:110px; max-height:160px; resize:vertical; }
.saved-wording .toolbar { margin-top:.6rem; }
.agreement-evidence { padding:.75rem 0; border-top:1px solid var(--line); }
.agreement-record>summary { flex-wrap:wrap; }
.security-settings .account-disclosure { margin-bottom:1rem; }
.account-disclosure { padding:12px 16px; margin-block:12px; }
.account-disclosure>summary,.browser-group>summary,.saved-wording>summary { display:grid; grid-template-columns:minmax(0,1fr) auto auto; }
.account-disclosure>summary>span:last-child,.browser-group>summary>span:last-child,.saved-wording>summary>small { white-space:nowrap; font-size:.8rem; color:var(--muted); font-weight:400; }
.account-disclosure>summary>span:first-child { min-width:0; white-space:normal; }

/* Focused patient-administration and audit actions. */
.governance-filters {display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,180px),1fr));gap:.75rem}
[data-governance="search"] {max-width:100%;padding:1rem;border:1px solid var(--line);border-radius:1rem;margin-bottom:1rem}
[data-governance="search"] details {margin:.5rem 0 1rem}
[data-governance="search"] input[name="reference"] {text-transform:uppercase}
.passkey-legacy {font-size:.85rem;margin:.75rem 0}
.passkey-legacy summary {cursor:pointer;min-height:44px;display:flex;align-items:center}
#patient-form {scroll-margin-top:calc(var(--workspace-header-height,80px) + 1rem)}
[data-act="patient-nudge"],[data-act="test-account-preview"] {white-space:normal;max-width:100%}

/* Practitioner onboarding usability — 2026-10-23. Scoped to this workflow. */
.practitioner-onboarding{max-width:1100px;margin-inline:auto}
.practitioner-progress{display:grid;grid-template-columns:1fr auto;gap:.5rem;align-items:center;margin-bottom:.75rem}
.practitioner-progress h1{font-size:clamp(1.2rem,3vw,1.7rem);margin:0}
.practitioner-progress progress{grid-column:1/-1;width:100%;height:.45rem;accent-color:var(--teal)}
.practitioner-onboarding .application-stepper{display:flex;overflow-x:auto;gap:.4rem;margin:.5rem 0 .8rem;padding:.2rem .15rem .5rem;scroll-snap-type:x proximity}
.practitioner-onboarding .application-step{flex:0 0 auto;min-width:0;min-height:44px;padding:.45rem .65rem}
.practitioner-onboarding .application-step:not(.active) b{display:none}
.practitioner-onboarding .application-step.active b{max-width:160px}
.practitioner-onboarding .application-documents{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.7rem}
.practitioner-onboarding .application-document{min-width:0;padding:.9rem!important}
.practitioner-onboarding .application-document [data-upload-feedback]:empty{display:none}
.practitioner-onboarding .application-document [data-upload-feedback]{color:var(--teal-dark);font-size:.85rem;margin:0 0 .5rem}
.practitioner-onboarding .application-document h3{font-size:1rem}
.practitioner-onboarding .application-document p{margin:.35rem 0}
.practitioner-onboarding .application-document input[type=file]{max-width:100%}
.practitioner-onboarding .uploaded-file{overflow-wrap:anywhere;flex-wrap:wrap}
.practitioner-onboarding .form-box{max-width:none}
.practitioner-onboarding textarea{min-height:90px}
.practitioner-optional{margin:.7rem 0;border-top:1px solid var(--line);padding-top:.7rem}
.practitioner-optional summary{cursor:pointer;min-height:40px}
.practitioner-agreement{padding:1rem;min-width:0;margin:0 0 .75rem}
.practitioner-agreement h3{margin-top:0;font-size:1.05rem}
.practitioner-policy-dialog{width:min(720px,94vw);max-height:85dvh;border:1px solid var(--line);border-radius:16px;padding:1.2rem;background:var(--surface);color:var(--ink);overflow:auto}
.practitioner-policy-dialog::backdrop{background:#0008}
.practitioner-policy-dialog header{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem}
.practitioner-policy-dialog .prose{white-space:pre-wrap;overflow-wrap:anywhere}
.practitioner-status .actions{display:flex;flex-wrap:wrap;gap:.6rem}
@media(max-width:620px){.practitioner-onboarding .application-documents,.practitioner-onboarding .agreement-grid{grid-template-columns:1fr}.practitioner-progress{grid-template-columns:1fr}.practitioner-onboarding .application-step{gap:.3rem}.practitioner-onboarding .application-step>span{width:25px;height:25px;flex-basis:25px}}

/* Laboratory history keeps the test label visible while dates scroll on phones. */
.lab-matrix-scroll { max-width:100%; overflow:auto; margin-block:1rem; }
.lab-matrix { width:100%; border-collapse:separate; border-spacing:0; font-variant-numeric:tabular-nums; }
.lab-matrix caption { text-align:start; padding:.6rem 0; font-weight:650; }
.lab-matrix th,.lab-matrix td { padding:.7rem; text-align:start; vertical-align:top; border-bottom:1px solid var(--line,currentColor); }
.lab-matrix thead th { background:var(--surface-soft); }
.lab-matrix tr > th:first-child { position:sticky; left:0; z-index:1; min-width:8rem; max-width:14rem; background:var(--surface); }
.lab-matrix .lab-reading { min-width:8rem; }
.lab-matrix .lab-reading + .lab-reading { margin-top:.6rem; padding-top:.4rem; border-top:1px dotted currentColor; }
.lab-matrix small,.lab-incoming small { display:block; color:var(--muted); overflow-wrap:anywhere; }
.lab-incoming { list-style:none; padding:0; }
.lab-incoming li { display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:.7rem; padding:.7rem 0; }

.lab-matrix .lab-mobile-limits { display:none; }
.lab-matrix details summary { cursor:pointer; font-size:.85rem; color:var(--teal); }
@media(max-width:640px){
  .lab-matrix .lab-bound { display:none; }
  .lab-matrix .lab-mobile-limits { display:block; }
  .lab-matrix tr > th:first-child { min-width:7rem; max-width:9.5rem; }
}

.clinical-note-layout,.clinical-note-layout>[data-r22-editor]{min-width:0}
.clinical-reference{margin-block:1rem;min-width:0}
.clinical-reference details{padding:.85rem;border:1px solid currentColor;border-radius:.65rem}
.clinical-reference summary{cursor:pointer;font-weight:650}
.clinical-reference-table{overflow-x:auto}
.clinical-reference-table small{display:block}
.clinical-reference section{margin-block:.75rem}
.r22-flow [data-r22-panel="notes"]{container:clinical-notes / inline-size}
@container clinical-notes (min-width:48rem){
 .clinical-note-layout:has([data-chart-history][open]){display:grid;grid-template-columns:minmax(0,1fr) minmax(15rem,32%);gap:1rem;align-items:start}
 .clinical-reference{grid-row:1;grid-column:2;position:sticky;top:var(--consult-header-height,4.5rem);max-height:70vh;overflow:auto}
 .clinical-note-layout>[data-r22-editor]{grid-column:1;grid-row:1}
}
.clinical-note-layout{display:flex;flex-direction:column}
.clinical-reference{order:-1}

.mail-trace-id{overflow-wrap:anywhere}

/* Clinical claim coding has no monetary columns. Keep the existing overflow treatment. */
[data-claim-clinical] .claim-line-head,[data-claim-clinical] .claim-line{grid-template-columns:minmax(110px,.7fr) minmax(230px,2fr) 76px 100px;min-width:560px}
