/* Layout: eucalyptus hero field with live openings beside the search, results as availability rows below; wattle gold marks "open" and the primary action. */
:root{
  --bg:#F2F5F1; --surface:#FFFFFF; --sunk:#E8EEE9; --ink:#12211C; --muted:#56675F; --line:#D7E1DA;
  --gum:#17453C; --gum-2:#215A4E; --on-gum:#F4F1E4; --on-gum-muted:#B9CFC5;
  --mint:#D3ECDF; --mint-2:#97D0B6; --mint-3:#3A9574;
  --wattle:#F2B632; --wattle-ink:#2A1E05; --wattle-bg:#FCEFCB;
  --red:#B4412F; --red-bg:#F8E4E0; --late:#7A5205;
  --av1:#17453C; --av2:#2F5D8A; --av3:#7A4B8C; --av4:#A2522F; --av5:#3A7D5C; --av6:#5B5F2A;
  --shadow-sm:0 1px 2px rgba(13,27,46,.06);
  --shadow:0 1px 0 rgba(13,27,46,.04),0 12px 32px -16px rgba(13,27,46,.28);
  --display:"Bricolage Grotesque","Avenir Next","Segoe UI",system-ui,sans-serif;
  --body:"Figtree","Helvetica Neue","Segoe UI",system-ui,sans-serif;
  --r-lg:28px; --r:16px; --r-sm:10px;
}
@media (prefers-color-scheme:dark){
  :root:not([data-theme="light"]){
    --bg:#0D1714; --surface:#14211D; --sunk:#0F1B17; --ink:#E5EEE9; --muted:#97ABA2; --line:#24362F;
    --gum:#10302A; --gum-2:#1A4339; --on-gum:#F1EEDF; --on-gum-muted:#A7C2B6;
    --mint:#1C3A30; --mint-2:#2D6B53; --mint-3:#5CC096;
    --wattle:#F4BE45; --wattle-ink:#241A04; --wattle-bg:#3A2E12;
    --red:#E8836F; --red-bg:#3A1F1A; --late:#F4BE45;
    --av1:#2E7A68; --av2:#3F74A6; --av3:#8E62A3; --av4:#B9673F; --av5:#4A9572; --av6:#7C8040;
    --shadow-sm:0 1px 2px rgba(0,0,0,.3);
    --shadow:0 14px 32px -16px rgba(0,0,0,.7);
    color-scheme:dark;
  }
}
:root[data-theme="dark"]{
  --bg:#0D1714; --surface:#14211D; --sunk:#0F1B17; --ink:#E5EEE9; --muted:#97ABA2; --line:#24362F;
  --gum:#10302A; --gum-2:#1A4339; --on-gum:#F1EEDF; --on-gum-muted:#A7C2B6;
  --mint:#1C3A30; --mint-2:#2D6B53; --mint-3:#5CC096;
  --wattle:#F4BE45; --wattle-ink:#241A04; --wattle-bg:#3A2E12;
  --red:#E8836F; --red-bg:#3A1F1A; --late:#F4BE45;
  --av1:#2E7A68; --av2:#3F74A6; --av3:#8E62A3; --av4:#B9673F; --av5:#4A9572; --av6:#7C8040;
  --shadow-sm:0 1px 2px rgba(0,0,0,.3);
  --shadow:0 14px 32px -16px rgba(0,0,0,.7);
  color-scheme:dark;
}
*,*::before,*::after{box-sizing:border-box}
[hidden]{display:none!important}
body{margin:0;background:var(--bg);color:var(--ink);font:16px/1.55 var(--body);-webkit-font-smoothing:antialiased}
button,input,select,textarea{font:inherit;color:inherit}
h1,h2,h3{text-wrap:balance}
:focus-visible{outline:3px solid var(--wattle);outline-offset:2px;border-radius:8px}
.wrap{max-width:1180px;margin:0 auto;padding-inline:20px}
.num{font-variant-numeric:tabular-nums}
.eyebrow{font:700 12px/1 var(--body);letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}

/* header */
header.top{position:sticky;top:env(safe-area-inset-top,0px);z-index:20;background:color-mix(in srgb,var(--bg) 86%,transparent);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-bottom:1px solid color-mix(in srgb,var(--line) 70%,transparent)}
.top .wrap{display:flex;align-items:center;gap:16px;height:64px}
.brand{font:800 23px/1 var(--display);letter-spacing:-.03em;color:var(--ink);display:flex;align-items:center;gap:9px;text-decoration:none}
.brand svg{width:30px;height:30px;flex:none}
.brand em{font-style:normal;color:var(--mint-3)}
nav.tabs{display:flex;gap:2px;margin-left:auto;background:var(--sunk);padding:4px;border-radius:999px}
nav.tabs button{background:none;border:0;padding:8px 14px;border-radius:999px;color:var(--muted);font-weight:600;cursor:pointer;font-size:15px;display:inline-flex;align-items:center;min-height:38px}
nav.tabs button:hover{color:var(--ink)}
nav.tabs button[aria-current="page"]{background:var(--surface);color:var(--ink);box-shadow:var(--shadow-sm)}
.badge{display:inline-grid;place-items:center;min-width:20px;height:20px;padding:0 6px;border-radius:999px;background:var(--wattle);color:var(--wattle-ink);font-size:12px;font-weight:700;margin-left:6px}

/* hero field */
.hero{position:relative;margin-top:16px;background:var(--gum);color:var(--on-gum);border-radius:var(--r-lg);padding:36px 36px 40px;overflow:hidden;isolation:isolate}
.hero::before,.hero::after{content:"";position:absolute;border-radius:50%;z-index:-1;pointer-events:none}
.hero::before{width:560px;height:560px;right:-160px;top:-240px;background:radial-gradient(closest-side,color-mix(in srgb,var(--mint-3) 45%,transparent),transparent)}
.hero::after{width:420px;height:420px;left:-180px;bottom:-260px;background:radial-gradient(closest-side,color-mix(in srgb,var(--wattle) 22%,transparent),transparent)}
.hero-grid{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(0,1fr);gap:40px;align-items:start}
.hero-copy{min-width:0}
.role{display:inline-flex;background:color-mix(in srgb,var(--on-gum) 10%,transparent);border-radius:999px;padding:4px;margin-bottom:22px}
.role button{border:0;background:none;padding:8px 16px;border-radius:999px;cursor:pointer;font-weight:600;color:var(--on-gum-muted);min-height:38px}
.role button[aria-pressed="true"]{background:var(--on-gum);color:var(--gum)}
.hero h1{font:800 clamp(36px,5.6vw,66px)/.98 var(--display);letter-spacing:-.04em;margin:0 0 16px;max-width:15ch}
.hero h1 .hl{color:var(--wattle)}
.hero p.lede{color:var(--on-gum-muted);max-width:52ch;margin:0;font-size:18px;line-height:1.5}
.kinds{display:flex;gap:6px;margin:28px 0 12px;flex-wrap:wrap}
.kinds button{background:none;border:1px solid color-mix(in srgb,var(--on-gum) 25%,transparent);padding:8px 16px;font:700 15px var(--body);color:var(--on-gum);cursor:pointer;border-radius:999px;min-height:40px}
.kinds button:hover{border-color:var(--on-gum)}
.kinds button[aria-pressed="true"]{background:var(--wattle);border-color:var(--wattle);color:var(--wattle-ink)}
.kinds button[hidden],.chip[hidden]{display:none}

.searchbar{margin-top:28px;display:grid;grid-template-columns:1.4fr 1.1fr .9fr auto;background:var(--surface);color:var(--ink);border-radius:20px;box-shadow:0 24px 48px -24px rgba(0,0,0,.45);padding:6px;gap:0}
.searchbar label{display:flex;gap:10px;align-items:center;padding:8px 14px;border-right:1px solid var(--line);min-width:0;cursor:pointer}
.searchbar label:nth-child(3){border-right:0}
.searchbar svg{width:20px;height:20px;flex:none;color:var(--mint-3)}
.searchbar .f{min-width:0;flex:1}
.searchbar .f span{display:block;font-size:12px;color:var(--muted);font-weight:600;letter-spacing:.02em}
.searchbar select{width:100%;border:0;background:none;padding:2px 0;font-weight:700;font-size:16px;outline:none;cursor:pointer;text-overflow:ellipsis}
.searchbar .go{border:0;background:var(--wattle);color:var(--wattle-ink);font-weight:800;padding:0 28px;cursor:pointer;border-radius:15px;font-size:16px;display:flex;align-items:center;gap:8px;min-height:56px}
.searchbar .go:hover{filter:brightness(1.05)}
.searchbar .go svg{color:currentColor;width:18px;height:18px}

/* live openings */
.live{background:color-mix(in srgb,var(--on-gum) 7%,transparent);border:1px solid color-mix(in srgb,var(--on-gum) 14%,transparent);border-radius:22px;padding:18px;min-width:0;backdrop-filter:blur(4px)}
.live-head{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:12px}
.live-head .eyebrow{color:var(--on-gum-muted)}
.pulse{display:inline-flex;align-items:center;gap:8px;font-size:13px;font-weight:600;color:var(--on-gum)}
.pulse i{width:8px;height:8px;border-radius:50%;background:var(--wattle);box-shadow:0 0 0 0 color-mix(in srgb,var(--wattle) 60%,transparent);animation:pulse 2s infinite}
@keyframes pulse{70%{box-shadow:0 0 0 8px transparent}100%{box-shadow:0 0 0 0 transparent}}
.live-list{display:flex;flex-direction:column;gap:8px}
.live-item{display:grid;grid-template-columns:40px minmax(0,1fr) auto;gap:12px;align-items:center;background:var(--surface);color:var(--ink);border:0;border-radius:14px;padding:10px 12px;text-align:left;cursor:pointer;width:100%;transition:transform .15s ease}
.live-item:hover{transform:translateX(-3px)}
.live-item .avatar{width:40px;height:40px;border-radius:12px;font-size:15px}
.live-item b{display:block;font-size:15px;line-height:1.2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.live-item small{display:block;color:var(--muted);font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.live-item .when{text-align:right;font:700 14px/1.2 var(--body);color:var(--mint-3);white-space:nowrap}
.live-item .when span{display:block;font-weight:500;color:var(--muted);font-size:12px}
.live-foot{margin:12px 2px 0;font-size:13px;color:var(--on-gum-muted)}

/* stats */
.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:0;margin:20px 0 0;background:var(--surface);border:1px solid var(--line);border-radius:var(--r)}
.stat{padding:16px 20px;border-right:1px solid var(--line);min-width:0}
.stat:last-child{border-right:0}
.stat b{display:block;font:800 30px/1 var(--display);letter-spacing:-.03em;font-variant-numeric:tabular-nums}
.stat span{display:block;color:var(--muted);font-size:14px;margin-top:6px}

/* popular */
.popular{margin:36px 0 0}
.popular-head{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin-bottom:14px;flex-wrap:wrap}
.popular h2{font:800 24px/1.1 var(--display);letter-spacing:-.02em;margin:0}
.tiles{display:grid;grid-template-columns:repeat(6,1fr);gap:10px}
.tile{display:flex;flex-direction:column;align-items:flex-start;gap:14px;background:var(--surface);border:1px solid var(--line);border-radius:var(--r);padding:16px;cursor:pointer;text-align:left;transition:border-color .15s,transform .15s}
.tile:hover{border-color:var(--mint-3);transform:translateY(-2px)}
.tile .ic{width:42px;height:42px;border-radius:12px;display:grid;place-items:center;background:var(--mint);color:var(--gum-2)}
.tile .ic svg{width:22px;height:22px}
.tile b{font-weight:700;font-size:15px;line-height:1.25}
.tile small{display:block;color:var(--muted);font-size:13px;font-weight:500;margin-top:2px}

/* filters + results */
.results{margin-top:40px}
.resbar{display:flex;align-items:flex-end;justify-content:space-between;gap:12px;margin:0 0 14px;flex-wrap:wrap}
.resbar h2{font:800 26px/1.15 var(--display);margin:0;letter-spacing:-.02em}
.resbar .tools{display:flex;gap:14px;align-items:center;flex-wrap:wrap}
.resbar label{font-size:14px;color:var(--muted);display:flex;align-items:center;gap:8px}
.resbar select{border:1px solid var(--line);background:var(--surface);border-radius:var(--r-sm);padding:8px 10px;font-weight:600;color:var(--ink)}
.filters{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 18px}
.chip{border:1px solid var(--line);background:var(--surface);padding:8px 14px;border-radius:999px;cursor:pointer;font-size:14px;font-weight:600;min-height:38px;display:inline-flex;align-items:center;gap:6px}
.chip:hover{border-color:var(--mint-3)}
.chip[aria-pressed="true"]{background:var(--ink);border-color:var(--ink);color:var(--bg)}
.chip[aria-pressed="true"]::before{content:"";width:12px;height:12px;background:currentColor;-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12'%3E%3Cpath d='M2 6.5 4.8 9 10 3' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12'%3E%3Cpath d='M2 6.5 4.8 9 10 3' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/contain no-repeat}
.chip.urgent[aria-pressed="true"]{background:var(--wattle);border-color:var(--wattle);color:var(--wattle-ink)}
.legend{display:flex;gap:12px;align-items:center;font-size:13px;color:var(--muted)}
.legend i{display:inline-block;width:12px;height:12px;border-radius:3px;vertical-align:-1px;margin-right:4px}

.list{display:flex;flex-direction:column;gap:12px;padding-bottom:24px}
.card{background:var(--surface);border:1px solid var(--line);border-radius:20px;padding:18px 20px;display:grid;grid-template-columns:64px minmax(0,1fr) minmax(220px,auto);gap:14px 18px;align-items:start;cursor:pointer;text-align:left;width:100%;transition:border-color .15s,box-shadow .15s;animation:rise .35s ease both}
.card:hover{border-color:var(--mint-2);box-shadow:var(--shadow)}
@keyframes rise{from{transform:translateY(6px)}to{transform:none}}
.avatar{width:64px;height:64px;border-radius:18px;display:grid;place-items:center;font:800 22px var(--display);color:#fff;background:var(--av1);letter-spacing:-.02em;position:relative;flex:none}
.avatar.c2{background:var(--av2)} .avatar.c3{background:var(--av3)} .avatar.c4{background:var(--av4)} .avatar.c5{background:var(--av5)} .avatar.c6{background:var(--av6)}
.avatar .tick{position:absolute;right:-5px;bottom:-5px;width:22px;height:22px;border-radius:50%;background:var(--surface);display:grid;place-items:center}
.avatar .tick svg{width:18px;height:18px;color:var(--mint-3)}
.card-main{min-width:0}
.card h3{margin:0;font:700 19px/1.2 var(--display);letter-spacing:-.01em}
.meta{color:var(--muted);font-size:14px;margin-top:3px}
.reg{display:inline-flex;align-items:center;gap:4px;font-size:12px;font-weight:600;color:var(--mint-3);margin-top:4px}
.tags{display:flex;flex-wrap:wrap;gap:6px;margin-top:10px}
.tag{font-size:12px;padding:4px 9px;border-radius:999px;background:var(--sunk);font-weight:600;color:var(--ink)}
.tag.g{background:var(--mint)}
.tag.o{background:var(--wattle-bg)}
.tag.r{background:var(--red-bg)}
.next{display:flex;flex-direction:column;gap:8px;align-items:flex-end;min-width:0}
.next .lbl{font-size:12px;color:var(--muted);font-weight:600;letter-spacing:.04em;text-transform:uppercase}
.next .day{font:800 21px/1 var(--display);letter-spacing:-.02em;color:var(--ink)}
.next.late .day{color:var(--late);background:var(--wattle-bg);padding:4px 8px;border-radius:8px}
.times{display:flex;gap:6px;flex-wrap:wrap;justify-content:flex-end}
.tpill{border:1.5px solid var(--mint-3);background:var(--surface);color:var(--ink);border-radius:10px;padding:6px 10px;font-weight:700;font-size:14px;cursor:pointer;font-variant-numeric:tabular-nums;min-height:36px}
.tpill:hover{background:var(--mint-3);color:#fff}
.tpill.more{border-color:var(--line);color:var(--muted);font-weight:600}
.stripwrap{grid-column:2 / -1;min-width:0}
.strip{display:grid;grid-template-columns:repeat(21,1fr);gap:3px}
.strip div{height:10px;border-radius:3px;background:var(--sunk)}
.strip div.l1{background:var(--mint-2)} .strip div.l2{background:var(--mint-3)} .strip div.l3{background:var(--gum-2)}
.strip div.we{opacity:.4}
.striplabels{display:flex;justify-content:space-between;font-size:11px;color:var(--muted);margin-top:4px}
.empty{background:var(--surface);border:1px dashed var(--line);border-radius:20px;padding:36px;text-align:center;color:var(--muted)}

/* how + provider band */
.howto{display:grid;grid-template-columns:repeat(3,1fr);gap:28px;margin:48px 0 0;padding:32px 0 0;border-top:1px solid var(--line)}
.howto .n{font:800 15px var(--display);color:var(--mint-3);font-variant-numeric:tabular-nums}
.howto h3{margin:6px 0 6px;font:700 20px/1.2 var(--display);letter-spacing:-.01em}
.howto p{margin:0;color:var(--muted);font-size:15px;max-width:36ch}
.band{margin:48px 0 56px;background:var(--wattle);color:var(--wattle-ink);border-radius:var(--r-lg);padding:32px 36px;display:flex;align-items:center;justify-content:space-between;gap:24px;flex-wrap:wrap}
.band h2{font:800 clamp(24px,3.4vw,34px)/1.05 var(--display);letter-spacing:-.03em;margin:0 0 6px;max-width:22ch}
.band p{margin:0;max-width:52ch;font-size:16px}
.band .cta{background:var(--wattle-ink);color:var(--wattle)}

/* drawer */
.scrim{position:fixed;inset:0;background:rgba(8,18,15,.5);z-index:40;opacity:0;pointer-events:none;transition:opacity .2s;backdrop-filter:blur(2px)}
.scrim.open{opacity:1;pointer-events:auto}
.drawer{position:fixed;top:0;right:0;bottom:0;width:min(580px,100%);background:var(--bg);z-index:50;transform:translateX(100%);transition:transform .3s cubic-bezier(.2,.8,.2,1);overflow-y:auto;padding:calc(env(safe-area-inset-top,0px) + 18px) 24px calc(env(safe-area-inset-bottom,0px) + 32px);box-shadow:-24px 0 48px -24px rgba(0,0,0,.35)}
.drawer.open{transform:none}
@media (prefers-reduced-motion:reduce){.drawer,.scrim,.card,.tile,.live-item{transition:none;animation:none}.pulse i{animation:none}}
.dhead{display:flex;gap:14px;align-items:center;margin-bottom:14px}
.dhead h2{margin:0;font:800 26px/1.1 var(--display);letter-spacing:-.025em}
.close{margin-left:auto;align-self:flex-start;border:1px solid var(--line);background:var(--surface);border-radius:12px;width:42px;height:42px;cursor:pointer;font-size:22px;line-height:1;flex:none}
.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;margin:4px 0 18px}
.steps div{font-size:12px;font-weight:700;color:var(--muted);letter-spacing:.03em}
.steps div::before{content:"";display:block;height:4px;border-radius:4px;background:var(--line);margin-bottom:6px}
.steps div.on{color:var(--ink)}
.steps div.on::before{background:var(--mint-3)}
.drawer h4{font:700 16px var(--display);margin:24px 0 10px;letter-spacing:-.01em}
.facts{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.fact{background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:11px 13px;min-width:0}
.fact span{display:block;font-size:12px;color:var(--muted);font-weight:600}
.fact b{font-weight:700;font-size:15px}
.days{display:flex;gap:6px;overflow-x:auto;padding-bottom:8px;scrollbar-width:thin}
.day{flex:0 0 64px;border:1px solid var(--line);background:var(--surface);border-radius:14px;padding:9px 4px;text-align:center;cursor:pointer}
.day small{display:block;color:var(--muted);font-size:12px;font-weight:600}
.day b{font:800 20px var(--display)}
.day em{display:block;font-style:normal;font-size:11px;color:var(--mint-3);font-weight:700}
.day.none{opacity:.4;cursor:default}
.day[aria-pressed="true"]{border-color:var(--gum-2);background:var(--gum-2);color:#fff}
.day[aria-pressed="true"] small,.day[aria-pressed="true"] em{color:#fff}
.slots{display:grid;grid-template-columns:repeat(auto-fill,minmax(88px,1fr));gap:8px}
.slot{border:1.5px solid var(--mint-3);background:var(--surface);border-radius:12px;padding:9px 0;cursor:pointer;font-weight:700;font-variant-numeric:tabular-nums;text-align:center}
.slot small{display:block;font-size:11px;color:var(--muted);font-weight:500}
.slot[aria-pressed="true"]{background:var(--mint-3);color:#fff;border-color:var(--mint-3)}
.slot[aria-pressed="true"] small{color:inherit}
.slot.static{cursor:default;border-color:var(--line)}
.note{background:var(--wattle-bg);border-radius:12px;padding:11px 13px;font-size:14px}
.book{display:grid;gap:12px;margin-top:8px}
.book label{display:grid;gap:5px;font-size:13px;font-weight:600;color:var(--muted)}
.book input,.book select,.book textarea{border:1px solid var(--line);background:var(--surface);border-radius:12px;padding:11px 13px;font-size:16px;color:var(--ink);font-weight:500;width:100%;min-width:0}
.book input:focus,.book select:focus,.book textarea:focus{border-color:var(--mint-3);outline:none;box-shadow:0 0 0 3px color-mix(in srgb,var(--mint-3) 25%,transparent)}
.book input[type=checkbox]{width:18px;height:18px;flex:none;accent-color:var(--mint-3)}
.row2{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.row2>*{min-width:0}
.cta{border:0;background:var(--gum-2);color:#fff;font-weight:700;padding:14px 20px;border-radius:14px;cursor:pointer;font-size:16px;min-height:48px}
.cta:hover{filter:brightness(1.08)}
.cta:disabled{opacity:.4;cursor:not-allowed;filter:none}
.ghost{border:1px solid var(--line);background:var(--surface);padding:10px 16px;border-radius:12px;cursor:pointer;font-weight:600;min-height:44px}
.err{color:var(--red);font-size:14px;min-height:1em;margin:0}
.done{background:var(--mint);border-radius:20px;padding:22px;text-align:left}
.done h3{margin:0 0 6px;font:800 22px var(--display)}
.check{width:64px;height:64px;margin:0 0 14px}
.check circle{fill:var(--mint-3)}
.check path{fill:none;stroke:#fff;stroke-width:5;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:40;stroke-dashoffset:0;animation:draw .5s .15s ease both}
@keyframes draw{from{stroke-dashoffset:40}}

/* other views */
section.view[hidden]{display:none}
.pagehead{padding-block:40px 20px}
.pagehead h1{font:800 clamp(32px,4.4vw,46px)/1.02 var(--display);letter-spacing:-.035em;margin:8px 0 8px}
.pagehead p{color:var(--muted);margin:0;max-width:60ch;font-size:17px}
.panel{background:var(--surface);border:1px solid var(--line);border-radius:20px;padding:22px;min-width:0}
.reftable{width:100%;border-collapse:collapse;font-size:14px}
.tablewrap{overflow-x:auto}
.reftable th,.reftable td{text-align:left;padding:12px 10px;border-bottom:1px solid var(--line);white-space:nowrap;vertical-align:top}
.reftable th{color:var(--muted);font-weight:600;font-size:12px;letter-spacing:.06em;text-transform:uppercase}
.status{padding:4px 10px;border-radius:999px;font-weight:700;font-size:12px}
.status.p{background:var(--wattle-bg)} .status.c{background:var(--mint)} .status.x{background:var(--red-bg)}
.grid2{display:grid;grid-template-columns:1.1fr 1fr;gap:16px;padding-bottom:60px}
.week{display:grid;grid-template-columns:48px repeat(5,1fr);gap:4px;font-size:13px}
.week .h{font-weight:700;text-align:center;color:var(--muted)}
.week .t{color:var(--muted);text-align:right;padding-right:6px;line-height:32px;font-variant-numeric:tabular-nums}
.week button{height:32px;border:1px solid var(--line);background:var(--sunk);border-radius:8px;cursor:pointer}
.week button[aria-pressed="true"]{background:var(--mint-3);border-color:var(--mint-3)}
.perks{display:grid;gap:10px;margin:18px 0 0;padding:0;list-style:none}
.perks li{display:flex;gap:10px;align-items:flex-start;font-size:15px}
.perks svg{width:20px;height:20px;flex:none;color:var(--mint-3);margin-top:2px}

/* provider portal */
.pgrid{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);gap:24px;align-items:start;padding-bottom:60px}
.psteps{display:grid;gap:16px;min-width:0}
.pstep{background:var(--surface);border:1px solid var(--line);border-radius:20px;padding:22px;min-width:0}
.pstep>header{display:flex;gap:14px;align-items:flex-start;margin-bottom:16px}
.pstep h2{font:800 21px/1.15 var(--display);letter-spacing:-.02em;margin:2px 0 4px}
.pstep header p{margin:0;color:var(--muted);font-size:15px;max-width:58ch}
.sn{flex:none;width:32px;height:32px;border-radius:50%;background:var(--gum-2);color:#fff;display:grid;place-items:center;font:800 15px var(--display)}
.row3{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:12px}
.row3>*{min-width:0}
.book label.inline{display:flex;gap:10px;align-items:center;color:var(--ink);font-size:15px;font-weight:600}
.book-l{display:grid;gap:5px;font-size:13px;font-weight:600;color:var(--muted)}
.book-l select{border:1px solid var(--line);background:var(--surface);border-radius:12px;padding:10px 12px;font-size:15px;color:var(--ink);font-weight:600}
.sources{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.src{position:relative;display:grid;grid-template-columns:40px minmax(0,1fr);gap:4px 12px;align-items:center;border:1.5px solid var(--line);background:var(--surface);border-radius:14px;padding:12px;cursor:pointer;transition:border-color .15s}
.src:hover{border-color:var(--mint-2)}
.src input{position:absolute;opacity:0;pointer-events:none}
.src:has(input:checked){border-color:var(--mint-3);background:color-mix(in srgb,var(--mint) 45%,var(--surface))}
.src:has(input:focus-visible){outline:3px solid var(--wattle);outline-offset:2px}
.src .ic{width:40px;height:40px;border-radius:11px;background:var(--sunk);display:grid;place-items:center;color:var(--gum-2);grid-row:span 2}
.src:has(input:checked) .ic{background:var(--mint-3);color:#fff}
.src .ic svg{width:21px;height:21px}
.src b{font-size:15px;line-height:1.2;display:flex;gap:6px;align-items:center;flex-wrap:wrap}
.src small{color:var(--muted);font-size:13px;line-height:1.35}
.ph{font-size:10.5px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;padding:2px 7px;border-radius:999px;white-space:nowrap}
.ph.live{background:var(--mint);color:var(--ink)}
.ph.req{background:var(--wattle-bg);color:var(--late)}
.ph.soon{background:var(--sunk);color:var(--muted)}
.ph.no{background:var(--red-bg);color:var(--red)}
.srcpanel{margin-top:16px;padding:16px;border-radius:16px;background:var(--sunk);display:grid;gap:10px}
.urlrow{display:flex;gap:8px}
.urlrow input{flex:1;min-width:0;border:1px solid var(--line);background:var(--surface);border-radius:12px;padding:11px 13px;font-size:15px;color:var(--ink)}
.urlrow input:focus{border-color:var(--mint-3);outline:none;box-shadow:0 0 0 3px color-mix(in srgb,var(--mint-3) 25%,transparent)}
.cta.sm{padding:10px 16px;min-height:44px;font-size:15px;white-space:nowrap}
.howlinks{display:grid;gap:6px}
.howlinks details{background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:10px 12px}
.howlinks summary{cursor:pointer;font-weight:700;font-size:14px}
.howlinks p{margin:8px 0 2px;font-size:14px;color:var(--muted)}
.fine{margin:0;font-size:13px;color:var(--muted)}
.linkbtn{background:none;border:0;padding:0;color:var(--mint-3);font-weight:700;text-decoration:underline;text-underline-offset:3px;cursor:pointer;font-size:13px}
.later h3{margin:0 0 4px;font:700 17px var(--display)}
.later p{margin:0 0 10px;color:var(--muted);font-size:14px;max-width:60ch}
.hours{margin-top:16px}
.hours-head{display:flex;justify-content:space-between;align-items:flex-end;gap:12px;flex-wrap:wrap;margin-bottom:12px}
.hours h3{margin:0;font:700 17px var(--display)}
.hours p{margin:2px 0 0;color:var(--muted);font-size:14px}
.srcstatus{margin:14px 0 0;padding:11px 13px;border-radius:12px;font-size:14px;background:var(--mint);color:var(--ink)}
.srcstatus.warn{background:var(--wattle-bg)}
.srcstatus.bad{background:var(--red-bg)}
.publishbar{display:flex;gap:14px;align-items:center;flex-wrap:wrap}
.publishbar .err{flex:1;min-width:200px}
.publishbar .ok{color:var(--ink)}
.ppreview{position:sticky;top:calc(env(safe-area-inset-top,0px) + 80px);display:grid;gap:12px;min-width:0}
.ppreview .card{cursor:default;grid-template-columns:52px minmax(0,1fr);animation:none}
.ppreview .card:hover{box-shadow:none;border-color:var(--line)}
.ppreview .avatar{width:52px;height:52px;font-size:18px;border-radius:15px}
.ppreview .next{grid-column:1 / -1;align-items:flex-start;flex-direction:row;flex-wrap:wrap;gap:8px 10px;align-items:center}
.ppreview .next .lbl{display:none}
.ppreview .times{justify-content:flex-start}
.ppreview .stripwrap{grid-column:1 / -1}
.pvstats{display:grid;grid-template-columns:repeat(3,1fr);background:var(--surface);border:1px solid var(--line);border-radius:16px}
.pvstats div{padding:12px 14px;border-right:1px solid var(--line);min-width:0}
.pvstats div:last-child{border-right:0}
.pvstats b{display:block;font:800 22px/1 var(--display);font-variant-numeric:tabular-nums}
.pvstats span{display:block;color:var(--muted);font-size:12px;margin-top:4px}
.pvempty{background:var(--surface);border:1px dashed var(--line);border-radius:20px;padding:22px;color:var(--muted);font-size:14px}
@media (max-width:980px){ .pgrid{grid-template-columns:1fr} .ppreview{position:static} }
@media (max-width:760px){ .sources,.row3{grid-template-columns:1fr} .pstep{padding:18px 16px} .urlrow{flex-direction:column} .pvstats b{font-size:19px} }
footer{border-top:1px solid var(--line);padding-block:28px 44px;color:var(--muted);font-size:13px}
footer .wrap{display:flex;gap:16px;justify-content:space-between;flex-wrap:wrap;align-items:center}

@media (max-width:980px){
  .hero-grid{grid-template-columns:1fr;gap:28px}
  .tiles{grid-template-columns:repeat(3,1fr)}
}
@media (max-width:760px){
  .wrap{padding-inline:16px}
  .top .wrap{gap:10px}
  nav.tabs button{padding:8px 10px;font-size:14px}
  .brand .word{display:none}
  .hero{border-radius:22px;padding:24px 18px 26px;margin-top:10px}
  .hero p.lede{font-size:16px}
  .searchbar{grid-template-columns:1fr;padding:6px}
  .searchbar label{border-right:0;border-bottom:1px solid var(--line);padding:10px 12px}
  .searchbar label:nth-child(3){border-bottom:0}
  .searchbar .go{justify-content:center;min-height:52px;margin-top:4px}
  .stats{grid-template-columns:1fr 1fr}
  .stat{border-bottom:1px solid var(--line)}
  .stat:nth-child(2){border-right:0}
  .stat:nth-child(n+3){border-bottom:0}
  .stat b{font-size:24px}
  .tiles{grid-template-columns:1fr 1fr}
  .card{grid-template-columns:48px minmax(0,1fr);gap:12px;padding:16px}
  .avatar{width:48px;height:48px;font-size:17px;border-radius:14px}
  .next{grid-column:1 / -1;align-items:flex-start;flex-direction:row;flex-wrap:wrap;align-items:center;gap:8px 10px}
  .next .lbl{display:none}
  .next .day{font-size:17px}
  .times{justify-content:flex-start}
  .stripwrap{grid-column:1 / -1}
  .howto,.grid2,.row2{grid-template-columns:1fr}
  .howto{gap:20px}
  .band{padding:24px 20px}
  .resbar .legend{display:none}
}

/* ===== round 3: HotDoc / Healthengine-informed refinements ===== */
.wrap{max-width:1160px}

/* sticky compact search summary (Healthengine-style) */
.stickybar{border-top:1px solid color-mix(in srgb,var(--line) 70%,transparent)}
.stickybar .wrap{padding-block:8px;display:flex}
.sumpill{display:flex;align-items:center;gap:10px;width:100%;max-width:560px;border:1px solid var(--line);background:var(--surface);border-radius:999px;padding:8px 8px 8px 16px;cursor:pointer;font-weight:700;font-size:15px;color:var(--ink);box-shadow:var(--shadow-sm);text-align:left}
.sumpill svg{width:18px;height:18px;color:var(--mint-3);flex:none}
.sumpill #sumText{flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.sumchg{background:var(--sunk);border-radius:999px;padding:6px 12px;font-size:13px;color:var(--ink)}

/* hero assurance row */
.assure{list-style:none;margin:16px 0 0;padding:0;display:flex;flex-wrap:wrap;gap:8px 22px}
.assure li{display:flex;align-items:center;gap:8px;font-size:14px;font-weight:600;color:var(--on-gum)}
.assure svg{width:18px;height:18px;color:var(--wattle);flex:none}

/* top searches: illustrated circle icons (HotDoc-style) */
.tiles{grid-template-columns:repeat(6,minmax(0,1fr))}
.tile{align-items:center;text-align:center;padding:20px 12px 16px;gap:12px;border-radius:18px}
.tile .ic{width:64px;height:64px;border-radius:50%;background:var(--mint);position:relative}
.tile .ic::after{content:"";position:absolute;right:0;top:2px;width:14px;height:14px;border-radius:50%;background:var(--wattle);border:3px solid var(--surface)}
.tile .ic svg{width:30px;height:30px}
.tile b{font-size:15px}

/* results header */
.crumbs{display:flex;flex-wrap:wrap;gap:8px;align-items:center;font-size:14px;color:var(--muted);margin:0 0 10px}
.crumbs a{color:var(--mint-3);font-weight:600;text-decoration:none}
.crumbs a:hover{text-decoration:underline}
.crumbs span{color:var(--line)}
.restitle{min-width:0}
.order{margin-top:6px;font-size:14px;max-width:62ch}
.order summary{cursor:pointer;color:var(--mint-3);font-weight:600;list-style:none;display:inline-flex;align-items:center;gap:6px}
.order summary::-webkit-details-marker{display:none}
.order summary::before{content:"i";display:inline-grid;place-items:center;width:18px;height:18px;border-radius:50%;border:1.5px solid currentColor;font:800 11px/1 var(--body)}
.order p{margin:8px 0 0;color:var(--muted);background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:10px 12px}

/* result card: top + footer band (Healthengine-style) */
.card{display:flex;flex-direction:column;align-items:stretch;padding:0;gap:0;overflow:hidden;border-radius:20px}
.c-top{display:grid;grid-template-columns:64px minmax(0,1fr) 230px;gap:16px 18px;padding:20px 20px 16px;align-items:start}
.card h3{font-size:20px}
.prof{font-weight:600;font-size:15px;margin-top:3px;color:var(--ink)}
.prof .int{font-weight:500;color:var(--muted)}
.addr{display:flex;align-items:center;gap:6px;color:var(--muted);font-size:14px;margin-top:5px}
.addr svg{width:16px;height:16px;flex:none}
.attrs{display:flex;flex-wrap:wrap;gap:6px;margin-top:10px}
.attr{display:inline-flex;align-items:center;gap:5px;font-size:13px;font-weight:600;padding:4px 10px 4px 7px;border-radius:999px;background:var(--sunk);color:var(--ink)}
.attr svg{width:16px;height:16px;flex:none;color:var(--muted)}
.attr.ok{background:var(--mint)} .attr.ok svg{color:var(--mint-3)}
.attr.mid{background:var(--wattle-bg)} .attr.mid svg{color:var(--late)}
.attr.hi{background:var(--red-bg)} .attr.hi svg{color:var(--red)}
.attr.tele svg{color:var(--av2)}
.attr.urg{background:var(--wattle-bg)} .attr.urg svg{color:var(--late)}
.trust{display:flex;align-items:center;gap:6px;margin-top:10px;font-size:13px;color:var(--mint-3);font-weight:600}
.trust svg{width:16px;height:16px;flex:none}
.avail{min-width:0;padding-top:4px}
.avail .lbl{display:block;font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin-bottom:8px}
.avail .strip{grid-template-columns:repeat(7,1fr);gap:4px}
.avail .strip div{height:14px;border-radius:4px}
.avail .striplabels{display:grid;grid-template-columns:repeat(7,1fr);gap:4px;margin:0 0 4px;text-align:center;font-size:10px;font-weight:600}
.c-foot{display:flex;align-items:center;gap:10px 14px;flex-wrap:wrap;padding:12px 20px;background:var(--sunk);border-top:1px solid var(--line)}
.c-foot .na{display:flex;align-items:baseline;gap:8px;flex-wrap:wrap;min-width:0}
.c-foot .na>span{font-size:14px;color:var(--muted)}
.c-foot .na b{font:700 17px/1.2 var(--display);color:var(--mint-3);letter-spacing:-.01em}
.c-foot.late .na b{color:var(--late)}
.c-foot .times{display:flex;gap:6px;flex-wrap:wrap}
.c-foot .tpill{background:var(--surface)}
.seeall{margin-left:auto;display:inline-flex;align-items:center;gap:6px;background:var(--gum-2);color:#fff;font-weight:700;font-size:14px;padding:9px 16px;border-radius:999px;white-space:nowrap}
.seeall svg{width:16px;height:16px}
.card:hover .seeall{filter:brightness(1.1)}

/* drawer: slots grouped by time of day */
.sgroup{margin-top:6px}
.sgroup+.sgroup{margin-top:14px}
.sglbl{display:flex;align-items:center;gap:8px;font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin-bottom:8px}
.sglbl em{font-style:normal;background:var(--sunk);border-radius:999px;padding:1px 8px;letter-spacing:0;font-size:12px;color:var(--ink)}

/* provider preview uses the new card */
.ppreview .card{display:flex}
.ppreview .c-top{grid-template-columns:52px minmax(0,1fr);padding:16px}
.ppreview .avail{grid-column:1 / -1}
.ppreview .c-foot{padding:12px 16px}
.ppreview .seeall{display:none}

/* footer */
footer{padding-block:40px 36px}
footer .wrap{display:block}
.fcols{display:grid;grid-template-columns:1.6fr 1fr 1fr;gap:28px;padding-bottom:28px;border-bottom:1px solid var(--line)}
.fbrand p{margin:12px 0 0;max-width:44ch;font-size:14px;color:var(--muted)}
.fcols h4{margin:0 0 10px;font:700 14px var(--display);color:var(--ink)}
.fcols button{display:block;background:none;border:0;padding:5px 0;color:var(--muted);font-size:14px;cursor:pointer;text-align:left}
.fcols button:hover{color:var(--ink);text-decoration:underline;text-underline-offset:3px}
.flegal{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;padding-top:18px;font-size:13px}

/* mobile bottom tab bar (Healthengine-style) */
.tabbar{display:none}
@media (max-width:980px){
  .tiles{grid-template-columns:repeat(3,minmax(0,1fr))}
  .c-top{grid-template-columns:56px minmax(0,1fr)}
  .avail{grid-column:1 / -1}
}
@media (max-width:760px){
  nav.tabs{display:none}
  .brand .word{display:inline}
  .tabbar{display:grid;grid-template-columns:repeat(3,1fr);position:fixed;left:0;right:0;bottom:0;z-index:30;background:color-mix(in srgb,var(--surface) 94%,transparent);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-top:1px solid var(--line);padding:6px 6px calc(env(safe-area-inset-bottom,0px) + 6px)}
  .tabbar button{display:flex;flex-direction:column;align-items:center;gap:3px;background:none;border:0;padding:6px 4px;font-size:12px;font-weight:600;color:var(--muted);cursor:pointer;position:relative;min-height:52px;border-radius:12px}
  .tabbar svg{width:22px;height:22px}
  .tabbar button[aria-current="page"]{color:var(--gum-2);background:var(--mint)}
  .tabbar .badge{position:absolute;top:2px;left:calc(50% + 6px);margin:0}
  footer{padding-bottom:calc(env(safe-area-inset-bottom,0px) + 96px)}
  .fcols{grid-template-columns:1fr 1fr}
  .fbrand{grid-column:1 / -1}
  .tiles{grid-template-columns:repeat(2,minmax(0,1fr))}
  .c-top{padding:16px 16px 12px;grid-template-columns:48px minmax(0,1fr);gap:12px}
  .c-foot{padding:12px 16px}
  .seeall{margin-left:0;width:100%;justify-content:center}
  .assure{gap:8px 16px}
  .assure li{font-size:13px}
  .drawer{padding-bottom:calc(env(safe-area-inset-bottom,0px) + 32px)}
}

/* ===== round 4: messaging, shortlist, alerts ===== */
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.pagehead.slim{padding-block:32px 16px}

/* shortlist star */
.h3row{display:flex;align-items:flex-start;gap:8px}
.h3row h3{flex:0 1 auto;min-width:0}
.star{flex:none;width:30px;height:30px;margin:-3px 0 0;border-radius:50%;display:grid;place-items:center;color:var(--muted);cursor:pointer}
.star svg{width:20px;height:20px;fill:none}
.star:hover{background:var(--sunk);color:var(--ink)}
.star[aria-pressed="true"]{color:var(--wattle)}
.star[aria-pressed="true"] svg{fill:var(--wattle)}
.ppreview .star{display:none}
.chip.star-chip[aria-pressed="true"]{background:var(--wattle);border-color:var(--wattle);color:var(--wattle-ink)}

/* drawer actions + alert */
.dactions{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin:-2px 0 14px}
.ghost.sm{display:inline-flex;align-items:center;gap:7px;padding:8px 14px;min-height:40px;font-size:14px}
.ghost.sm svg{width:18px;height:18px;color:var(--mint-3)}
.watch{display:flex;align-items:center;gap:10px;margin-top:16px;padding:12px 14px;border:1px dashed var(--line);border-radius:14px;background:var(--surface);font-size:14px;font-weight:600;cursor:pointer}
.watch input{width:18px;height:18px;accent-color:var(--mint-3);flex:none}
.watch svg{width:18px;height:18px;color:var(--late);flex:none}
.drawer .fine{margin-top:6px}
.alerts{background:var(--wattle-bg);border-radius:16px;padding:14px 16px;margin-bottom:14px;display:grid;gap:8px}
.alerts-head{display:flex;align-items:center;gap:8px}
.alerts-head svg{width:18px;height:18px;color:var(--late)}
.alert-row{display:flex;justify-content:space-between;gap:12px;font-size:14px;flex-wrap:wrap}
.rowact{display:flex;gap:6px}

/* messaging layout */
.msg-guard{max-width:560px;margin-bottom:60px}
.msg-guard h3{margin:0 0 6px;font:700 19px var(--display)}
.msg-guard p{margin:0 0 14px;color:var(--muted)}
.msg-app{display:grid;grid-template-columns:340px minmax(0,1fr);height:min(720px,calc(100vh - 220px));min-height:520px;background:var(--surface);border:1px solid var(--line);border-radius:22px;overflow:hidden;margin-bottom:60px}
.threads{border-right:1px solid var(--line);display:flex;flex-direction:column;min-width:0;min-height:0}
.th-tools{display:flex;gap:8px;padding:14px;border-bottom:1px solid var(--line)}
.th-search{flex:1;min-width:0;display:flex;align-items:center;gap:8px;background:var(--sunk);border-radius:12px;padding:0 12px}
.th-search svg{width:16px;height:16px;color:var(--muted);flex:none}
.th-search input{flex:1;min-width:0;border:0;background:none;padding:10px 0;font-size:14px;outline:none}
.newpanel{padding:12px 14px;border-bottom:1px solid var(--line);background:var(--sunk);display:grid;gap:8px}
.newpanel input{border:1px solid var(--line);background:var(--surface);border-radius:12px;padding:10px 12px;font-size:14px}
#newList{display:grid;gap:4px;max-height:260px;overflow:auto}
#newList button{display:flex;gap:10px;align-items:center;text-align:left;border:0;background:var(--surface);border-radius:12px;padding:8px 10px;cursor:pointer}
#newList button:hover{background:var(--mint)}
#newList .avatar{width:34px;height:34px;font-size:13px;border-radius:10px}
#newList b{display:block;font-size:14px}
#newList small{color:var(--muted);font-size:12px}
.thread-list{overflow-y:auto;flex:1;min-height:0}
.thread{display:grid;grid-template-columns:44px minmax(0,1fr) auto;gap:12px;align-items:start;width:100%;text-align:left;border:0;border-bottom:1px solid var(--line);background:none;padding:14px;cursor:pointer;position:relative}
.thread:hover{background:var(--sunk)}
.thread.on{background:color-mix(in srgb,var(--mint) 55%,var(--surface))}
.thread .avatar{width:44px;height:44px;border-radius:13px;font-size:16px}
.th-main{min-width:0}
.th-top{display:flex;justify-content:space-between;gap:8px}
.th-top b{font-size:15px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.th-top span{font-size:12px;color:var(--muted);white-space:nowrap}
.th-spec{font-size:13px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.th-spec .pt{color:var(--mint-3);font-weight:600}
.th-prev{font-size:13px;color:var(--muted);margin-top:3px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.thread.unread .th-prev,.thread.unread .th-top b{color:var(--ink);font-weight:700}
.thread .dot{width:10px;height:10px;border-radius:50%;background:var(--wattle);margin-top:6px}
.th-empty{padding:20px;color:var(--muted);font-size:14px;margin:0}

.convo{display:flex;flex-direction:column;min-width:0;min-height:0}
.convo-empty{margin:auto;max-width:420px;text-align:center;padding:32px;color:var(--muted)}
.convo-empty svg{width:48px;height:48px;color:var(--mint-3)}
.convo-empty h3{color:var(--ink);font:800 22px/1.15 var(--display);margin:10px 0 8px;letter-spacing:-.02em}
.convo-empty p{margin:0 0 18px}
.cv-head{display:flex;align-items:center;gap:12px;padding:14px 18px;border-bottom:1px solid var(--line)}
.cv-head .avatar{width:44px;height:44px;border-radius:13px;font-size:16px}
.cv-back{display:none;border:0;background:var(--sunk);width:38px;height:38px;border-radius:50%;cursor:pointer;place-items:center}
.cv-back svg{width:18px;height:18px;transform:rotate(180deg)}
.cv-who{flex:1;min-width:0}
.cv-who b{display:block;font:700 17px/1.2 var(--display)}
.cv-who span{font-size:13px;color:var(--muted)}
.cv-status{display:flex;align-items:center;gap:8px;padding:8px 18px;font-size:12px;color:var(--muted);background:var(--sunk);flex-wrap:wrap}
.live-dot{width:8px;height:8px;border-radius:50%;background:var(--mint-3)}
.samp{display:inline-block;font-size:10.5px;font-weight:800;letter-spacing:.05em;text-transform:uppercase;background:var(--wattle-bg);color:var(--late);border-radius:999px;padding:1px 7px}
.cv-ctx{display:flex;align-items:center;gap:10px;margin:12px 18px 0;padding:10px 12px;border:1px solid var(--line);border-radius:12px;font-size:13px;color:var(--muted)}
.cv-ctx svg{width:18px;height:18px;color:var(--mint-3);flex:none}
.cv-ctx b{color:var(--ink)}
.cv-body{flex:1;min-height:0;overflow-y:auto;padding:16px 18px;display:flex;flex-direction:column;gap:10px}
.daysep{display:flex;justify-content:center;margin:6px 0}
.daysep span{font-size:12px;font-weight:600;color:var(--muted);background:var(--sunk);border-radius:999px;padding:3px 10px}
.msg{display:flex;flex-direction:column;max-width:min(78%,560px);animation:pop .2s ease both}
@keyframes pop{from{transform:translateY(4px)}to{transform:none}}
.msg.me{align-self:flex-end;align-items:flex-end}
.msg.them{align-self:flex-start}
.bubble{padding:10px 14px;border-radius:18px;font-size:15px;line-height:1.45;display:grid;gap:6px}
.bubble p{margin:0;overflow-wrap:anywhere}
.msg.me .bubble{background:var(--gum-2);color:#fff;border-bottom-right-radius:6px}
.msg.them .bubble{background:var(--sunk);color:var(--ink);border-bottom-left-radius:6px}
.bubble .file{display:inline-flex;align-items:center;gap:6px;font-size:13px;font-weight:600;padding:6px 10px;border-radius:10px;background:color-mix(in srgb,currentColor 12%,transparent)}
.bubble .file svg{width:15px;height:15px}
.mmeta{font-size:11px;color:var(--muted);margin-top:4px;display:flex;gap:6px;align-items:center}
.typing{display:flex;gap:4px;padding:14px 16px}
.typing i{width:7px;height:7px;border-radius:50%;background:var(--muted);animation:blink 1.2s infinite}
.typing i:nth-child(2){animation-delay:.2s}.typing i:nth-child(3){animation-delay:.4s}
@keyframes blink{0%,80%,100%{opacity:.25}40%{opacity:1}}
.cv-compose{border-top:1px solid var(--line);padding:10px 14px 12px;display:grid;gap:8px}
.quick{display:flex;gap:6px;overflow-x:auto;scrollbar-width:none;padding-bottom:2px}
.quick button{flex:none;border:1px solid var(--line);background:var(--surface);border-radius:999px;padding:6px 12px;font-size:13px;font-weight:600;cursor:pointer;white-space:nowrap}
.quick button:hover{border-color:var(--mint-3)}
.cv-files{display:flex;gap:6px;flex-wrap:wrap}
.cv-files:empty{display:none}
.cv-files .file{display:inline-flex;align-items:center;gap:6px;font-size:13px;background:var(--sunk);border-radius:10px;padding:4px 6px 4px 10px}
.cv-files button{border:0;background:none;cursor:pointer;font-size:16px;line-height:1;color:var(--muted)}
.cv-row{display:flex;align-items:flex-end;gap:8px}
.cv-attach{position:relative;width:44px;height:44px;border-radius:12px;display:grid;place-items:center;background:var(--sunk);cursor:pointer;flex:none}
.cv-attach input{position:absolute;inset:0;opacity:0;cursor:pointer}
.cv-attach svg{width:20px;height:20px;color:var(--muted)}
.cv-attach:focus-within{outline:3px solid var(--wattle);outline-offset:2px}
.cv-row textarea{flex:1;min-width:0;resize:none;border:1px solid var(--line);background:var(--surface);border-radius:14px;padding:11px 13px;font-size:15px;line-height:1.4;max-height:160px;color:var(--ink)}
.cv-row textarea:focus{outline:none;border-color:var(--mint-3);box-shadow:0 0 0 3px color-mix(in srgb,var(--mint-3) 25%,transparent)}
.cv-send{width:44px;height:44px;min-height:44px;padding:0;border-radius:12px;display:grid;place-items:center;flex:none}
.cv-send svg{width:20px;height:20px}
.cv-note{margin:0;font-size:11.5px;color:var(--muted)}

@media (max-width:760px){
  .tabbar{grid-template-columns:repeat(4,1fr)}
  .tabbar button{font-size:11px}
  .msg-app{grid-template-columns:1fr;height:calc(100dvh - 330px);min-height:420px;border-radius:18px;margin-bottom:24px}
  #view-msgs:has(.msg-app.has-open) .pagehead{display:none}
  .msg-app.has-open{height:calc(100dvh - 64px - 96px - 20px);margin-top:10px}
  .tabbar button[aria-current="page"]{color:var(--ink)}
  .msg-app .convo{display:none}
  .msg-app.has-open .threads{display:none}
  .msg-app.has-open .convo{display:flex}
  .cv-back{display:grid}
  .cv-actions{display:none}
  .msg{max-width:88%}
  .rowact{flex-direction:column}
}

/* ===== round 5: elegant / advanced refresh ===== */
:root{ --glass:color-mix(in srgb,var(--surface) 72%,transparent); --ring:color-mix(in srgb,var(--mint-3) 30%,transparent);
  --shadow-lg:0 1px 1px rgba(13,27,46,.04),0 24px 60px -28px rgba(13,27,46,.35); --line-soft:color-mix(in srgb,var(--line) 70%,transparent); }
body{background:radial-gradient(1100px 520px at 85% -8%,color-mix(in srgb,var(--mint) 55%,transparent),transparent 62%),radial-gradient(900px 480px at -10% 30%,color-mix(in srgb,var(--wattle-bg) 50%,transparent),transparent 60%),var(--bg);background-attachment:fixed}
h1,h2,h3{font-feature-settings:"ss01"}

/* header */
header.top{background:var(--glass);backdrop-filter:saturate(1.4) blur(16px);-webkit-backdrop-filter:saturate(1.4) blur(16px);border-bottom:1px solid var(--line-soft)}
.top .wrap{height:68px}
nav.tabs{margin-left:auto;background:color-mix(in srgb,var(--sunk) 80%,transparent);border:1px solid var(--line-soft)}
nav.tabs button{font-size:14.5px}
.hdr-actions{display:flex;gap:8px;align-items:center;margin-left:8px}
.palbtn{display:flex;align-items:center;gap:8px;border:1px solid var(--line);background:var(--surface);border-radius:999px;padding:7px 8px 7px 12px;cursor:pointer;color:var(--muted);font-weight:600;font-size:14px;min-height:40px}
.palbtn svg{width:16px;height:16px}
.palbtn:hover{color:var(--ink);border-color:var(--mint-2)}
kbd{font:600 11px/1 var(--body);background:var(--sunk);border:1px solid var(--line);border-bottom-width:2px;border-radius:6px;padding:3px 6px;color:var(--muted)}
.acctbtn{display:flex;align-items:center;gap:8px;border:0;background:var(--ink);color:var(--bg);border-radius:999px;padding:6px 14px 6px 10px;cursor:pointer;font-weight:700;font-size:14px;min-height:40px}
.acctbtn svg{width:18px;height:18px}
.acctbtn.on{background:var(--surface);color:var(--ink);border:1px solid var(--line);padding:4px 12px 4px 4px}
.acc-av{width:32px;height:32px;border-radius:50%;display:grid;place-items:center;background:linear-gradient(135deg,var(--mint-3),var(--gum-2));color:#fff;font:800 12.5px var(--display)}
.acc-av.lg{width:52px;height:52px;font-size:18px}
.acc-name{max-width:150px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}

/* hero: mesh light + fine grid */
.hero{overflow:visible;z-index:5;background:
  radial-gradient(700px 380px at 92% 0%,color-mix(in srgb,var(--mint-3) 38%,transparent),transparent 70%),
  radial-gradient(520px 320px at 0% 100%,color-mix(in srgb,var(--wattle) 18%,transparent),transparent 70%),
  linear-gradient(160deg,var(--gum-2),var(--gum) 55%);border-radius:32px;box-shadow:var(--shadow-lg);padding:40px 40px 34px}
.hero::before{width:auto;height:auto;inset:0;border-radius:inherit;background-image:linear-gradient(color-mix(in srgb,var(--on-gum) 7%,transparent) 1px,transparent 1px),linear-gradient(90deg,color-mix(in srgb,var(--on-gum) 7%,transparent) 1px,transparent 1px);background-size:44px 44px;-webkit-mask-image:radial-gradient(ellipse 70% 80% at 70% 20%,#000,transparent 75%);mask-image:radial-gradient(ellipse 70% 80% at 70% 20%,#000,transparent 75%)}
.hero::after{display:none}
.hero h1{font-weight:700;letter-spacing:-.045em;line-height:.98}
.hero p.lede{font-size:17.5px}
.live{background:color-mix(in srgb,var(--on-gum) 6%,transparent);border-color:color-mix(in srgb,var(--on-gum) 12%,transparent);box-shadow:inset 0 1px 0 color-mix(in srgb,var(--on-gum) 10%,transparent)}
.live-item{box-shadow:0 1px 0 rgba(0,0,0,.04),0 10px 20px -14px rgba(0,0,0,.4)}

/* search with omnibox */
.searchbar{position:relative;grid-template-columns:1.7fr 1fr .8fr auto;border-radius:22px;box-shadow:0 30px 60px -28px rgba(0,0,0,.55),0 0 0 1px color-mix(in srgb,var(--on-gum) 10%,transparent)}
.searchbar input{width:100%;border:0;background:none;padding:2px 0;font-weight:700;font-size:16px;outline:none;color:var(--ink);min-width:0}
.searchbar input::placeholder{color:var(--muted);font-weight:500}
.searchbar input::-webkit-search-cancel-button{display:none}
.searchbar label:focus-within{background:color-mix(in srgb,var(--mint) 35%,transparent);border-radius:16px}
.omni-list{position:absolute;left:6px;right:6px;top:calc(100% + 8px);z-index:25;background:var(--surface);border:1px solid var(--line);border-radius:18px;box-shadow:var(--shadow-lg);padding:8px;max-height:420px;overflow:auto;color:var(--ink)}
.sg-g{font-size:11px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);padding:10px 10px 6px}
.sg{display:flex;align-items:center;gap:12px;width:100%;text-align:left;border:0;background:none;border-radius:12px;padding:8px 10px;cursor:pointer;color:var(--ink)}
.sg:hover,.sg.act{background:var(--sunk)}
.sg-ic{width:34px;height:34px;border-radius:10px;background:var(--mint);display:grid;place-items:center;color:var(--gum-2);flex:none}
.sg-ic svg{width:18px;height:18px}
.sg-t{min-width:0}
.sg-t b{display:block;font-size:15px;font-weight:600}
.sg-t small{display:block;color:var(--muted);font-size:12.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.sg-none{margin:0;padding:14px;color:var(--muted);font-size:14px}
.specpick{font-size:14px;color:var(--muted);display:flex;align-items:center;gap:8px}
.qchip{display:inline-flex;align-items:center;gap:6px;margin-left:10px;vertical-align:middle;background:var(--ink);color:var(--bg);border-radius:999px;padding:4px 6px 4px 12px;font:600 13px var(--body)}
.qchip button{border:0;background:color-mix(in srgb,var(--bg) 20%,transparent);color:inherit;border-radius:50%;width:20px;height:20px;cursor:pointer;line-height:1}

/* refined surfaces */
.stats{border-color:var(--line-soft);box-shadow:var(--shadow-sm);border-radius:20px;background:var(--glass);backdrop-filter:blur(8px)}
.card{border-color:var(--line-soft);box-shadow:0 1px 2px rgba(13,27,46,.04);transition:transform .2s ease,box-shadow .2s ease,border-color .2s}
.card:hover{transform:translateY(-2px);box-shadow:var(--shadow-lg);border-color:var(--line)}
.ppreview .card:hover{transform:none}
.avatar{background-image:linear-gradient(145deg,rgba(255,255,255,.18),rgba(0,0,0,.12))}
.cta{background-image:linear-gradient(180deg,rgba(255,255,255,.12),rgba(255,255,255,0));box-shadow:0 1px 0 rgba(255,255,255,.15) inset,0 8px 18px -10px color-mix(in srgb,var(--gum-2) 80%,transparent)}
.chip{border-color:var(--line-soft);box-shadow:var(--shadow-sm)}
.tile{border-color:var(--line-soft);box-shadow:var(--shadow-sm)}
.tile:hover{box-shadow:var(--shadow-lg)}
.c-foot{background:color-mix(in srgb,var(--sunk) 70%,var(--surface))}

/* bento */
.bento{margin-top:64px}
.bento-head{max-width:720px;margin-bottom:20px}
.bento-head h2{font:700 clamp(26px,3.6vw,40px)/1.05 var(--display);letter-spacing:-.035em;margin:10px 0 0}
.bgrid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:14px}
.bcard{position:relative;background:var(--surface);border:1px solid var(--line-soft);border-radius:24px;padding:24px;overflow:hidden;min-width:0;box-shadow:var(--shadow-sm)}
.bcard h3{font:700 20px/1.15 var(--display);letter-spacing:-.02em;margin:0 0 6px}
.bcard p{margin:0;color:var(--muted);font-size:15px;max-width:42ch}
.b-cal{grid-column:span 3;grid-row:span 2;background:linear-gradient(170deg,color-mix(in srgb,var(--mint) 60%,var(--surface)),var(--surface) 60%)}
.b-letter,.b-chat{grid-column:span 3}
.b-urg{grid-column:span 2}
.b-int{grid-column:span 4}
.mini-cal{display:grid;grid-template-columns:repeat(7,1fr);gap:6px;margin-top:22px}
.mini-cal i{aspect-ratio:1.4;max-width:100%;border-radius:8px;background:var(--sunk)}
.mini-cal i.a{background:var(--mint-2)} .mini-cal i.b{background:var(--mint-3)} .mini-cal i.c{background:var(--gum-2)}
.mini-cal i:nth-child(11){outline:2px solid var(--wattle);outline-offset:2px;animation:glow 2.4s ease-in-out infinite}
@keyframes glow{50%{outline-color:transparent}}
.mini-letter{margin-top:18px;background:var(--bg);border:1px solid var(--line);border-radius:14px;padding:14px;display:grid;gap:7px;max-width:320px}
.mini-letter i{height:7px;border-radius:4px;background:var(--line)} .mini-letter i.s{width:60%}
.mini-letter b{justify-self:start;font-size:11px;background:var(--mint);color:var(--ink);border-radius:999px;padding:3px 9px;margin-top:4px}
.mini-chat{margin-top:18px;display:grid;gap:8px;max-width:340px}
.mini-chat span{padding:9px 13px;border-radius:16px;font-size:13.5px;width:fit-content;max-width:100%}
.mini-chat .me{justify-self:end;background:var(--gum-2);color:#fff;border-bottom-right-radius:5px}
.mini-chat .them{background:var(--sunk);border-bottom-left-radius:5px}
.mini-urg{margin-top:18px;display:grid;gap:2px;background:var(--wattle-bg);border-radius:16px;padding:14px}
.mini-urg span{justify-self:start;font:800 11px var(--body);letter-spacing:.06em;text-transform:uppercase;background:var(--wattle);color:var(--wattle-ink);border-radius:999px;padding:2px 8px}
.mini-urg b{font:700 20px var(--display);margin-top:6px} .mini-urg em{font-style:normal;font-size:13px;color:var(--muted)}
.ints{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px}
.ints span{border:1px solid var(--line);border-radius:999px;padding:7px 14px;font-weight:600;font-size:14px;background:var(--bg)}
.ints .soon{border-style:dashed;color:var(--muted)}

/* toasts */
.toasts{position:fixed;left:50%;bottom:calc(env(safe-area-inset-bottom,0px) + 24px);transform:translateX(-50%);z-index:80;display:grid;gap:8px;justify-items:center;pointer-events:none;width:min(92vw,460px)}
.toast{display:flex;align-items:center;gap:10px;background:var(--ink);color:var(--bg);border-radius:14px;padding:11px 16px;font-weight:600;font-size:14px;box-shadow:var(--shadow-lg);opacity:0;transform:translateY(10px);transition:opacity .2s,transform .2s}
.toast.in{opacity:1;transform:none}
.toast svg{width:18px;height:18px;color:var(--mint-2);flex:none}
.toast.warn svg{color:var(--wattle)}

/* modal + palette */
.mscrim{position:fixed;inset:0;z-index:60;background:rgba(8,18,15,.45);backdrop-filter:blur(3px);opacity:0;transition:opacity .18s}
.mscrim.in{opacity:1}
.modal{position:fixed;z-index:61;left:50%;top:12vh;transform:translate(-50%,8px);width:min(560px,calc(100vw - 32px));max-height:76vh;overflow:auto;background:var(--bg);border:1px solid var(--line);border-radius:24px;box-shadow:0 40px 90px -30px rgba(0,0,0,.55);padding:22px;opacity:0;transition:opacity .18s,transform .18s}
.modal.in{opacity:1;transform:translate(-50%,0)}
.modal.md{width:min(720px,calc(100vw - 32px))}
.modal.pal-m{padding:0;width:min(640px,calc(100vw - 32px));top:10vh}
.mhead{display:flex;align-items:center;gap:12px;margin-bottom:14px}
.mhead h2{margin:0;font:700 22px var(--display);letter-spacing:-.02em;flex:1}
.mactions{display:flex;gap:10px;justify-content:flex-end;align-items:center;margin-top:16px;flex-wrap:wrap}
.mactions .fine{flex:1;min-width:200px}
.seg{display:inline-flex;gap:2px;background:var(--sunk);border:1px solid var(--line-soft);border-radius:14px;padding:4px;margin-bottom:16px;max-width:100%;overflow-x:auto}
.seg button{border:0;background:none;padding:9px 14px;border-radius:10px;font-weight:600;font-size:14px;color:var(--muted);cursor:pointer;white-space:nowrap;display:inline-flex;align-items:center;gap:6px}
.seg button[aria-selected="true"]{background:var(--surface);color:var(--ink);box-shadow:var(--shadow-sm)}
.seg.wide{margin-bottom:22px}
.accard{display:flex;gap:14px;align-items:center;background:var(--surface);border:1px solid var(--line);border-radius:16px;padding:14px}
.accard b{display:block;font-size:17px}
.accard span{color:var(--muted);font-size:14px}
.verify{display:flex;gap:10px;align-items:flex-start;background:var(--wattle-bg);border-radius:14px;padding:12px 14px;font-size:14px;margin:12px 0 0}
.verify svg{width:20px;height:20px;flex:none;color:var(--late)}
.pal-in{display:flex;align-items:center;gap:12px;padding:16px 18px;border-bottom:1px solid var(--line)}
.pal-in svg{width:20px;height:20px;color:var(--muted)}
.pal-in input{flex:1;min-width:0;border:0;background:none;font-size:17px;outline:none;color:var(--ink)}
.pal-list{padding:8px;max-height:56vh;overflow:auto}
.letter{white-space:pre-wrap;font:14px/1.6 var(--body);background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:20px 22px;margin:0;max-height:52vh;overflow:auto;color:var(--ink)}

/* bookings manage menu */
.rowmenu{position:relative}
.rowmenu summary{list-style:none;cursor:pointer;border:1px solid var(--line);background:var(--surface);border-radius:10px;padding:6px 12px;font-weight:600;font-size:13px}
.rowmenu summary::-webkit-details-marker{display:none}
.rowmenu[open] summary{border-color:var(--mint-3)}
.rm-pop{position:absolute;right:0;top:calc(100% + 6px);z-index:15;min-width:210px;background:var(--surface);border:1px solid var(--line);border-radius:14px;box-shadow:var(--shadow-lg);padding:6px;display:grid}
.rm-pop button,.rm-pop a{text-align:left;border:0;background:none;padding:9px 12px;border-radius:10px;font:600 14px var(--body);color:var(--ink);cursor:pointer;text-decoration:none}
.rm-pop button:hover,.rm-pop a:hover{background:var(--sunk)}
.rm-pop .danger{color:var(--red)}
.tablewrap{overflow:visible}
@media (max-width:1100px){ .tablewrap{overflow-x:auto} }
a.ghost{display:inline-flex;align-items:center;text-decoration:none;color:var(--ink)}

/* provider profile */
.backlink{display:inline-flex;align-items:center;gap:8px;border:0;background:none;color:var(--mint-3);font-weight:700;cursor:pointer;padding:28px 0 16px;font-size:14px}
.backlink svg{width:16px;height:16px;transform:rotate(180deg)}
.prof-hero{display:grid;grid-template-columns:auto minmax(0,1fr) 280px;gap:24px;align-items:start;background:var(--surface);border:1px solid var(--line-soft);border-radius:28px;padding:28px;box-shadow:var(--shadow-sm)}
.avatar.xl{width:96px;height:96px;border-radius:28px;font-size:34px}
.prof-id h1{font:700 clamp(30px,4vw,44px)/1.02 var(--display);letter-spacing:-.04em;margin:6px 0 6px}
.prof-sub{margin:0;color:var(--muted);font-size:16px}
.prof-cta{display:grid;gap:8px}
.prof-cta .ghost{display:inline-flex;align-items:center;justify-content:center;gap:8px}
.prof-cta .ghost svg{width:18px;height:18px}
.prof-next{background:var(--sunk);border-radius:14px;padding:12px 14px;margin-bottom:4px}
.prof-next span{display:block;font-size:12px;color:var(--muted);font-weight:600}
.prof-next b{font:700 18px var(--display);color:var(--mint-3)}
.star-big[aria-pressed="true"]{border-color:var(--wattle);background:var(--wattle-bg)}
.star-big svg{fill:none} .star-big[aria-pressed="true"] svg{fill:var(--wattle);color:var(--wattle)}
.prof-grid{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:20px;margin:20px 0 60px;align-items:start}
.prof-main,.prof-side{display:grid;gap:14px;min-width:0}
.psec{background:var(--surface);border:1px solid var(--line-soft);border-radius:22px;padding:22px}
.psec h2{font:700 18px var(--display);margin:0 0 10px;letter-spacing:-.01em}
.psec p{margin:0 0 6px}
.pillset{display:flex;flex-wrap:wrap;gap:8px}
.pill{border:1px solid var(--line);border-radius:999px;padding:6px 12px;font-size:14px}
.pill.on{background:var(--mint);border-color:transparent;font-weight:600}
.ptimes{display:grid;gap:10px}
.pday{display:grid;grid-template-columns:110px minmax(0,1fr);gap:12px;align-items:center}
.pday>span{font-size:14px;color:var(--muted)} .pday b{color:var(--ink)}
.pday>div{display:flex;gap:6px;flex-wrap:wrap}
.req{margin:0;padding-left:18px;display:grid;gap:6px;color:var(--ink)}
.fees{width:100%;border-collapse:collapse;font-size:15px}
.fees td{padding:9px 0;border-bottom:1px solid var(--line)}
.fees td:last-child{text-align:right;font-variant-numeric:tabular-nums;font-weight:600}
.fees tr.tot td{border-bottom:0;font-weight:800}

/* provider inbox */
.kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));background:var(--surface);border:1px solid var(--line-soft);border-radius:20px;margin-bottom:22px}
.kpis div{padding:16px 18px;border-right:1px solid var(--line-soft);min-width:0}
.kpis div:last-child{border-right:0}
.kpis b{display:block;font:800 28px/1 var(--display);font-variant-numeric:tabular-nums;letter-spacing:-.02em}
.kpis span{display:block;color:var(--muted);font-size:13px;margin-top:6px}
.inbox-head h2{font:700 22px var(--display);margin:0 0 4px}
.inbox-head{margin-bottom:12px}
.inbox-list{display:grid;gap:12px;padding-bottom:60px}
.ref-item{background:var(--surface);border:1px solid var(--line-soft);border-radius:20px;padding:18px 20px;display:grid;gap:8px}
.ref-item.new{border-color:color-mix(in srgb,var(--mint-3) 45%,var(--line))}
.ri-top{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.ri-top b{font:700 17px var(--display)}
.cat{font:800 11px var(--body);letter-spacing:.05em;text-transform:uppercase;border-radius:999px;padding:3px 9px;background:var(--sunk)}
.cat.c1{background:var(--red-bg);color:var(--red)} .cat.c2{background:var(--wattle-bg);color:var(--late)}
.ri-st{margin-left:auto;font-size:12px;font-weight:700;border-radius:999px;padding:3px 10px;background:var(--sunk)}
.ri-st.s-new{background:var(--mint)} .ri-st.s-declined{background:var(--red-bg)} .ri-st.s-inforequested{background:var(--wattle-bg)}
.ri-from{margin:0;color:var(--muted);font-size:14px}
.ri-reason{margin:0;font-size:15px;max-width:80ch}
.ri-files{display:flex;gap:6px;flex-wrap:wrap}
.ri-files .file{display:inline-flex;align-items:center;gap:6px;font-size:13px;font-weight:600;background:var(--sunk);border-radius:10px;padding:5px 10px}
.ri-files svg{width:14px;height:14px}
.ri-act{display:flex;gap:8px;flex-wrap:wrap;margin-top:4px}
.cta.sm{min-height:40px;padding:8px 16px;font-size:14px}

/* help */
.faq{display:grid;gap:10px;max-width:820px}
.faq details{background:var(--surface);border:1px solid var(--line-soft);border-radius:18px;padding:16px 20px}
.faq summary{cursor:pointer;font:700 17px var(--display);letter-spacing:-.01em}
.faq p{margin:10px 0 0;color:var(--muted);max-width:70ch}
.legal{max-width:760px;background:var(--surface);border:1px solid var(--line-soft);border-radius:22px;padding:26px 28px}
.legal h2{font:700 26px var(--display);margin:0 0 10px;letter-spacing:-.02em}
.legal h3{font:700 16px var(--display);margin:18px 0 4px}
.legal p{margin:0;color:var(--muted)}
.draft{display:inline-block;background:var(--wattle-bg);color:var(--late);font-weight:700;font-size:13px;border-radius:999px;padding:4px 12px;margin-bottom:14px!important}

@media (max-width:980px){
  .bgrid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .b-cal,.b-letter,.b-chat,.b-urg,.b-int{grid-column:span 2;grid-row:auto}
  .prof-hero{grid-template-columns:auto minmax(0,1fr)}
  .prof-cta{grid-column:1 / -1;grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}
  .prof-next{grid-column:1 / -1}
  .prof-grid{grid-template-columns:1fr}
  .palbtn span,.palbtn kbd{display:none}
}
@media (max-width:760px){
  .hero{border-radius:24px;padding:24px 18px 24px}
  .hdr-actions{margin-left:auto}
  .acc-name{display:none}
  .acctbtn{padding:0;width:40px;justify-content:center}
  .acctbtn.on{padding:3px;width:auto}
  .searchbar{grid-template-columns:1fr}
  .kpis{grid-template-columns:1fr 1fr}
  .kpis div:nth-child(2){border-right:0}
  .kpis div:nth-child(-n+2){border-bottom:1px solid var(--line-soft)}
  .avatar.xl{width:64px;height:64px;font-size:22px;border-radius:20px}
  .prof-hero{padding:20px;gap:16px}
  .pday{grid-template-columns:1fr}
  .modal{top:auto;bottom:0;border-radius:24px 24px 0 0;width:100vw;max-height:88vh;transform:translate(-50%,16px);padding-bottom:calc(env(safe-area-inset-bottom,0px) + 22px)}
  .modal.in{transform:translate(-50%,0)}
  .modal.pal-m{top:auto}
  .toasts{bottom:calc(env(safe-area-inset-bottom,0px) + 86px)}
  .specpick select{max-width:150px}
}
@media (prefers-reduced-motion:reduce){ .mini-cal i{animation:none} .card:hover{transform:none} .toast,.modal,.mscrim{transition:none} }

.fcols{grid-template-columns:1.5fr 1fr 1fr 1fr}
@media (max-width:760px){ .fcols{grid-template-columns:1fr 1fr} }
.b-cal{display:flex;flex-direction:column}
.b-cal .mini-cal{margin-top:auto;padding-top:22px}
.cal-foot{display:flex;flex-wrap:wrap;gap:8px 16px;align-items:center;margin-top:16px;font-size:13px;color:var(--muted)}
.cal-foot i{display:inline-block;width:12px;height:12px;border-radius:4px;margin-right:6px;vertical-align:-1px;background:var(--sunk)}
.cal-foot i.a{background:var(--mint-2)} .cal-foot i.b{background:var(--mint-3)} .cal-foot i.c{background:var(--gum-2)}
.cal-foot .nx{margin-left:auto;font-weight:700;color:var(--ink);background:var(--surface);border:1px solid var(--line);border-radius:999px;padding:5px 12px}

/* ---------- round 7: location, map, messaging ---------- */
:root{ --map-land:#E7EEE8; --map-sea:#D6E6EE; --map-coast:#A9BDB2; --b0:#1E8A5F; --b1:#2F7FA0; --b2:#B07A12; --b3:#6B7C74; --urg:#C2412D; --urg-bg:#FBE7E3; }
@media (prefers-color-scheme:dark){ :root:not([data-theme="light"]){ --map-land:#1A2A25; --map-sea:#0F1C22; --map-coast:#35514A; --b0:#3FBF8A; --b1:#5AB0D6; --b2:#E0A93A; --b3:#8FA39A; --urg:#F08A75; --urg-bg:#3B201A; } }
:root[data-theme="dark"]{ --map-land:#1A2A25; --map-sea:#0F1C22; --map-coast:#35514A; --b0:#3FBF8A; --b1:#5AB0D6; --b2:#E0A93A; --b3:#8FA39A; --urg:#F08A75; --urg-bg:#3B201A; }

/* location control in the search bar */
.searchbar label.locf{position:relative}
.locbtn{flex:none;width:36px;height:36px;border-radius:11px;border:1px solid var(--line);background:var(--surface);display:grid;place-items:center;cursor:pointer;color:var(--mint-3);transition:background .15s,border-color .15s}
.locbtn:hover{border-color:var(--mint-3);background:var(--mint)}
.locbtn svg{width:18px!important;height:18px!important;color:currentColor!important}
.locbtn.on{background:var(--gum-2);border-color:var(--gum-2);color:#fff}
.locbtn.busy svg,.map-locate.busy svg,.locate-big.busy svg{animation:spin 1s linear infinite}
@keyframes spin{to{transform:rotate(360deg)}}

/* place picker */
.locate-big{display:flex;gap:14px;align-items:center;width:100%;text-align:left;border:1px solid var(--line);background:var(--mint);border-radius:16px;padding:14px 16px;cursor:pointer;color:var(--ink)}
.locate-big:hover{border-color:var(--mint-3)}
.locate-big svg{width:26px;height:26px;color:var(--gum-2);flex:none}
.locate-big b{display:block;font-size:16px}.locate-big small{display:block;color:var(--muted);font-size:13px;margin-top:2px}
.pp-or{display:flex;align-items:center;gap:10px;color:var(--muted);font-size:12px;margin:14px 0;text-transform:uppercase;letter-spacing:.08em}
.pp-or::before,.pp-or::after{content:"";flex:1;height:1px;background:var(--line)}
.pp-field{display:flex;align-items:center;gap:10px;border:1px solid var(--line);border-radius:14px;padding:0 12px;background:var(--surface)}
.pp-field:focus-within{border-color:var(--mint-3);box-shadow:0 0 0 3px color-mix(in srgb,var(--mint-3) 25%,transparent)}
.pp-field svg{width:18px;height:18px;color:var(--mint-3);flex:none}
.pp-field input{border:0;background:none;outline:none;padding:13px 0;flex:1;min-width:0;font-size:16px}
.pp-list{display:grid;gap:2px;margin-top:8px;max-height:260px;overflow:auto}
.pp-list button{display:flex;justify-content:space-between;gap:12px;align-items:baseline;border:0;background:none;text-align:left;padding:10px 12px;border-radius:10px;cursor:pointer}
.pp-list button:hover,.pp-list button:focus-visible{background:var(--sunk)}
.pp-list span{color:var(--muted);font-size:13px;white-space:nowrap}
.pp-empty{color:var(--muted);font-size:14px;margin:8px 4px}
.pp-radius{display:flex;align-items:center;gap:6px;flex-wrap:wrap;margin-top:16px;font-size:14px;color:var(--muted)}
.pp-radius button{border:1px solid var(--line);background:var(--surface);border-radius:999px;padding:6px 12px;font-weight:600;font-size:13px;cursor:pointer}
.pp-radius button[aria-pressed="true"]{background:var(--ink);border-color:var(--ink);color:var(--bg)}
.warnnote{background:var(--wattle-bg);border-radius:12px;padding:10px 12px;margin:0 0 12px;font-size:14px}

/* results toolbar */
.viewseg{display:inline-flex;background:var(--sunk);border-radius:12px;padding:3px;gap:2px}
.viewseg button{border:0;background:none;border-radius:9px;padding:7px 12px;font-weight:700;font-size:14px;display:inline-flex;align-items:center;gap:6px;cursor:pointer;color:var(--muted)}
.viewseg button svg{width:16px;height:16px}
.viewseg button[aria-pressed="true"]{background:var(--surface);color:var(--ink);box-shadow:var(--shadow-sm)}
.chip.radius{gap:4px;padding-right:6px}
.chip.radius select{border:0;background:none;font-weight:700;cursor:pointer;outline:none;padding:0 2px}
.qchip.area{background:var(--gum-2);color:#fff}
.qchip.area button{color:#fff}
.dist{display:inline-flex;align-items:center;gap:6px;margin-left:8px;padding-left:10px;border-left:1px solid var(--line);color:var(--ink);font-weight:600;white-space:nowrap}
.why{display:flex;align-items:center;gap:6px;flex-wrap:wrap;margin-top:8px}
.why svg{width:15px;height:15px;color:var(--wattle)}
.why span{font-size:12px;font-weight:700;letter-spacing:.01em;background:var(--wattle-bg);color:var(--wattle-ink);padding:3px 9px;border-radius:999px}
:root[data-theme="dark"] .why span{color:var(--wattle)}
@media (prefers-color-scheme:dark){ :root:not([data-theme="light"]) .why span{color:var(--wattle)} }
.card.hl{border-color:var(--wattle)!important;box-shadow:0 0 0 3px color-mix(in srgb,var(--wattle) 40%,transparent),var(--shadow)!important}
.empty-acts{display:flex;gap:8px;flex-wrap:wrap;justify-content:center}

/* split list + map */
.res-split{display:block}
.results.mapmode .res-split{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.08fr);gap:18px;align-items:start}
.results.mapmode .card .avail{display:none}
.results.mapmode .c-top{grid-template-columns:56px minmax(0,1fr)}
.mapwrap{position:sticky;top:84px;height:calc(100vh - 110px);min-height:420px;border-radius:22px;overflow:hidden;border:1px solid var(--line);background:var(--map-sea);box-shadow:var(--shadow)}
#map{position:absolute;inset:0;background:var(--map-sea);font:inherit}
#map .leaflet-tile-pane{filter:saturate(.55) contrast(.96) brightness(1.02)}
:root[data-theme="dark"] #map .leaflet-tile-pane,:root[data-theme="dark"] .minimap .leaflet-tile-pane{filter:invert(1) hue-rotate(180deg) brightness(.82) saturate(.35) contrast(.9)}
@media (prefers-color-scheme:dark){ :root:not([data-theme="light"]) #map .leaflet-tile-pane,:root:not([data-theme="light"]) .minimap .leaflet-tile-pane{filter:invert(1) hue-rotate(180deg) brightness(.82) saturate(.35) contrast(.9)} }
.map-area{position:absolute;top:14px;left:50%;transform:translateX(-50%);z-index:500;border:0;background:var(--ink);color:var(--bg);font-weight:700;font-size:14px;padding:10px 18px;border-radius:999px;box-shadow:var(--shadow);cursor:pointer;display:flex;gap:8px;align-items:center;animation:rise .25s ease both}
.map-area svg{width:16px;height:16px}
.map-legend{position:absolute;left:12px;bottom:12px;z-index:500;display:flex;gap:10px;flex-wrap:wrap;background:color-mix(in srgb,var(--surface) 92%,transparent);backdrop-filter:blur(8px);padding:8px 12px;border-radius:12px;font-size:12px;font-weight:600;color:var(--muted);box-shadow:var(--shadow-sm);max-width:calc(100% - 80px)}
.map-legend i{display:inline-block;width:10px;height:10px;border-radius:50%;margin-right:5px;vertical-align:-1px}
.map-count{position:absolute;right:12px;top:12px;z-index:500;background:color-mix(in srgb,var(--surface) 92%,transparent);backdrop-filter:blur(8px);padding:6px 10px;border-radius:10px;font-size:12px;font-weight:700;box-shadow:var(--shadow-sm);margin-right:52px}
.map-fail{position:absolute;inset:0;display:grid;place-content:center;justify-items:center;text-align:center;color:var(--muted);padding:24px}
.map-fail svg{width:40px;height:40px;margin-bottom:8px}
#map.offline{background:var(--map-sea)}
.au-land{fill:var(--map-land);stroke:var(--map-coast)}
.near-ring{stroke:var(--gum-2);fill:var(--mint-3)}
.city-lbl span{position:absolute;transform:translate(-50%,10px);white-space:nowrap;font-size:11px;font-weight:700;color:var(--muted);letter-spacing:.04em;text-transform:uppercase;pointer-events:none}
.leaflet-container .leaflet-control-attribution{background:color-mix(in srgb,var(--surface) 85%,transparent);color:var(--muted);font-size:10px;border-radius:8px 0 0 0}
.leaflet-container .leaflet-control-attribution a{color:var(--muted)}
.leaflet-control-zoom{border:0!important;box-shadow:var(--shadow)!important;border-radius:12px!important;overflow:hidden}
.leaflet-control-zoom a{background:var(--surface)!important;color:var(--ink)!important;border-color:var(--line)!important;width:36px!important;height:36px!important;line-height:36px!important}
.map-locate{width:40px;height:40px;border-radius:12px;border:0;background:var(--surface);color:var(--gum-2);box-shadow:var(--shadow);display:grid;place-items:center;cursor:pointer}
.map-locate svg{width:20px;height:20px}
:root[data-theme="dark"] .map-locate{color:var(--mint-3)}
/* markers */
.mk-wrap{background:none;border:0}
.mk{position:absolute;transform:translate(-50%,-100%);display:inline-block;white-space:nowrap;font:800 12px/1 var(--body);padding:6px 9px;border-radius:999px;color:#fff;background:var(--b3);box-shadow:0 4px 10px -4px rgba(0,0,0,.45),0 0 0 2px var(--surface);cursor:pointer;transition:transform .15s ease,background .15s}
.mk::after{content:"";position:absolute;left:50%;bottom:-5px;width:8px;height:8px;background:inherit;transform:translateX(-50%) rotate(45deg);border-radius:0 0 2px 0;box-shadow:2px 2px 0 0 var(--surface)}
.mk.b0{background:var(--b0)}.mk.b1{background:var(--b1)}.mk.b2{background:var(--b2)}.mk.b3,.mk.bx{background:var(--b3)}
.mk:hover,.mk.hot{transform:translate(-50%,-100%) scale(1.18);background:var(--ink);color:var(--bg);z-index:1000}
.mk.pinmk{width:22px;height:22px;padding:0;border-radius:50% 50% 50% 0;transform:translate(-50%,-120%) rotate(-45deg)}
.mk.pinmk::after{display:none}
.mc-wrap{background:none}
.mc{display:grid;place-items:center;width:40px;height:40px;border-radius:50%;color:#fff;background:var(--b3);box-shadow:0 0 0 5px color-mix(in srgb,var(--b3) 30%,transparent),0 6px 14px -6px rgba(0,0,0,.5);font:800 14px/1 var(--body)}
.mc.b0{background:var(--b0);box-shadow:0 0 0 5px color-mix(in srgb,var(--b0) 30%,transparent),0 6px 14px -6px rgba(0,0,0,.5)}
.mc.b1{background:var(--b1);box-shadow:0 0 0 5px color-mix(in srgb,var(--b1) 30%,transparent),0 6px 14px -6px rgba(0,0,0,.5)}
.mc.hot{transform:scale(1.15);outline:3px solid var(--ink);outline-offset:2px}
.mc{transition:transform .15s}
.mc.b2{background:var(--b2);box-shadow:0 0 0 5px color-mix(in srgb,var(--b2) 30%,transparent),0 6px 14px -6px rgba(0,0,0,.5)}
.me-wrap{background:none}
.me-dot{display:block;width:18px;height:18px;border-radius:50%;background:#2F7BF6;border:3px solid #fff;box-shadow:0 0 0 0 rgba(47,123,246,.5);animation:mepulse 2s ease-out infinite}
@keyframes mepulse{0%{box-shadow:0 0 0 0 rgba(47,123,246,.45)}100%{box-shadow:0 0 0 18px rgba(47,123,246,0)}}
.sb-pop .leaflet-popup-content-wrapper{background:var(--surface);color:var(--ink);border-radius:16px;box-shadow:var(--shadow);padding:0}
.sb-pop .leaflet-popup-content{margin:14px;min-width:220px;font:14px/1.4 var(--body)}
.sb-pop .leaflet-popup-tip{background:var(--surface)}
.pop{display:grid;gap:8px}
.pop-h{display:flex;gap:10px;align-items:center}
.pop-h .avatar{width:40px;height:40px;border-radius:12px;font-size:14px;flex:none}
.pop-h b{display:block;font:700 15px/1.2 var(--display)}.pop-h span{font-size:12px;color:var(--muted)}
.pop-r{display:flex;justify-content:space-between;gap:8px;background:var(--sunk);border-radius:10px;padding:8px 10px;font-size:13px}
.pop-r span{color:var(--muted)}
.pop-m{font-size:12px;color:var(--muted)}
.pop .cta{width:100%;justify-content:center}

/* drawer location block */
.locblock{display:grid;grid-template-columns:150px minmax(0,1fr);gap:14px;align-items:center;margin-top:14px;border:1px solid var(--line);border-radius:16px;padding:10px;background:var(--surface)}
.minimap{height:110px;border-radius:12px;overflow:hidden;background:var(--map-land);position:relative;z-index:0}
.minimap.static{display:grid;place-items:center;background:radial-gradient(circle at 50% 55%,var(--mint) 0 30%,var(--map-land) 31%)}
.pinbig svg{width:30px;height:30px;color:var(--gum-2)}
.loc-info b{display:block;font-size:15px}
.loc-info>span{display:block;color:var(--muted);font-size:13px;margin-top:2px}
.loc-acts{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin-top:10px}
.loc-acts a{display:inline-flex;align-items:center;gap:6px;text-decoration:none}
.loc-acts svg{width:16px;height:16px}
.tele-note{display:inline-flex;align-items:center;gap:5px;font-size:13px;color:var(--mint-3);font-weight:600}

/* messaging */
.avatar{position:relative}
.pres{position:absolute;right:-3px;bottom:-3px;width:13px;height:13px;border-radius:50%;border:2.5px solid var(--surface);background:var(--b3)}
.pres.on{background:#22B573}.pres.away{background:var(--wattle)}
.pdot{display:inline-block;width:8px;height:8px;border-radius:50%;background:var(--b3)}
.pdot.on{background:#22B573;box-shadow:0 0 0 3px color-mix(in srgb,#22B573 25%,transparent)}.pdot.away{background:var(--wattle)}
.th-sec{display:flex;align-items:center;gap:6px;padding:10px 14px 6px;font-size:11px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);background:var(--sunk)}
.th-sec.urg{color:var(--urg);background:var(--urg-bg)}
.th-sec svg{width:13px;height:13px}
.thread.urg{box-shadow:inset 3px 0 0 var(--urg)}
.th-urg{display:inline-flex;align-items:center;gap:5px;margin-top:6px;font-size:12px;font-weight:700;color:var(--urg);background:var(--urg-bg);padding:3px 8px;border-radius:999px}
.thread.urg.done .th-urg{color:var(--mint-3);background:var(--mint)}
.th-urg svg{width:12px;height:12px}
.ucount{min-width:20px;height:20px;padding:0 6px;border-radius:999px;background:var(--wattle);color:var(--wattle-ink);font-size:11px;font-weight:800;display:grid;place-items:center;margin-top:4px}
.th-prev.typing-t{color:var(--mint-3);font-style:italic;font-weight:600}
.cv-urgent{display:flex;align-items:center;gap:10px;padding:10px 18px;font-size:13px;background:var(--urg-bg);color:var(--urg);border-bottom:1px solid color-mix(in srgb,var(--urg) 25%,transparent)}
.cv-urgent.done{background:var(--mint);color:var(--mint-3);border-color:transparent}
.cv-urgent svg{width:16px;height:16px;flex:none}
.cv-urgent>span{flex:1}
.cv-urgent .linkbtn{font-size:13px;color:inherit;font-weight:700}
.msg.urgent.me .bubble{background:var(--urg)}
.msg.urgent.them .bubble{box-shadow:inset 0 0 0 2px var(--urg)}
.utag{display:inline-flex;align-items:center;gap:4px;font-size:11px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;opacity:.95}
.utag svg{width:12px;height:12px}
.msg.pending .bubble{opacity:.65}
.retry{color:var(--urg)!important;font-size:12px!important}
.sugg{display:flex;gap:6px;overflow-x:auto;scrollbar-width:none;padding-bottom:2px;align-items:center}
.sugg::-webkit-scrollbar{display:none}
.sugg:empty{display:none}
.sugg-l{flex:none;display:inline-flex;align-items:center;gap:4px;font-size:11px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);margin-right:2px}
.sugg-l svg{width:13px;height:13px;color:var(--wattle)}
.sugg button{flex:none;border:1px solid var(--line);background:var(--surface);border-radius:999px;padding:6px 12px;font-size:13px;font-weight:600;cursor:pointer;white-space:nowrap;display:inline-flex;align-items:center;gap:5px;max-width:340px;overflow:hidden;text-overflow:ellipsis}
.sugg button:hover{border-color:var(--mint-3);background:var(--mint)}
.sugg button.act{background:var(--gum-2);border-color:var(--gum-2);color:#fff}
.sugg button svg{width:14px;height:14px}
.cv-tool{width:44px;height:44px;border-radius:12px;border:0;display:grid;place-items:center;background:var(--sunk);cursor:pointer;flex:none;color:var(--muted)}
.cv-tool svg{width:20px;height:20px}
.cv-tool[aria-expanded="true"]{background:var(--ink);color:var(--bg)}
.cv-urg{height:44px;border-radius:12px;border:1px solid var(--line);background:var(--surface);display:inline-flex;align-items:center;gap:5px;padding:0 11px;font-weight:700;font-size:13px;cursor:pointer;color:var(--muted);flex:none}
.cv-urg svg{width:16px;height:16px}
.cv-urg[aria-pressed="true"]{background:var(--urg);border-color:var(--urg);color:#fff}
.cv-compose{position:relative}
.cv-compose.urgent .cv-send{background:var(--urg);color:#fff}
.cv-compose.urgent textarea{border-color:var(--urg)}
.tpl-pop{position:absolute;left:14px;right:14px;bottom:calc(100% - 4px);z-index:20;background:var(--surface);border:1px solid var(--line);border-radius:16px;box-shadow:var(--shadow);max-height:360px;display:flex;flex-direction:column;overflow:hidden;animation:rise .2s ease both}
.tpl-head{display:flex;gap:10px;align-items:center;padding:10px;border-bottom:1px solid var(--line)}
.tpl-head input{flex:1;min-width:0;border:1px solid var(--line);border-radius:10px;padding:8px 10px;background:var(--surface);outline:none}
.tpl-head input:focus{border-color:var(--mint-3)}
.tpl-head .linkbtn{font-size:13px;white-space:nowrap}
.tpl-list{overflow:auto;padding:6px}
.tpl-g>span{display:block;font-size:11px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);padding:8px 8px 4px}
.tpl-g button{display:block;width:100%;text-align:left;border:0;background:none;padding:8px 10px;border-radius:10px;font-size:14px;cursor:pointer}
.tpl-g button:hover,.tpl-g button:focus-visible{background:var(--sunk)}
.tpl-empty{color:var(--muted);font-size:14px;padding:10px}
#msgCount.urg,#msgCount2.urg{background:var(--urg)!important;color:#fff!important}

@media (max-width:1000px){
  .results.mapmode .res-split{grid-template-columns:1fr;gap:14px}
  .results.mapmode .mapwrap{order:-1;position:relative;top:0;height:58vh;min-height:340px}
}
@media (max-width:760px){
  .viewseg button span{display:none}
  .locblock{grid-template-columns:1fr}
  .minimap{height:140px}
  .cv-urg span{display:none}
  .cv-urg{width:44px;justify-content:center;padding:0}
  .dist{display:flex;margin:4px 0 0;padding:0;border:0}
  .addr{flex-wrap:wrap}
  .map-legend{display:none}
}

/* ---------- round 8: verification, practices, admin ---------- */
.opt{font-weight:500;color:var(--muted);font-size:12px}
.vhint{display:block;font-size:12px;font-weight:600;margin-top:4px;min-height:0}
.vhint.ok{color:var(--mint-3)}.vhint.bad{color:var(--urg)}
.verify.ok{background:var(--mint);color:var(--gum-2)}
.vcard{border:1px solid var(--line);border-radius:14px;padding:12px 14px;margin:12px 0;background:var(--sunk);display:grid;gap:4px}
.vcard b{font-size:15px}
.vcard p{margin:0;font-size:14px}
.vcard.bad{background:var(--urg-bg);border-color:color-mix(in srgb,var(--urg) 30%,transparent)}
.vcard.bad b{color:var(--urg)}
.vsteps{list-style:none;margin:8px 0 0;padding:0;display:grid;gap:6px;counter-reset:vs}
.vsteps li{display:flex;gap:10px;align-items:center;font-size:14px;color:var(--muted);counter-increment:vs}
.vsteps li::before{content:counter(vs);flex:none;width:22px;height:22px;border-radius:50%;display:grid;place-items:center;font-size:12px;font-weight:800;background:var(--surface);border:1px solid var(--line)}
.vsteps li.done{color:var(--ink)}.vsteps li.done::before{content:"✓";background:var(--mint-3);border-color:var(--mint-3);color:#fff}
.vsteps li.now{color:var(--ink);font-weight:700}.vsteps li.now::before{background:var(--wattle);border-color:var(--wattle);color:var(--wattle-ink)}
.verifybar{background:var(--wattle-bg);border-bottom:1px solid color-mix(in srgb,var(--wattle) 40%,transparent);font-size:14px}
.verifybar.bad{background:var(--urg-bg);border-color:color-mix(in srgb,var(--urg) 30%,transparent)}
.verifybar .wrap{display:flex;gap:10px;align-items:center;padding-top:9px;padding-bottom:9px}
.verifybar svg{width:18px;height:18px;flex:none;color:var(--late)}
.verifybar.bad svg{color:var(--urg)}
.verifybar span{flex:1}
.verifybar .linkbtn{font-size:14px;white-space:nowrap}

/* practice dashboard */
.team-head{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;flex-wrap:wrap;margin:6px 0 12px}
.th-title{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.th-title h2{margin:0;font:700 26px/1.2 var(--display);letter-spacing:-.01em}
.team-head .meta{margin:6px 0 0}
.team-head .cta{display:inline-flex;align-items:center;gap:8px}
.team-head .cta svg{width:18px;height:18px}
.pchip{display:inline-flex;align-items:center;gap:5px;font-size:12px;font-weight:700;padding:3px 10px;border-radius:999px;white-space:nowrap;background:var(--sunk);color:var(--muted)}
.pchip.live{background:var(--mint);color:var(--mint-3)}
.pchip.chk{background:var(--wattle-bg);color:var(--late)}
.pchip.bad{background:var(--urg-bg);color:var(--urg)}
.pchip.off{background:var(--sunk);color:var(--muted)}
.pchip.live::before,.pchip.chk::before,.pchip.bad::before{content:"";width:7px;height:7px;border-radius:50%;background:currentColor}
.team-list{display:grid;gap:10px;margin:14px 0 60px}
.pract{display:grid;grid-template-columns:48px minmax(0,1fr) auto;gap:14px;align-items:center;background:var(--surface);border:1px solid var(--line);border-radius:18px;padding:14px 16px}
.pract .avatar{width:48px;height:48px;border-radius:14px;font-size:16px}
.pr-main{display:grid;gap:2px;min-width:0}
.pr-main b{font:700 17px/1.25 var(--display)}
.pr-main span{font-size:14px;color:var(--muted)}
.pr-reg{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12.5px!important}
.pr-note{margin:6px 0 0;font-size:13px;color:var(--urg);background:var(--urg-bg);padding:6px 10px;border-radius:10px}
.pr-side{display:grid;justify-items:end;gap:6px}
.pr-open{font-size:12px;color:var(--muted)}
.pr-act{display:flex;gap:10px;align-items:center}
.editbanner{display:flex;gap:12px;align-items:center;justify-content:space-between;flex-wrap:wrap;background:var(--mint);border-radius:14px;padding:10px 14px;margin:0 0 14px;font-size:14px}
.editbanner .linkbtn{font-size:14px}

/* admin */
.admin-seg{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;align-items:center;margin:0 0 16px}
.admin-seg .seg{margin:0}
.admin-seg .seg.mini button{padding:6px 12px;font-size:13px}
.admin-seg .badge{background:var(--urg);color:#fff;margin-left:4px}
.admin-body{display:grid;gap:14px;margin-bottom:60px}
.aitem{background:var(--surface);border:1px solid var(--line);border-radius:20px;padding:18px 20px;display:grid;gap:12px;transition:opacity .3s,transform .3s}
.aitem.gone{opacity:0;transform:translateX(30px)}
.ai-top{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.ai-top b{font:700 19px/1.2 var(--display)}
.atype{font-size:12px;font-weight:700;background:var(--sunk);padding:3px 9px;border-radius:999px;color:var(--muted)}
.ai-when{margin-left:auto;font-size:12px;color:var(--muted)}
.ai-facts{display:grid;gap:8px}
.af{display:flex;align-items:center;gap:10px;flex-wrap:wrap;font-size:14px;padding:8px 0;border-top:1px solid var(--line)}
.af:first-child{border-top:0;padding-top:0}
.af>span:first-child{width:140px;flex:none;color:var(--muted);font-size:13px}
.af code,.regno code{font:600 13.5px ui-monospace,SFMono-Regular,Menlo,monospace;background:var(--sunk);padding:4px 8px;border-radius:8px}
.af a:not(.ghost){color:var(--mint-3);font-weight:600}
.regno{display:inline-flex;align-items:center;gap:8px;flex-wrap:wrap}
.ghost.sm svg{width:14px;height:14px;vertical-align:-2px;margin-right:4px}
.fmt{font-size:12px;font-weight:700;padding:3px 8px;border-radius:999px}
.fmt.ok{background:var(--mint);color:var(--mint-3)}.fmt.bad{background:var(--urg-bg);color:var(--urg)}.fmt.warn{background:var(--wattle-bg);color:var(--late)}
.ai-warn{margin:0;font-size:13px;background:var(--wattle-bg);color:var(--wattle-ink);padding:8px 12px;border-radius:10px}
:root[data-theme="dark"] .ai-warn{color:var(--wattle)}
@media (prefers-color-scheme:dark){ :root:not([data-theme="light"]) .ai-warn{color:var(--wattle)} }
.ai-checks{border:1px solid var(--line);border-radius:14px;padding:10px 14px 12px;margin:0;display:grid;gap:8px}
.ai-checks legend{font-size:11px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);padding:0 6px}
.ai-checks label{display:flex;gap:10px;align-items:flex-start;font-size:14px;cursor:pointer}
.ai-checks input{width:18px;height:18px;margin-top:1px;flex:none;accent-color:var(--mint-3)}
.ai-note{display:grid;gap:4px;font-size:13px;font-weight:600;color:var(--muted)}
.ai-note textarea{border:1px solid var(--line);border-radius:12px;padding:9px 11px;font:14px/1.4 var(--body);background:var(--surface);color:var(--ink);resize:vertical}
.ai-act{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.ai-act .cta[disabled]{opacity:.45;cursor:not-allowed}
.ghost.danger{color:var(--urg);border-color:color-mix(in srgb,var(--urg) 40%,var(--line))}
.ai-msg{font-size:13px;color:var(--urg)}
.ahist{font-size:13px;color:var(--muted)}
.ahist summary{cursor:pointer;font-weight:600}
.ahist div{padding:6px 0;border-top:1px solid var(--line)}
.ahist p{margin:4px 0 0;color:var(--ink)}
@media (max-width:760px){
  .pract{grid-template-columns:44px minmax(0,1fr)}
  .pr-side{grid-column:1/-1;justify-items:start;grid-auto-flow:column;align-items:center;justify-content:space-between}
  .af>span:first-child{width:100%}
  .ai-when{margin-left:0;width:100%}
}

/* ---------- round 9: quick sign-up, finish setting up ---------- */
.quicknote{margin:-2px 0 2px;display:flex;gap:6px;align-items:center;color:var(--mint-3);font-weight:600}
.verifybar.todo{background:var(--mint);border-color:color-mix(in srgb,var(--mint-3) 30%,transparent)}
.verifybar.todo svg{color:var(--mint-3)}
.verifybar .cta.sm{white-space:nowrap}
.setup{background:var(--surface);border:1px solid var(--line);border-radius:22px;padding:20px 22px;margin:0 0 18px;box-shadow:var(--shadow-sm)}
.setup.waiting{background:linear-gradient(180deg,var(--mint),var(--surface) 70%)}
.su-head{display:flex;justify-content:space-between;align-items:flex-end;gap:12px}
.su-head h3{margin:4px 0 0;font:700 22px/1.2 var(--display);letter-spacing:-.01em}
.su-pct{font:800 22px/1 var(--display);color:var(--mint-3)}
.su-bar{height:8px;border-radius:99px;background:var(--sunk);margin:12px 0 14px;overflow:hidden}
.su-bar i{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--mint-3),var(--wattle));transition:width .5s ease}
.su-rej{margin:0 0 12px;background:var(--urg-bg);color:var(--urg);padding:9px 12px;border-radius:12px;font-size:14px}
.su-steps{list-style:none;margin:0;padding:0;display:grid;gap:2px}
.su-steps li{display:grid;grid-template-columns:26px minmax(0,1fr) auto;gap:12px;align-items:center;padding:10px 0;border-top:1px solid var(--line)}
.su-steps li:first-child{border-top:0}
.su-steps b{display:block;font-size:15px}
.su-steps span:not(.su-dot){display:block;font-size:13px;color:var(--muted);margin-top:1px}
.su-dot{width:24px;height:24px;border-radius:50%;border:2px solid var(--line);background:var(--surface);display:grid;place-items:center}
.su-steps li.su-done .su-dot{background:var(--mint-3);border-color:var(--mint-3)}
.su-steps li.su-done .su-dot::after{content:"";width:10px;height:6px;border:2.5px solid #fff;border-top:0;border-right:0;transform:translateY(-1px) rotate(-45deg)}
.su-steps li.su-done b{color:var(--muted);font-weight:600;text-decoration:line-through;text-decoration-color:color-mix(in srgb,var(--muted) 50%,transparent)}
.su-steps li.su-now .su-dot{border-color:var(--wattle);box-shadow:0 0 0 4px color-mix(in srgb,var(--wattle) 30%,transparent)}
.setup.compact{padding:16px 18px}
.setup.compact .su-head h3{font-size:18px}
.setup.compact .su-steps li{grid-template-columns:22px minmax(0,1fr);padding:8px 0}
.setup.compact .su-steps li .cta{display:none}
.setup.compact .su-dot{width:20px;height:20px}
.setup-grid{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(260px,1fr);gap:20px;align-items:start;margin-bottom:60px}
.su-form{display:grid;gap:14px}
.su-form .pstep{margin:0}
.su-actions{display:flex;gap:10px;flex-wrap:wrap}
.su-why{border-radius:16px;background:var(--sunk);padding:14px 16px;font-size:14px}
.su-why p{margin:6px 0 0;color:var(--muted)}
@media (max-width:860px){ .setup-grid{grid-template-columns:1fr} .setup-grid aside{order:-1} .su-steps li{grid-template-columns:24px minmax(0,1fr)} .su-steps li .cta{grid-column:2;justify-self:start} }

/* ---------- round 10: navy + coral theme, Today screen ---------- */
:root{
  --bg:#F5F7FB; --surface:#FFFFFF; --sunk:#EDF1F7; --ink:#0D1B2E; --muted:#58697F; --line:#DCE3ED;
  --gum:#0E2A47; --gum-2:#1A4170; --on-gum:#F4F7FC; --on-gum-muted:#A8BBD3;
  --mint:#E3F6EF; --mint-2:#8ADBBF; --mint-3:#0E9F6E;
  --wattle:#FF6B57; --wattle-ink:#14100F; --wattle-bg:#FFE9E4; --late:#B4401F;
  --blue:#2E7DF6; --blue-bg:#E7F0FF; --logo-bg:#0E2A47;
  --av1:#0E2A47; --av2:#2E63B8; --av3:#6D4BC2; --av4:#C2523A; --av5:#0E8A66; --av6:#5E6B82;
  --shadow-sm:0 1px 2px rgba(13,27,46,.06);
  --shadow:0 1px 0 rgba(13,27,46,.04),0 14px 34px -18px rgba(13,27,46,.30);
  --display:"Plus Jakarta Sans","Avenir Next","Segoe UI",system-ui,sans-serif;
  --line-soft:#E4E9F1;
  --map-land:#EAF0F7; --map-sea:#D8E6F4; --map-coast:#AFC0D4;
}
@media (prefers-color-scheme:dark){ :root:not([data-theme="light"]){
  --bg:#081221; --surface:#0F1C30; --sunk:#0B1729; --ink:#E7EEF8; --muted:#94A6BE; --line:#1E2E47; --line-soft:#1A2940;
  --gum:#0D2340; --gum-2:#1D4778; --on-gum:#F1F5FB; --on-gum-muted:#9FB3CE;
  --mint:#0E3329; --mint-2:#1C7A5C; --mint-3:#38D19C;
  --wattle:#FF7A67; --wattle-ink:#170B08; --wattle-bg:#3A1A15; --late:#FF9A85;
  --blue:#5B9BFF; --blue-bg:#13284A; --logo-bg:#2A5C97;
  --av1:#2A5C97; --av2:#3F7AD6; --av3:#8467D8; --av4:#D06A52; --av5:#25A77C; --av6:#7A88A0;
  --map-land:#13223A; --map-sea:#0A1626; --map-coast:#2A3D5A;
}}
:root[data-theme="dark"]{
  --bg:#081221; --surface:#0F1C30; --sunk:#0B1729; --ink:#E7EEF8; --muted:#94A6BE; --line:#1E2E47; --line-soft:#1A2940;
  --gum:#0D2340; --gum-2:#1D4778; --on-gum:#F1F5FB; --on-gum-muted:#9FB3CE;
  --mint:#0E3329; --mint-2:#1C7A5C; --mint-3:#38D19C;
  --wattle:#FF7A67; --wattle-ink:#170B08; --wattle-bg:#3A1A15; --late:#FF9A85;
  --blue:#5B9BFF; --blue-bg:#13284A; --logo-bg:#2A5C97;
  --av1:#2A5C97; --av2:#3F7AD6; --av3:#8467D8; --av4:#D06A52; --av5:#25A77C; --av6:#7A88A0;
  --map-land:#13223A; --map-sea:#0A1626; --map-coast:#2A3D5A;
}
body{background:radial-gradient(1100px 520px at 88% -10%,color-mix(in srgb,var(--blue) 12%,transparent),transparent 62%),radial-gradient(900px 480px at -10% 28%,color-mix(in srgb,var(--wattle) 8%,transparent),transparent 60%),var(--bg)}
.hero{background:radial-gradient(720px 400px at 95% -5%,color-mix(in srgb,var(--blue) 45%,transparent),transparent 70%),radial-gradient(560px 340px at -5% 105%,color-mix(in srgb,var(--wattle) 30%,transparent),transparent 70%),linear-gradient(160deg,var(--gum),color-mix(in srgb,var(--gum) 80%,#000))!important}
.hero h1 .hl{color:var(--wattle)}
h1,h2,h3,.brand{font-family:var(--display)}
.brand{gap:10px;letter-spacing:-.035em}
.brand svg{width:32px;height:32px;border-radius:9px;box-shadow:0 6px 14px -8px rgba(14,42,71,.6)}
.brand em{color:var(--wattle)}
.cta{background:var(--gum)}
.cta:hover{filter:brightness(1.12)}
.searchbar .go{background:var(--wattle);color:var(--wattle-ink)}
.searchbar svg{color:var(--blue)}
.linkbtn{color:var(--blue)}
a{color:var(--blue)}

/* Today */
.td-head{display:flex;justify-content:space-between;align-items:flex-end;gap:16px;flex-wrap:wrap;margin:26px 0 18px}
.td-head h1{margin:4px 0 0;font:800 clamp(28px,3.4vw,40px)/1.1 var(--display);letter-spacing:-.03em}
.td-acts{display:flex;gap:10px;align-items:center;flex-wrap:wrap}
.td-on{display:inline-flex;align-items:center;gap:6px;font-size:13px;font-weight:600;color:var(--mint-3)}
.td-on i{width:8px;height:8px;border-radius:50%;background:var(--mint-3)}
.td-search{display:flex;align-items:center;gap:8px;background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:0 10px 0 14px;min-width:min(380px,100%);box-shadow:var(--shadow-sm)}
.td-search:focus-within{border-color:var(--blue);box-shadow:0 0 0 3px color-mix(in srgb,var(--blue) 22%,transparent)}
.td-search svg{width:18px;height:18px;color:var(--muted)}
.td-search input{border:0;background:none;outline:none;flex:1;padding:12px 0;font-size:15px;min-width:0}
.td-search kbd{font:600 12px var(--body);border:1px solid var(--line);border-radius:6px;padding:1px 6px;color:var(--muted)}
.td-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:16px}
.td-kpis button{background:var(--surface);border:1px solid var(--line);border-radius:18px;padding:16px 18px;text-align:left;cursor:pointer;display:grid;gap:2px;transition:transform .15s,box-shadow .15s}
.td-kpis button:hover{transform:translateY(-2px);box-shadow:var(--shadow)}
.td-kpis b{font:800 30px/1 var(--display);letter-spacing:-.02em}
.td-kpis span{font-size:13px;color:var(--muted)}
.td-kpis .hot{border-color:color-mix(in srgb,var(--wattle) 60%,var(--line));background:linear-gradient(180deg,var(--wattle-bg),var(--surface))}
.td-kpis .hot b{color:var(--late)}
.td-grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:16px;margin-bottom:60px}
.td-card{background:var(--surface);border:1px solid var(--line);border-radius:22px;padding:18px 20px;box-shadow:var(--shadow-sm);min-width:0;display:flex;flex-direction:column}
.td-card>header{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:12px}
.td-card h2{margin:0;font:700 18px/1.2 var(--display);letter-spacing:-.01em}
.td-card footer{display:flex;justify-content:space-between;gap:10px;margin-top:auto;padding-top:12px}
.td-open{grid-column:span 7}.td-news{grid-column:span 5;grid-row:span 2}.td-refs{grid-column:span 7}.td-msgs{grid-column:span 5}.td-tools{grid-column:span 7}.td-watch{grid-column:span 5}
.live-pill{display:inline-flex;align-items:center;gap:6px;font-size:12px;font-weight:700;color:var(--wattle);background:var(--wattle-bg);padding:3px 10px;border-radius:999px}
.live-pill i{width:7px;height:7px;border-radius:50%;background:var(--wattle);animation:blink 1.6s ease-in-out infinite}
@keyframes blink{50%{opacity:.25}}
.op-list,.rf-list,.ms-list,.wt-list,.nw-list{list-style:none;margin:0;padding:0;display:grid;gap:4px}
.op-list button,.ms-list button{display:grid;grid-template-columns:40px minmax(0,1fr) auto;gap:12px;align-items:center;width:100%;text-align:left;border:0;background:none;padding:8px;border-radius:14px;cursor:pointer}
.op-list button:hover,.ms-list button:hover{background:var(--sunk)}
.op-list .avatar,.ms-list .avatar{width:40px;height:40px;border-radius:12px;font-size:14px}
.op-who b,.ms-main b{display:block;font-size:15px}
.op-who small,.ms-main small{display:block;font-size:13px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.op-when{text-align:right;font-size:14px;font-weight:700;display:grid;justify-items:end}
.op-when b{color:var(--mint-3);font-size:12px;text-transform:uppercase;letter-spacing:.06em}
.op-when em{font-style:normal;font-size:11px;font-weight:800;color:var(--wattle);background:var(--wattle-bg);padding:1px 7px;border-radius:999px;margin-top:2px}
.ms-list button.un b{font-weight:800}
.ms-list button.ur{box-shadow:inset 3px 0 0 var(--urg)}
.rf-list li{display:grid;grid-template-columns:48px minmax(0,1fr) auto;gap:12px;align-items:center;padding:8px 4px;border-top:1px solid var(--line)}
.rf-list li:first-child{border-top:0}
.rf-date{display:grid;justify-items:center;background:var(--blue-bg);color:var(--blue);border-radius:12px;padding:5px 0;font-size:11px;font-weight:700;text-transform:uppercase}
.rf-date b{font:800 18px/1 var(--display)}
.rf-main b{display:block;font-size:15px}.rf-main small{display:block;color:var(--muted);font-size:13px}
.status.warn{background:var(--wattle-bg);color:var(--late)}
.empty-mini{display:grid;justify-items:start;gap:8px;color:var(--muted)}
.empty-mini p{margin:0}
.nw-tabs,.tq-tabs{display:flex;gap:6px;overflow-x:auto;scrollbar-width:none;margin-bottom:10px}
.nw-tabs::-webkit-scrollbar,.tq-tabs::-webkit-scrollbar{display:none}
.nw-tabs button,.tq-tabs button{flex:none;border:1px solid var(--line);background:var(--surface);border-radius:999px;padding:5px 11px;font-size:13px;font-weight:600;cursor:pointer;color:var(--muted)}
.nw-tabs button[aria-selected="true"],.tq-tabs button[aria-selected="true"]{background:var(--gum);border-color:var(--gum);color:#fff}
.nw-list li a{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:2px 10px;padding:10px 6px;border-top:1px solid var(--line);text-decoration:none;color:var(--ink);border-radius:10px}
.nw-list li:first-child a{border-top:0}
.nw-list li a:hover{background:var(--sunk)}
.nw-list b{grid-column:1;font-size:14.5px;line-height:1.35;font-weight:600}
.nw-src{grid-column:1;font-size:11.5px;font-weight:700;letter-spacing:.03em;text-transform:uppercase;color:var(--muted);display:flex;align-items:center;gap:6px}
.nw-src i{width:7px;height:7px;border-radius:50%;background:var(--blue)}
.nw-alerts .nw-src i{background:var(--urg)}.nw-shortages .nw-src i{background:var(--wattle)}.nw-gp .nw-src i{background:var(--mint-3)}.nw-research .nw-src i{background:var(--av3)}
.nw-ago{grid-column:2;grid-row:1/span 2;align-self:center;font-size:12px;color:var(--muted)}
.nw-foot{margin:auto 0 0;padding-top:10px;font-size:12px;color:var(--muted)}
.tq-body{display:grid;gap:12px}
.tq-row{display:flex;gap:10px;flex-wrap:wrap;align-items:flex-end}
.tq-row label{display:grid;gap:4px;font-size:13px;font-weight:600;color:var(--muted);flex:1;min-width:120px}
.tq-row input,.tq-row select{border:1px solid var(--line);border-radius:10px;padding:9px 10px;background:var(--surface);color:var(--ink);font:15px var(--body)}
.tq-checks{display:grid;gap:6px}
.tq-checks label{display:flex;gap:8px;align-items:center;font-size:14px}
.tq-checks em{font-style:normal;font-size:12px;color:var(--muted);margin-left:auto}
.tq-checks input{width:17px;height:17px;accent-color:var(--gum)}
.tq-out{min-height:52px;background:var(--sunk);border-radius:14px;padding:12px 14px;display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 8px}
.tq-out:empty::before{content:"Enter values to see the result.";color:var(--muted);font-size:14px}
.tq-out b{font:800 26px/1 var(--display);color:var(--gum)}
:root[data-theme="dark"] .tq-out b{color:var(--blue)}
@media (prefers-color-scheme:dark){ :root:not([data-theme="light"]) .tq-out b{color:var(--blue)} }
.tq-out span{font-weight:700}
.tq-out small{flex-basis:100%;font-size:12.5px;color:var(--muted)}
.wt-list li{display:flex;justify-content:space-between;gap:10px;align-items:center;padding:8px 4px;border-top:1px solid var(--line)}
.wt-list li:first-child{border-top:0}
.wt-list b{display:block;font-size:14.5px}.wt-list small{color:var(--muted);font-size:12.5px}
.wt-list li.hit{background:var(--wattle-bg);border-radius:12px;padding:8px 10px;border-top:0}
.wt-st{font-size:12px;color:var(--muted)}
@media (max-width:1000px){ .td-grid>*{grid-column:1/-1!important;grid-row:auto!important} .td-kpis{grid-template-columns:repeat(2,minmax(0,1fr))} }
@media (max-width:760px){ .tabbar{grid-template-columns:none;grid-auto-flow:column;grid-auto-columns:1fr} .tabbar button[hidden]{display:none} }

/* ---------- round 11: light & airy glass theme ---------- */
:root{
  --bg:#F7F8FD; --surface:#FFFFFF; --sunk:#F1F3FA; --ink:#0B1220; --muted:#596379; --line:#E4E7F1; --line-soft:#ECEEF6;
  --gum:#0F766E; --gum-2:#115E59; --on-gum:#FFFFFF; --on-gum-muted:#CCFBF1;
  --mint:#ECFDF5; --mint-2:#6EE7B7; --mint-3:#059669;
  --wattle:#06B6D4; --wattle-ink:#04232A; --wattle-bg:#E0F7FB; --late:#0E7490;
  --blue:#0F766E; --blue-bg:#E6F4F2; --logo-bg:#0F766E; --violet:#0E7490; --pink:#F43F5E;
  --urg:#E11D48; --urg-bg:#FFE4EA;
  --av1:#0F766E; --av2:#0891B2; --av3:#0E7490; --av4:#DB2777; --av5:#059669; --av6:#475569;
  --glass:color-mix(in srgb,#fff 72%,transparent); --glass-line:color-mix(in srgb,#fff 70%,var(--line));
  --shadow-sm:0 1px 2px rgba(15,23,42,.05),0 1px 1px rgba(15,23,42,.03);
  --shadow:0 1px 0 rgba(15,23,42,.03),0 18px 40px -22px rgba(8,47,49,.28);
  --ring:0 0 0 4px color-mix(in srgb,var(--gum) 18%,transparent);
  --map-land:#EEF0FB; --map-sea:#DCE6F7; --map-coast:#B7C1DD;
  --b0:#059669; --b1:#0F766E; --b2:#D97706; --b3:#64748B;
}
@media (prefers-color-scheme:dark){ :root:not([data-theme="light"]){
  --bg:#080B17; --surface:#111527; --sunk:#0D1121; --ink:#EAECF7; --muted:#9BA3BE; --line:#22284A; --line-soft:#1B2040;
  --gum:#14B8A6; --gum-2:#5EEAD4; --on-gum:#FFFFFF; --on-gum-muted:#CCFBF1;
  --mint:#0B2A22; --mint-2:#1F7A5B; --mint-3:#34D399;
  --wattle:#5EEAD4; --wattle-ink:#04232A; --wattle-bg:#0B2C35; --late:#67E8F9;
  --blue:#99F6E4; --blue-bg:#1B1F44; --logo-bg:#14B8A6; --urg:#FB7185; --urg-bg:#3A1622;
  --av1:#14B8A6; --av2:#0EA5C6; --av3:#06B6D4; --av4:#F43F5E; --av5:#10B981; --av6:#64748B;
  --glass:color-mix(in srgb,#111527 70%,transparent); --glass-line:color-mix(in srgb,#fff 8%,transparent);
  --map-land:#141A33; --map-sea:#0A0E1E; --map-coast:#2A3260;
  --b0:#34D399; --b1:#5EEAD4; --b2:#FBBF24; --b3:#94A3B8;
}}
:root[data-theme="dark"]{
  --bg:#080B17; --surface:#111527; --sunk:#0D1121; --ink:#EAECF7; --muted:#9BA3BE; --line:#22284A; --line-soft:#1B2040;
  --gum:#14B8A6; --gum-2:#5EEAD4; --on-gum:#FFFFFF; --on-gum-muted:#CCFBF1;
  --mint:#0B2A22; --mint-2:#1F7A5B; --mint-3:#34D399;
  --wattle:#5EEAD4; --wattle-ink:#04232A; --wattle-bg:#0B2C35; --late:#67E8F9;
  --blue:#99F6E4; --blue-bg:#1B1F44; --logo-bg:#14B8A6; --urg:#FB7185; --urg-bg:#3A1622;
  --av1:#14B8A6; --av2:#0EA5C6; --av3:#06B6D4; --av4:#F43F5E; --av5:#10B981; --av6:#64748B;
  --glass:color-mix(in srgb,#111527 70%,transparent); --glass-line:color-mix(in srgb,#fff 8%,transparent);
  --map-land:#141A33; --map-sea:#0A0E1E; --map-coast:#2A3260;
  --b0:#34D399; --b1:#5EEAD4; --b2:#FBBF24; --b3:#94A3B8;
}
body{background:
  radial-gradient(900px 600px at 8% -5%,color-mix(in srgb,#99F6E4 38%,transparent),transparent 60%),
  radial-gradient(800px 520px at 95% 0%,color-mix(in srgb,#67E8F9 30%,transparent),transparent 60%),
  radial-gradient(900px 700px at 70% 55%,color-mix(in srgb,#99F6E4 14%,transparent),transparent 65%),
  var(--bg)!important;background-attachment:fixed!important}
:root[data-theme="dark"] body{background:radial-gradient(900px 600px at 8% -5%,rgba(20,184,166,.22),transparent 60%),radial-gradient(800px 520px at 95% 0%,rgba(34,211,238,.14),transparent 60%),var(--bg)!important}
@media (prefers-color-scheme:dark){ :root:not([data-theme="light"]) body{background:radial-gradient(900px 600px at 8% -5%,rgba(20,184,166,.22),transparent 60%),radial-gradient(800px 520px at 95% 0%,rgba(34,211,238,.14),transparent 60%),var(--bg)!important} }
h1,h2,h3,.brand{font-family:var(--display);letter-spacing:-.025em}
a{color:var(--gum)}
.linkbtn{color:var(--gum)}
.grad,.hero h1 .hl{background:linear-gradient(90deg,var(--gum),var(--violet),var(--wattle));-webkit-background-clip:text;background-clip:text;color:transparent}
.cta{background:linear-gradient(135deg,var(--gum),var(--violet));color:#fff;border:0;box-shadow:0 10px 24px -12px color-mix(in srgb,var(--gum) 70%,transparent)}
.cta:hover{filter:brightness(1.06)}
.ghost{background:var(--glass);backdrop-filter:blur(10px)}

/* glass surfaces */
header.top{background:color-mix(in srgb,var(--bg) 70%,transparent)!important;backdrop-filter:saturate(1.4) blur(16px)!important;-webkit-backdrop-filter:saturate(1.4) blur(16px)!important;border-bottom:1px solid var(--glass-line)!important}
.card,.td-card,.panel,.tile,.stats .stat,.bcard,.aitem,.pract,.setup,.pstep,.hb-sec,.msg-app,.inbox-list>*,.ref-item,.empty,.locblock,.kpis>div{background:var(--glass)!important;backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border-color:var(--glass-line)!important}
.card:hover{box-shadow:var(--shadow);border-color:color-mix(in srgb,var(--gum) 30%,var(--line))!important}
.stats{gap:14px}
.stats .stat{border-radius:20px;border:1px solid var(--glass-line)}

/* brand */
.brand svg{border-radius:10px;box-shadow:0 8px 18px -10px color-mix(in srgb,var(--gum) 80%,transparent)}
.brand em{background:linear-gradient(90deg,var(--gum),var(--wattle));-webkit-background-clip:text;background-clip:text;color:transparent}

/* header search (opens the smart search) */
.palbtn{min-width:min(360px,34vw);justify-content:flex-start;border-radius:14px!important;padding:9px 10px 9px 14px!important;background:var(--glass)!important;border:1px solid var(--line)!important;box-shadow:var(--shadow-sm)}
.palbtn span{flex:1;text-align:left;font-weight:500}
.palbtn:hover{border-color:color-mix(in srgb,var(--gum) 45%,var(--line))!important;box-shadow:var(--ring)}

/* hero: light glass, search right under the headline */
.hero{--on-gum:var(--ink);--on-gum-muted:var(--muted);color:var(--ink);background:
   radial-gradient(600px 300px at 100% 0%,color-mix(in srgb,#67E8F9 35%,transparent),transparent 70%),
   radial-gradient(520px 320px at 0% 100%,color-mix(in srgb,#99F6E4 45%,transparent),transparent 70%),
   var(--glass)!important;border:1px solid var(--glass-line);backdrop-filter:blur(18px);box-shadow:var(--shadow);padding:30px 32px 28px!important;margin-top:18px}
.hero::before{opacity:.5}
.hero{display:grid;grid-template-columns:minmax(0,1fr) 360px;grid-template-areas:"role live" "title live" "lede live" "search search" "kinds assure";column-gap:36px;align-items:start}
.hero .hero-grid,.hero .hero-copy{display:contents}
.hero .role{grid-area:role;justify-self:start;background:var(--sunk);margin-bottom:14px}
.hero .role button[aria-pressed="true"]{background:var(--surface);color:var(--ink);box-shadow:var(--shadow-sm)}
.hero h1{grid-area:title;font-size:clamp(32px,4.2vw,52px)!important;max-width:18ch;margin-bottom:10px!important}
.hero p.lede{grid-area:lede;font-size:17px!important;max-width:56ch}
.hero .live{grid-area:live;align-self:stretch;background:color-mix(in srgb,var(--surface) 60%,transparent)!important;border:1px solid var(--glass-line)!important;box-shadow:none}
.hero .live-item{background:var(--surface);box-shadow:var(--shadow-sm)}
.hero .searchbar{grid-area:search;margin-top:22px;border:1px solid var(--line);box-shadow:0 24px 50px -28px rgba(8,47,49,.45),var(--shadow-sm)!important;background:var(--surface)}
.hero .searchbar .go{background:linear-gradient(135deg,var(--gum),var(--violet));color:#fff;border-radius:14px}
.hero .searchbar svg{color:var(--gum)}
.hero .kinds{grid-area:kinds;margin:16px 0 0}
.hero .kinds button{border-color:var(--line);color:var(--ink);background:var(--surface)}
.hero .kinds button[aria-pressed="true"]{background:var(--ink);border-color:var(--ink);color:var(--bg)}
.hero .assure{grid-area:assure;justify-content:flex-end;align-self:center;margin:16px 0 0}
.hero .assure li{color:var(--muted)}
.hero .assure svg{color:var(--mint-3)}
.live-item .when{color:var(--mint-3)}
@media (max-width:1000px){ .hero{grid-template-columns:1fr;grid-template-areas:"role" "title" "lede" "search" "kinds" "assure" "live";padding:22px 18px!important} .hero .assure{justify-content:flex-start} .hero .live{margin-top:18px} .palbtn{min-width:0} }

/* chips, tabs, pills */
.chip{background:var(--glass);border-color:var(--line)}
.chip[aria-pressed="true"]{background:var(--ink);border-color:var(--ink)}
.tpill{border-color:color-mix(in srgb,var(--gum) 35%,var(--line))!important;color:var(--gum)!important}
.tpill:hover{background:var(--gum)!important;color:#fff!important}
nav.tabs{background:var(--glass)!important;border:1px solid var(--glass-line)}
nav.tabs button[aria-current="page"]{background:var(--surface);color:var(--gum);box-shadow:var(--shadow-sm)}

/* home hub teaser */
.homehub{margin:34px 0 10px}
.hh-head{display:flex;justify-content:space-between;align-items:flex-end;gap:14px;flex-wrap:wrap;margin-bottom:14px}
.hh-head h2{margin:4px 0 0;font:800 clamp(24px,2.6vw,32px)/1.15 var(--display)}
.hh-grid{display:grid;grid-template-columns:1.3fr 1fr 1fr 1fr;gap:14px}
.hh-card{display:flex;flex-direction:column;gap:8px;text-align:left;border:1px solid var(--glass-line);background:var(--glass);backdrop-filter:blur(14px);border-radius:22px;padding:18px;cursor:pointer;color:var(--ink);min-height:190px;transition:transform .18s,box-shadow .18s;position:relative;overflow:hidden}
.hh-card:hover{transform:translateY(-3px);box-shadow:var(--shadow)}
.hh-card b{font:700 18px/1.25 var(--display)}
.hh-card>span{font-size:14px;color:var(--muted)}
.hh-ic{width:44px;height:44px;border-radius:14px;display:grid;place-items:center;background:linear-gradient(135deg,var(--gum),var(--violet));color:#fff}
.hh-ic svg{width:22px;height:22px}
.hh-chips{display:flex;flex-wrap:wrap;gap:6px;margin-top:auto}
.hh-chips i{font-style:normal;font-size:12px;font-weight:600;padding:4px 9px;border-radius:999px;background:var(--blue-bg);color:var(--gum)}
.hh-big{font-size:26px!important;background:linear-gradient(90deg,var(--gum),var(--wattle));-webkit-background-clip:text;background-clip:text;color:transparent}
.hh-mini{display:flex;gap:6px;align-items:flex-end;height:46px;margin-top:auto}
.hh-mini i{flex:1;border-radius:6px 6px 2px 2px;background:linear-gradient(180deg,var(--wattle),var(--gum))}
.hh-term{cursor:default}
.hh-term .linkbtn{margin-top:auto;align-self:flex-start}
.hb-tag{font-size:12px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--gum)}

/* health hub */
.hb-hero{display:flex;justify-content:space-between;align-items:flex-end;gap:20px;flex-wrap:wrap;margin:28px 0 20px}
.hb-hero h1{margin:6px 0 8px;font:800 clamp(32px,4.4vw,54px)/1.04 var(--display);letter-spacing:-.035em;max-width:16ch}
.hb-hero p{margin:0;color:var(--muted);font-size:17px;max-width:56ch}
.hb-jump{display:flex;gap:6px;flex-wrap:wrap}
.hb-jump a{text-decoration:none;font-weight:600;font-size:14px;padding:8px 14px;border-radius:999px;background:var(--glass);border:1px solid var(--glass-line);color:var(--ink)}
.hb-jump a:hover{border-color:var(--gum);color:var(--gum)}
.hb-sec{border:1px solid var(--glass-line);border-radius:26px;padding:24px;margin-bottom:18px;scroll-margin-top:90px}
.hb-sec>header{margin-bottom:16px}
.hb-sec>header h2{margin:0;font:800 26px/1.15 var(--display)}
.hb-sec>header p{margin:6px 0 0;color:var(--muted)}
.hb-areas{display:flex;flex-wrap:wrap;gap:8px}
.hb-areas button{display:inline-flex;align-items:center;gap:8px;border:1px solid var(--line);background:var(--surface);border-radius:14px;padding:10px 14px;font-weight:600;cursor:pointer;color:var(--ink)}
.hb-areas button svg{width:18px;height:18px;color:var(--gum)}
.hb-areas button[aria-selected="true"]{background:linear-gradient(135deg,var(--gum),var(--violet));color:#fff;border-color:transparent}
.hb-areas button[aria-selected="true"] svg{color:#fff}
.hb-pick{margin:14px 0 0}
.hb-area{margin-top:16px;background:var(--surface);border:1px solid var(--line);border-radius:20px;padding:18px 20px;animation:rise .3s ease both}
.hb-area h3{margin:0 0 8px;font:700 20px var(--display)}
.hb-area ul{list-style:none;margin:0;padding:0}
.hb-area li{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:10px 0;border-top:1px solid var(--line)}
.hb-area li:first-child{border-top:0}
.hb-spec{border:0;background:var(--blue-bg);color:var(--gum);font-weight:700;font-size:13px;padding:6px 12px;border-radius:999px;cursor:pointer;white-space:nowrap}
.hb-spec:hover{background:var(--gum);color:#fff}
.hb-red{display:flex;gap:8px;align-items:flex-start;background:var(--urg-bg);color:var(--urg);border-radius:12px;padding:10px 12px;font-size:14px;font-weight:600;margin:12px 0 6px}
.hb-red svg{width:16px;height:16px;flex:none;margin-top:2px}
.hb-filters{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;align-items:flex-end;margin-bottom:14px}
.hb-filters label,.hb-ins label{display:inline-flex;gap:8px;align-items:center;font-size:14px;font-weight:600;color:var(--muted)}
.hb-filters select,.hb-ins select{border:1px solid var(--line);border-radius:10px;padding:7px 10px;background:var(--surface);color:var(--ink);font:inherit}
.hb-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:18px}
.hb-kpis div{background:var(--surface);border:1px solid var(--line);border-radius:18px;padding:14px 16px}
.hb-kpis b{display:block;font:800 24px/1.1 var(--display);color:var(--ink)}
.hb-kpis span{font-size:13px;color:var(--muted)}
.hb-ins{display:grid;grid-template-columns:1fr 1fr;gap:22px}
.hb-ins h3{margin:0;font:700 18px var(--display)}
.hb-bars{display:grid;gap:6px;margin-top:10px}
.hb-bar{display:grid;grid-template-columns:150px minmax(0,1fr) 70px;gap:10px;align-items:center;font-size:13.5px;border-radius:8px;padding:2px 0}
.hb-bar:hover,.hb-bar:focus-visible{background:var(--sunk);outline:none}
.hb-k{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:var(--ink)}
.hb-track{height:12px;background:var(--sunk);border-radius:4px;overflow:hidden}
.hb-track i{display:block;height:100%;border-radius:0 4px 4px 0;background:var(--gum)}
.hb-v{text-align:right;font-weight:700;color:var(--ink);font-variant-numeric:tabular-nums}
.hb-table{width:100%;border-collapse:collapse;font-size:14px;margin-top:10px}
.hb-table th,.hb-table td{text-align:left;padding:7px 8px;border-bottom:1px solid var(--line)}
.hb-table th{font-size:12px;color:var(--muted);text-transform:uppercase;letter-spacing:.05em}
.hb-fast{list-style:none;margin:10px 0 0;padding:0;display:grid;gap:4px}
.hb-fast button{display:grid;grid-template-columns:36px minmax(0,1fr) auto;gap:10px;align-items:center;width:100%;text-align:left;border:0;background:none;padding:6px;border-radius:12px;cursor:pointer;color:var(--ink)}
.hb-fast button:hover{background:var(--sunk)}
.hb-fast .avatar{width:36px;height:36px;border-radius:10px;font-size:13px}
.hb-fast b{display:block;font-size:14.5px}.hb-fast small{color:var(--muted);font-size:12.5px}
.hb-fast em{font-style:normal;font-weight:700;font-size:13px;color:var(--mint-3)}
.hb-note{margin:16px 0 0;font-size:12.5px;color:var(--muted)}
.hb-arts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.hb-art{display:flex;flex-direction:column;gap:8px;text-align:left;border:1px solid var(--line);background:var(--surface);border-radius:20px;padding:18px;cursor:pointer;color:var(--ink);transition:transform .18s,box-shadow .18s}
.hb-art:hover{transform:translateY(-3px);box-shadow:var(--shadow)}
.hb-art b{font:700 18px/1.3 var(--display)}
.hb-art.big{grid-row:span 2;background:linear-gradient(160deg,color-mix(in srgb,var(--gum) 10%,var(--surface)),var(--surface) 60%)}
.hb-art.big b{font-size:24px}
.hb-sum{color:var(--muted);font-size:14.5px}
.hb-more{margin-top:auto;display:inline-flex;align-items:center;gap:6px;font-weight:700;color:var(--gum);font-size:14px}
.hb-more svg{width:16px;height:16px}
.hb-dict-top{display:grid;gap:12px;margin-bottom:12px}
.hb-dsearch{display:flex;align-items:center;gap:10px;border:1px solid var(--line);border-radius:14px;padding:0 14px;background:var(--surface)}
.hb-dsearch:focus-within{border-color:var(--gum);box-shadow:var(--ring)}
.hb-dsearch svg{width:18px;height:18px;color:var(--gum)}
.hb-dsearch input{border:0;outline:none;background:none;flex:1;padding:12px 0;font-size:16px;min-width:0}
.hb-letters{display:flex;flex-wrap:wrap;gap:4px}
.hb-letters button{width:34px;height:34px;border-radius:10px;border:1px solid var(--line);background:var(--surface);font-weight:700;cursor:pointer;color:var(--ink)}
.hb-letters button[aria-pressed="true"]{background:var(--gum);border-color:var(--gum);color:#fff}
.hb-dict{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 22px;margin:0;max-height:560px;overflow:auto;padding-right:6px}
.hb-dict div{padding:10px 0;border-top:1px solid var(--line)}
.hb-dict dt{font:700 16px var(--display)}
.hb-dict dd{margin:4px 0 0;color:var(--muted);font-size:14.5px}
.hb-dict dd .hb-spec{margin-left:6px;font-size:12px;padding:3px 9px}
.hb-newscard{padding:16px 18px}
.hb-disc{font-size:12.5px;color:var(--muted);margin:10px 0 40px}
.modal.art{max-width:680px}
.hb-read h2{font:800 30px/1.15 var(--display);margin:6px 0 14px;letter-spacing:-.025em}
.hb-read p,.hb-read li{font-size:16.5px;line-height:1.65;color:var(--ink)}
.hb-read ul{padding-left:20px}
.hb-read li{margin:6px 0}
.hb-readmore{display:grid;gap:6px;border-top:1px solid var(--line);padding-top:12px;margin-top:8px}
.hb-readmore .linkbtn{font-size:15px;text-align:left}
@media (max-width:1000px){ .hh-grid{grid-template-columns:1fr 1fr} .hb-ins{grid-template-columns:1fr} .hb-arts{grid-template-columns:1fr 1fr} .hb-kpis{grid-template-columns:1fr 1fr} }
@media (max-width:640px){ .hh-grid,.hb-arts,.hb-dict{grid-template-columns:1fr} .hb-bar{grid-template-columns:110px minmax(0,1fr) 58px} .hb-sec{padding:18px 14px} .hb-area li{flex-direction:column;align-items:flex-start} }
/* r11 polish */
.hero{grid-template-rows:auto 1fr auto auto auto}
.hero .kinds{align-self:center}
.hero h1{align-self:end}
.hero p.lede{align-self:start}
.tabs button{white-space:nowrap}
.palbtn span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
@media (max-width:1180px){.palbtn{min-width:min(260px,26vw)}}
@media (max-width:1000px){.hero{grid-template-rows:none}}
.hero h1{font-size:clamp(32px,4.6vw,62px)!important;line-height:1.02!important;margin-top:8px!important}
.hero p.lede{margin-top:6px}
/* round 12: guides, specialty profiles, guide editor */
.hb-read h3{font:700 18px/1.3 var(--display);margin:22px 0 6px;letter-spacing:-.01em}
.hb-read .g-lede{font-size:17px;color:var(--muted);margin:0 0 6px}
.linkbtn.inl{display:inline;padding:0;font:inherit;text-decoration:underline;text-underline-offset:3px}
.g-faq{margin-top:18px}.g-faq details{border-top:1px solid var(--line);padding:10px 0}.g-faq details:last-child{border-bottom:1px solid var(--line)}
.g-faq summary{font-weight:700;cursor:pointer;list-style:none;display:flex;justify-content:space-between;gap:10px}.g-faq summary::-webkit-details-marker{display:none}
.g-faq summary::after{content:"+";color:var(--gum);font-size:20px;line-height:1}.g-faq details[open] summary::after{content:"–"}.g-faq p{margin:6px 0 0;color:var(--muted)}
.g-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:14px 0 4px}.g-stats div{background:var(--sunk);border-radius:14px;padding:10px 12px}.g-stats b{display:block;font:800 22px/1.1 var(--display)}.g-stats span{font-size:13px;color:var(--muted)}
.g-two{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.g-tags{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 16px}
.g-tags button{border:1px solid var(--line);background:var(--surface);border-radius:999px;padding:7px 13px;font-weight:600;font-size:14px;cursor:pointer;color:var(--ink)}
.g-tags button span{color:var(--muted);font-weight:500}
.g-tags button[aria-pressed="true"]{background:var(--ink);border-color:var(--ink);color:var(--bg)}.g-tags button[aria-pressed="true"] span{color:inherit;opacity:.7}
.g-more{margin:14px 0 0;text-align:center}
.g-sub{font:700 15px var(--display);color:var(--muted);margin:18px 0 10px;text-transform:uppercase;letter-spacing:.08em}
.g-specs{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:10px}
.g-spec{display:flex;flex-direction:column;gap:4px;text-align:left;background:var(--surface);border:1px solid var(--line);border-radius:16px;padding:14px 16px;cursor:pointer;color:var(--ink);transition:transform .15s,border-color .15s}
.g-spec:hover{transform:translateY(-2px);border-color:color-mix(in srgb,var(--gum) 45%,var(--line))}
.g-spec b{font:700 16px var(--display)}.g-spec span{font-size:13.5px;color:var(--muted);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.g-spec i{font-style:normal;font-size:12.5px;font-weight:700;color:var(--mint-3)}
.fcols{grid-template-columns:1.4fr repeat(4,1fr)}
.fcols a{display:block;padding:5px 0;color:var(--muted);font-size:14px;text-decoration:none}.fcols a:hover{color:var(--ink);text-decoration:underline;text-underline-offset:3px}
.ge-new,.ge-ed{display:grid;gap:12px}
.ge-acts{display:flex;gap:10px;flex-wrap:wrap;align-items:center}
.ge-err{color:var(--urg);font-weight:600;margin:0}
.ge-list{list-style:none;padding:0;margin:0}.ge-list li{display:flex;align-items:center;gap:12px;padding:12px 0;border-top:1px solid var(--line)}.ge-list li>div{flex:1;min-width:0}.ge-list .meta{display:block;font-size:13px}
.ge-top{display:flex;justify-content:space-between;align-items:center;gap:10px}
.ge-cols{display:grid;grid-template-columns:1fr 1fr;gap:16px;align-items:start}
.ge-cols textarea,.ge-ed textarea{font:14px/1.5 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace!important;resize:vertical}
.ge-prev{border:1px solid var(--line);border-radius:14px;padding:14px 16px;max-height:560px;overflow:auto;background:var(--surface)}.ge-prev h2{font:800 22px/1.2 var(--display);margin:6px 0 8px}
.ge-ed .fine{font-weight:500;color:var(--muted)}
@media (max-width:860px){.fcols{grid-template-columns:1fr 1fr}.g-two,.ge-cols{grid-template-columns:1fr}}
@media (max-width:600px){.g-specs{grid-template-columns:1fr 1fr;gap:8px}.g-spec{padding:12px}.g-spec span{display:none}.g-spec b{font-size:14.5px}}
/* ---------- round 13: Ocean Clinic theme (teal and white, calm and clinical) ---------- */
:root{--bg:#F6FAFA;--surface:#FFFFFF;--sunk:#EEF5F5;--ink:#0B1F24;--muted:#55696E;--line:#DDE8E8;--line-soft:#E7F0F0;
  --gum:#0F766E;--gum-2:#115E59;--violet:#0E7490;--wattle:#0EA5E9;--wattle-ink:#FFFFFF;--wattle-bg:#E0F2FE;--late:#0369A1;
  --mint-3:#059669;--logo-bg:#0F766E;--blue:#0F766E;--blue-bg:#E6F4F2;--pink:#F43F5E;
  --av1:#0F766E;--av2:#0E7490;--av3:#0369A1;--av4:#0D9488;--av5:#155E75;--av6:#475569;
  --glass:color-mix(in srgb,#fff 86%,transparent);--glass-line:var(--line);
  --shadow:0 1px 0 rgba(11,31,36,.03),0 18px 40px -24px rgba(8,47,49,.25);
  --ring:0 0 0 4px color-mix(in srgb,var(--gum) 18%,transparent);
  --map-land:#EAF3F2;--map-sea:#D7ECEE;--map-coast:#A9CACC;--b1:#0F766E}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]){
  --bg:#071416;--surface:#0E1F22;--sunk:#0A191B;--ink:#E6F2F1;--muted:#93AAAD;--line:#1E3437;--line-soft:#163033;
  --gum:#2DD4BF;--gum-2:#5EEAD4;--on-gum:#04201D;--violet:#22D3EE;--wattle:#38BDF8;--wattle-ink:#04121A;--wattle-bg:#0B2533;--late:#7DD3FC;
  --logo-bg:#0F766E;--blue:#5EEAD4;--blue-bg:#123033;--av1:#0F766E;--av2:#0E7490;--av3:#0369A1;--av4:#0D9488;--av5:#155E75;--av6:#475569;
  --glass:color-mix(in srgb,#0E1F22 80%,transparent);--glass-line:var(--line);--map-land:#10262A;--map-sea:#061012;--map-coast:#24474B;--b1:#2DD4BF}}
:root[data-theme="dark"]{
  --bg:#071416;--surface:#0E1F22;--sunk:#0A191B;--ink:#E6F2F1;--muted:#93AAAD;--line:#1E3437;--line-soft:#163033;
  --gum:#2DD4BF;--gum-2:#5EEAD4;--on-gum:#04201D;--violet:#22D3EE;--wattle:#38BDF8;--wattle-ink:#04121A;--wattle-bg:#0B2533;--late:#7DD3FC;
  --logo-bg:#0F766E;--blue:#5EEAD4;--blue-bg:#123033;--av1:#0F766E;--av2:#0E7490;--av3:#0369A1;--av4:#0D9488;--av5:#155E75;--av6:#475569;
  --glass:color-mix(in srgb,#0E1F22 80%,transparent);--glass-line:var(--line);--map-land:#10262A;--map-sea:#061012;--map-coast:#24474B;--b1:#2DD4BF}
body,:root[data-theme="dark"] body{background:var(--bg)!important}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]) body{background:var(--bg)!important}}
.hero{background:var(--surface)!important;border-color:var(--line)!important;backdrop-filter:none}
.hero::before{opacity:.35}
.grad,.hero h1 .hl{background:none!important;-webkit-text-fill-color:var(--gum);color:var(--gum)}
.brand em{background:none!important;-webkit-text-fill-color:var(--gum);color:var(--gum)}
.hero .searchbar .go,.searchbar .go{background:var(--gum)!important;color:#fff!important}
:root[data-theme="dark"] .searchbar .go{color:#04201D!important}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]) .searchbar .go{color:#04201D!important}}
.hero .searchbar svg{color:var(--gum)}

/* round 14: theme toggle */
.themebtn{display:grid;place-items:center;width:40px;height:40px;flex:none;border:1px solid var(--line);background:var(--surface);color:var(--ink);border-radius:999px;cursor:pointer;transition:border-color .15s,transform .15s}
.themebtn:hover{border-color:var(--gum);color:var(--gum)}
.themebtn:active{transform:scale(.94)}
.themebtn svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.themebtn .ic-moon{fill:currentColor;stroke:none}
.themebtn .ic-sun{display:none}
:root[data-theme="dark"] .themebtn .ic-sun{display:block}:root[data-theme="dark"] .themebtn .ic-moon{display:none}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]) .themebtn .ic-sun{display:block}:root:not([data-theme="light"]) .themebtn .ic-moon{display:none}}
/* read aloud */
.tts{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin:10px 0 18px;padding:6px;border:1px solid var(--line);border-radius:999px;background:var(--surface);width:fit-content;max-width:100%}
.tts[hidden]{display:none}
.tts button{font:inherit;cursor:pointer;color:var(--ink);background:none;border:0}
.tts svg{width:18px;height:18px;flex:none}
.tts .tts-main{display:inline-flex;align-items:center;gap:7px;padding:7px 14px 7px 11px;border-radius:999px;background:var(--gum);color:#fff;font-weight:700;font-size:14.5px}
.tts .tts-main:hover{filter:brightness(1.08)}
.tts .tts-icon{display:grid;place-items:center;width:34px;height:34px;border-radius:999px;border:1px solid var(--line)}
.tts .tts-icon:hover,.tts .tts-rate:hover{border-color:var(--gum);color:var(--gum)}
.tts .tts-rate{min-width:44px;height:32px;padding:0 9px;border-radius:999px;border:1px solid var(--line);font-weight:700;font-size:13px;color:var(--muted)}
.tts .tts-hint,.tts .tts-prog{font-size:13.5px;color:var(--muted);padding-right:2px}
.tts .tts-track{flex:1;min-width:60px;width:110px;height:5px;border-radius:9px;background:var(--sunk);overflow:hidden}
.tts .tts-track i{display:block;height:100%;background:var(--gum);border-radius:9px;transition:width .3s}
.tts.on{padding-right:8px}
.tts-now{background:color-mix(in srgb,var(--gum) 14%,transparent);border-radius:8px;box-shadow:0 0 0 4px color-mix(in srgb,var(--gum) 14%,transparent);transition:background .2s}
:root[data-theme="dark"] .tts .tts-main{color:#04201D}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]) .tts .tts-main{color:#04201D}}
@media print{.tts{display:none}}
/* round 16: drafts, autosave, password toggle */
.draftnote{display:flex;align-items:center;gap:8px;margin:0 0 12px;padding:8px 12px;border-radius:12px;background:var(--mint,#ECFDF5);color:var(--mint-3);font-size:13.5px;font-weight:600}
.draftnote svg{width:16px;height:16px;flex:none}
.draftnote span{flex:1}
.draftnote .linkbtn{font-size:13px;font-weight:700}
.su-autosave{font-size:13.5px;color:var(--muted);align-self:center;margin-left:4px}
.su-autosave.ok{color:var(--mint-3)} .su-autosave.ok::before{content:"✓ "}
.su-autosave.warn{color:var(--urg)}
.pwwrap{position:relative;display:block}
.pwwrap input{width:100%;padding-right:68px!important}
.pwtoggle{position:absolute;right:6px;top:50%;transform:translateY(-50%);border:0;background:var(--sunk);color:var(--ink);font:700 12.5px/1 var(--body);padding:8px 10px;border-radius:9px;cursor:pointer}
.pwtoggle:hover{color:var(--gum)}
#accSignInInstead{margin-left:4px;font-weight:700}
@media (max-width:640px){ .book input,.book select,.book textarea{font-size:16px} }
/* account-type picker: all four choices visible on phones */
@media (max-width:640px){
  #modal .seg:has([data-acct]){display:grid;grid-template-columns:1fr 1fr;gap:4px;width:100%;border-radius:16px}
  #modal .seg [data-acct]{white-space:normal;line-height:1.2;padding:9px 8px;text-align:center;border-radius:12px}
  .setup-grid aside{order:2!important}
}
/* header: signed-in name shrinks before it overflows */
@media (max-width:1380px){ .acctbtn.on .acc-name{max-width:9ch;overflow:hidden;text-overflow:ellipsis;white-space:nowrap} }
@media (max-width:1240px){ .acctbtn.on .acc-name{display:none} .acctbtn.on{padding:4px!important} }
/* phone header: search as an icon, a clear "Sign in" pill, nothing overlapping */
@media (max-width:760px){
  .hdr-actions{gap:6px!important;flex:none}
  .palbtn{min-width:0!important;width:40px;height:40px;padding:0!important;justify-content:center!important;border-radius:999px!important}
  .themebtn{width:38px;height:38px}
  .acctbtn:not(.on){width:auto!important;padding:0 12px 0 10px!important;gap:6px}
  .acctbtn:not(.on) .acc-name{display:inline!important;font-size:14px}
}
@media (max-width:400px){ header .brand{font-size:19px} header .brand svg{width:30px;height:30px} }
@media (max-width:350px){ header .brand span{display:none} .acctbtn:not(.on) .acc-name{font-size:13px} }
@media (max-width:350px){ header.top .brand .word{display:none!important} }
/* desktop header: the search box shrinks first so nothing spills off the edge */
@media (min-width:761px){
  .top .wrap{gap:12px}
  .top .wrap .brand{flex:none}
  nav.tabs{flex:none}
  .hdr-actions{flex:1 1 auto;min-width:0;justify-content:flex-end}
  .hdr-actions .palbtn{flex:0 1 360px;min-width:44px!important;width:auto}
  .hdr-actions .themebtn,.hdr-actions .acctbtn{flex:none}
}
@media (max-width:1400px) and (min-width:761px){ header.top nav.tabs button{padding-left:10px!important;padding-right:10px!important} }
@media (max-width:1100px) and (min-width:761px){ .palbtn span,.palbtn kbd{display:none} .hdr-actions .palbtn{flex:none;width:40px;justify-content:center!important;padding:0!important;height:40px} }
/* round 17: password help and admin accounts */
.forgot{justify-self:start;font-size:13.5px;margin-top:-4px}
.forgot-box{border:1px solid var(--line);background:var(--sunk);border-radius:14px;padding:12px 14px;display:grid;gap:6px}
.forgot-box p{margin:0;font-size:14px;color:var(--muted)}
.forgot-box .ghost{justify-self:start}
.acc17{display:grid;gap:10px}
.acc17-q{display:flex;gap:8px}
.acc17-q input{flex:1;min-width:0;border:1px solid var(--line);background:var(--surface);border-radius:12px;padding:11px 13px;font-size:16px;color:var(--ink)}
.acc17-list{list-style:none;margin:6px 0 0;padding:0}
.acc17-list li{display:flex;align-items:center;gap:12px;padding:12px 0;border-top:1px solid var(--line)}
.acc17-list li>div{flex:1;min-width:0;display:grid;gap:2px}
.acc17-list .meta{font-size:13px}
.acc17-list .warn{color:var(--urg)}
.acc17-check{margin:6px 0 4px;padding-left:20px;color:var(--muted);font-size:14.5px}
.acc17-check li{margin:4px 0}
.acc17-temp{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:14px 16px;border-radius:14px;background:var(--sunk);border:1px dashed var(--gum)}
.acc17-temp code{font:700 20px/1.2 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;letter-spacing:.02em;color:var(--ink);word-break:break-all}
@media (max-width:640px){ .acc17-list li{flex-wrap:wrap} .acc17-list li .ghost{margin-left:52px} }

/* ---------- round 18: public waits, MBS and PBS lookup ---------- */
.pw-banner{margin:0 0 14px;padding:14px 16px;border:1px solid var(--line);border-radius:14px;background:var(--surface)}
.pw-b-nums{display:flex;align-items:stretch;gap:12px;flex-wrap:wrap}
.pw-b-nums>div:not(.pw-vs){flex:1 1 180px;min-width:0}
.pw-b-nums span{display:block;font-size:13px;color:var(--muted)}
.pw-b-nums b{display:block;font-size:24px;line-height:1.2;color:var(--ink);font-variant-numeric:tabular-nums}
.pw-b-nums .pw-priv b{color:var(--gum)}
.pw-b-nums small{display:block;font-size:12.5px;color:var(--muted)}
.pw-vs{align-self:center;font-size:13px;color:var(--muted);font-weight:600}
.pw-banner p{margin:10px 0 0;font-size:13.5px;color:var(--muted)}
.linkbtn{background:none;border:0;padding:0;color:var(--gum);font:inherit;font-weight:600;text-decoration:underline;text-underline-offset:2px;cursor:pointer}
.pw-ctl{display:flex;gap:12px;flex-wrap:wrap;margin:0 0 14px}
.pw-ctl label{display:flex;flex-direction:column;gap:4px;font-size:13px;color:var(--muted);flex:1 1 200px;max-width:320px}
.pw-ctl select{font:inherit;font-size:15px;color:var(--ink);background:var(--surface);border:1px solid var(--line);border-radius:10px;padding:9px 10px;min-height:44px}
.pw-cards{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-bottom:18px}
.pw-card{border:1px solid var(--line);border-radius:14px;padding:12px 14px;background:var(--surface);display:flex;flex-direction:column;gap:2px;min-width:0}
.pw-card span{font-size:13px;color:var(--muted);overflow-wrap:anywhere}
.pw-card b{font-size:22px;line-height:1.25;color:var(--ink);font-variant-numeric:tabular-nums}
.pw-card small{font-size:12px;color:var(--muted)}
.pw-card.main{border-color:var(--gum);box-shadow:inset 0 0 0 1px var(--gum)}
.pw-card.priv b{color:var(--gum)}
.pw-card.priv .cta{margin-top:8px;align-self:flex-start;max-width:100%;white-space:normal;text-align:center}
.pw-two{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.2fr);gap:22px}
.pw-two h3{font-size:15px;margin:0 0 10px}
.pw-bars{display:flex;flex-direction:column;gap:7px}
.pw-bar{display:grid;grid-template-columns:120px minmax(0,1fr) 56px;align-items:center;gap:8px;font-size:13px}
.pw-bar span{color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.pw-bar i{display:block;height:10px;background:var(--sunk);border-radius:4px;overflow:hidden}
.pw-bar em{display:block;height:100%;background:color-mix(in srgb,var(--gum) 45%,var(--surface));border-radius:0 4px 4px 0}
.pw-bar.on em{background:var(--gum)}
.pw-bar.on span{color:var(--ink);font-weight:600}
.pw-bar.nat em{background:var(--muted)}
.pw-bar b{font-weight:600;text-align:right;font-variant-numeric:tabular-nums;color:var(--ink)}
.pw-table{width:100%;border-collapse:collapse;font-size:13.5px;margin-bottom:14px}
.pw-table th{text-align:left;font-weight:600;color:var(--muted);font-size:12.5px;padding:6px 6px;border-bottom:1px solid var(--line)}
.pw-table td{padding:8px 6px;border-bottom:1px solid var(--line-soft);font-variant-numeric:tabular-nums}
.pw-table td:first-child{color:var(--ink)}
.pw-table th:not(:first-child),.pw-table td:not(:first-child){text-align:right;white-space:nowrap}
.pw-urg{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px}
.pw-urg li{display:flex;justify-content:space-between;gap:10px;font-size:13.5px;padding:6px 0;border-bottom:1px solid var(--line-soft)}
.pw-urg b{font-variant-numeric:tabular-nums}
.pw-src{font-size:12.5px;color:var(--muted);margin:14px 0 0;line-height:1.5}
.pw-src a{color:var(--gum)}
.lk .g-tags{margin-bottom:10px}
.lk-q input{width:100%;font:inherit;font-size:16px;color:var(--ink);background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:11px 14px;min-height:46px}
.lk-q input:focus{outline:2px solid var(--gum);outline-offset:1px}
#lkRes,.lk>div:last-of-type{margin-top:10px}
.lk-list{list-style:none;margin:10px 0 0;padding:0;display:flex;flex-direction:column;gap:8px}
.lk-list li{border:1px solid var(--line);border-radius:12px;padding:11px 14px;background:var(--surface)}
.lk-h{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:4px 12px}
.lk-h b{font-size:15px;color:var(--ink)}
.lk-fee{font-size:13px;color:var(--ink);font-variant-numeric:tabular-nums}
.lk-list p{margin:6px 0 0;font-size:13.5px;line-height:1.5}
.lk-list a{display:inline-block;margin-top:6px;font-size:13px;color:var(--gum);font-weight:600}
.lk-list .pill{font-size:12px;padding:2px 9px}
.lk-list .pill.ok{background:var(--blue-bg);border-color:transparent;color:var(--gum-2)}
.lk-list .pill.mid{background:var(--wattle-bg);border-color:transparent;color:#075985}
.lk-list .pill.hi{background:#FEF3C7;border-color:transparent;color:#92400E}
:root[data-theme="dark"] .lk-list .pill.mid{background:#0C2F44;color:#BAE6FD}
:root[data-theme="dark"] .lk-list .pill.hi{background:#3A2A0A;color:#FDE68A}
:root[data-theme="dark"] .lk-list .pill.ok{background:#0F2E2B;color:#99F6E4}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]) .lk-list .pill.mid{background:#0C2F44;color:#BAE6FD}:root:not([data-theme="light"]) .lk-list .pill.hi{background:#3A2A0A;color:#FDE68A}:root:not([data-theme="light"]) .lk-list .pill.ok{background:#0F2E2B;color:#99F6E4}}
.lk #lkMore,.lk .ghost.sm{margin-top:10px}
.mbsrow td{font-size:12.5px;color:var(--muted);line-height:1.45;padding-top:0!important}
@media (max-width:860px){.pw-cards{grid-template-columns:repeat(2,minmax(0,1fr))}.pw-card.priv,.pw-card.main{grid-column:1/-1}.pw-two{grid-template-columns:minmax(0,1fr)}}
@media (max-width:420px){.pw-card b{font-size:19px}.pw-bar{grid-template-columns:96px minmax(0,1fr) 48px}.pw-b-nums b{font-size:21px}.pw-vs{display:none}}

/* ---------- round 19: CPD ---------- */
.td-cpd{grid-column:span 12}
.cpd-top{display:flex;gap:20px;align-items:center;flex-wrap:wrap}
.cpd-ring{--p:0;width:112px;height:112px;border-radius:50%;flex:none;display:grid;place-content:center;text-align:center;background:radial-gradient(closest-side,var(--surface) 78%,transparent 79% 100%),conic-gradient(var(--gum) calc(var(--p)*1%),var(--sunk) 0)}
.cpd-ring b{font:800 28px/1 var(--display);letter-spacing:-.02em}.cpd-ring span{font-size:12px;color:var(--muted)}
.cpd-bars{flex:1 1 280px;min-width:0}
.cpd-stack{display:flex;gap:2px;height:14px;border-radius:7px;background:var(--sunk);overflow:hidden}
.cpd-stack i{display:block;height:100%}
.cpd-stack i:first-child{border-radius:4px 0 0 4px}
.c0{background:#0F766E}.c1{background:#0EA5E9}.c2{background:#7C3AED}
:root[data-theme="dark"] .c0{background:#2DD4BF}:root[data-theme="dark"] .c1{background:#38BDF8}:root[data-theme="dark"] .c2{background:#A78BFA}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]) .c0{background:#2DD4BF}:root:not([data-theme="light"]) .c1{background:#38BDF8}:root:not([data-theme="light"]) .c2{background:#A78BFA}}
.cpd-leg{list-style:none;margin:10px 0 0;padding:0;display:flex;flex-wrap:wrap;gap:6px 18px;font-size:13.5px;color:var(--muted)}
.cpd-leg li{display:flex;align-items:center;gap:6px}.cpd-leg i{width:10px;height:10px;border-radius:3px}.cpd-leg b{color:var(--ink);font-variant-numeric:tabular-nums}
.cpd-checks{list-style:none;margin:16px 0 0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:6px 18px}
.cpd-checks li{display:flex;align-items:center;gap:8px;font-size:14px;padding:6px 0;border-bottom:1px solid var(--line-soft)}
.cpd-checks li span{width:20px;height:20px;border-radius:50%;border:1.5px solid var(--line);display:grid;place-items:center;font-size:12px;font-weight:800;flex:none}
.cpd-checks li.ok span{background:var(--gum);border-color:var(--gum);color:#fff}
.cpd-checks em{margin-left:auto;font-style:normal;color:var(--muted);font-size:12.5px;white-space:nowrap}
.cpd-checks li.ok em{color:var(--gum);font-weight:700}
.cpd-acts{display:flex;gap:8px;flex-wrap:wrap;margin:16px 0 4px}
.cpd-acts a.ghost{display:inline-flex;align-items:center;text-decoration:none;color:var(--ink);border:1px solid var(--line);border-radius:10px;padding:7px 12px;font-weight:600;font-size:14px}
.cpd-form{display:grid;grid-template-columns:2fr 1fr 1.4fr .7fr;gap:10px;margin:12px 0;padding:14px;border:1px solid var(--line);border-radius:16px;background:var(--sunk)}
.cpd-form label{display:flex;flex-direction:column;gap:4px;font-size:13px;font-weight:600;color:var(--muted);min-width:0}
.cpd-form input,.cpd-form select{font:inherit;font-size:15px;color:var(--ink);background:var(--surface);border:1px solid var(--line);border-radius:10px;padding:9px 10px;min-height:42px;width:100%}
.cpd-form .full{grid-column:1/-1}
.cpd-h{font-size:14px;margin:16px 0 6px;color:var(--muted);font-weight:700}
.cpd-list,.cpd-ev{list-style:none;margin:0;padding:0}
.cpd-list li{display:grid;grid-template-columns:62px minmax(0,1fr) auto 32px;gap:10px;align-items:center;padding:8px 0;border-bottom:1px solid var(--line-soft)}
.cpd-d{font-size:13px;color:var(--muted);font-variant-numeric:tabular-nums}
.cpd-m b{display:block;font-size:14.5px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cpd-m small{display:block;font-size:12.5px;color:var(--muted)}
.cpd-hr{font-weight:700;font-variant-numeric:tabular-nums}
.cpd-x{width:30px;height:30px;border-radius:8px;border:0;background:none;color:var(--muted);font-size:18px;cursor:pointer}.cpd-x:hover{background:var(--sunk);color:var(--ink)}
.cpd-ev li{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:8px 0;border-bottom:1px solid var(--line-soft)}
.cpd-ev a{text-decoration:none;color:var(--ink);min-width:0}.cpd-ev b{display:block;font-size:14.5px}.cpd-ev small{color:var(--muted);font-size:12.5px}
.cpd-fine{font-size:12.5px;color:var(--muted);margin:12px 0 0}
.cpd-adm{list-style:none;margin:12px 0 0;padding:0;display:grid;gap:10px}
.cpd-adm li{display:flex;gap:14px;justify-content:space-between;align-items:flex-start;border:1px solid var(--line);border-radius:14px;padding:12px 14px}
.cpd-adm li>div:first-child{display:flex;flex-direction:column;gap:3px;min-width:0}.cpd-adm a{overflow-wrap:anywhere;font-size:13.5px}.cpd-adm p{margin:4px 0;font-size:14px}
.cpd-adm-acts{display:flex;gap:6px;flex:none}
@media (max-width:700px){.cpd-form{grid-template-columns:1fr 1fr}.cpd-form label:first-child{grid-column:1/-1}.cpd-list li{grid-template-columns:52px minmax(0,1fr) auto 30px;gap:8px}.cpd-adm li{flex-direction:column}}

/* ---------- round 20: funding, reports, tracker, insights, booking button, install, homepage A ---------- */
.fundline{display:flex;flex-wrap:wrap;gap:5px;margin:8px 0 2px}
.fundline span{font-size:12px;font-weight:600;padding:2px 8px;border-radius:999px;background:var(--sunk);color:var(--muted);border:1px solid var(--line-soft)}
.fundline .fund-nr{background:color-mix(in srgb,var(--gum) 12%,var(--surface));color:var(--gum-2);border-color:transparent}
.fundline .fund-closed{background:#FEF3C7;color:#92400E;border-color:transparent}
:root[data-theme="dark"] .fundline .fund-closed{background:#3A2A0A;color:#FDE68A}
:root[data-theme="dark"] .fundline .fund-nr{color:#99F6E4}
.fund-chips{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin:-4px 0 16px}
.fund-chips[hidden]{display:none}
.fund-chips .fc-l{font-size:13px;font-weight:700;color:var(--muted);margin-right:4px}
.fund-list{list-style:none;margin:0 0 10px;padding:0;display:grid;gap:6px}
.fund-list li{display:flex;gap:8px;align-items:flex-start;font-size:14.5px}
.fund-list svg{width:16px;height:16px;flex:none;margin-top:3px;color:var(--gum)}
.xfund{border:1px solid var(--line);border-radius:14px;padding:12px 14px 14px;margin:14px 0 0}
.xfund legend{font-weight:700;font-size:14px;padding:0 6px}
.xf-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px 16px;margin-bottom:6px}
.xf-grid label{font-size:14px}
@media (max-width:640px){.xf-grid{grid-template-columns:1fr}}
.ri-report{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px 14px;margin-top:12px;padding-top:12px;border-top:1px dashed var(--line)}
.rr-st{font-size:13px;color:var(--muted);display:flex;flex-wrap:wrap;gap:6px}
.rr-ok{color:var(--gum);font-weight:700}
.rr-btns{display:flex;gap:6px;flex-wrap:wrap}
.rr-btns [aria-pressed="true"]{border-color:var(--gum);color:var(--gum)}
.rep-acts{display:flex;gap:8px;flex-wrap:wrap}
#repText{width:100%;min-height:320px;border:1px solid var(--line);border-radius:12px;padding:12px;background:var(--surface);color:var(--ink)}
.pt-track{background:var(--surface);border:1px solid var(--line);border-radius:20px;padding:18px 20px;margin:0 0 18px}
.pt-track header{display:flex;justify-content:space-between;align-items:baseline;flex-wrap:wrap;gap:6px;margin-bottom:12px}
.pt-track h2{margin:0;font:700 18px/1.2 var(--display)}
.pt-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.pt-card{border:1px solid var(--line-soft);border-radius:16px;padding:14px;display:flex;flex-direction:column;gap:6px;background:var(--bg)}
.pt-card b{font-size:15px}.pt-n{font:800 26px/1 var(--display);letter-spacing:-.02em;color:var(--gum)}
.pt-card p{margin:2px 0 0;font-size:13.5px}
.pt-dots{display:flex;gap:4px;flex-wrap:wrap}
.pt-dots i{width:16px;height:16px;border-radius:5px;background:var(--sunk);border:1px solid var(--line)}
.pt-dots i.on{background:var(--gum);border-color:var(--gum)}
.pt-dots i.gap{margin-left:6px}
.pt-add{display:flex;align-items:center;justify-content:space-between;gap:8px;font-size:13px;color:var(--muted);margin-top:auto}
.pt-add input{width:auto;max-width:150px;font:inherit;font-size:14px;padding:6px 8px;border:1px solid var(--line);border-radius:10px;background:var(--surface);color:var(--ink)}
.pt-add input[type=number]{width:64px}
@media (max-width:820px){.pt-grid{grid-template-columns:1fr}}
.ins-kpis{grid-template-columns:repeat(5,minmax(0,1fr))}
.ins-kpis b{font:800 26px/1.1 var(--display);display:block}
.ins-kpis span{font-size:13px;color:var(--muted)}
@media (max-width:820px){.ins-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.ins-kpis div{border-right:0;border-bottom:1px solid var(--line-soft)}}
.ins-chart{width:100%;height:auto;display:block;margin-top:8px}
.ins-bar{fill:color-mix(in srgb,var(--gum) 70%,var(--surface))}
.ins-bar:hover{fill:var(--gum)}
.ins-dot{fill:#0EA5E9}
.ins-axis{stroke:var(--line);stroke-width:1}
.ins-x{display:flex;justify-content:space-between;font-size:12px;color:var(--muted);margin-top:4px}
.ins-table{margin-top:10px}.ins-table summary{cursor:pointer;font-size:13.5px;color:var(--gum);font-weight:600}
#provInsights .panel,#provGrow .panel{margin-bottom:14px}
#provInsights .panel h3,#provGrow .panel h3{margin:0 0 4px}
.wl-list{list-style:none;margin:10px 0 0;padding:0;display:grid;gap:8px}
.wl-list li{display:flex;justify-content:space-between;align-items:center;gap:12px;border:1px solid var(--line-soft);border-radius:12px;padding:10px 12px}
.wl-list li>div:first-child{display:flex;flex-direction:column;min-width:0}
.wl-c{display:flex;gap:6px;flex:none}
.wl-c a{text-decoration:none}
.codebox{display:flex;gap:8px;align-items:flex-start;margin-top:10px}
.codebox code{flex:1;min-width:0;display:block;font-size:12.5px;background:var(--sunk);border:1px solid var(--line);border-radius:10px;padding:10px 12px;overflow-wrap:anywhere;white-space:pre-wrap;color:var(--ink)}
.grow-prev{margin-top:10px}
.grow-pick{display:inline-flex;gap:8px;align-items:center;margin-bottom:12px;font-weight:600}
.badge-demo{display:inline-flex;flex-direction:column;background:#0F766E;color:#fff;border-radius:14px;padding:9px 16px}.badge-demo span{color:#CCFBF1;font-size:12.5px}
.install-bar{position:fixed;left:50%;transform:translateX(-50%);bottom:calc(84px + env(safe-area-inset-bottom));z-index:60;display:flex;align-items:center;gap:10px;background:var(--surface);border:1px solid var(--line);box-shadow:0 18px 40px -16px rgba(11,31,36,.45);border-radius:16px;padding:10px 10px 10px 16px;width:min(560px,calc(100vw - 24px));font-size:14px}
.install-bar span{flex:1}.install-bar .close{border:0;background:none;font-size:20px;color:var(--muted);cursor:pointer;width:32px;height:32px}
@media (min-width:861px){.install-bar{bottom:24px}}

/* ----- homepage: design A (calm clinical) ----- */
#view-find{background:radial-gradient(640px 400px at 88% 0%,rgba(14,165,233,.14),transparent 70%),radial-gradient(760px 460px at 4% 34%,rgba(15,118,110,.12),transparent 70%);background-repeat:no-repeat}
:root[data-theme="dark"] #view-find{background:radial-gradient(640px 400px at 88% 0%,rgba(56,189,248,.12),transparent 70%),radial-gradient(760px 460px at 4% 34%,rgba(45,212,191,.10),transparent 70%);background-repeat:no-repeat}
.hero{background:transparent!important;border:0!important;box-shadow:none!important;padding:34px 4px 8px!important;overflow:visible!important;color:var(--ink)!important}
.hero::before,.hero::after{display:none!important}
.hero-eyebrow{display:inline-flex;align-items:center;gap:8px;background:var(--surface);border:1px solid var(--line);border-radius:999px;padding:6px 14px 6px 10px;font-size:13.5px;font-weight:700;color:var(--gum-2);margin:0 0 14px;box-shadow:0 1px 2px rgba(15,23,42,.04)}
:root[data-theme="dark"] .hero-eyebrow{color:#5EEAD4}
.hero-eyebrow .dot{width:8px;height:8px;border-radius:50%;background:#10B981;box-shadow:0 0 0 4px rgba(16,185,129,.18);animation:heroPulse 2s infinite}
@keyframes heroPulse{50%{box-shadow:0 0 0 7px rgba(16,185,129,.04)}}
@media (prefers-reduced-motion:reduce){.hero-eyebrow .dot{animation:none}}
.hero h1{color:var(--ink)!important;font-size:clamp(38px,5.4vw,64px)!important;letter-spacing:-.035em}
.hero h1 .hl{background:linear-gradient(90deg,#0F766E,#0EA5E9)!important;-webkit-background-clip:text!important;background-clip:text!important;-webkit-text-fill-color:transparent!important;color:transparent!important}
:root[data-theme="dark"] .hero h1 .hl{background:linear-gradient(90deg,#2DD4BF,#38BDF8)!important;-webkit-background-clip:text!important;background-clip:text!important}
.hero p.lede{color:var(--muted)!important;font-size:18px}
.role{background:var(--surface)!important;border:1px solid var(--line)}
.role button{color:var(--muted)!important}
.role button[aria-pressed="true"]{background:var(--ink)!important;color:var(--surface)!important}
.kinds button{border-color:var(--line)!important;color:var(--ink)!important;background:var(--surface)!important}
.kinds button[aria-pressed="true"]{background:var(--gum)!important;border-color:var(--gum)!important;color:#fff!important}
.hero .live{position:relative;background:var(--surface)!important;border:1px solid var(--line)!important;box-shadow:0 30px 60px -32px rgba(15,118,110,.45);backdrop-filter:none!important;border-radius:22px}
.hero .live-head .eyebrow{color:var(--muted)!important}
.hero .live-foot{color:var(--muted)!important}
.hero .live-item{background:transparent!important;border-top:1px solid var(--line-soft)!important;border-radius:0!important;padding:11px 4px!important}
.hero .live-item:hover{background:var(--sunk)!important;border-radius:12px!important}
.hero-cal{display:grid;grid-template-columns:repeat(7,1fr);gap:5px;margin:0 0 10px}
.hero-cal i{height:20px;border-radius:6px;background:var(--sunk)}
.hero-cal i.a{background:#A7F3D0}.hero-cal i.b{background:#34D399}.hero-cal i.c{background:#059669}
:root[data-theme="dark"] .hero-cal i.a{background:#134E4A}:root[data-theme="dark"] .hero-cal i.b{background:#0F766E}:root[data-theme="dark"] .hero-cal i.c{background:#2DD4BF}
.hero-float{position:absolute;display:flex;gap:10px;align-items:center;background:var(--surface);border:1px solid var(--line);border-radius:16px;padding:10px 14px;box-shadow:0 18px 40px -18px rgba(11,31,36,.35);font-size:13px;z-index:2;pointer-events:none}
.hero-float b{display:block;font-size:14px}.hero-float small{color:var(--muted)}
.hero-float.f1{right:-18px;top:-26px}.hero-float.f2{left:-36px;bottom:-24px}
.hf-ic{width:34px;height:34px;border-radius:11px;display:grid;place-items:center;font-weight:800;flex:none}
.hf-ic svg{width:17px;height:17px}
.hf-doc{background:#E0F2FE;color:#0369A1}.hf-dol{background:#D1FAE5;color:#047857}
@media (max-width:1100px){.hero-float{display:none}}
.hero .searchbar{border-radius:22px!important;border:1px solid var(--line);box-shadow:0 30px 70px -30px rgba(11,31,36,.35)!important;padding:8px!important;margin-top:30px!important}
.hero .assure li{color:var(--muted)!important}
.hero .assure svg{color:var(--gum)!important}
.stats{border-radius:20px!important}
.tile{border-radius:18px!important;transition:transform .2s,box-shadow .2s,border-color .2s!important}
.tile:hover{transform:translateY(-3px);box-shadow:0 16px 30px -18px rgba(15,118,110,.5)}
.tile:nth-child(1) .ic{background:#FFE4E6!important;color:#E11D48!important}
.tile:nth-child(2) .ic{background:#FEF3C7!important;color:#D97706!important}
.tile:nth-child(3) .ic{background:#EDE9FE!important;color:#7C3AED!important}
.tile:nth-child(4) .ic{background:#D1FAE5!important;color:#059669!important}
.tile:nth-child(5) .ic{background:#CCFBF1!important;color:#0F766E!important}
.tile:nth-child(6) .ic{background:#E0F2FE!important;color:#0284C7!important}
:root[data-theme="dark"] .tile .ic{filter:saturate(.9) brightness(.9)}
.home-how{margin:44px 0 0}
.home-how h2{font:800 26px/1.1 var(--display);letter-spacing:-.02em;margin:0 0 16px}
.how3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.how3>div{background:linear-gradient(180deg,var(--surface),color-mix(in srgb,var(--gum) 4%,var(--surface)));border:1px solid var(--line);border-radius:20px;padding:22px}
.how3 .n{width:34px;height:34px;border-radius:10px;background:color-mix(in srgb,var(--gum) 14%,var(--surface));color:var(--gum);display:grid;place-items:center;font-weight:800}
.how3 h3{margin:14px 0 6px;font-size:18px}.how3 p{margin:0;color:var(--muted);line-height:1.55;font-size:14.5px}
.home-band{margin:28px 0 40px;background:#115E59;color:#E6F4F2;border-radius:26px;padding:34px;display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);gap:28px;align-items:center;position:relative;overflow:hidden}
.home-band::after{content:"";position:absolute;right:-90px;top:-90px;width:320px;height:320px;border-radius:50%;background:radial-gradient(circle,rgba(45,212,191,.35),transparent 70%);pointer-events:none}
.home-band h2{color:#fff;font:800 28px/1.15 var(--display);letter-spacing:-.02em;margin:6px 0 10px}
.home-band .eyebrow{color:#99F6E4}
.home-band p{margin:0;line-height:1.6;color:#CCE9E5}
.band-ctas{display:flex;gap:10px;flex-wrap:wrap;margin-top:18px}
.band-ctas a{text-decoration:none;display:inline-flex;align-items:center;border-radius:12px;padding:11px 18px;font-weight:700}
.band-ctas .cta{background:#fff!important;color:#115E59!important}
.band-ctas .ghost{border:1px solid rgba(255,255,255,.35);color:#fff;background:transparent}
.band-stats{display:grid;grid-template-columns:1fr 1fr;gap:12px;position:relative;z-index:1}
.band-stats div{background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.14);border-radius:16px;padding:14px 16px}
.band-stats b{display:block;font:800 26px/1.1 var(--display);color:#fff}
.band-stats span{font-size:13px;color:#CCE9E5}
@media (max-width:860px){.how3{grid-template-columns:1fr}.home-band{grid-template-columns:1fr;padding:24px}.hero{padding:22px 0 4px!important}}
.hero{grid-template-areas:"role live" "eyebrow live" "title live" "lede live" "search search" "kinds assure"!important;grid-template-rows:auto auto auto 1fr auto auto}
.hero-eyebrow{grid-area:eyebrow;justify-self:start;align-self:start}
.hero .live-foot{display:none}
.hero-float.f2{left:-52px;bottom:-38px}
@media (max-width:1000px){.hero{grid-template-areas:"role" "eyebrow" "title" "lede" "search" "kinds" "assure" "live"!important;grid-template-rows:none}}
:root[data-theme="dark"] .kinds button[aria-pressed="true"]{color:#04201D!important}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]) .kinds button[aria-pressed="true"]{color:#04201D!important}}
#provGrow a.cta,#provGrow a.ghost{text-decoration:none;display:inline-flex}

/* ---------- round 21: smart search, symptom checker, support, app feel ---------- */
.omni-list mark{background:color-mix(in srgb,var(--gum) 18%,transparent);color:inherit;border-radius:3px;padding:0 1px}
.omni-list .sg-hero{background:linear-gradient(90deg,color-mix(in srgb,var(--gum) 10%,var(--surface)),var(--surface));border:1px solid color-mix(in srgb,var(--gum) 25%,var(--line));border-radius:14px;margin:4px 0 6px}
.omni-list .sg-hero .sg-ic,.omni-list .sg-foot .sg-ic{background:var(--gum)!important;color:#fff!important}
.omni-list .sg-foot{border-top:1px solid var(--line-soft);margin-top:6px}
.sg-rec{display:flex;align-items:center}
.sg-rec .sg{flex:1}
.sg-del{border:0;background:none;color:var(--muted);font-size:18px;width:36px;height:36px;border-radius:10px;cursor:pointer}
.sg-del:hover{background:var(--sunk);color:var(--ink)}
.sg-try{display:flex;flex-wrap:wrap;gap:6px;padding:4px 10px 8px}
.sg-chip{border:1px solid var(--line);background:var(--surface);color:var(--ink);border-radius:999px;padding:6px 11px;font:inherit;font-size:13px;cursor:pointer}
.sg-chip:hover{border-color:var(--gum);color:var(--gum)}
.sg-run .sg-chips{display:flex;flex-wrap:wrap;gap:4px;margin-top:4px}
.sg-run .sg-chips span{font-size:12px;font-weight:700;padding:2px 8px;border-radius:999px;background:color-mix(in srgb,var(--gum) 14%,var(--surface));color:var(--gum-2)}
:root[data-theme="dark"] .sg-run .sg-chips span{color:#99F6E4}
.sg-emerg{display:flex;gap:10px;align-items:flex-start;margin:4px 0 8px;padding:10px 12px;border-radius:12px;background:#FEE2E2;color:#991B1B;text-decoration:none;font-weight:600;font-size:14px}
.sg-emerg svg{width:20px;height:20px;flex:none}
:root[data-theme="dark"] .sg-emerg{background:#3B0D0D;color:#FCA5A5}
.mic21{border:0;background:var(--sunk);color:var(--gum);width:38px;height:38px;border-radius:12px;display:grid;place-items:center;cursor:pointer;flex:none;margin-left:6px}
.mic21 svg{width:19px!important;height:19px!important;color:currentColor!important}
.mic21.on{background:#E11D48;color:#fff;animation:mic21 1.2s infinite}
@keyframes mic21{50%{box-shadow:0 0 0 8px rgba(225,29,72,.15)}}
.smart-chips{display:flex;flex-wrap:wrap;gap:6px;align-items:center;margin:6px 0 10px}
.smart-chips[hidden]{display:none}
.smart-chips .sc-l{font-size:13px;color:var(--muted);font-weight:600}
.smart-chips .sc-c{font-size:13px;font-weight:700;padding:4px 10px;border-radius:999px;background:color-mix(in srgb,var(--gum) 12%,var(--surface));color:var(--gum-2);display:inline-flex;gap:6px;align-items:center}
.smart-chips .sc-c small{font-weight:500;color:var(--muted)}
.smart-chips .sc-c button{border:0;background:none;color:inherit;cursor:pointer;font-size:15px;padding:0}
.smart-chips .sc-emerg{flex-basis:100%;padding:10px 12px;border-radius:12px;background:#FEE2E2;color:#991B1B;font-weight:700;text-decoration:none}
:root[data-theme="dark"] .smart-chips .sc-c{color:#99F6E4}
.hero-sym{grid-area:sym;justify-self:start;margin:14px 0 0;display:inline-flex;align-items:center;gap:10px;border:1px solid var(--line);background:var(--surface);color:var(--ink);border-radius:999px;padding:8px 14px 8px 10px;font:inherit;font-size:14.5px;cursor:pointer;box-shadow:0 1px 2px rgba(15,23,42,.04)}
.hero{grid-template-areas:"role live" "eyebrow live" "title live" "lede live" "search search" "sym sym" "kinds assure"!important;grid-template-rows:auto auto auto 1fr auto auto auto}
@media (max-width:1000px){.hero{grid-template-areas:"role" "eyebrow" "title" "lede" "search" "sym" "kinds" "assure" "live"!important;grid-template-rows:none}}
.hero-sym svg{width:18px;height:18px;color:var(--gum)}
.hero-sym .arr{width:15px;height:15px;color:var(--muted)}
.hero-sym b{color:var(--gum-2)}
:root[data-theme="dark"] .hero-sym b{color:#5EEAD4}
.hero-sym:hover{border-color:var(--gum)}
.hb-sym{display:flex;align-items:center;gap:14px;width:100%;text-align:left;border:1px solid color-mix(in srgb,var(--gum) 30%,var(--line));background:linear-gradient(90deg,color-mix(in srgb,var(--gum) 9%,var(--surface)),var(--surface));border-radius:20px;padding:16px 18px;margin:0 0 18px;cursor:pointer;color:var(--ink);font:inherit}
.hb-sym .hs-ic{width:46px;height:46px;border-radius:14px;background:var(--gum);color:#fff;display:grid;place-items:center;flex:none}
.hb-sym .hs-ic svg{width:22px;height:22px}
.hb-sym b{display:block;font-size:17px}.hb-sym small{display:block;color:var(--muted);font-size:14px}
.hb-sym>span:nth-child(2){flex:1}
/* symptom checker */
@media (min-width:701px){.sc-modal{width:min(640px,calc(100vw - 32px))}}
.sc-head .eyebrow{display:block;margin-bottom:2px}
.sc-prog{height:4px;border-radius:2px;background:var(--sunk);margin:-4px 0 14px;overflow:hidden}
.sc-prog i{display:block;height:100%;background:var(--gum);border-radius:2px;transition:width .3s}
.sc-opts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:14px 0}
.sc-opt,.sc-area{border:1.5px solid var(--line);background:var(--surface);color:var(--ink);border-radius:16px;padding:16px 12px;font:inherit;font-weight:700;cursor:pointer;text-align:center;transition:border-color .15s,transform .1s}
.sc-opt.on,.sc-area.on{border-color:var(--gum);background:color-mix(in srgb,var(--gum) 8%,var(--surface))}
.sc-areas{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:12px 0}
.sc-area{display:flex;flex-direction:column;align-items:center;gap:8px;font-size:13.5px;padding:12px 8px;line-height:1.25}
.sc-ai{width:40px;height:40px;border-radius:12px;background:color-mix(in srgb,var(--gum) 12%,var(--surface));color:var(--gum);display:grid;place-items:center}
.sc-ai svg{width:21px;height:21px}
.sc-checks{display:grid;gap:8px;margin:12px 0 16px}
.sc-check{display:flex;gap:10px;align-items:flex-start;border:1px solid var(--line);border-radius:12px;padding:12px 14px;cursor:pointer;background:var(--surface);font-weight:500!important}
.sc-check input{width:20px;height:20px;margin:1px 0 0;flex:none;accent-color:var(--gum)}
.sc-check:has(input:checked){border-color:var(--gum);background:color-mix(in srgb,var(--gum) 7%,var(--surface))}
.sc-checks.red .sc-check:has(input:checked){border-color:#DC2626;background:color-mix(in srgb,#DC2626 8%,var(--surface))}
.sc-checks.red input{accent-color:#DC2626}
.sc-sel{display:flex;flex-direction:column;gap:4px;margin-bottom:10px}
.sc-nav{display:flex;justify-content:space-between;gap:10px;margin-top:16px;padding-top:12px;border-top:1px solid var(--line-soft)}
.sc-em{font-size:14px;color:var(--muted);background:var(--sunk);border-radius:12px;padding:10px 12px}
.sc-urgent{display:flex;gap:12px;background:#FEE2E2;color:#7F1D1D;border-radius:16px;padding:16px;margin:6px 0 14px}
.sc-urgent svg{width:28px;height:28px;flex:none;color:#DC2626}.sc-urgent p{margin:0;font-weight:600;line-height:1.5}
:root[data-theme="dark"] .sc-urgent{background:#3B0D0D;color:#FECACA}
.sc-call{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:10px}
.sc-call a{text-decoration:none;display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:0 22px;border-radius:14px;font-weight:800}
.sc-call .cta{background:#DC2626!important;color:#fff!important}
.sc-gp{background:var(--sunk);border-radius:14px;padding:12px 14px;margin:0 0 12px;font-size:14.5px;line-height:1.5}
.sc-res{border:1px solid var(--line);border-radius:16px;padding:14px 16px;margin-bottom:10px;background:var(--surface)}
.sc-rh{display:flex;justify-content:space-between;align-items:center;gap:8px;flex-wrap:wrap}
.sc-rh b{font-size:17px}
.sc-badge{font-size:12px;font-weight:700;padding:3px 9px;border-radius:999px;background:var(--sunk);color:var(--muted)}
.sc-badge.ok{background:color-mix(in srgb,var(--gum) 14%,var(--surface));color:var(--gum-2)}
.sc-res p{margin:6px 0 10px;font-size:14px;color:var(--muted)}
.sc-ra{display:flex;flex-wrap:wrap;gap:6px}
.sc-ai-box{margin:12px 0;padding:12px 14px;border:1px dashed var(--line);border-radius:14px}
.sc-ai-box button{display:inline-flex;align-items:center;gap:8px}
.sc-ai-box button svg{width:18px;height:18px;color:var(--gum)}
.sc-ai-text p{margin:0 0 8px;line-height:1.55}.sc-ai-text ul{margin:0 0 8px;padding-left:20px}
.sc-sum{background:var(--sunk);border-radius:14px;padding:12px 14px;margin:10px 0}
.sc-sum p{margin:4px 0;font-size:14px}
@media (max-width:640px){.sc-opts{grid-template-columns:1fr}.sc-areas{grid-template-columns:repeat(2,minmax(0,1fr))}}
/* contact */
.ct-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:4px 0 16px}
.ct-mail{display:flex;gap:10px;align-items:flex-start;border:1px solid var(--line);border-radius:14px;padding:12px;text-decoration:none;color:var(--ink);background:var(--surface)}
.ct-mail:hover{border-color:var(--gum)}
.ct-mail svg{width:20px;height:20px;color:var(--gum);flex:none;margin-top:2px}
.ct-mail b{display:block;font-size:14.5px}.ct-mail small{display:block;color:var(--gum);font-weight:600;font-size:13px;overflow-wrap:anywhere}.ct-mail em{display:block;font-style:normal;color:var(--muted);font-size:12.5px;margin-top:2px}
.ct-h{margin:4px 0 2px;font-size:17px}
.hp21{position:absolute!important;left:-9999px!important;width:1px!important;height:1px!important;opacity:0!important}
.ct-done{display:flex;gap:12px;align-items:flex-start;background:color-mix(in srgb,var(--gum) 10%,var(--surface));border-radius:16px;padding:16px;margin-top:10px}
.ct-done svg{width:26px;height:26px;color:var(--gum);flex:none}.ct-done p{margin:4px 0 0}
.help-contact{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;background:var(--surface);border:1px solid var(--line);border-radius:20px;padding:16px 18px;margin:0 0 18px}
.help-contact b{display:block;font-size:17px}.help-contact span{color:var(--muted);font-size:14.5px}
.hc-btns{display:flex;gap:8px;flex-wrap:wrap}.hc-btns a,.hc-btns button{display:inline-flex;align-items:center;gap:6px;text-decoration:none}.hc-btns svg{width:16px;height:16px}
@media (max-width:640px){.ct-grid{grid-template-columns:1fr}}
/* full-screen search on phones */
.sb-cancel{display:none}
@media (max-width:700px){
  body.sb-searching{overflow:hidden}
  body.sb-searching #searchForm{position:fixed!important;inset:0;z-index:1000;margin:0!important;border-radius:0!important;border:0!important;box-shadow:none!important;display:flex!important;flex-direction:column;padding:calc(env(safe-area-inset-top,0px) + 10px) 12px 0!important;background:var(--bg)!important;gap:8px}
  body.sb-searching #searchForm>label:not(.omni-f),body.sb-searching #searchForm .go{display:none!important}
  body.sb-searching #searchForm .omni-f{border:1px solid var(--line)!important;border-radius:16px;background:var(--surface);padding:6px 6px 6px 12px!important;order:2}
  body.sb-searching .sb-cancel{display:block;order:1;align-self:flex-end;border:0;background:none;color:var(--gum);font:inherit;font-weight:700;font-size:16px;padding:6px 4px;cursor:pointer}
  body.sb-searching #omniList{order:3;position:static!important;flex:1;max-height:none!important;overflow:auto;border:0!important;box-shadow:none!important;background:transparent!important;padding-bottom:calc(env(safe-area-inset-bottom,0px) + 20px);display:block!important;-webkit-overflow-scrolling:touch}
  body.sb-searching .tabbar{display:none!important}
  .omni-list .sg{min-height:52px}
}
/* app feel */
html{-webkit-tap-highlight-color:transparent}
button,a,.card,.chip,.tile,label{touch-action:manipulation}
.touch button:active,.touch .card:active,.touch .tile:active,.touch .chip:active,.touch .sg:active,.touch a.cta:active{transform:scale(.97);transition:transform .08s}
@media (max-width:860px){input,select,textarea{font-size:16px!important}}
.view-in{animation:viewIn .22s ease-out}
@keyframes viewIn{from{opacity:.4;transform:translateY(8px)}}
@media (prefers-reduced-motion:reduce){.view-in{animation:none}}
.sheet-grab{width:44px;height:5px;border-radius:3px;background:var(--line);margin:-10px auto 12px}
.is-app body{overscroll-behavior-y:none}
.is-app header,.is-app .topbar{padding-top:env(safe-area-inset-top,0px)}
.ptr21{position:fixed;top:0;left:50%;transform:translate(-50%,-50px);z-index:95;width:40px;height:40px;border-radius:50%;background:var(--surface);border:1px solid var(--line);box-shadow:0 8px 20px -8px rgba(0,0,0,.3);display:grid;place-items:center;color:var(--muted);transition:color .2s}
.ptr21 svg{width:18px;height:18px;transform:rotate(90deg)}
.ptr21.ready{color:var(--gum)}
.ptr21.spin{transform:translate(-50%,20px)!important;animation:ptrspin .8s linear infinite}
@keyframes ptrspin{to{transform:translate(-50%,20px) rotate(360deg)}}
@media (hover:none) and (pointer:coarse){.chip,.g-tags button,.linkbtn{min-height:40px}}
#profShare svg{width:17px;height:17px}
.omni-list .sg-hero .sg-ic svg,.omni-list .sg-foot .sg-ic svg{color:#fff!important}
body.sb-searching .hero,body.sb-searching #view-find,body.sb-searching .wrap{isolation:auto!important;z-index:auto!important;transform:none!important}
@media (max-width:700px){body.sb-searching header.top{visibility:hidden}}

@media (max-width:700px){
  .hero h1{font-size:31px!important;line-height:1.05!important;margin-bottom:8px!important}
  .hero p.lede{display:none}
  .hero .role{margin-bottom:12px!important}
  .hero-eyebrow{font-size:12.5px;margin-bottom:10px;padding:4px 10px 4px 8px}
  .hero .searchbar{margin-top:16px!important}
}

/* ================= R22: calendar, referral calendar, command centre ================= */
:root{
  --ct-teal:#0F766E; --ct-teal-bg:#E6F4F1; --ct-sky:#0369A1; --ct-sky-bg:#E3F1FA; --ct-violet:#6D28D9; --ct-violet-bg:#F0EBFC; --ct-amber:#B45309; --ct-amber-bg:#FDF2E2;
  --ct-rose:#BE123C; --ct-rose-bg:#FCE8EC; --ct-slate:#475569; --ct-slate-bg:#EEF1F5; --ct-lime:#4D7C0F; --ct-lime-bg:#EEF6E2;
  --s1:#0D9488; --s2:#C2410C; --hatch:color-mix(in srgb,var(--muted) 18%,transparent);
}
@media (prefers-color-scheme:dark){ :root:not([data-theme="light"]){
  --ct-teal:#5EEAD4; --ct-teal-bg:#123A35; --ct-sky:#7DD3FC; --ct-sky-bg:#0F2F45; --ct-violet:#C4B5FD; --ct-violet-bg:#2A2147; --ct-amber:#FCD34D; --ct-amber-bg:#3A2C0E;
  --ct-rose:#FDA4AF; --ct-rose-bg:#3F1621; --ct-slate:#CBD5E1; --ct-slate-bg:#1F2937; --ct-lime:#BEF264; --ct-lime-bg:#22300E; --s1:#22A99A; --s2:#E0701F; } }
:root[data-theme="dark"]{
  --ct-teal:#5EEAD4; --ct-teal-bg:#123A35; --ct-sky:#7DD3FC; --ct-sky-bg:#0F2F45; --ct-violet:#C4B5FD; --ct-violet-bg:#2A2147; --ct-amber:#FCD34D; --ct-amber-bg:#3A2C0E;
  --ct-rose:#FDA4AF; --ct-rose-bg:#3F1621; --ct-slate:#CBD5E1; --ct-slate-bg:#1F2937; --ct-lime:#BEF264; --ct-lime-bg:#22300E; --s1:#22A99A; --s2:#E0701F; }
.ct-teal{--c:var(--ct-teal);--cb:var(--ct-teal-bg)} .ct-sky{--c:var(--ct-sky);--cb:var(--ct-sky-bg)} .ct-violet{--c:var(--ct-violet);--cb:var(--ct-violet-bg)}
.ct-amber{--c:var(--ct-amber);--cb:var(--ct-amber-bg)} .ct-rose{--c:var(--ct-rose);--cb:var(--ct-rose-bg)} .ct-slate{--c:var(--ct-slate);--cb:var(--ct-slate-bg)} .ct-lime{--c:var(--ct-lime);--cb:var(--ct-lime-bg)}
.segic{width:16px;height:16px;vertical-align:-3px}
.icbtn{display:inline-grid;place-items:center;width:36px;height:36px;border-radius:10px;border:1px solid var(--line);background:var(--surface);color:var(--ink);cursor:pointer}
.icbtn svg{width:18px;height:18px} .icbtn:hover{border-color:var(--mint-3)} .icbtn:disabled{opacity:.4;cursor:default}
.ic16{width:16px;height:16px;vertical-align:-3px}
.ghost.danger,.danger{color:var(--red)!important;border-color:color-mix(in srgb,var(--red) 40%,var(--line))!important}
.cal-skel{display:grid;gap:12px} .cal-skel div{height:70px;border-radius:14px;background:linear-gradient(90deg,var(--sunk),var(--surface),var(--sunk));background-size:200% 100%;animation:sk22 1.2s infinite linear}
.cal-skel div:last-child{height:360px} @keyframes sk22{to{background-position:-200% 0}}
.cal-empty{text-align:center;padding:36px 20px} .cal-empty svg{width:40px;height:40px;color:var(--mint-3)}
.cal-note{margin:0 0 12px}

/* KPIs */
.cal-kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px;margin:0 0 14px}
.cal-kpis>div{background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:12px 14px;display:flex;flex-direction:column;gap:2px;min-width:0}
.cal-kpis b{font:700 22px/1.1 var(--display);color:var(--ink)} .cal-kpis span{font-size:12.5px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.cal-kpis .warnk b{color:var(--late)}

/* toolbar */
.cal-bar{display:flex;flex-wrap:wrap;align-items:center;gap:10px 14px;margin:0 0 10px}
.cal-nav{display:flex;align-items:center;gap:6px;flex:1 1 auto;min-width:0}
.cal-title{font:700 19px/1.2 var(--display);margin:0 0 0 6px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.cal-views{margin:0}
.cal-acts{display:flex;gap:6px;align-items:center}
.cal-acts .cta svg,.cal-acts .ghost svg{width:16px;height:16px;vertical-align:-3px}
.cal-people{display:flex;gap:8px;overflow-x:auto;padding:2px 2px 8px;margin:0 0 6px;scrollbar-width:thin}
.pchip22{display:inline-flex;align-items:center;gap:8px;padding:6px 12px 6px 6px;border-radius:999px;border:1px solid var(--line);background:var(--surface);color:var(--ink);font:600 13.5px var(--body);cursor:pointer;white-space:nowrap}
.pchip22 .meta{font-weight:500;font-size:12px} .pchip22 svg{width:18px;height:18px;margin-left:6px}
.pchip22[aria-pressed="true"]{border-color:var(--mint-3);background:color-mix(in srgb,var(--mint-3) 10%,var(--surface));box-shadow:0 0 0 2px var(--ring)}
.pdot{display:inline-grid;place-items:center;width:26px;height:26px;border-radius:50%;color:#fff;font:700 11px var(--body);flex:none;background:var(--av1)}
.pdot.av1{background:var(--av1)}.pdot.av2{background:var(--av2)}.pdot.av3{background:var(--av3)}.pdot.av4{background:var(--av4)}.pdot.av5{background:var(--av5)}.pdot.av6{background:var(--av6)}
.pdot svg{width:15px;height:15px} .pdot.lg{width:44px;height:44px;font-size:15px} .pdot.lg svg{width:22px;height:22px}

/* day strip */
.cal-strip{display:grid;grid-template-columns:repeat(7,1fr);gap:6px;margin:0 0 10px}
.sd22{display:flex;flex-direction:column;align-items:center;gap:1px;padding:7px 4px;border-radius:12px;border:1px solid var(--line);background:var(--surface);color:var(--ink);cursor:pointer;font:500 12px var(--body)}
.sd22 b{font:700 17px var(--display)} .sd22 i{font-style:normal;color:var(--muted);font-size:11px;white-space:nowrap}
.sd22.today b{color:var(--mint-3)} .sd22.on{background:var(--ink);color:var(--surface);border-color:var(--ink)} .sd22.on i{color:inherit;opacity:.75} .sd22.on.today b{color:inherit}

/* time grid */
.cal-grid22{border:1px solid var(--line);border-radius:16px;background:var(--surface);overflow:hidden;--gut:52px}
.cal-head22{display:grid;grid-template-columns:var(--gut) repeat(var(--cols),minmax(0,1fr));border-bottom:1px solid var(--line);background:color-mix(in srgb,var(--sunk) 55%,var(--surface))}
.ch22{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:0;padding:8px 4px;min-width:0;border:0;border-left:1px solid var(--line);background:transparent;color:var(--ink);font:500 12px var(--body)}
.ch22 b{font:700 14px var(--display);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%} .ch22 span{color:var(--muted);font-size:11.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}
.ch22.dh{cursor:pointer;flex-direction:row;gap:6px} .ch22.dh b{font-size:18px} .ch22.dh span{font-size:12.5px}
.ch22.dh.today b{display:inline-grid;place-items:center;width:30px;height:30px;border-radius:50%;background:var(--mint-3);color:#fff}
.cal-scroll{max-height:min(68vh,760px);overflow-y:auto;overscroll-behavior:contain;position:relative}
.cal-inner22{display:grid;grid-template-columns:var(--gut) repeat(var(--cols),minmax(0,1fr));position:relative}
.gut22{position:relative}
.hl22{position:absolute;left:0;right:0;height:0} .hl22 span{position:absolute;right:8px;top:-7px;font:600 11px var(--body);color:var(--muted)}
.col22{position:relative;border-left:1px solid var(--line);background:var(--hatch);cursor:copy}
.col22::after{content:"";position:absolute;inset:0;pointer-events:none;z-index:1;background:repeating-linear-gradient(to bottom,transparent 0 calc(var(--hr) - 1px),color-mix(in srgb,var(--line) 75%,transparent) calc(var(--hr) - 1px) var(--hr))}
.col22.today{background:color-mix(in srgb,var(--mint-3) 7%,var(--hatch))}
.work22{position:absolute;left:0;right:0;background:var(--surface);pointer-events:auto;border-top:1px dashed color-mix(in srgb,var(--line) 80%,transparent)}
.work22.extra{background:color-mix(in srgb,var(--ct-lime) 9%,var(--surface));border-left:3px solid var(--ct-lime)}
.work22.extra span{position:absolute;top:2px;left:6px;font:600 10.5px var(--body);color:var(--ct-lime)}
.blk-x{position:absolute;top:0;right:2px;border:0;background:none;color:var(--muted);cursor:pointer;font-size:15px;line-height:1;padding:2px 4px}
.blk22{position:absolute;left:0;right:0;border:0;padding:4px 6px;text-align:left;cursor:pointer;z-index:1;background:repeating-linear-gradient(135deg,color-mix(in srgb,var(--muted) 16%,var(--surface)) 0 6px,color-mix(in srgb,var(--muted) 8%,var(--surface)) 6px 12px);color:var(--muted);font:600 11.5px var(--body)}
.blk22.leave{background:repeating-linear-gradient(135deg,color-mix(in srgb,var(--ct-amber) 16%,var(--surface)) 0 7px,color-mix(in srgb,var(--ct-amber) 7%,var(--surface)) 7px 14px);color:var(--ct-amber)}
.blk22 span{position:sticky;top:4px}
.slot22{position:absolute;left:3px;right:3px;border:1px dashed color-mix(in srgb,var(--mint-3) 55%,transparent);border-radius:8px;background:color-mix(in srgb,var(--mint-3) 6%,transparent);color:var(--mint-3);font:600 10.5px var(--body);text-align:left;padding:1px 6px;cursor:pointer;overflow:hidden;z-index:1;opacity:.85}
.slot22:hover,.slot22:focus-visible{opacity:1;background:color-mix(in srgb,var(--mint-3) 16%,transparent)}
.slot22:hover span::after{content:" · add"} .slot22.held{border-color:var(--urg);color:var(--urg);background:color-mix(in srgb,var(--urg) 6%,transparent)}
.ev{position:absolute;z-index:2;display:flex;flex-direction:column;align-items:flex-start;gap:0;padding:3px 7px;border-radius:8px;border:0;border-left:4px solid var(--c);background:var(--cb);color:var(--ink);text-align:left;cursor:grab;overflow:hidden;font:500 12px/1.25 var(--body);box-shadow:0 1px 2px rgba(0,0,0,.06);user-select:none;-webkit-user-select:none}
.ev b{font-size:12.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}
.ev-t{font:700 11px var(--body);color:var(--c);display:flex;align-items:center;gap:4px;white-space:nowrap} .ev-t svg{width:12px;height:12px}
.ev-s{color:var(--muted);font-size:11px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}
.ev.short{flex-direction:row;align-items:center;gap:6px;padding:0 6px}
.ev.pend{background:repeating-linear-gradient(135deg,var(--cb) 0 6px,color-mix(in srgb,var(--cb) 70%,var(--surface)) 6px 12px);border-left-style:dashed}
.ev.x{opacity:.55;text-decoration:line-through;cursor:pointer}
.ev:hover{box-shadow:0 4px 14px -6px rgba(0,0,0,.35);z-index:3} .ev:focus-visible{outline:2px solid var(--c);outline-offset:1px}
.ev.dragging{cursor:grabbing;box-shadow:0 14px 30px -10px rgba(0,0,0,.45);z-index:9;opacity:.95;transition:none}
body.cal-dragging{cursor:grabbing} body.cal-dragging .slot22{pointer-events:none}
.att{font-style:normal;font-size:9.5px;font-weight:800;letter-spacing:.02em;padding:0 5px;border-radius:6px;margin-left:2px}
.att.dna{background:var(--red);color:#fff} .att.arr{background:var(--ct-sky);color:#fff} .att.done{color:var(--mint-3)}
.cal-now{position:absolute;left:-1px;right:0;height:2px;background:var(--red);z-index:4;pointer-events:none} .cal-now::before{content:"";position:absolute;left:-5px;top:-4px;width:10px;height:10px;border-radius:50%;background:var(--red)}
.cal-legend{display:flex;flex-wrap:wrap;gap:6px 16px;align-items:center;margin:10px 2px 0;font-size:12.5px;color:var(--muted)}
.lg22{display:inline-flex;align-items:center;gap:6px} .lg22 i{width:14px;height:10px;border-radius:3px;background:var(--cb);border-left:3px solid var(--c)}
.lg22 i.lg-open{border:1px dashed var(--mint-3);background:transparent} .lg22 i.lg-block{background:repeating-linear-gradient(135deg,var(--muted) 0 2px,transparent 2px 4px);border:0;opacity:.6}
.lg22 i.lg-pend{background:repeating-linear-gradient(135deg,var(--ct-teal-bg) 0 3px,var(--surface) 3px 6px);border-left:3px dashed var(--ct-teal)}
.cal-legend label{margin-left:auto}

/* month */
.month22{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));border:1px solid var(--line);border-radius:16px;overflow:hidden;background:var(--line);gap:1px}
.mh22{background:color-mix(in srgb,var(--sunk) 55%,var(--surface));text-align:center;font:700 11.5px var(--body);color:var(--muted);padding:8px 0;text-transform:uppercase;letter-spacing:.04em}
.mc22,.rc22{background:var(--surface);min-height:108px;border:0;padding:6px 7px;display:flex;flex-direction:column;align-items:stretch;gap:3px;text-align:left;cursor:pointer;color:var(--ink);font:500 12px var(--body);min-width:0}
.mc22:hover,.rc22:hover{background:color-mix(in srgb,var(--mint-3) 5%,var(--surface))}
.mc22.out,.rc22.out{background:color-mix(in srgb,var(--sunk) 45%,var(--surface));color:var(--muted)}
.mn{font:700 13px var(--display)} .today .mn{display:inline-grid;place-items:center;width:24px;height:24px;border-radius:50%;background:var(--mint-3);color:#fff}
.mc22.leave{background:repeating-linear-gradient(135deg,color-mix(in srgb,var(--ct-amber) 9%,var(--surface)) 0 7px,var(--surface) 7px 14px)}
.mleave{font:700 10.5px var(--body);color:var(--ct-amber);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.mcount{font-size:11px;color:var(--muted)} .mcount b{color:var(--ink)}
.mbar{height:4px;border-radius:4px;background:color-mix(in srgb,var(--mint-3) 15%,var(--sunk));overflow:hidden} .mbar i{display:block;height:100%;background:var(--mint-3);border-radius:4px}
.mev{font-size:11px;padding:1px 5px;border-radius:5px;background:var(--cb);border-left:3px solid var(--c);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.mmore{font-size:11px;color:var(--muted)}

/* list */
.list22{display:flex;flex-direction:column;gap:14px}
.ld22 h3{font:700 15px var(--display);margin:0 0 6px;display:flex;gap:10px;align-items:baseline} .ld22 h3 .meta{font:500 12.5px var(--body)}
.lr22{display:grid;grid-template-columns:68px 10px minmax(0,1fr) auto;grid-template-areas:"t d n s" "t d m s";align-items:center;gap:0 10px;width:100%;padding:10px 12px;border:1px solid var(--line);border-radius:12px;background:var(--surface);color:var(--ink);text-align:left;cursor:pointer;margin-top:6px;font:500 13px var(--body)}
.lr22 .lt{grid-area:t;font:700 13px var(--display);display:flex;flex-direction:column} .lr22 .lt i{font:500 11px var(--body);color:var(--muted);font-style:normal}
.lr22 .ldot{grid-area:d;width:10px;height:10px;border-radius:50%;background:var(--c)} .lr22 b{grid-area:n} .lr22 .meta{grid-area:m;font-size:12px} .lr22 .status{grid-area:s}
.lr22.blk{background:repeating-linear-gradient(135deg,color-mix(in srgb,var(--ct-amber) 8%,var(--surface)) 0 7px,var(--surface) 7px 14px)}
.lr22.open{border-style:dashed;color:var(--mint-3)} .lr22.x{opacity:.6} .lr22:hover{border-color:var(--mint-3)}

/* modals */
.qk22{display:grid;gap:8px;margin-top:8px}
.qk22 button{display:grid;grid-template-columns:32px 1fr;grid-template-areas:"i b" "i s";gap:0 10px;align-items:center;text-align:left;padding:12px;border-radius:12px;border:1px solid var(--line);background:var(--surface);color:var(--ink);cursor:pointer;font:500 13px var(--body)}
.qk22 svg{grid-area:i;width:22px;height:22px;color:var(--mint-3)} .qk22 b{grid-area:b;font-size:14px} .qk22 span{grid-area:s;color:var(--muted);font-size:12.5px}
.qk22 button:hover{border-color:var(--mint-3);background:color-mix(in srgb,var(--mint-3) 6%,var(--surface))}
.mv22{display:flex;align-items:center;gap:14px;padding:12px 14px;border-radius:12px;background:var(--sunk);margin-bottom:8px} .mv22>div{display:flex;flex-direction:column} .mv22 svg{width:20px;height:20px;color:var(--mint-3)}
.mhead.bk22{border-left:6px solid var(--c);background:var(--cb);border-radius:14px;padding:10px 12px 10px 14px}
.mhead.bk22>div{flex:1;min-width:0;display:flex;flex-direction:column} .mhead.bk22 h2{font-size:20px} .mhead.bk22 .meta{font-size:12.5px}
.mhead h2 .meta{font:500 15px var(--body)}
.bkfacts22{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:10px 18px;margin:4px 0 14px}
.bkfacts22>div{display:flex;flex-direction:column;gap:1px;min-width:0} .bkfacts22 span{font-size:11.5px;color:var(--muted);text-transform:uppercase;letter-spacing:.04em;font-weight:700}
.bkfacts22 b{font-weight:600;overflow-wrap:anywhere}
.att22{display:flex;gap:6px;margin:0 0 12px;flex-wrap:wrap} .att22 button{flex:1;min-width:96px;padding:9px 10px;border-radius:10px;border:1px solid var(--line);background:var(--surface);color:var(--ink);font:600 13px var(--body);cursor:pointer}
.att22 button[aria-pressed="true"]{background:var(--ink);color:var(--surface);border-color:var(--ink)}
.att22 button[data-att="DNA"][aria-pressed="true"]{background:var(--red);border-color:var(--red);color:#fff}
.bkmove22{margin-top:10px;border:1px solid var(--line);border-radius:12px;padding:8px 12px} .bkmove22 summary{cursor:pointer;font-weight:600;padding:4px 0}
.bkmove22[open]{padding-bottom:12px} .bkmove22 .cta,.bkmove22 .ghost{margin-top:8px}
#bkNote{width:100%;border:1px solid var(--line);border-radius:10px;padding:8px 10px;font:inherit;background:var(--surface);color:var(--ink);resize:vertical}
.set22 h4{margin:16px 0 4px;font:700 14px var(--display)} .set22 h4:first-child{margin-top:0}
.tr22{display:grid;grid-template-columns:minmax(0,1.6fr) 92px 84px minmax(0,1.3fr) 34px;grid-template-areas:"n l f m x" "o d c c c";gap:6px 8px;align-items:center;padding:8px 0;border-bottom:1px solid var(--line)}
.tr22 [data-k=name]{grid-area:n} .tr22 [data-k=minutes]{grid-area:l} .tr22 [data-k=fee]{grid-area:f} .tr22 [data-k=mode]{grid-area:m} .tr22 [data-del]{grid-area:x}
.tr22 .tg22:nth-of-type(1){grid-area:o} .tr22 .tg22:nth-of-type(2){grid-area:d} .tr22 .cpick22{grid-area:c;justify-self:end}
.set22 .row3{margin-top:4px} .set22 label.inline{display:flex;align-items:center;gap:8px;margin:6px 0}
.tr22 input,.tr22 select{min-width:0;width:100%;padding:7px 8px;border:1px solid var(--line);border-radius:8px;background:var(--surface);color:var(--ink);font:500 13px var(--body)}
.tg22{display:inline-flex;align-items:center;gap:4px;font-size:12.5px;white-space:nowrap} .tg22 input{width:auto!important}
.cpick22{display:inline-flex;gap:3px} .cpick22 button{width:16px;height:16px;border-radius:50%;border:2px solid transparent;background:var(--c);cursor:pointer;padding:0}
.cpick22 button[aria-pressed="true"]{border-color:var(--ink);box-shadow:0 0 0 1px var(--surface) inset}
#tAdd{margin-top:8px} #tAdd svg{width:14px;height:14px;vertical-align:-2px}

/* GP referral calendar */
.refbar22{display:flex;flex-wrap:wrap;align-items:center;gap:10px 16px;margin:0 0 12px} .refbar22 .seg{margin:0}
.rsum22{display:flex;gap:14px;flex-wrap:wrap;font-size:13px;color:var(--muted)} .rsum22 b{color:var(--ink);font-size:15px} .rsum22 .w b{color:var(--late)}
#refsCal22{margin-bottom:60px}
.rcwrap22{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:18px} .rcmonth22 .cal-nav{margin-bottom:10px}
.month22.rc .rc22{min-height:92px}
.rc22.on{box-shadow:inset 0 0 0 2px var(--mint-3)}
.rce{font-size:11px;padding:1px 5px;border-radius:5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;background:color-mix(in srgb,var(--mint-3) 12%,var(--surface));border-left:3px solid var(--mint-3)}
.rce.p{background:color-mix(in srgb,var(--late) 12%,var(--surface));border-left-color:var(--late)} .rce.x{opacity:.5;text-decoration:line-through;border-left-color:var(--muted)}
.rcdots{font-size:11px;color:var(--mint-3);font-weight:700;letter-spacing:1px}
.rcday22{border-left:1px solid var(--line);padding-left:18px} .rcday22 h3{font:700 16px var(--display);margin:4px 0 10px}
.rcitem22{display:grid;grid-template-columns:62px minmax(0,1fr) auto;gap:8px;align-items:start;padding:10px 0;border-bottom:1px solid var(--line)}
.rcitem22 .lt{font:700 13px var(--display)} .rcitem22 div{display:flex;flex-direction:column;min-width:0} .rcitem22 .meta{font-size:12px}

/* command centre */
.adm-seg22{flex-wrap:wrap} .segsep22{width:1px;align-self:stretch;background:var(--line);margin:4px 6px}
.adm-seg22 .new22[aria-selected="true"]{background:var(--ink);color:var(--surface)}
.adm-top22{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;margin:0 0 12px}
.adm-export22{display:flex;align-items:center;gap:6px;flex-wrap:wrap} .adm-export22 svg{width:14px;height:14px;vertical-align:-2px}
.kp22{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:0 0 14px}
.kpi22{background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:14px 16px;display:flex;flex-direction:column;gap:3px;min-width:0}
.kpi22 span{font-size:12.5px;color:var(--muted);font-weight:600} .kpi22 b{font:800 26px/1.1 var(--display)} .kpi22 em{font-style:normal;font-size:12px;color:var(--muted)}
.ovgrid22,.hgrid22,.set-grid22{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-bottom:60px}
.ovgrid22 .panel,.hgrid22 .panel,.set-grid22 .panel{margin:0;min-width:0} .span2{grid-column:span 2} .span3{grid-column:1/-1}
.set-grid22{grid-template-columns:repeat(2,minmax(0,1fr))}
.ovgrid22 h3,.hgrid22 h3,.set-grid22 h3{font:700 15px var(--display);margin:0 0 10px;display:flex;align-items:center;gap:6px}
.act22{display:flex;flex-direction:column;gap:6px}
.act22 button{display:grid;grid-template-columns:44px 1fr 18px;align-items:center;gap:8px;padding:10px 12px;border-radius:12px;border:1px solid var(--line);background:var(--surface);color:var(--ink);text-align:left;cursor:pointer;font:500 13px var(--body)}
.act22 b{font:800 18px var(--display);color:var(--late)} .act22 svg{width:16px;height:16px;color:var(--muted)} .act22 button:hover{border-color:var(--mint-3)}
.chart22{position:relative} .chart22 svg{width:100%;height:auto;display:block;overflow:visible}
.chart22 .gl{stroke:var(--line);stroke-width:1} .chart22 .ax{fill:var(--muted);font:500 10.5px var(--body)} .chart22 .dl{fill:var(--ink);font:700 11px var(--body)}
.chart22 .ln{fill:none;stroke-width:2;stroke-linejoin:round;stroke-linecap:round} .chart22 .ln.s1,.chart22 .dot.s1{stroke:var(--s1)} .chart22 .ln.s2,.chart22 .dot.s2{stroke:var(--s2)}
.chart22 .dot{fill:var(--surface);stroke-width:2} .chart22 .bar.s1{fill:var(--s1)} .chart22 .bar.s2{fill:var(--s2)}
.chart22 .hit{fill:transparent;cursor:crosshair} .chart22 .xh{stroke:var(--muted);stroke-width:1;stroke-dasharray:3 3}
.clg22{display:flex;gap:14px;font-size:12px;color:var(--muted);margin:0 0 6px} .clg22 i,.tip22 i{display:inline-block;width:10px;height:10px;border-radius:3px;margin-right:5px;vertical-align:-1px}
i.s1{background:var(--s1)} i.s2{background:var(--s2)}
.tip22{position:absolute;top:18px;min-width:140px;background:var(--surface);border:1px solid var(--line);border-radius:10px;padding:8px 10px;box-shadow:var(--shadow);font-size:12px;display:flex;flex-direction:column;gap:3px;pointer-events:none;z-index:2}
.tip22 b{color:var(--ink)}
.hb22{display:flex;flex-direction:column;gap:7px}
.hbr{display:grid;grid-template-columns:minmax(80px,40%) 1fr auto;gap:8px;align-items:center;font-size:12.5px}
.hbl{white-space:nowrap;overflow:hidden;text-overflow:ellipsis} .hbb{display:flex;flex-direction:column;gap:2px} .hbb i{display:block;height:6px;border-radius:0 4px 4px 0;min-width:2px}
.hbv{color:var(--muted);font-size:11.5px;white-space:nowrap}
.feed22{display:flex;flex-direction:column} .feed22>div{display:flex;flex-wrap:wrap;gap:4px 10px;align-items:baseline;padding:7px 0;border-bottom:1px solid var(--line);font-size:13px}
.feed22>div>.meta:first-child{min-width:86px} .feed22 code,.audit22 code{font-size:11.5px;background:var(--sunk);padding:1px 6px;border-radius:5px}
.feed22.small>div{font-size:12.5px} .rl{font-size:10.5px;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--muted);border:1px solid var(--line);border-radius:6px;padding:0 5px}
.ppl22{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.15fr);gap:16px;margin-bottom:60px;align-items:start}
.pq22{display:flex;align-items:center;gap:8px;border:1px solid var(--line);border-radius:14px;background:var(--surface);padding:6px 6px 6px 12px;margin:0 0 12px}
.pq22 svg{width:18px;height:18px;color:var(--muted);flex:none} .pq22 input{flex:1;min-width:0;border:0;background:transparent;color:var(--ink);font:500 15px var(--body);padding:6px 0;outline:none}
.pq22:focus-within{border-color:var(--mint-3);box-shadow:0 0 0 3px var(--ring)}
#pqRes h4,.ppl-r h4,.hgrid22 h4{font:700 12px var(--body);text-transform:uppercase;letter-spacing:.05em;color:var(--muted);margin:14px 0 6px}
.pr22{display:grid;grid-template-columns:auto minmax(0,1fr) auto;grid-template-areas:"i n s" "i m s";gap:0 10px;align-items:center;width:100%;padding:9px 10px;border:1px solid var(--line);border-radius:12px;background:var(--surface);color:var(--ink);text-align:left;margin-top:6px;font:500 13px var(--body)}
button.pr22{cursor:pointer} button.pr22:hover{border-color:var(--mint-3)}
.pr22>.pdot{grid-area:i} .pr22>b{grid-area:n;white-space:nowrap;overflow:hidden;text-overflow:ellipsis} .pr22>.meta{grid-area:m;font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis} .pr22>.status,.pr22>.linkbtn,.pr22>button{grid-area:s}
.pr22:not(:has(.pdot)){grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"n s" "m s"}
.ppl-r{position:sticky;top:84px;background:var(--surface);border:1px solid var(--line);border-radius:18px;padding:16px;min-height:200px}
.ppl-r .empty{border:0}
.dhead22{display:flex;align-items:center;gap:12px;margin-bottom:12px} .dhead22>div{flex:1;min-width:0} .dhead22 h3{margin:0;font:700 18px var(--display)}
.dacts22{display:flex;flex-wrap:wrap;gap:6px;margin:0 0 6px}
.logins22{display:flex;flex-wrap:wrap;gap:6px} .logins22 span{font-size:12px;padding:3px 8px;border-radius:8px;background:var(--sunk)} .logins22 .bad{color:var(--red)} .logins22 .ok{color:var(--mint-3)}
.tl22{list-style:none;margin:0;padding:0 0 0 14px;border-left:2px solid var(--line)} .tl22 li{position:relative;display:flex;flex-direction:column;padding:4px 0 10px;font-size:13px}
.tl22 li::before{content:"";position:absolute;left:-20px;top:9px;width:10px;height:10px;border-radius:50%;background:var(--mint-3);border:2px solid var(--surface)}
.note.warn{background:var(--wattle-bg);color:var(--late);border-color:transparent}
.sw22{display:flex;align-items:center;gap:10px;margin:8px 0;cursor:pointer;font-weight:600} .sw22 input{position:absolute;opacity:0;width:1px;height:1px}
.sw22>span{flex:none;width:40px;height:23px;border-radius:999px;background:var(--line);position:relative;transition:background .15s}
.sw22>span::after{content:"";position:absolute;left:3px;top:3px;width:17px;height:17px;border-radius:50%;background:#fff;box-shadow:0 1px 2px rgba(0,0,0,.25);transition:transform .15s}
.sw22 input:checked+span{background:var(--mint-3)} .sw22 input:checked+span::after{transform:translateX(17px)} .sw22 input:focus-visible+span{box-shadow:0 0 0 3px var(--ring)}
.sw22.row{display:grid;grid-template-columns:40px 1fr;grid-template-areas:"s b" "s e";gap:0 12px;padding:8px 0;border-bottom:1px solid var(--line);margin:0}
.sw22.row>span{grid-area:s} .sw22.row b{grid-area:b} .sw22.row em{grid-area:e;font-style:normal;font-weight:500;font-size:12.5px;color:var(--muted)}
.set-grid22 label:not(.sw22){display:flex;flex-direction:column;gap:4px;font-size:13px;font-weight:600;margin:8px 0}
.set-grid22 input:not([type=checkbox]),.set-grid22 select,.set-grid22 textarea{padding:9px 10px;border:1px solid var(--line);border-radius:10px;background:var(--surface);color:var(--ink);font:500 14px var(--body)}
.set-grid22 .cta{margin-top:10px} .maint-on{border-color:var(--late)!important;box-shadow:0 0 0 2px color-mix(in srgb,var(--late) 25%,transparent)}
.bnprev22{margin:10px 0 0}
.chks22{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:8px}
.chk22{display:grid;grid-template-columns:22px 1fr;grid-template-areas:"i b" "i s";gap:0 8px;padding:10px 12px;border-radius:12px;border:1px solid var(--line)}
.chk22 svg{grid-area:i;width:20px;height:20px} .chk22 b{grid-area:b;font-size:13.5px} .chk22 span{grid-area:s;font-size:12px;color:var(--muted)}
.chk22.ok svg{color:var(--mint-3)} .chk22.bad{border-color:color-mix(in srgb,var(--late) 45%,var(--line));background:color-mix(in srgb,var(--wattle-bg) 50%,var(--surface))} .chk22.bad svg{color:var(--late)}
.hrow22{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-top:12px} .hrow22 .meta{flex:1;min-width:200px}
.tbl22{display:grid;grid-template-columns:1fr 1fr;gap:6px} .tbl22>div{display:flex;justify-content:space-between;padding:6px 10px;border-radius:8px;background:var(--sunk);font-size:12.5px;text-transform:capitalize}
.bad22{color:var(--red);font-weight:700}
.audit22 td{font-size:12.5px;vertical-align:top}

/* the site banner every visitor sees */
.sitebanner22{position:relative;z-index:60;display:flex;align-items:center;justify-content:center;gap:12px;padding:9px 44px;font:600 13.5px var(--body);text-align:center;background:var(--ink);color:var(--surface)}
.sitebanner22.good{background:var(--mint-3);color:#fff} .sitebanner22.warn{background:var(--wattle);color:var(--wattle-ink)}
.sitebanner22 a{color:inherit;text-decoration:underline;white-space:nowrap} .sitebanner22 button{position:absolute;right:10px;top:50%;transform:translateY(-50%);border:0;background:none;color:inherit;font-size:20px;cursor:pointer;opacity:.8}
.bnprev22 .sitebanner22{border-radius:10px}
html.no-symptoms #heroSym,html.no-symptoms #hbSym,html.no-symptoms .sg-sym{display:none!important}

/* tablets and phones */
@media (max-width:1100px){ .kp22{grid-template-columns:repeat(2,minmax(0,1fr))} .ovgrid22,.hgrid22{grid-template-columns:repeat(2,minmax(0,1fr))} .span3{grid-column:1/-1} }
@media (max-width:900px){ .ppl22{grid-template-columns:1fr} .ppl-r{position:static} .rcwrap22{grid-template-columns:1fr} .rcday22{border-left:0;padding-left:0;border-top:1px solid var(--line);padding-top:12px} .set-grid22{grid-template-columns:1fr} }
@media (max-width:700px){
  .cal-bar{gap:8px} .cal-nav{flex-basis:100%} .cal-title{font-size:17px} .cal-views{flex:1 1 100%;display:flex} .cal-views button{flex:1;justify-content:center;padding-left:6px;padding-right:6px}
  .cal-acts{flex:1 1 100%} .cal-acts .cta{flex:1;justify-content:center} .cal-acts #calLeave{font-size:0;padding:0 12px} .cal-acts #calLeave svg{width:18px;height:18px;margin:0}
  .cal-strip{gap:4px} .sd22{padding:6px 0;min-width:0;font-size:11px} .sd22 b{font-size:15px} .sd22 i{display:none}
  #view-spec .pagehead p{display:none} #view-spec .pagehead h1{font-size:30px}
  .cal-kpis{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px} .cal-kpis>div{padding:9px 10px} .cal-kpis b{font-size:18px} .cal-kpis span{font-size:11px}
  .cal-kpis>div:nth-child(n+4){display:none}
  .cal-grid22{--gut:40px;border-radius:12px} .hl22 span{font-size:10px;right:4px}
  .cal-grid22.v-week .ev b,.cal-grid22.v-week .ev-s{display:none} .cal-grid22.v-week .ev{padding:2px 3px} .cal-grid22.v-week .ch22.dh{flex-direction:column;gap:0} .cal-grid22.v-week .ch22.dh b{font-size:15px}
  .cal-scroll{max-height:62vh}
  .month22 .mc22,.month22 .rc22{min-height:62px;padding:4px} .mcount{font-size:10px} .mcount b{display:block;font-size:13px}
  .lr22{grid-template-columns:54px 8px minmax(0,1fr);grid-template-areas:"t d n" "t d m" "t d s"} .lr22 .status{justify-self:start;margin-top:4px}
  .kp22{gap:8px} .kpi22{padding:10px 12px} .kpi22 b{font-size:21px}
  .ovgrid22,.hgrid22{grid-template-columns:1fr} .span2{grid-column:auto}
  .tr22{grid-template-columns:minmax(0,1fr) 84px 34px;grid-template-areas:"n n x" "l f f" "m m m" "o d d" "c c c"} .tr22 .cpick22{justify-self:start}
  .adm-export22 .meta{display:none}
  .sitebanner22{padding:9px 40px 9px 14px;justify-content:flex-start;text-align:left;font-size:13px}
}
@media print{ .cal-bar,.cal-people,.cal-strip,.cal-kpis,.cal-legend{display:none} }
.hgrid22 .reftable{min-width:0;width:100%} .hgrid22 .reftable td{white-space:normal} .hgrid22 .reftable td:last-child{white-space:nowrap;width:1%}
.hgrid22 .tablewrap{overflow-x:auto}
#r23Forgot input{width:100%;font:inherit;padding:10px 12px;border:1px solid var(--line);border-radius:10px;background:var(--bg,#fff);color:inherit}
#r23Forgot .err{margin:0;min-height:0}
#r23Forgot .err:empty{display:none}
#r23Forgot .linkbtn{display:inline;padding:0;font-size:inherit}
.vid24{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.5fr);gap:32px;align-items:center;margin:48px 0 8px;padding:28px;border:1px solid var(--line);border-radius:24px;background:var(--surface, var(--card))}
.vid24 h2{margin:6px 0 8px;font-size:clamp(24px,3vw,32px);letter-spacing:-.02em}
.vid24 p{color:var(--muted);margin:0 0 14px}
.vid24-tabs{display:flex;flex-wrap:wrap;gap:8px;margin:4px 0 12px}
.vid24-tabs button{font:inherit;font-size:14px;font-weight:600;padding:8px 13px;border-radius:999px;border:1px solid var(--line);background:transparent;color:var(--ink);cursor:pointer}
.vid24-tabs button[aria-selected="true"]{background:var(--ink);color:var(--bg);border-color:var(--ink)}
.vid24-t{font-weight:700;color:var(--ink)!important}
.vid24 video,.faq24-vid video{width:100%;height:auto;display:block;border-radius:16px;background:#0b2b29;aspect-ratio:16/9;box-shadow:0 16px 40px -24px rgba(0,0,0,.5)}
.faq24-vid{max-width:340px;margin:4px 0 8px}.faq24-vid video{aspect-ratio:1/1;border-radius:14px}
.faq24-intro{margin:0 0 10px;font-size:15px}
footer a.foot24{display:block;color:inherit;text-decoration:none;font:inherit;padding:2px 0}
footer a.foot24:hover{text-decoration:underline}
@media (max-width:860px){.vid24{grid-template-columns:1fr;padding:18px;gap:16px;margin-top:32px}.vid24-player{order:-1}}

/* ---------- round 25: clinician chat ---------- */
.cc-seg{margin:0 0 14px}.cc-pill{display:inline-grid;place-items:center;min-width:19px;height:19px;padding:0 5px;margin-left:7px;border-radius:999px;background:var(--red);color:#fff;font-size:11.5px;font-weight:700}
.cc-app{display:grid;grid-template-columns:330px minmax(0,1fr);height:min(760px,calc(100vh - 230px));min-height:540px;background:var(--surface);border:1px solid var(--line);border-radius:22px;overflow:hidden;margin-bottom:60px;box-shadow:var(--shadow-sm)}
.cc-side{border-right:1px solid var(--line);display:flex;flex-direction:column;min-width:0;min-height:0;background:var(--surface)}
.cc-side-head{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:14px 14px 8px}.cc-side-head h2{margin:0;font-family:var(--display);font-size:20px}
.cc-side-btns{display:flex;gap:6px}.cc-side-btns .sm{padding:7px 10px;font-size:13px}
.cc-search{display:flex;align-items:center;gap:8px;margin:0 12px 8px;padding:0 12px;border:1px solid var(--line);border-radius:12px;background:var(--sunk)}
.cc-search svg{width:16px;height:16px;color:var(--muted);flex:none}.cc-search input{border:0;background:transparent;outline:0;padding:10px 0;width:100%;font:inherit;color:var(--ink)}
.cc-list{flex:1;overflow-y:auto;padding:4px 8px 8px}
.cc-row{display:grid;grid-template-columns:42px minmax(0,1fr) auto;grid-template-areas:"a t b" "a s b";column-gap:10px;row-gap:1px;align-items:center;width:100%;text-align:left;padding:9px 10px;border:0;border-radius:14px;background:transparent;color:var(--ink);cursor:pointer;font:inherit}
.cc-row:hover{background:var(--sunk)}.cc-row.on{background:var(--mint)}.cc-row>.cc-av{grid-area:a}
.cc-row-t{grid-area:t;display:flex;align-items:center;gap:6px;min-width:0}.cc-row-t b{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:650}.cc-row-t time{margin-left:auto;font-size:12px;color:var(--muted);flex:none}
.cc-row-s{grid-area:s;font-size:13.5px;color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.cc-row.unread .cc-row-s{color:var(--ink);font-weight:600}.cc-row.unread .cc-row-t b{font-weight:800}
.cc-badge{grid-area:b;min-width:20px;height:20px;padding:0 6px;border-radius:999px;background:var(--mint-3);color:#fff;font-size:12px;font-weight:700;display:grid;place-items:center}.cc-badge.at{background:var(--wattle);color:var(--wattle-ink)}
.cc-muted{font-size:12px}
.cc-urg{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.04em;padding:2px 7px;border-radius:999px;background:var(--sunk);color:var(--muted);flex:none}
.cc-urg.soon{background:var(--wattle-bg);color:var(--late)}.cc-urg.urgent{background:var(--red-bg);color:var(--red)}
.cc-hits-h{font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);padding:10px 10px 4px}
.cc-hit{display:grid;gap:2px;width:100%;text-align:left;padding:8px 10px;border:0;border-radius:12px;background:transparent;color:var(--ink);cursor:pointer;font:inherit}.cc-hit:hover{background:var(--sunk)}
.cc-hit span{font-size:13.5px;color:var(--muted)}.cc-hit time{font-size:12px;color:var(--muted)}
.cc-none{padding:16px 12px;color:var(--muted);font-size:14.5px}.cc-none p{margin:0 0 8px}
.cc-foot{margin:0;padding:10px 14px 12px;font-size:12px;color:var(--muted);border-top:1px solid var(--line)}
.cc-av{--h:160;position:relative;flex:none;width:40px;height:40px;border-radius:50%;display:grid;place-items:center;font-weight:700;font-size:14px;color:#fff;background:hsl(var(--h) 38% 38%)}
.cc-av.sm{width:32px;height:32px;font-size:12px}.cc-av.xs{width:24px;height:24px;font-size:10px}.cc-av.lg{width:84px;height:84px;font-size:28px}
.cc-av.grp,.cc-av.case{background:var(--mint);color:var(--ink);font-size:18px}.cc-av.case{background:var(--wattle-bg)}
.cc-on{position:absolute;right:-1px;bottom:-1px;width:11px;height:11px;border-radius:50%;background:#22a565;border:2px solid var(--surface)}
.cc-av.lg .cc-on{width:18px;height:18px}
.cc-main{position:relative;display:flex;flex-direction:column;min-width:0;min-height:0;background:var(--bg)}
.cc-main.drop::after{content:"Drop to share";position:absolute;inset:10px;border:2px dashed var(--mint-3);border-radius:18px;display:grid;place-items:center;font-weight:700;color:var(--mint-3);background:color-mix(in srgb,var(--surface) 85%,transparent);z-index:5}
.cc-empty{margin:auto;max-width:440px;text-align:center;padding:30px;color:var(--muted)}.cc-empty h3{color:var(--ink);font-family:var(--display);font-size:22px;margin:8px 0}
.cc-empty-ic{font-size:40px}.cc-empty-btns{display:flex;gap:10px;justify-content:center;margin-top:14px}.cc-alert-ask{font-size:13.5px;margin-top:18px}
.cc-head{display:flex;align-items:center;gap:11px;padding:10px 14px;border-bottom:1px solid var(--line);background:var(--surface)}
.cc-head-t{display:grid;min-width:0;flex:1}.cc-head-t b{font-size:16px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cc-head-t span{font-size:13px;color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.cc-green{color:#1f9a5c!important;font-weight:600}
.cc-head-btns{display:flex;gap:4px}
.cc-ib{border:0;background:transparent;color:var(--ink);width:38px;height:38px;border-radius:12px;cursor:pointer;font-size:18px;display:inline-grid;place-items:center;position:relative;flex:none}
.cc-ib:hover{background:var(--sunk)}.cc-ib sup{position:absolute;top:2px;right:2px;font-size:10px;font-weight:700}
.cc-back{display:none;font-size:28px}
.cc-pins{padding:8px 14px;background:var(--wattle-bg);border-bottom:1px solid var(--line)}
.cc-case-strip{display:flex;flex-wrap:wrap;gap:4px 10px;align-items:center;font-size:13.5px}.cc-case-strip .q{width:100%;color:var(--muted)}
.cc-scroll{flex:1;overflow-y:auto;padding:14px 16px 6px;overscroll-behavior:contain}
.cc-msgs{display:flex;flex-direction:column;gap:2px}
.cc-start{text-align:center;color:var(--muted);font-size:13px;margin:6px auto 14px;max-width:420px}
.cc-more{text-align:center;margin-bottom:8px}.cc-loading{color:var(--muted);text-align:center}
.cc-dayline{display:flex;align-items:center;gap:10px;margin:12px 0 8px;color:var(--muted);font-size:12px;font-weight:600}.cc-dayline::before,.cc-dayline::after{content:"";flex:1;height:1px;background:var(--line)}
.cc-sys{align-self:center;font-size:12.5px;color:var(--muted);background:var(--sunk);padding:4px 12px;border-radius:999px;margin:6px 0;text-align:center;max-width:90%}
.cc-sys.call{background:var(--mint);color:var(--ink)}
.cc-m{display:flex;align-items:flex-end;gap:8px;margin-top:8px;position:relative;max-width:100%}
.cc-m.grp{margin-top:1px}.cc-avsp{width:32px;flex:none}
.cc-m.me{flex-direction:row-reverse}
.cc-bub{max-width:min(560px,78%);background:var(--surface);border:1px solid var(--line);border-radius:18px 18px 18px 6px;padding:8px 12px 6px;box-shadow:var(--shadow-sm);min-width:0}
.cc-m.me .cc-bub{background:var(--gum);color:var(--on-gum);border-color:transparent;border-radius:18px 18px 6px 18px}
.cc-m.grp .cc-bub{border-radius:18px}
.cc-m.ment .cc-bub{box-shadow:0 0 0 2px var(--wattle)}
.cc-m.jump .cc-bub{animation:ccJump 2.2s ease}
@keyframes ccJump{0%,40%{box-shadow:0 0 0 3px var(--mint-3)}100%{box-shadow:var(--shadow-sm)}}
.cc-who{font-size:12.5px;font-weight:700;margin-bottom:2px}.cc-who span{font-weight:500;color:var(--muted);margin-left:6px}
.cc-txt{margin:0;white-space:normal;overflow-wrap:anywhere;line-height:1.45}.cc-txt a{color:inherit;text-decoration:underline}
.cc-ment{font-weight:700;background:color-mix(in srgb,var(--wattle) 30%,transparent);border-radius:5px;padding:0 3px}
.cc-meta{font-size:11px;opacity:.7;margin-top:3px;text-align:right}
.cc-seen{font-weight:600}
.cc-del{margin:0;font-style:italic;opacity:.7}
.cc-quote{display:grid;width:100%;text-align:left;font:inherit;border:0;border-left:3px solid var(--mint-3);background:color-mix(in srgb,var(--sunk) 70%,transparent);padding:5px 9px;border-radius:8px;margin:2px 0 6px;color:inherit;cursor:pointer}
.cc-m.me .cc-quote{background:rgba(255,255,255,.1);border-left-color:var(--mint-2)}
.cc-quote b{font-size:12px}.cc-quote span{font-size:13px;opacity:.8;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.cc-reacts{display:flex;flex-wrap:wrap;gap:4px;margin:4px 0 2px}
.cc-react{border:1px solid var(--line);background:var(--surface);color:var(--ink);border-radius:999px;padding:1px 8px;font-size:13px;cursor:pointer}
.cc-react.mine{border-color:var(--mint-3);background:var(--mint)}
.cc-acts{display:flex;gap:2px;opacity:0;transition:opacity .12s;align-self:center;background:var(--surface);border:1px solid var(--line);border-radius:10px;padding:2px}
.cc-m:hover .cc-acts,.cc-m:focus-within .cc-acts{opacity:1}
.cc-acts button{border:0;background:transparent;color:var(--ink);width:28px;height:28px;border-radius:8px;cursor:pointer;font-size:15px}.cc-acts button:hover{background:var(--sunk)}
.cc-card{display:grid;gap:4px;background:var(--sunk);color:var(--ink);border-radius:12px;padding:10px 12px;margin:2px 0 4px;min-width:220px}
.cc-card p{margin:0;font-size:14px}.cc-card .q{color:var(--ink)}.cc-card span{font-size:13.5px;color:var(--muted)}
.cc-card-h{display:flex;align-items:center;gap:8px;font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--muted)}
.cc-card-btns{display:flex;gap:6px;margin-top:4px;flex-wrap:wrap}.cc-card .sm{justify-self:start}
.cc-img{display:block;border:0;padding:0;background:var(--sunk);border-radius:12px;overflow:hidden;cursor:zoom-in;margin:2px 0 4px;min-width:160px;min-height:100px}
.cc-img img{display:block;max-width:min(320px,100%);max-height:320px;object-fit:cover}
.cc-full{max-width:100%;max-height:70vh;display:block;margin:0 auto;border-radius:12px}
.cc-file{display:flex;align-items:center;gap:10px;background:var(--sunk);color:var(--ink);border-radius:12px;padding:8px 10px;margin:2px 0 4px}
.cc-file span:nth-child(2){display:grid;min-width:0}.cc-file b{font-size:14px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cc-file small{color:var(--muted)}
.cc-file-ic{flex:none;width:40px;height:40px;border-radius:10px;background:var(--surface);display:grid;place-items:center;font-size:11px;font-weight:800;color:var(--red)}
.cc-vid video{max-width:min(360px,100%);border-radius:12px;display:block}
.cc-voice{display:flex;align-items:center;gap:10px;min-width:200px;margin:2px 0}
.cc-play{width:36px;height:36px;border-radius:50%;border:0;background:var(--mint-3);color:#fff;cursor:pointer;font-size:14px;flex:none}
.cc-wave{flex:1;height:24px;background:repeating-linear-gradient(90deg,currentColor 0 2px,transparent 2px 5px);opacity:.35;mask:linear-gradient(90deg,#000 0 100%);-webkit-mask:radial-gradient(ellipse at center,#000 40%,transparent 75%)}
.cc-vlen{font-size:12.5px;opacity:.8}
.cc-typing{min-height:22px;font-size:12.5px;color:var(--muted);padding:4px 2px 0;display:flex;align-items:center;gap:6px}
.cc-dots{display:inline-flex;gap:3px}.cc-dots i{width:6px;height:6px;border-radius:50%;background:var(--muted);animation:ccDot 1.2s infinite}.cc-dots i:nth-child(2){animation-delay:.15s}.cc-dots i:nth-child(3){animation-delay:.3s}
@keyframes ccDot{0%,60%,100%{opacity:.25;transform:translateY(0)}30%{opacity:1;transform:translateY(-3px)}}
.cc-comp{position:relative;border-top:1px solid var(--line);background:var(--surface);padding:8px 10px 10px}
.cc-crow{display:flex;align-items:flex-end;gap:6px}
.cc-crow textarea{flex:1;resize:none;border:1px solid var(--line);border-radius:14px;padding:10px 12px;font:inherit;line-height:1.4;background:var(--sunk);color:var(--ink);max-height:160px;min-height:42px}
.cc-crow textarea:focus{outline:2px solid var(--mint-3);outline-offset:-1px;background:var(--surface)}
.cc-send{min-height:42px;padding:0 16px;border-radius:14px}
.cc-bar{display:flex;align-items:center;gap:10px;font-size:13.5px;padding:4px 4px 8px;color:var(--muted)}.cc-bar b{color:var(--ink)}
.cc-bar-q{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;border-left:3px solid var(--mint-3);padding-left:8px}.cc-bar-sp{flex:1}
.cc-recdot{width:10px;height:10px;border-radius:50%;background:var(--red);animation:ccDot 1s infinite}
.cc-prog{flex:1;height:6px;border-radius:99px;background:var(--sunk);overflow:hidden}.cc-prog i{display:block;height:100%;background:var(--mint-3);transition:width .2s}
.cc-mbox{position:absolute;left:52px;bottom:calc(100% - 4px);width:min(320px,80%);background:var(--surface);border:1px solid var(--line);border-radius:14px;box-shadow:var(--shadow);padding:4px;z-index:10}
.cc-mopt{display:flex;align-items:center;gap:8px;width:100%;border:0;background:transparent;color:var(--ink);font:inherit;padding:7px 8px;border-radius:10px;text-align:left;cursor:pointer}
.cc-mopt span{color:var(--muted);font-size:12.5px;margin-left:auto}.cc-mopt.on,.cc-mopt:hover{background:var(--mint)}
.cc-pop{position:fixed;z-index:120;background:var(--surface);border:1px solid var(--line);border-radius:14px;box-shadow:var(--shadow);padding:5px;min-width:190px;max-width:320px;max-height:60vh;overflow:auto}
.cc-pop-h{font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);padding:6px 8px 4px}
.cc-pop-p{margin:6px 8px;font-size:14px}.cc-pop-row{display:flex;gap:6px;justify-content:flex-end;padding:4px}
.cc-mi{display:block;width:100%;text-align:left;border:0;background:transparent;color:var(--ink);font:inherit;padding:8px 10px;border-radius:10px;cursor:pointer}.cc-mi:hover{background:var(--sunk)}
.cc-mi.danger,.danger{color:var(--red)!important}.cta.danger{background:var(--red)!important;color:#fff!important}
.cc-emo{border:0;background:transparent;font-size:22px;width:40px;height:40px;border-radius:10px;cursor:pointer}.cc-emo:hover{background:var(--sunk)}
.cc-pin-i{display:grid;width:100%;text-align:left;border:0;background:transparent;color:var(--ink);font:inherit;padding:7px 9px;border-radius:10px;cursor:pointer}.cc-pin-i:hover{background:var(--sunk)}
.cc-pin-i span{font-size:13px;color:var(--muted)}
.cc-pq{width:100%;padding:11px 12px;border:1px solid var(--line);border-radius:12px;font:inherit;background:var(--sunk);color:var(--ink);margin-bottom:8px}
.cc-plist{display:grid;gap:2px;max-height:min(420px,50vh);overflow:auto}
.cc-prow{display:flex;align-items:center;gap:10px;width:100%;text-align:left;border:0;background:transparent;color:var(--ink);font:inherit;padding:8px;border-radius:12px;cursor:pointer}
.cc-prow:hover:not(.static),.cc-prow.on{background:var(--mint)}.cc-prow>span:nth-child(2){display:grid;min-width:0;flex:1}.cc-prow small{color:var(--muted);font-size:12.5px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.cc-prow.static{cursor:default}.cc-own{font-weight:600;color:var(--mint-3)}
.cc-check{width:22px;height:22px;border-radius:50%;border:2px solid var(--line);display:grid;place-items:center;font-size:13px;color:#fff;flex:none}.cc-prow.on .cc-check{background:var(--mint-3);border-color:var(--mint-3)}
.cc-chips{display:flex;flex-wrap:wrap;gap:6px;margin:4px 0 8px}.cc-chip{display:inline-flex;align-items:center;gap:4px;background:var(--mint);border-radius:999px;padding:4px 6px 4px 11px;font-size:13.5px}
.cc-chip button{border:0;background:transparent;color:var(--ink);cursor:pointer;font-size:16px;line-height:1;padding:0 4px}
.cc-grid3{display:grid;grid-template-columns:1fr 1fr 1fr;gap:10px}
.cc-urgf{border:0;padding:0;margin:4px 0;display:flex;flex-wrap:wrap;gap:6px 16px}.cc-urgf legend{font-weight:600;font-size:14px;margin-bottom:4px;padding:0}.cc-urgf label{display:flex!important;align-items:center;gap:6px;font-weight:500}
.cc-mem{display:grid;gap:6px;justify-items:start}
.cc-inl{display:flex;align-items:flex-end;gap:8px;margin-bottom:8px}.cc-inl label{flex:1;display:grid;gap:4px;font-weight:600;font-size:14px}.cc-inl input{padding:9px 11px;border:1px solid var(--line);border-radius:10px;font:inherit;background:var(--sunk);color:var(--ink)}
.cc-h3{margin:14px 0 6px;font-size:15px}.cc-casedit{margin:6px 0 10px}.cc-casedit summary{cursor:pointer;font-weight:600}
.cc-info-acts{flex-wrap:wrap}
/* calls */
.cc-call{position:fixed;inset:0;z-index:300;background:radial-gradient(circle at 50% 30%,#1d4a40,#08130f 70%);color:#fff;display:flex;flex-direction:column;align-items:center;justify-content:center}
.cc-call video#ccRV{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:none;background:#000}
.cc-call.video.live video#ccRV{display:block}
.cc-call video#ccLV{position:absolute;right:18px;bottom:110px;width:min(28vw,220px);aspect-ratio:4/3;object-fit:cover;border-radius:16px;border:2px solid rgba(255,255,255,.5);display:none;transform:scaleX(-1);background:#000;z-index:2}
.cc-call.video video#ccLV{display:block}
.cc-call-top{position:relative;z-index:2;text-align:center}
.cc-call.video.live .cc-call-top{position:absolute;top:18px;left:18px;text-align:left}
.cc-call-who{display:grid;justify-items:center;gap:8px}.cc-call-who b{font-size:24px}.cc-call-who span{opacity:.8}
.cc-call.video.live .cc-call-who{justify-items:start;background:rgba(0,0,0,.35);padding:8px 12px;border-radius:14px}.cc-call.video.live .cc-call-who .cc-av{display:none}.cc-call.video.live .cc-call-who b{font-size:16px}
.cc-call-bar{position:absolute;bottom:26px;left:0;right:0;display:flex;justify-content:center;gap:14px;z-index:3}
.cc-cb{width:64px;height:64px;border-radius:50%;border:0;background:rgba(255,255,255,.16);color:#fff;font-size:22px;cursor:pointer;display:grid;place-items:center;position:relative;backdrop-filter:blur(6px)}
.cc-cb small{position:absolute;top:calc(100% + 4px);font-size:11.5px;white-space:nowrap;opacity:.85}
.cc-cb.off{background:#fff;color:#111}.cc-cb.on{background:var(--mint-3)}.cc-cb.decline{background:#d9443a}.cc-cb.accept{background:#22a565;animation:ccPulse 1.4s infinite}
@keyframes ccPulse{0%{box-shadow:0 0 0 0 rgba(34,165,101,.6)}70%{box-shadow:0 0 0 18px rgba(34,165,101,0)}100%{box-shadow:0 0 0 0 rgba(34,165,101,0)}}
@media (max-width:860px){
  #view-msgs.cc-inroom .pagehead,#view-msgs.cc-inroom #ccSeg{display:none}
  #view-msgs.cc-inroom .cc-app{height:calc(100dvh - 190px);margin-top:8px}
  #view-msgs .pagehead p{display:none}
  .cc-app{grid-template-columns:1fr;height:calc(100dvh - 300px);min-height:460px;border-radius:18px;margin-bottom:24px}
  .cc-app.has-room .cc-side{display:none}.cc-app:not(.has-room) .cc-main{display:none}
  .cc-back{display:inline-grid}.cc-acts{opacity:1;position:absolute;top:-14px;right:4px;transform:scale(.9)}.cc-m.me .cc-acts{right:auto;left:4px}
  .cc-m .cc-acts{display:none}.cc-m:focus-within .cc-acts,.cc-m.tapped .cc-acts{display:flex}
  .cc-bub{max-width:86%}.cc-side-btns .sm{padding:6px 8px}
  .cc-grid3{grid-template-columns:1fr 1fr 1fr}
}
@media (prefers-reduced-motion:reduce){.cc-dots i,.cc-recdot,.cc-cb.accept,.cc-m.jump .cc-bub{animation:none}}
/* ---------- round 26: practice insights v2 ---------- */
:root{--cv-gp:#008065;--cv-pt:#B9770A;--cv-open:#E3EAE5;--cv-heat:0,128,101}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]){--cv-gp:#2FA27E;--cv-pt:#B88012;--cv-open:#22332D;--cv-heat:47,162,126}}
:root[data-theme="dark"]{--cv-gp:#2FA27E;--cv-pt:#B88012;--cv-open:#22332D;--cv-heat:47,162,126}
#provInsights{position:relative}
.in2-bar{display:flex;flex-wrap:wrap;align-items:center;gap:10px 14px;margin:0 0 14px}.in2-bar .seg{margin:0}
.in2-pick{display:flex;align-items:center;gap:8px;font-weight:600;font-size:14px}.in2-pick select{padding:8px 10px;border-radius:10px;border:1px solid var(--line);background:var(--surface);color:var(--ink);font:inherit}
#in2Csv{margin-left:auto}
.in2-kpis{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:10px;margin-bottom:14px}
.in2-k{background:var(--surface);border:1px solid var(--line);border-radius:16px;padding:14px;display:grid;gap:2px;align-content:start}
.in2-k b{font-family:var(--display);font-size:28px;letter-spacing:-.02em;line-height:1.1;color:var(--ink)}.in2-k span{font-weight:600;font-size:14px;color:var(--ink)}.in2-k small{font-size:12.5px;color:var(--muted)}
.in2-funnel ol{list-style:none;display:flex;align-items:center;gap:8px;padding:0;margin:8px 0;flex-wrap:wrap}
.in2-funnel li{display:grid;background:var(--sunk);border-radius:14px;padding:10px 16px;min-width:140px}.in2-funnel li b{font-size:24px;font-family:var(--display)}.in2-funnel li span{font-size:13.5px;color:var(--muted)}
.in2-funnel li.in2-arrow{background:none;min-width:0;padding:0 4px;text-align:center;font-size:20px;color:var(--muted)}.in2-arrow small{display:block;font-size:12.5px;font-weight:700;color:var(--ink)}
.in2-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.in2-grid .panel{margin:0 0 14px;min-width:0}
.in2-legend{display:flex;gap:14px;font-size:13px;color:var(--muted);margin:-2px 0 6px}.in2-legend span{display:inline-flex;align-items:center;gap:6px}
.sw{width:12px;height:12px;border-radius:3px;display:inline-block}.sw.gp{background:var(--cv-gp)}.sw.pt{background:var(--cv-pt)}.sw.open{background:var(--cv-open);box-shadow:inset 0 0 0 1px var(--line)}
.in2-svg{width:100%;height:auto;display:block;overflow:visible}
.in2-svg .b.gp{fill:var(--cv-gp)}.in2-svg .b.pt{fill:var(--cv-pt)}.in2-svg .b.open{fill:var(--cv-open);stroke:var(--line);stroke-width:1}.in2-svg .b.zero{fill:var(--line)}
.in2-svg g:hover .b{opacity:.85}
.in2-grid-l{stroke:var(--line);stroke-width:1;stroke-dasharray:2 4}.in2-base{stroke:var(--muted);stroke-width:1}
.in2-ax{font-size:11px;fill:var(--muted)}
.in2-tip{position:absolute;z-index:20;pointer-events:none;background:var(--ink);color:var(--surface);font-size:12.5px;line-height:1.4;padding:7px 10px;border-radius:10px;box-shadow:var(--shadow);max-width:240px}
.in2-heat{display:grid;gap:3px;align-items:center;font-size:11.5px}
.in2-heat .hx{color:var(--muted);text-align:left;white-space:nowrap;overflow:visible}.in2-heat .hy{color:var(--muted);font-weight:600}
.in2-heat .hc{height:22px;border-radius:5px;background:rgba(var(--cv-heat),var(--a));box-shadow:inset 0 0 0 1px var(--line)}
.in2-scale{display:flex;align-items:center;gap:4px;margin-top:10px;font-size:12px;color:var(--muted);flex-wrap:wrap}.in2-scale i{width:18px;height:12px;border-radius:3px;background:rgba(var(--cv-heat),var(--a))}.in2-scale b{margin-left:12px;color:var(--ink)}
.in2-t td{vertical-align:top}
.in2-types{list-style:none;padding:0;margin:0;display:grid;gap:8px}.in2-types li{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr) 32px;gap:10px;align-items:center;font-size:14px}
.in2-tbar{height:10px;background:var(--sunk);border-radius:99px;overflow:hidden}.in2-tbar i{display:block;height:100%;background:var(--cv-gp);border-radius:99px}
.in2-wl-top{display:flex;gap:16px;align-items:flex-start;justify-content:space-between;flex-wrap:wrap}.in2-wl-acts{display:grid;gap:8px;justify-items:start}
.in2-switch{display:flex!important;align-items:center;gap:8px;font-weight:600;font-size:14px;cursor:pointer}.in2-switch input{width:18px;height:18px;accent-color:var(--mint-3)}.in2-switch.big{font-size:15px;margin:6px 0 2px}
@media (max-width:1100px){.in2-kpis{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media (max-width:760px){.in2-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.in2-grid{grid-template-columns:1fr}.in2-k b{font-size:24px}#in2Csv{margin-left:0}.in2-heat .hx{font-size:9.5px}}

/* ---------- round 27: sign-up, compare, alerts, rural ---------- */
.modal.j27{width:min(620px,calc(100vw - 32px))}
.j27-steps{display:flex;gap:6px;margin:-4px 0 14px}
.j27-steps span{height:4px;flex:1;border-radius:4px;background:var(--line)}
.j27-steps span.on{background:var(--gum-2)}
.j27-sub{margin:0 0 16px;color:var(--muted);font-size:15px;line-height:1.5}
.j27-roles{display:grid;gap:10px}
.j27-role{display:grid;grid-template-columns:44px 1fr 20px;gap:14px;align-items:center;text-align:left;width:100%;padding:14px 16px;border:1px solid var(--line);border-radius:16px;background:var(--surface);cursor:pointer;color:var(--ink);font:inherit;transition:border-color .15s,box-shadow .15s,transform .15s}
.j27-role:hover,.j27-role:focus-visible{border-color:var(--gum-2);box-shadow:0 0 0 3px color-mix(in srgb,var(--gum-2) 18%,transparent);outline:none}
.j27-role:active{transform:scale(.99)}
.j27-role .ic{width:44px;height:44px;border-radius:12px;background:var(--mint);display:grid;place-items:center;color:var(--gum-2)}
.j27-role .ic svg{width:22px;height:22px}
.j27-role b{display:block;font-size:16px;margin-bottom:2px}
.j27-role small{display:block;color:var(--muted);font-size:13.5px;line-height:1.4}
.j27-role .go{width:18px;height:18px;color:var(--muted)}
.j27-alt{margin:16px 0 0;text-align:center;font-size:14px;color:var(--muted)}
.j27-alt .linkbtn{font-size:14px}
.j27-back{margin:-6px 0 10px}
.j27-form{display:grid;grid-template-columns:1fr 1fr;gap:4px 14px}
.j27-form>*{grid-column:1/-1}
.j27-f{display:flex;flex-direction:column;gap:6px;margin-bottom:8px}
.j27-f.half{grid-column:span 1}
.j27-f label{font-weight:600;font-size:14px;color:var(--ink)}
.j27-f label .opt{font-weight:500;color:var(--muted);font-size:12.5px;margin-left:4px}
.j27-f input[type=text],.j27-f input[type=email],.j27-f input[type=tel],.j27-f input[type=password]{width:100%;min-height:46px;padding:10px 14px;border:1px solid var(--line);border-radius:12px;background:var(--surface);color:var(--ink);font:inherit;font-size:16px}
.j27-f input:focus{outline:none;border-color:var(--gum-2);box-shadow:0 0 0 3px color-mix(in srgb,var(--gum-2) 20%,transparent)}
.j27-f input[aria-invalid=true]{border-color:var(--red)}
.j27-f .fine{margin:0}
.j27-e{color:var(--red);font-size:13.5px;margin:0;min-height:0}
.j27-e:empty{display:none}
.j27-e.hint{color:var(--ink)}
.pw27{position:relative}
.pw27 input{padding-right:70px!important}
.pwshow27{position:absolute;right:6px;top:50%;transform:translateY(-50%);border:0;background:none;color:var(--mint-3);font-weight:700;font-size:13px;padding:8px 10px;cursor:pointer;border-radius:8px}
.pwm27{display:grid;grid-template-columns:repeat(4,1fr);gap:4px;align-items:center}
.pwm27 span{height:4px;border-radius:4px;background:var(--line)}
.pwm27 small{grid-column:1/-1;color:var(--muted);font-size:12.5px}
.pwm27[data-s="0"] span:nth-child(-n+1),.pwm27[data-s="1"] span:nth-child(-n+1){background:var(--red)}
.pwm27[data-s="2"] span:nth-child(-n+2){background:var(--wattle)}
.pwm27[data-s="3"] span:nth-child(-n+3){background:var(--gum-2)}
.pwm27[data-s="4"] span{background:var(--gum-2)}
.caps27{margin:0;font-size:12.5px;color:var(--wattle-ink);background:var(--wattle-bg);padding:4px 8px;border-radius:8px;width:max-content}
.combo27{position:relative}
.combo27 input[type=text]{width:100%;min-height:46px;padding:10px 14px;border:1px solid var(--line);border-radius:12px;background:var(--surface);color:var(--ink);font:inherit;font-size:16px}
.combo27 ul{position:absolute;left:0;right:0;top:calc(100% + 4px);z-index:5;max-height:260px;overflow:auto;margin:0;padding:6px;list-style:none;background:var(--bg);border:1px solid var(--line);border-radius:14px;box-shadow:var(--shadow)}
.combo27 li[role=option]{padding:9px 10px;border-radius:10px;cursor:pointer;display:flex;justify-content:space-between;gap:10px;align-items:baseline}
.combo27 li[role=option] small{color:var(--muted);font-size:12.5px;text-align:right}
.combo27 li[aria-selected=true]{background:var(--mint)}
.combo27 li.grp{padding:8px 10px 4px;font-size:11.5px;font-weight:800;letter-spacing:.04em;text-transform:uppercase;color:var(--muted)}
.combo27 li.none{padding:10px;color:var(--muted);font-size:14px}
.j27-reghint b{color:var(--ink)}
.j27-terms{display:flex;gap:10px;align-items:flex-start;font-size:14px;line-height:1.45;margin:6px 0 2px;color:var(--ink)}
.j27-terms input{width:20px;height:20px;margin-top:1px;flex:none;accent-color:var(--gum-2)}
.j27-terms a{color:var(--mint-3);font-weight:600}
.j27-server{background:var(--red-bg);color:var(--red);border-radius:12px;padding:10px 12px;font-size:14px;line-height:1.45}
.j27-server .linkbtn{font-size:14px}
.j27-go{width:100%;margin-top:6px;display:flex;align-items:center;justify-content:center;gap:10px}
.j27-go.busy::before{content:"";width:16px;height:16px;border-radius:50%;border:2px solid rgba(255,255,255,.45);border-top-color:#fff;animation:spin27 .7s linear infinite}
@keyframes spin27{to{transform:rotate(360deg)}}
.j27-trust{display:flex;gap:8px;align-items:flex-start;margin-top:6px!important}
.j27-trust svg{width:15px;height:15px;flex:none;margin-top:2px;color:var(--mint-3)}
.j27-next{list-style:none;margin:0 0 18px;padding:0;display:grid;gap:10px}
.j27-next li{display:flex;gap:12px;align-items:center;font-size:15px;color:var(--muted)}
.j27-next li .n{width:28px;height:28px;border-radius:50%;display:grid;place-items:center;font-weight:800;font-size:13px;background:var(--sunk);color:var(--muted);flex:none}
.j27-next li.done{color:var(--ink)}
.j27-next li.done .n{background:var(--gum-2);color:#fff}
.j27-next li.done .n svg{width:15px;height:15px}
.j27-next li.now{color:var(--ink);font-weight:700}
.j27-next li.now .n{background:var(--mint);color:var(--gum-2);box-shadow:0 0 0 2px var(--gum-2) inset}
@media (max-width:560px){ .j27-form{grid-template-columns:1fr} .j27-f.half{grid-column:1/-1} .j27-role{grid-template-columns:40px 1fr 16px;padding:12px} }

/* price + rural chips, badges, compare */
.chip.gap27{gap:8px;padding-right:8px}
.chip.gap27 svg{width:16px;height:16px;color:var(--mint-3)}
.chip.gap27 select{border:0;background:transparent;font:inherit;font-weight:700;color:var(--ink);padding:2px 4px;cursor:pointer}
.chip.gap27.on{border-color:var(--gum-2);background:var(--mint)}
#chips .chip svg{width:16px;height:16px}
.badges27{display:flex;flex-wrap:wrap;gap:6px;margin:6px 0 2px}
.b27{font-size:12.5px;font-weight:600;padding:3px 9px;border-radius:999px;background:var(--sunk);color:var(--ink)}
.b27.tele{background:var(--mint);color:var(--gum-2)}
.b27.rural{background:var(--wattle-bg);color:var(--wattle-ink)}
.b27.save{background:transparent;border:1px dashed var(--line);color:var(--muted)}
.cmp27{display:inline-flex;align-items:center;gap:7px;font-size:13.5px;font-weight:600;color:var(--muted);padding:6px 10px;border-radius:10px;cursor:pointer;margin-left:auto}
.cmp27:hover,.cmp27:focus-visible{background:var(--sunk);outline:none;color:var(--ink)}
.cmp27 .bx{width:16px;height:16px;border-radius:5px;border:1.5px solid var(--muted);display:inline-grid;place-items:center}
.cmp27[aria-checked=true]{color:var(--gum-2)}
.cmp27[aria-checked=true] .bx{background:var(--gum-2);border-color:var(--gum-2)}
.cmp27[aria-checked=true] .bx::after{content:"";width:8px;height:4px;border:2px solid #fff;border-top:0;border-right:0;transform:rotate(-45deg) translate(1px,-1px)}
.cmptray27{position:fixed;left:50%;bottom:16px;transform:translateX(-50%);z-index:40;width:min(760px,calc(100vw - 24px));background:var(--bg);border:1px solid var(--line);border-radius:18px;box-shadow:var(--shadow);padding:10px 12px}
.cmptray27 .ct-in{display:flex;flex-wrap:wrap;gap:8px;align-items:center}
.cmptray27 .ct-l{font-weight:800;font-size:14px;margin-right:4px}
.cmptray27 .ct-p{display:inline-flex;align-items:center;gap:4px;background:var(--sunk);border-radius:999px;padding:4px 4px 4px 12px;font-size:13.5px;font-weight:600}
.cmptray27 .ct-p button{border:0;background:none;width:26px;height:26px;border-radius:50%;cursor:pointer;color:var(--muted);font-size:16px}
.cmptray27 .ct-sp{flex:1}
.cmptray27 .cta[disabled]{opacity:.55;cursor:default}
.modal.cmp27m{width:min(980px,calc(100vw - 24px))}
.cmpwrap27{overflow:auto;margin:0 -4px 12px}
.cmp27t{border-collapse:collapse;width:100%;font-size:14px;min-width:520px}
.cmp27t th,.cmp27t td{padding:10px 10px;border-bottom:1px solid var(--line);text-align:left;vertical-align:top}
.cmp27t thead th{font-weight:500;position:sticky;top:0;background:var(--bg)}
.cmp27t thead th b{display:block;font-size:15px}
.cmp27t thead th small,.cmp27t td small{display:block;color:var(--muted);font-size:12.5px;margin-top:2px}
.cmp27t tbody th{color:var(--muted);font-weight:600;white-space:nowrap}
.cmp27t .win27{color:var(--gum-2)}
.cmp27t .win27::after{content:" ★";font-size:11px}
.cmp27t .y27{color:var(--gum-2);font-weight:600}
.cmp27t .n27{color:var(--muted)}
.alertbtn27{margin-left:8px}
.alertbtn27.on{border-color:var(--gum-2);color:var(--gum-2);background:var(--mint)}
.alerts27{list-style:none;margin:0 0 14px;padding:0;display:grid;gap:10px}
.alerts27 li{display:grid;grid-template-columns:36px 1fr;gap:12px;align-items:center;padding:12px;border:1px solid var(--line);border-radius:14px;background:var(--surface)}
.alerts27 li.off{opacity:.65}
.alerts27 .ic{width:36px;height:36px;border-radius:10px;background:var(--mint);display:grid;place-items:center;color:var(--gum-2)}
.alerts27 .ic svg{width:18px;height:18px}
.alerts27 .t b{display:block;font-size:15px}
.alerts27 .t small{color:var(--muted);font-size:13px}
.alerts27 .acts{grid-column:1/-1;display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}
@media (min-width:640px){ .alerts27 li{grid-template-columns:36px 1fr auto} .alerts27 .acts{grid-column:auto} }
.rural27{margin-top:6px}
@media (max-width:640px){ .cmptray27{bottom:calc(10px + env(safe-area-inset-bottom,0px))} .alertbtn27 span{font-size:13px} }
.cmpwrap27:focus{outline:none}
.cmp27t tbody th,.cmp27t thead th:first-child{position:sticky;left:0;background:var(--bg);z-index:1}
@media (max-width:640px){ .cmp27t{min-width:0;font-size:13.5px} .cmp27t th,.cmp27t td{padding:9px 7px} .cmp27t td,.cmp27t thead th{min-width:132px} .cmp27t tbody th{white-space:normal;min-width:96px;max-width:110px} }

/* ---------- round 28: national directory ---------- */
.dirfind28{display:flex;gap:14px;align-items:center;justify-content:space-between;flex-wrap:wrap;padding:14px 16px;border:1px dashed var(--line);border-radius:16px;background:var(--surface);margin:0 0 14px}
.dirfind28 b{display:block;font-size:15px}
.dirfind28 span{display:block;color:var(--muted);font-size:13.5px;margin-top:2px;max-width:52ch}
.dirnote28{display:flex;gap:12px;align-items:flex-start;padding:12px 14px;border-radius:14px;background:var(--mint);color:var(--ink);margin:0 0 14px}
.dirnote28 svg{width:20px;height:20px;color:var(--gum-2);flex:none;margin-top:2px}
.dirnote28 b{display:block;font-size:14.5px}
.dirnote28 span{display:block;font-size:13.5px;color:var(--ink);opacity:.85;margin-top:2px}
.dirform28{display:grid;gap:10px;margin:0 0 14px}
.dirform28.row{grid-template-columns:repeat(3,minmax(0,1fr)) auto;align-items:end}
.dirform28 label{display:flex;flex-direction:column;gap:6px;font-weight:600;font-size:14px}
.dirform28 input{min-height:44px;padding:8px 12px;border:1px solid var(--line);border-radius:12px;background:var(--surface);color:var(--ink);font:inherit}
@media (max-width:720px){ .dirform28.row{grid-template-columns:1fr 1fr} .dirform28.row button{grid-column:1/-1} }
.dirlist28{list-style:none;margin:0;padding:0;display:grid;gap:8px}
.dirlist28 li{display:flex;gap:12px;align-items:center;justify-content:space-between;flex-wrap:wrap;padding:12px 14px;border:1px solid var(--line);border-radius:14px;background:var(--surface)}
.dirlist28 li b{display:block;font-size:15px}
.dirlist28 li span{display:block;font-size:13.5px;color:var(--muted)}
.dirlist28 li small{display:block;font-size:12.5px;color:var(--muted);margin-top:2px}
.dir28{display:grid;gap:14px}
.dir28 .card-lite{padding:16px;border:1px solid var(--line);border-radius:16px;background:var(--surface)}
.dir28 h3{margin:0 0 8px;font-size:16px}
.dir28-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:14px}
.dir28-acts{display:flex;gap:8px;flex-wrap:wrap;align-items:center;margin-top:8px}
.dir28-filter{display:flex;gap:8px;margin-bottom:10px;flex-wrap:wrap}
.dir28-filter input{flex:1;min-width:180px;min-height:42px;padding:8px 12px;border:1px solid var(--line);border-radius:12px;background:var(--bg);color:var(--ink);font:inherit}
.dir28-filter select{min-height:42px;border:1px solid var(--line);border-radius:12px;background:var(--bg);color:var(--ink);padding:0 10px;font:inherit}
.dir28 .st28{display:inline-block;font-size:12.5px;font-weight:700;padding:3px 10px;border-radius:999px;background:var(--sunk)}
.dir28 .st28.ok{background:var(--mint);color:var(--gum-2)}
.dir28 .st28.warn{background:var(--wattle-bg);color:var(--wattle-ink)}
.inv28 label{display:flex;flex-direction:column;gap:6px;font-weight:600;font-size:14px;margin:8px 0}
.inv28 input,.inv28 textarea{width:100%;padding:10px 12px;border:1px solid var(--line);border-radius:12px;background:var(--bg);color:var(--ink);font:inherit;font-size:14px}
/* Round 30: texts and waitlist holds */
.ev .att.ok30{background:color-mix(in srgb,var(--mint,#0E9F6E) 22%,transparent);color:var(--mint,#0E9F6E);font-style:normal;font-weight:800;border-radius:6px;padding:0 4px;margin-left:4px}
.wtxt30{margin:6px 0 14px;padding:12px 14px;border:1px solid var(--line);border-radius:14px;background:var(--sunk);font-size:14.5px;display:flex;flex-wrap:wrap;gap:8px;align-items:center}
form.wtxt30{display:block}.wtxt30 label{display:block;font-weight:600;margin-bottom:8px;line-height:1.45}
.wtxt30 svg{width:18px;height:18px;flex:0 0 auto;fill:none;stroke:var(--mint,#0E9F6E);stroke-width:2.4}
.wtrow30{display:flex;gap:8px}.wtrow30 input{flex:1;min-width:0;min-height:44px;font:inherit;font-size:16px;padding:8px 12px;border:1px solid var(--line);border-radius:12px;background:var(--surface);color:var(--ink)}
.wtxt30 .err{margin:6px 0 0}.wtxt30 .err:empty{display:none}
.linkish{background:none;border:0;padding:4px 2px;color:var(--gum);font:inherit;font-weight:700;text-decoration:underline;cursor:pointer;margin-left:auto}
.hold30{display:flex;gap:10px;align-items:flex-start;border-color:var(--gum)}.hold30 svg{width:20px;height:20px;flex:0 0 auto;fill:none;stroke:var(--gum);stroke-width:2}
.tbl22.sms30{grid-template-columns:repeat(auto-fill,minmax(190px,1fr));margin:12px 0}
.smst30{margin-top:12px;max-width:440px}.smst30 input{min-width:0}
@media (max-width:560px){.wtrow30{flex-direction:column}.wtrow30 .ghost{min-height:44px}}
/* <r29> */
/* ===== R29: practice management (Practice tab) ===== */
.pm29-layout{display:grid;grid-template-columns:200px minmax(0,1fr);gap:22px;align-items:start}
.pm29-nav{position:sticky;top:84px;display:flex;flex-direction:column;gap:2px;background:var(--surface);border:1px solid var(--line);border-radius:18px;padding:8px}
.pm29-nav button{display:flex;align-items:center;gap:10px;border:0;background:none;text-align:left;padding:10px 12px;border-radius:12px;font-weight:600;color:var(--muted);cursor:pointer;font-size:15px}
.pm29-nav button svg{width:18px;height:18px;flex:none}
.pm29-nav button[aria-current="page"]{background:var(--mint);color:var(--ink)}
.pm29-nav button:hover:not([aria-current="page"]){background:var(--sunk)}
.pm29-nav .pm29-who{padding:10px 12px 6px;font-size:12px;color:var(--muted);border-top:1px solid var(--line);margin-top:6px}
.pm29-nav .pm29-who b{display:block;color:var(--ink);font-size:13px}
.pm29-main{min-width:0}
.pm29-head{display:flex;align-items:flex-end;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-bottom:16px}
.pm29-head h2{margin:0;font:800 26px/1.1 var(--display);letter-spacing:-.02em}
.pm29-head .meta{margin:4px 0 0}
.pm29-tools{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.pm29-tools select,.pm29-tools input:not([type=checkbox]):not([type=radio]):not([type=file]){border:1px solid var(--line);background:var(--surface);border-radius:12px;padding:9px 12px;min-height:42px}
.pm29-tools input[type=search]{min-width:240px}
.pm29 .kpis{grid-template-columns:repeat(5,minmax(0,1fr))}
.pm29 .kpis.k4{grid-template-columns:repeat(4,minmax(0,1fr))}
.pm29 .kpis.k6{grid-template-columns:repeat(6,minmax(0,1fr))}
.pm29 .kpis b{font-size:24px}
.pm29-empty{text-align:center;padding:40px 20px;color:var(--muted);border:1px dashed var(--line);border-radius:18px;background:var(--surface)}
.pm29-empty h3{color:var(--ink);margin:0 0 6px;font-size:18px}
.pm29-sample{display:inline-flex;align-items:center;gap:6px;font-size:12px;font-weight:700;color:var(--late);background:var(--wattle-bg);border-radius:999px;padding:3px 10px}

/* front desk */
.fd29{display:flex;flex-direction:column;gap:8px}
.fd29-row{display:grid;grid-template-columns:72px minmax(0,1fr) auto;gap:14px;align-items:center;background:var(--surface);border:1px solid var(--line);border-radius:16px;padding:12px 14px;border-left:5px solid var(--line)}
.fd29-row.s-waiting{border-left-color:var(--wattle)}
.fd29-row.s-in{border-left-color:var(--mint-3)}
.fd29-row.s-seen{border-left-color:var(--gum-2);opacity:.85}
.fd29-row.s-dna,.fd29-row.s-cancelled{border-left-color:var(--red);opacity:.7}
.fd29-time b{display:block;font:800 18px/1 var(--display);font-variant-numeric:tabular-nums}
.fd29-time span{font-size:12px;color:var(--muted)}
.fd29-who{min-width:0}
.fd29-who .nm{font-weight:700;font-size:16px;display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.fd29-who .nm button{border:0;background:none;padding:0;font:inherit;color:inherit;cursor:pointer;text-align:left;text-decoration:underline;text-decoration-color:var(--line);text-underline-offset:3px}
.fd29-who .sub{font-size:13px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.fd29-tags{display:flex;gap:6px;flex-wrap:wrap;margin-top:6px}
.tag29{display:inline-flex;align-items:center;gap:5px;font-size:12px;font-weight:700;border-radius:999px;padding:3px 9px;background:var(--sunk);color:var(--muted);white-space:nowrap}
.tag29.ok{background:var(--mint);color:var(--ink)}
.tag29.warn{background:var(--wattle-bg);color:var(--late)}
.tag29.bad{background:var(--red-bg);color:var(--red)}
.tag29.alert{background:var(--red);color:#fff}
.fd29-act{display:flex;gap:6px;align-items:center;justify-content:flex-end;flex-wrap:wrap}
.fd29-wait{font-size:12px;color:var(--late);font-weight:700}

/* lists */
.pm29 .reftable td{white-space:normal}
.pm29 .reftable tr.click{cursor:pointer}
.pm29 .reftable tr.click:hover td{background:var(--sunk)}
.pm29 .reftable td.num,.pm29 .reftable th.num{text-align:right;font-variant-numeric:tabular-nums}
.pm29-tablewrap{background:var(--surface);border:1px solid var(--line);border-radius:18px;overflow:auto}
.pm29-tablewrap .reftable th:first-child,.pm29-tablewrap .reftable td:first-child{padding-left:16px}
.pm29-tablewrap .reftable th:last-child,.pm29-tablewrap .reftable td:last-child{padding-right:16px}
.dot29{display:inline-block;width:9px;height:9px;border-radius:50%;background:var(--red);margin-left:6px;vertical-align:middle}

/* patient file */
.pf29-back{border:0;background:none;color:var(--mint-3);font-weight:700;cursor:pointer;padding:0;margin-bottom:10px;font-size:14px}
.pf29-head{display:flex;gap:16px;align-items:flex-start;justify-content:space-between;flex-wrap:wrap;margin-bottom:14px}
.pf29-head h2{margin:0;font:800 28px/1.1 var(--display);letter-spacing:-.02em}
.pf29-alert{display:flex;gap:10px;align-items:flex-start;background:var(--red-bg);color:var(--ink);border:1px solid color-mix(in srgb,var(--red) 40%,transparent);border-radius:14px;padding:10px 14px;margin-bottom:14px;font-weight:600;white-space:pre-wrap}
.pf29-alert b{color:var(--red)}
.pf29-owing{background:var(--wattle-bg);border-radius:14px;padding:8px 14px;font-weight:700;color:var(--late);margin-bottom:14px;display:inline-block}
.pm29-form{display:grid;gap:14px}
.pm29-form fieldset{border:1px solid var(--line);border-radius:16px;padding:14px 16px 16px;margin:0;background:var(--surface);min-width:0}
.pm29-form legend{font-weight:800;padding:0 6px}
.pm29 label.f,.modal label.f{display:flex;flex-direction:column;gap:5px;font-size:13px;font-weight:600;color:var(--muted);min-width:0}
.pm29 label.f input,.pm29 label.f select,.pm29 label.f textarea,.modal label.f input,.modal label.f select,.modal label.f textarea{border:1px solid var(--line);background:var(--surface);border-radius:10px;padding:10px 12px;font-size:15px;color:var(--ink);min-height:44px;width:100%}
.modal label.f textarea,.pm29 label.f textarea{min-height:90px;resize:vertical}
.g2,.g3,.g4{display:grid;gap:12px}
.g2{grid-template-columns:repeat(2,minmax(0,1fr))}
.g3{grid-template-columns:repeat(3,minmax(0,1fr))}
.g4{grid-template-columns:repeat(4,minmax(0,1fr))}
.pm29 .seg{margin-bottom:14px}

/* notes */
.nt29{display:flex;flex-direction:column;gap:10px}
.nt29-card{background:var(--surface);border:1px solid var(--line);border-radius:16px;padding:14px 16px;cursor:pointer;text-align:left;font:inherit;color:inherit;width:100%}
.nt29-card:hover{border-color:var(--mint-3)}
.nt29-card.add{margin-left:28px;width:calc(100% - 28px);border-style:dashed}
.nt29-card h4{margin:0 0 4px;font-size:16px;display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.nt29-card p{margin:6px 0 0;color:var(--muted);font-size:14px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;white-space:pre-wrap}
.note29-body{white-space:pre-wrap;line-height:1.6;background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:14px 16px;max-height:52vh;overflow:auto}
.note29-body h4{margin:12px 0 4px;font-size:15px}
.note29-body h4:first-child{margin-top:0}
.ed29{width:100%;min-height:340px;border:1px solid var(--line);border-radius:14px;padding:14px;font:15px/1.6 var(--body);background:var(--surface);color:var(--ink);resize:vertical}
.modal.pm29m{width:min(860px,calc(100vw - 32px))}

/* invoices */
.inv29-lines{display:grid;gap:8px}
.inv29-line{display:grid;grid-template-columns:minmax(0,3fr) 1fr 64px 110px 54px 36px;gap:8px;align-items:end}
.inv29-line input,.inv29-line select{border:1px solid var(--line);background:var(--surface);border-radius:10px;padding:9px 10px;min-height:42px;width:100%;font-size:14px}
.inv29-line .x{border:0;background:none;color:var(--red);font-size:20px;cursor:pointer;min-height:42px}
.inv29-line .gst{display:flex;align-items:center;justify-content:center;gap:4px;font-size:12px;font-weight:700;color:var(--muted);min-height:42px}
.inv29-hdr{font-size:12px;font-weight:700;color:var(--muted);text-transform:uppercase;letter-spacing:.05em}
.inv29-tot{display:grid;gap:4px;justify-items:end;margin-top:12px;font-variant-numeric:tabular-nums}
.inv29-tot b{font:800 22px/1 var(--display)}
.inv29-paper{background:#fff;color:#111;border:1px solid var(--line);border-radius:14px;padding:22px;font-size:14px}
.inv29-paper table{width:100%;border-collapse:collapse;margin:14px 0}
.inv29-paper th,.inv29-paper td{border-bottom:1px solid #ddd;padding:7px 6px;text-align:left;vertical-align:top}
.inv29-paper th{font-size:11px;text-transform:uppercase;letter-spacing:.05em;color:#555}
.inv29-paper .r{text-align:right;font-variant-numeric:tabular-nums}
.inv29-paper .top{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap}
.inv29-paper h3{margin:0 0 4px;font-size:20px}
.inv29-paper .muted{color:#555}
.inv29-paper .stamp{display:inline-block;border:2px solid currentColor;border-radius:8px;padding:2px 10px;font-weight:800;letter-spacing:.08em}
.inv29-paper .stamp.paid{color:#0a7a52}.inv29-paper .stamp.void{color:#b42318}.inv29-paper .stamp.draft{color:#8a6100}

/* reports */
.rp29-bar{height:10px;border-radius:6px;background:var(--mint-3)}
.rp29-bar.w{background:var(--wattle)}.rp29-bar.r{background:var(--red)}
.rp29-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.rp29-grid .panel h3{margin:0 0 10px;font-size:17px}

/* team */
.tm29-roles{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:10px 0 0}
.tm29-roles div{background:var(--sunk);border-radius:14px;padding:12px;font-size:13px;color:var(--muted)}
.tm29-roles b{display:block;color:var(--ink);font-size:14px;margin-bottom:3px}
.loc29{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:12px}
.loc29 .panel{padding:16px}
.loc29 h4{margin:0 0 4px}
.chips29{display:flex;gap:6px;flex-wrap:wrap;margin:8px 0}
.chips29 span{display:inline-flex;align-items:center;gap:6px;background:var(--sunk);border-radius:999px;padding:4px 6px 4px 12px;font-size:13px;font-weight:600}
.chips29 span button{border:0;background:var(--surface);border-radius:50%;width:22px;height:22px;cursor:pointer;color:var(--muted);line-height:1}

/* form builder */
.fb29-row{display:grid;grid-template-columns:minmax(0,1fr) 150px 92px 36px;gap:8px;align-items:start;padding:10px;border:1px solid var(--line);border-radius:12px;background:var(--surface)}
.fb29-row textarea{grid-column:1 / -1;min-height:60px}
.fb29-row input,.fb29-row select,.fb29-row textarea{border:1px solid var(--line);background:var(--bg);border-radius:10px;padding:8px 10px;width:100%;font-size:14px}

@media (max-width:900px){
  .pm29-layout{grid-template-columns:1fr}
  .pm29-nav{position:static;flex-direction:row;overflow-x:auto;padding:6px;border-radius:14px;scrollbar-width:none}
  .pm29-nav button{white-space:nowrap;padding:8px 12px;font-size:14px}
  .pm29-nav .pm29-who{display:none}
  .pm29 .kpis,.pm29 .kpis.k6{grid-template-columns:repeat(3,minmax(0,1fr))}
  .pm29 .kpis div{border-bottom:1px solid var(--line-soft,var(--line))}
  .rp29-grid,.tm29-roles{grid-template-columns:1fr 1fr}
}
@media (max-width:640px){
  .fd29-row{grid-template-columns:70px minmax(0,1fr);gap:10px}
  .fd29-time b{font-size:16px}
  .fd29-act{grid-column:1 / -1;justify-content:flex-start}
  .g2,.g3,.g4,.rp29-grid,.tm29-roles{grid-template-columns:1fr}
  .pm29 .kpis,.pm29 .kpis.k4,.pm29 .kpis.k6{grid-template-columns:1fr 1fr}
  .pm29-tools input[type=search]{min-width:0;flex:1}
  .inv29-line{grid-template-columns:1.2fr 64px 1fr 36px;row-gap:6px;padding-bottom:8px;border-bottom:1px solid var(--line)}
  .inv29-line>:first-child{grid-column:1 / -1}
  .inv29-line .gst:empty{display:none}
  .inv29-line .gst{grid-column:1 / -1;justify-content:flex-start;min-height:0}
  .inv29-hdr{display:none}
  .fb29-row{grid-template-columns:1fr 1fr}
  .fb29-row>:first-child{grid-column:1 / -1}
  .pm29 .reftable .hide-s{display:none}
}
@media print{ .pm29-nav{display:none} }
.tag29 svg{width:13px;height:13px;flex:none}
.pm29 .ghost svg,.pm29 .cta svg,.modal .ghost svg,.modal .cta svg,.pm29-tools svg,.pf29-alert svg,.pf29-back svg{width:16px;height:16px;flex:none}
.pf29-alert svg{color:var(--red);margin-top:3px}
.pm29 .ghost,.modal .pm29-acts{display:inline-flex;align-items:center;gap:6px}
#provPm{margin-top:4px}

.nt29-card svg{width:16px;height:16px;vertical-align:-3px}
.modal .mbody.pm29{display:block}

/* </r29> */
