@font-face{font-family:Plus Jakarta Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/_next/static/media/plus-jakarta-sans-latin-400-normal.220db345.woff2) format("woff2"),url(/_next/static/media/plus-jakarta-sans-latin-400-normal.334d3f6b.woff) format("woff")}@font-face{font-family:Plus Jakarta Sans;font-style:normal;font-display:swap;font-weight:500;src:url(/_next/static/media/plus-jakarta-sans-latin-500-normal.698ec6c7.woff2) format("woff2"),url(/_next/static/media/plus-jakarta-sans-latin-500-normal.ffc438f2.woff) format("woff")}@font-face{font-family:Plus Jakarta Sans;font-style:normal;font-display:swap;font-weight:600;src:url(/_next/static/media/plus-jakarta-sans-latin-600-normal.226f862d.woff2) format("woff2"),url(/_next/static/media/plus-jakarta-sans-latin-600-normal.2b3be788.woff) format("woff")}@font-face{font-family:Plus Jakarta Sans;font-style:normal;font-display:swap;font-weight:700;src:url(/_next/static/media/plus-jakarta-sans-latin-700-normal.d84247b5.woff2) format("woff2"),url(/_next/static/media/plus-jakarta-sans-latin-700-normal.2eba9731.woff) format("woff")}@font-face{font-family:Plus Jakarta Sans;font-style:normal;font-display:swap;font-weight:800;src:url(/_next/static/media/plus-jakarta-sans-latin-800-normal.f5722262.woff2) format("woff2"),url(/_next/static/media/plus-jakarta-sans-latin-800-normal.23a2d533.woff) format("woff")}:root{--bg:#f3f6f9;--surface:#ffffff;--ink:#17242b;--ink-soft:#4d5f69;--line:#d8e0e4;--accent:#0f6e73;--accent-ink:#ffffff;--accent-soft:#e2f1f1;--danger:#a4282b;--danger-soft:#fbe9e9;--warn:#8a5300;--warn-soft:#fdf1dc;--ok:#1d6b3c;--ok-soft:#e3f3e8;--info:#2c4f8f;--info-soft:#e6edf9;--muted-soft:#eceff1;--radius:10px;--shadow:0 1px 2px rgba(16,32,44,0.05),0 1px 3px rgba(16,32,44,0.04);--focus:0 0 0 3px rgba(15,110,115,0.35);font-family:system-ui,-apple-system,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif}*{box-sizing:border-box}body,html{margin:0}body{background:var(--bg);color:var(--ink);font-size:15px;line-height:1.45}h1,h2,h3,p{margin:0}h1{font-size:20px}h1,h2{font-weight:650}h2{font-size:16px}button,input,select,textarea{font:inherit;color:inherit}:focus-visible{outline:none;box-shadow:var(--focus)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:36px;padding:0 14px;border-radius:var(--radius);border:1px solid var(--line);background:var(--surface);cursor:pointer;white-space:nowrap}.btn:hover{border-color:#b9c6cc;background:#fafbfc}.btn:disabled{opacity:.55;cursor:not-allowed}.btn-primary{background:var(--accent);border-color:var(--accent);color:var(--accent-ink);font-weight:600}.btn-primary:hover{background:#0c5d61;border-color:#0c5d61}.btn-quiet{border-color:transparent;background:transparent;color:var(--ink-soft)}.btn-danger{color:var(--danger)}.btn-sm{min-height:30px;padding:0 10px;font-size:14px}.field{display:grid;grid-gap:4px;gap:4px}.field>span{font-size:13px;font-weight:600;color:var(--ink-soft)}.input{min-height:38px;padding:0 10px;border:1px solid #b9c6cc;border-radius:var(--radius);background:var(--surface);width:100%}textarea.input{padding:8px 10px;min-height:64px;resize:vertical}.input[aria-invalid=true]{border-color:var(--danger);background:var(--danger-soft);box-shadow:0 0 0 1px var(--danger)}.alert{border-radius:var(--radius);background:var(--danger-soft);color:var(--danger);border:1px solid #efc4c5}.alert,.note{padding:10px 12px}.note{border-radius:var(--radius);background:var(--info-soft);color:var(--info)}.muted{color:var(--ink-soft)}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.auth{min-height:100vh;display:grid;place-items:center;padding:24px 16px}.auth-card{width:100%;max-width:400px;background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:28px;display:grid;grid-gap:16px;gap:16px}.brand{font-weight:700;letter-spacing:.02em;color:var(--accent);font-size:18px}.secret{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;letter-spacing:.08em;word-break:break-all;padding:10px;background:var(--muted-soft);border-radius:var(--radius)}.topbar{position:-webkit-sticky;position:sticky;top:0;z-index:5;background:var(--surface);border-bottom:1px solid var(--line)}.topbar-inner{max-width:1280px;margin:0 auto;padding:10px 16px;display:flex;align-items:center;gap:12px}.topbar-inner>.btn,.topbar-inner>.muted{white-space:nowrap}.topbar .spacer{display:none}.page{max-width:1280px;margin:0 auto;padding:16px;display:grid;grid-gap:16px;gap:16px}.toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.toolbar .date{font-weight:650;min-width:15ch}.stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));grid-gap:10px;gap:10px}.stat{background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:12px 14px;box-shadow:var(--shadow)}.stat b{display:block;font-size:22px;font-weight:650}.stat span{font-size:13px;color:var(--ink-soft)}.sheet{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden}.row{display:grid;grid-template-columns:96px minmax(180px,1.4fr) minmax(120px,1fr) minmax(120px,1fr) 150px minmax(200px,auto);grid-gap:12px;gap:12px;align-items:center;padding:10px 14px;border-top:1px solid var(--line)}.row:first-child{border-top:0}.row.head{background:#fafbfc;font-size:12px;font-weight:650;text-transform:uppercase;letter-spacing:.04em;padding-block:8px}.row.done,.row.head{color:var(--ink-soft)}.time{font-feature-settings:"tnum";font-variant-numeric:tabular-nums;font-weight:650}.time small{display:block;font-weight:400;color:var(--ink-soft)}.patient b{font-weight:650}.cell small,.patient small{display:block;color:var(--ink-soft);font-size:13px}.actions{display:flex;flex-wrap:wrap;gap:6px;justify-content:flex-end}.empty{padding:36px 16px;text-align:center}.badge{display:inline-flex;align-items:center;gap:6px;padding:2px 9px;border-radius:999px;font-size:13px;font-weight:600;white-space:nowrap}.badge:before{content:"";width:7px;height:7px;border-radius:50%;background:currentColor}.badge.s-CONFIRMED,.badge.s-REQUESTED{background:var(--info-soft);color:var(--info)}.badge.s-CHECKED_IN,.badge.s-IN_WAITING_ROOM{background:var(--warn-soft);color:var(--warn)}.badge.s-IN_TREATMENT{background:var(--accent-soft);color:var(--accent)}.badge.s-COMPLETED{background:var(--ok-soft);color:var(--ok)}.badge.s-CANCELLED,.badge.s-NO_SHOW{background:var(--danger-soft);color:var(--danger)}.badge.s-RESCHEDULED{background:var(--muted-soft);color:var(--ink-soft)}.tag{font-size:12px;font-weight:650;color:var(--danger);border:1px solid;border-radius:4px;padding:0 5px;margin-left:6px}dialog{border:1px solid var(--line);border-radius:12px;padding:0;width:min(560px,calc(100vw - 24px));max-height:calc(100vh - 24px);color:var(--ink)}dialog::-webkit-backdrop{background:rgba(23,36,43,.45)}dialog::backdrop{background:rgba(23,36,43,.45)}.dialog-body{padding:20px;display:grid;grid-gap:14px;gap:14px}.dialog-foot{padding:12px 20px;border-top:1px solid var(--line);display:flex;justify-content:flex-end;gap:8px;background:#fafbfc}.results{border:1px solid var(--line);border-radius:var(--radius);max-height:190px;overflow:auto}.results button{display:block;width:100%;text-align:left;padding:8px 10px;border:0;border-top:1px solid var(--line);background:var(--surface);cursor:pointer}.results button:first-child{border-top:0}.results button:hover,.results button[aria-pressed=true]{background:var(--accent-soft)}.slots{display:grid;grid-template-columns:repeat(auto-fill,minmax(78px,1fr));grid-gap:6px;gap:6px;max-height:170px;overflow:auto;padding:2px}.slot{min-height:34px;border:1px solid var(--line);border-radius:6px;background:var(--surface);cursor:pointer;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.slot[aria-pressed=true]{background:var(--accent);color:var(--accent-ink);border-color:var(--accent);font-weight:600}.two{display:grid;grid-template-columns:1fr 1fr;grid-gap:12px;gap:12px}@media (max-width:900px){.row{grid-template-columns:72px 1fr;row-gap:4px}.row.head{display:none}.row>.actions,.row>.cell{grid-column:2}.actions{justify-content:flex-start}.two{grid-template-columns:1fr}}.skip{position:absolute;left:-9999px}.skip:focus-visible{left:8px;top:8px;z-index:10;background:var(--surface);padding:8px 12px;border-radius:var(--radius);border:1px solid var(--line)}.nav{display:flex;flex-wrap:wrap;gap:4px;flex:1 1}.nav a{padding:6px 12px;border-radius:var(--radius);color:var(--ink-soft);text-decoration:none;font-weight:600}.nav a:hover{background:var(--muted-soft)}.nav a[aria-current=page]{background:var(--accent-soft);color:var(--accent)}a{color:var(--accent)}.patient a{color:inherit;text-decoration:none}.patient a:hover{text-decoration:underline}.card{background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:18px;display:grid;grid-gap:12px;gap:12px;box-shadow:var(--shadow)}.card h2{display:flex;align-items:center;gap:8px}.list{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden}.list a{display:flex;flex-wrap:wrap;gap:4px 16px;align-items:baseline;padding:10px 14px;border-top:1px solid var(--line);color:inherit;text-decoration:none}.list a:first-child{border-top:0}.list a:hover{background:#fafbfc}.form{display:grid;grid-gap:14px;gap:14px;max-width:720px}.form .two{align-items:start}.check{display:flex;align-items:center;gap:8px}.check input{width:18px;height:18px}.banner{padding:12px 14px;border-radius:var(--radius);background:var(--warn-soft);color:#5c3700;border:1px solid #f0d49c;display:grid;grid-gap:8px;gap:8px}.banner ul{margin:0;padding-left:18px}.header{display:flex;flex-wrap:wrap;align-items:center;gap:8px 16px}.header .who{flex:1 1;min-width:240px}.header .who p{color:var(--ink-soft)}.grid2{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));grid-gap:16px;gap:16px;align-items:stretch}dl.facts{display:grid;grid-template-columns:max-content 1fr;grid-gap:6px 16px;gap:6px 16px;margin:0}dl.facts dt{color:var(--ink-soft)}dl.facts dd{margin:0}.pill{display:inline-block;padding:1px 8px;border-radius:999px;font-size:12px;font-weight:650;background:var(--muted-soft);color:var(--ink-soft)}.pill.ok{background:var(--ok-soft);color:var(--ok)}.pill.warn{background:var(--warn-soft);color:var(--warn)}.rows>div{display:flex;flex-wrap:wrap;gap:4px 12px;align-items:center;padding:8px 0;border-top:1px solid var(--line)}.rows>div:first-child{border-top:0;padding-top:0}a.btn{text-decoration:none;color:var(--ink)}a.btn-primary{color:var(--accent-ink)}.tabs{display:flex;flex-wrap:wrap;gap:4px;border-bottom:1px solid var(--line)}.tabs button{padding:8px 14px;border:0;background:none;cursor:pointer;font-weight:600;color:var(--ink-soft);border-bottom:2px solid transparent;margin-bottom:-1px}.tabs button[aria-selected=true]{color:var(--accent);border-bottom-color:var(--accent)}.inline{display:flex;flex-wrap:wrap;gap:8px 12px;align-items:flex-end}.inline .field{min-width:120px}.week{grid-gap:8px}.week,.week>div{display:grid;gap:8px}.week>div{grid-template-columns:110px repeat(auto-fit,minmax(96px,max-content));grid-gap:8px;align-items:center}.week input[type=time]{width:112px}.saved{color:var(--ok);font-weight:600}table.plain{width:100%;border-collapse:collapse}table.plain th{text-align:left;font-size:12px;text-transform:uppercase;letter-spacing:.04em;color:var(--ink-soft);padding:6px 8px 6px 0}table.plain td{padding:8px 8px 8px 0;border-top:1px solid var(--line);vertical-align:middle}.pill .x{border:0;background:none;cursor:pointer;margin-left:4px;padding:0 2px;color:inherit;font-size:14px;line-height:1}.pill .x:hover{color:var(--danger)}.alerts{display:grid;grid-gap:8px;gap:8px;padding:12px 14px;border-radius:var(--radius);border:1px solid #e6b3b4;background:var(--danger-soft)}.alerts.calm{border-color:var(--line);background:var(--surface)}.alerts ul{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:6px}.alert-chip{display:inline-flex;gap:6px;align-items:baseline;padding:3px 10px;border-radius:6px;font-weight:650;background:var(--danger);color:#fff}.alert-chip.info{background:var(--info-soft);color:var(--info)}.alert-chip small{font-weight:400;opacity:.92}.ended{text-decoration:line-through}.ended,.history h3{color:var(--ink-soft)}.history h3{font-size:14px;margin:0;text-transform:uppercase;letter-spacing:.04em}.history .group{display:grid;grid-gap:8px;gap:8px;padding-top:12px;border-top:1px solid var(--line)}.history .group:first-of-type{border-top:0;padding-top:0}.note-section{display:grid;grid-gap:4px;gap:4px}.note-section>h3,.note-section>span{font-size:13px;font-weight:650;color:var(--ink-soft);margin:0}.note-section textarea{min-height:96px}.note-text{white-space:pre-wrap;margin:0}.signature{padding:10px 12px;border-radius:var(--radius);background:var(--ok-soft);color:var(--ok);border:1px solid #b9dcc6}.signature.broken{background:var(--danger-soft);color:var(--danger);border-color:#efc4c5}.amendment{border-left:3px solid var(--accent);padding:4px 0 4px 12px;display:grid;grid-gap:2px;gap:2px}.save-state{font-size:13px;color:var(--ink-soft)}.chart-scroll{overflow-x:auto;padding:4px 0}.chart-scroll svg{display:block;margin:0 auto}.tooth{cursor:pointer;outline:none}.tooth .surface{stroke:#7f8f98;stroke-width:1}.tooth:hover .surface{stroke:var(--ink)}.tooth.selected .surface{stroke:var(--accent);stroke-width:2}.tooth:focus-visible .surface{stroke:var(--accent);stroke-width:2.5}.tooth-number{font-size:11px;fill:var(--ink-soft);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.tooth.selected .tooth-number{fill:var(--accent);font-weight:700}.tooth-label{font-size:10px;fill:var(--ink-soft)}.legend{display:flex;flex-wrap:wrap;gap:6px 18px;font-size:13px;color:var(--ink-soft)}.legend i{display:inline-block;width:12px;height:12px;border-radius:2px;vertical-align:-1px;margin-right:4px}.surfaces{border:1px solid var(--line);border-radius:var(--radius);padding:8px 12px;display:flex;flex-wrap:wrap;gap:6px 18px;margin:0}.surfaces legend{font-size:13px;font-weight:600;color:var(--ink-soft);padding:0 4px}details summary{cursor:pointer;color:var(--ink-soft)}@media print{.mobile-bar,.no-print,.side,.side-veil,.skip,.topbar{display:none!important}body{background:#fff}.card{border:0}.card,.page{padding:0}}table.plain tfoot td{border-top:1px solid var(--line)}@media print{[data-print=show]{display:block!important}}.viewer-stage{background:#0b0d10;border-radius:var(--radius);overflow:auto;max-height:70vh;min-height:200px;display:grid;place-items:start center;padding:8px}.viewer-stage canvas{display:block;height:auto;max-width:none;image-rendering:auto}.viewer-stage .muted{color:#c8ced6;align-self:center}.viewer input[type=range]{width:160px}.viewer{display:grid;grid-gap:10px;gap:10px}.compare{display:grid;grid-template-columns:1fr 1fr;grid-gap:12px;gap:12px;align-items:start}.compare .viewer input[type=range]{width:110px}@media (max-width:900px){.compare{grid-template-columns:1fr}}.console-bar{background:#1f2933;border-bottom-color:#1f2933}.console-bar .brand,.console-bar .btn-quiet,.console-bar .muted,.console-bar .nav a{color:#f1f4f8}.console-bar .btn-quiet:hover,.console-bar .nav a:hover{background:#323f4b}.codes{list-style:none;padding:12px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:6px 16px;gap:6px 16px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;letter-spacing:.06em}.codes,.statement{margin:0;background:var(--muted-soft);border-radius:var(--radius)}.statement{padding:12px 14px;border-left:3px solid var(--accent,#0f766e);font-size:16px}.lock-strip{display:flex;flex-wrap:wrap;gap:10px;align-items:center;padding:12px 14px;border-radius:var(--radius);background:var(--danger);color:#fff;font-weight:600}.lock-strip .btn{border-color:#fff}.lock-strip .btn,.lock-tag{background:#fff;color:var(--danger)}.lock-tag{display:inline-block;justify-self:start;width:-moz-fit-content;width:fit-content;padding:3px 10px;border-radius:6px;font-weight:800;letter-spacing:.04em;border:2px solid var(--danger)}.lock-screen{display:grid;grid-gap:14px;gap:14px;justify-items:start;max-width:620px;margin:48px auto;padding:28px;border-radius:12px;border:2px solid var(--danger);background:var(--danger-soft)}.lock-screen h1{margin:0;color:var(--danger)}.loading{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:10px;padding:14px;color:var(--ink-soft)}.spinner{width:18px;height:18px;border-radius:50%;border:3px solid var(--accent-soft);border-top-color:var(--accent);animation:turn .8s linear infinite}@keyframes turn{to{transform:rotate(1turn)}}@media (prefers-reduced-motion:reduce){.spinner{animation:pulse 1.6s ease-in-out infinite}@keyframes pulse{50%{opacity:.35}}}.menu-toggle,.nav-signout{display:none}@media (max-width:900px){.topbar-inner.with-menu{flex-wrap:wrap;gap:8px;padding:8px 12px}.topbar-inner.with-menu .spacer{display:block;flex:1 1;order:2}.topbar-inner.with-menu .brand{order:1}.topbar-inner.with-menu .signout-top{display:none}.nav-signout{display:block;text-align:left;padding:12px;margin-top:4px;border:0;border-top:1px solid var(--line);background:none;font:inherit;font-weight:600;font-size:16px;color:var(--danger);cursor:pointer}.topbar-inner.with-menu .who-am-i{order:3;max-width:40vw;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.topbar-inner.with-menu>.btn-quiet{order:4;padding:0 8px}.topbar-inner.with-menu .menu-toggle{order:0;display:inline-flex;align-items:center;gap:6px}.topbar-inner.with-menu>.nav{order:10;display:none;flex:0 0 100%;flex-direction:column;flex-wrap:nowrap;gap:2px;padding-top:8px;border-top:1px solid var(--line);max-height:70vh;overflow-y:auto}.topbar-inner.with-menu>.nav.open{display:flex}.topbar-inner.with-menu>.nav a{padding:12px;font-size:16px}.page{padding:12px;gap:12px}.btn{white-space:normal;height:auto;min-height:40px;padding-top:6px;padding-bottom:6px;text-align:center}.card{padding:14px}}.steps{list-style:none;margin:0;padding:0;grid-gap:10px}.step,.steps{display:grid;gap:10px}.step{grid-template-columns:26px 1fr;grid-gap:10px;align-items:start;line-height:1.45}.step-mark{width:22px;height:22px;margin-top:1px;border-radius:50%;border:2px solid var(--line);display:grid;place-items:center;font-size:13px;font-weight:700;color:#fff}.step.done .step-mark{background:var(--ok);border-color:var(--ok)}.step.done>div{color:var(--ink-soft)}@media (max-width:900px){.input,select.input,textarea.input{font-size:16px}input[type=date].input,input[type=datetime-local].input,input[type=time].input{min-width:0;max-width:100%;-webkit-appearance:none;-moz-appearance:none;appearance:none;text-align:left}.two{grid-template-columns:1fr}}.brand{display:inline-flex;align-items:center;gap:8px}.brand-mark{height:27px;width:auto;display:block}.clinic-logo{height:32px;width:auto;max-width:120px;object-fit:contain;display:block;padding-left:12px;border-left:1px solid var(--line)}.brand-full{display:block;margin:0 auto 4px;height:auto;max-width:180px}.logo-preview{display:block;max-height:120px;max-width:260px;width:auto;height:auto;object-fit:contain;padding:10px;border:1px solid var(--line);border-radius:var(--radius);background:#fff}.loading-mark{height:29px;width:auto;animation:breathe 1.4s ease-in-out infinite}@keyframes breathe{0%,to{opacity:.25;transform:scale(.94)}50%{opacity:1;transform:scale(1)}}@media (prefers-reduced-motion:reduce){.loading-mark{animation-duration:3s}}@media (max-width:900px){.topbar-inner.with-menu .clinic-logo{order:1;height:26px;max-width:72px;padding-left:8px}.topbar-inner.has-clinic-logo .brand>span{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.brand-mark{height:22px}}@media print{.brand-mark,.clinic-logo{display:none}}.days{border:0;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:6px 14px}.days legend{font-size:13px;font-weight:600;color:var(--ink-soft);padding:0;margin-bottom:4px}.toast{position:fixed;left:50%;bottom:20px;transform:translateX(-50%);z-index:40;width:max-content;max-width:min(92vw,560px);margin:0;padding:12px 16px;border-radius:var(--radius);box-shadow:0 6px 24px rgba(15,23,32,.22)}.saved.toast{background:var(--ok);color:#fff;animation:toast-leave .4s ease 6s forwards}.alert.toast{border:1px solid var(--danger)}@keyframes toast-leave{to{opacity:0;visibility:hidden}}.hours-summary{list-style:none;margin:0;padding:0;display:grid;grid-gap:6px;gap:6px;max-width:560px}.hours-summary li{display:flex;justify-content:space-between;gap:16px}@media print{.toast{display:none}}.trial-strip{display:flex;flex-wrap:wrap;align-items:center;gap:10px 14px;padding:12px 14px;border-radius:var(--radius);background:var(--info-soft);color:var(--info);border:1px solid #c9ddf2}.icon{flex:none;display:block}.shell{display:grid;grid-template-columns:252px minmax(0,1fr);min-height:100vh}.shell-main{min-width:0}.shell .page{max-width:1320px;padding:24px 28px 40px;gap:18px}.shell h1{font-size:24px;font-weight:700;letter-spacing:-.01em}.side{position:-webkit-sticky;position:sticky;top:0;height:100vh;display:flex;flex-direction:column;background:var(--surface);border-right:1px solid var(--line)}.side-head{padding:18px 18px 10px}.side-head .brand{font-size:19px}.side-clinic{margin:4px 12px 8px;padding:8px 10px;display:flex;align-items:center;gap:10px;border:1px solid var(--line);border-radius:10px;background:var(--bg);font-weight:650;font-size:14px;min-width:0}.side-clinic>span:last-child{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.side-clinic img{height:28px;width:auto;max-width:64px;object-fit:contain;flex:none}.side-clinic-mark{flex:none;width:28px;height:28px;border-radius:8px;display:grid;place-items:center;background:var(--accent);color:#fff;font-size:12px;font-weight:700}.side-nav{flex:1 1;overflow-y:auto;padding:4px 12px 12px;display:grid;grid-gap:14px;gap:14px;align-content:start}.side-group{display:grid;grid-gap:2px;gap:2px}.side-title{padding:6px 10px 4px;font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:#7f8f98}.side-nav a{display:flex;align-items:center;gap:10px;padding:8px 10px;border-radius:8px;color:var(--ink-soft);text-decoration:none;font-weight:600;font-size:14.5px}.side-nav a:hover{background:var(--muted-soft);color:var(--ink)}.side-nav a[aria-current=page]{background:var(--accent-soft);color:var(--accent);box-shadow:inset 3px 0 0 var(--accent)}.side-foot{gap:6px;padding:10px 12px;border-top:1px solid var(--line)}.side-foot,.side-user{display:flex;align-items:center}.side-user{flex:1 1;min-width:0;gap:10px;padding:6px;border-radius:8px;text-decoration:none;color:var(--ink)}.side-user:hover,.side-user[aria-current=page]{background:var(--muted-soft)}.side-user-name{min-width:0;display:grid;line-height:1.25}.side-user-name b{font-size:14px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.side-user-name small{color:var(--ink-soft);font-size:12px}.avatar{width:34px;height:34px;border-radius:50%;place-items:center;background:var(--accent-soft);color:var(--accent);font-weight:700;font-size:13px}.avatar,.icon-btn{flex:none;display:grid}.icon-btn{width:38px;height:38px;place-items:center;border:0;border-radius:8px;background:none;color:var(--ink-soft);cursor:pointer}.icon-btn:hover{background:var(--muted-soft);color:var(--ink)}.mobile-bar,.side-veil{display:none}@media (max-width:900px){.shell{display:block}.mobile-bar{position:-webkit-sticky;position:sticky;top:0;z-index:6;display:flex;align-items:center;gap:8px;padding:8px 10px;background:var(--surface);border-bottom:1px solid var(--line)}.mobile-bar .clinic-logo{margin-left:auto;height:26px;max-width:84px;border-left:0;padding-left:0}.side{position:fixed;z-index:8;left:0;top:0;width:min(86vw,300px);transform:translateX(-102%);transition:transform .18s ease;box-shadow:0 10px 40px rgba(16,32,44,.25)}.side.open{transform:none}.side-veil{display:block;position:fixed;inset:0;z-index:7;border:0;background:rgba(16,32,44,.4)}.side-nav a{padding:11px 10px;font-size:16px}.shell .page{padding:14px 12px 28px;gap:14px}.shell h1{font-size:21px}}@media (prefers-reduced-motion:reduce){.side{transition:none}}.dash-head{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px 20px}.dash-head .muted{margin-top:2px}.dash-actions{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.dash-actions .input{width:auto;min-width:150px}.tiles{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));grid-gap:14px;gap:14px}.tile{display:flex;align-items:flex-start;gap:14px;padding:16px;background:var(--surface);border:1px solid var(--line);border-radius:14px;box-shadow:var(--shadow);text-decoration:none;color:var(--ink);min-width:0}a.tile:hover{border-color:#b9c6cc;box-shadow:0 4px 14px rgba(16,32,44,.08)}.tile-icon{flex:none;width:44px;height:44px;border-radius:12px;display:grid;place-items:center;background:var(--muted-soft);color:var(--ink-soft)}.tile-icon.sm{width:36px;height:36px;border-radius:10px}.tile-icon.info{background:var(--info-soft);color:var(--info)}.tile-icon.ok{background:var(--ok-soft);color:var(--ok)}.tile-icon.warn{background:var(--warn-soft);color:var(--warn)}.tile-icon.danger{background:var(--danger-soft);color:var(--danger)}.tile-icon.accent{background:var(--accent-soft);color:var(--accent)}.tile-text{display:grid;grid-gap:1px;gap:1px;min-width:0}.tile-label{font-size:13px;font-weight:600;color:var(--ink-soft)}.tile-text b{font-size:25px;font-weight:700;letter-spacing:-.02em;line-height:1.2;overflow-wrap:anywhere}.tile-text small{font-size:12.5px;color:var(--ink-soft)}.tile.money b{font-size:20px;line-height:1.5;white-space:nowrap}.tiles{grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}.dash-grid{grid-template-columns:minmax(0,1.65fr) minmax(0,1fr);align-items:start}.dash-col,.dash-grid{display:grid;grid-gap:18px;gap:18px}.dash-col{min-width:0}.panel{gap:14px}.panel-head{display:flex;align-items:baseline;justify-content:space-between;gap:12px}.link-more{display:inline-flex;align-items:center;gap:4px;font-size:13.5px;font-weight:600;color:var(--accent);text-decoration:none;white-space:nowrap}.link-more:hover{text-decoration:underline}.small{font-size:13px}.empty{display:flex;align-items:center;gap:8px;padding:18px 4px;color:var(--ink-soft)}.agenda,.bars,.split,.todo{list-style:none;margin:0;padding:0}.agenda li{display:flex;align-items:center;gap:14px;padding:10px 0;border-top:1px solid var(--line)}.agenda li:first-child{border-top:0;padding-top:0}.agenda-time{flex:none;width:52px;font-weight:700;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.agenda-who{flex:1 1;min-width:0;display:grid}.agenda-who a{font-weight:650;color:var(--ink);text-decoration:none;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.agenda-who a:hover{color:var(--accent);text-decoration:underline}.agenda-who small{font-size:13px;overflow:hidden;text-overflow:ellipsis}.agenda-who small,.chip{color:var(--ink-soft);white-space:nowrap}.chip{flex:none;padding:3px 10px;border-radius:999px;font-size:12.5px;font-weight:650;background:var(--muted-soft)}.chip.info{background:var(--info-soft);color:var(--info)}.chip.warn{background:var(--warn-soft);color:var(--warn)}.chip.ok{background:var(--ok-soft);color:var(--ok)}.chip.done{background:var(--accent-soft);color:var(--accent)}.todo li{border-top:1px solid var(--line)}.todo li:first-child{border-top:0}.todo a{display:flex;align-items:center;gap:12px;padding:10px 4px;text-decoration:none;color:var(--ink);border-radius:8px}.todo li:first-child a{padding-top:0}.todo a:hover b{color:var(--accent)}.todo a>.icon{color:#9aa8b0}.todo-text{flex:1 1;min-width:0;display:grid}.todo-text b{font-weight:650}.todo-text small{color:var(--ink-soft);font-size:13px}.bars{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));grid-gap:10px;gap:10px}.bars li{display:grid;justify-items:center;grid-gap:4px;gap:4px;text-align:center}.bar-count{font-weight:700;font-size:14px;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.bar-track{width:100%;max-width:44px;height:120px;display:flex;align-items:flex-end;background:var(--muted-soft);border-radius:8px;overflow:hidden}.bar-fill{width:100%;background:#9fcfd1;border-radius:8px 8px 0 0}.bars li.now .bar-fill{background:var(--accent)}.bar-day{font-size:13px;font-weight:650}.bars li.now .bar-day{color:var(--accent)}.bar-date{font-size:12px;color:var(--ink-soft)}.split{grid-gap:12px}.split,.split li{display:grid;gap:12px}.split li{grid-template-columns:96px minmax(0,1fr) auto;align-items:center;grid-gap:12px;font-size:14px}.split-track{height:8px;background:var(--muted-soft);border-radius:999px;overflow:hidden}.split-track span{display:block;height:100%;background:var(--accent);border-radius:999px}@media (max-width:1100px){.dash-grid{grid-template-columns:1fr}}@media (max-width:900px){.tiles{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.tile{padding:12px;gap:10px;flex-direction:column}.tile-text b{font-size:21px}.dash-actions{width:100%}.dash-actions .btn,.dash-actions .input{flex:1 1}.bar-track{height:90px}.bars{gap:6px}.bar-date{display:none}.split li{grid-template-columns:84px minmax(0,1fr) auto}}:root{--teal:#0d9488;--indigo:#4f46e5;--sky:#0284c7;--emerald:#059669;--amber:#d97706;--rose:#e11d48;--violet:#7c3aed}body{background:linear-gradient(180deg,#eef4fb,#f3f6f9 320px)}.btn-primary{background:linear-gradient(135deg,#0f766e,#0e7490);border-color:transparent;box-shadow:0 1px 2px rgba(13,148,136,.35);transition:transform .12s ease,box-shadow .12s ease}.btn-primary:hover{background:linear-gradient(135deg,#0d6b64,#0c6682);border-color:transparent;transform:translateY(-1px);box-shadow:0 6px 14px rgba(13,148,136,.3)}.side{background:linear-gradient(185deg,#0b2440,#0c3a52 55%,#0b5560);border-right:0;color:#dbe8f0}.side .brand{color:#fff}.side .brand-mark{background:#fff;border-radius:9px;padding:4px;height:34px}.side-clinic{background:rgba(255,255,255,.08);border-color:rgba(255,255,255,.14);color:#fff}.side-clinic img{background:#fff;border-radius:6px;padding:2px}.side-clinic-mark{background:linear-gradient(135deg,#2dd4bf,#38bdf8);color:#06283a}.side-title{color:#7fa6b8}.side-nav a{color:#c5d8e3;transition:background .15s ease,color .15s ease,transform .15s ease}.side-nav a:hover{background:rgba(255,255,255,.09);color:#fff;transform:translateX(2px)}.side-nav a[aria-current=page]{background:linear-gradient(90deg,rgba(45,212,191,.28),rgba(56,189,248,.12));box-shadow:inset 3px 0 0 #2dd4bf}.side-nav a[aria-current=page] .icon{color:#5eead4}.side-nav::-webkit-scrollbar{width:8px}.side-nav::-webkit-scrollbar-thumb{background:rgba(255,255,255,.18);border-radius:8px}.side-foot{border-top-color:rgba(255,255,255,.12)}.side-user{color:#fff}.side-user:hover,.side-user[aria-current=page]{background:rgba(255,255,255,.1)}.side-user-name small{color:#9fc0cf}.side .avatar{background:linear-gradient(135deg,#2dd4bf,#38bdf8);color:#06283a}.side .icon-btn{color:#c5d8e3}.side .icon-btn:hover{background:rgba(255,255,255,.12);color:#fff}.hero{position:relative;overflow:hidden;display:flex;align-items:center;justify-content:space-between;gap:24px;padding:26px 28px;border-radius:18px;color:#fff;background:linear-gradient(120deg,#0f766e,#0e7490 45%,#4338ca);box-shadow:0 14px 34px rgba(14,116,144,.28)}.hero:after,.hero:before{content:"";position:absolute;border-radius:50%;pointer-events:none}.hero:before{width:320px;height:320px;right:-80px;top:-150px;background:radial-gradient(circle,rgba(255,255,255,.22),rgba(255,255,255,0) 70%);animation:drift 14s ease-in-out infinite alternate}.hero:after{width:220px;height:220px;right:180px;bottom:-140px;background:radial-gradient(circle,rgba(94,234,212,.35),rgba(94,234,212,0) 70%);animation:drift 18s ease-in-out infinite alternate-reverse}.hero-text{position:relative;z-index:1;display:grid;grid-gap:6px;gap:6px;min-width:0}.hero-date{font-size:13px;font-weight:650;letter-spacing:.04em;text-transform:uppercase;color:#c9f2ee}.shell .hero h1{font-size:28px;color:#fff}.hero-sub{color:#e3f5f7;font-size:15.5px}.hero .dash-actions{margin-top:10px}.btn.hero-primary{background:#fff;color:#0f5f66;border-color:#fff;font-weight:700;transition:transform .12s ease,box-shadow .12s ease}.btn.hero-primary:hover{background:#fff;transform:translateY(-1px);box-shadow:0 8px 18px rgba(6,40,58,.25)}.btn.hero-ghost,a.btn.hero-ghost{background:rgba(255,255,255,.14);border-color:rgba(255,255,255,.35);color:#fff}a.btn.hero-ghost:hover{background:rgba(255,255,255,.24);border-color:rgba(255,255,255,.6)}.input.hero-select{background:rgba(255,255,255,.14);border-color:rgba(255,255,255,.35);color:#fff;min-height:36px}.input.hero-select option{color:var(--ink)}.ring{position:relative;z-index:1;flex:none;width:124px;height:124px;border-radius:50%;display:grid;place-items:center;background:conic-gradient(#5eead4 calc(var(--p) * 1%),rgba(255,255,255,.2) 0);animation:pop .6s ease both}.ring:before{content:"";position:absolute;inset:11px;border-radius:50%;background:#0f6475}.ring span{position:relative;display:grid;justify-items:center;line-height:1.15}.ring b{font-size:26px;font-weight:750}.ring small{font-size:11.5px;color:#c9f2ee}.tile{position:relative;overflow:hidden;border:0;box-shadow:0 1px 2px rgba(16,32,44,.06),0 6px 18px rgba(16,32,44,.05);transition:transform .16s ease,box-shadow .16s ease;animation:rise .45s ease both;--c:var(--teal)}.tile:before{left:0;right:0;top:0;height:4px}.tile:after,.tile:before{content:"";position:absolute;background:var(--c)}.tile:after{width:130px;height:130px;right:-46px;bottom:-62px;border-radius:50%;opacity:.09;transition:transform .25s ease,opacity .25s ease}a.tile:hover{transform:translateY(-3px);box-shadow:0 14px 28px rgba(16,32,44,.12)}a.tile:hover:after{transform:scale(1.25);opacity:.14}.tile.info{--c:var(--indigo)}.tile.warn{--c:var(--amber)}.tile.ok{--c:var(--emerald)}.tile.accent{--c:var(--sky)}.tile.danger{--c:var(--rose)}.tile>.tile-icon{background:var(--c);color:#fff;box-shadow:0 6px 14px color-mix(in srgb,var(--c) 35%,transparent)}.tile:nth-child(2){animation-delay:.05s}.tile:nth-child(3){animation-delay:.1s}.tile:nth-child(4){animation-delay:.15s}.tile:nth-child(5){animation-delay:.2s}.tile-text b{font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.panel{border:0;box-shadow:0 1px 2px rgba(16,32,44,.06),0 6px 18px rgba(16,32,44,.05);animation:rise .5s ease both;animation-delay:.15s}.panel-head h2{position:relative;padding-left:12px}.panel-head h2:before{content:"";position:absolute;left:0;top:3px;bottom:3px;width:4px;border-radius:4px;background:linear-gradient(180deg,#2dd4bf,#4f46e5)}.agenda li{position:relative;padding:10px 8px 10px 14px;border-top:0;border-radius:10px;transition:background .15s ease}.agenda li+li{margin-top:2px}.agenda li:first-child{padding-top:10px}.agenda li:hover{background:#f4f8fb}.agenda li:before{content:"";position:absolute;left:0;top:10px;bottom:10px;width:4px;border-radius:4px;background:#cbd5db}.agenda li.info:before{background:var(--indigo)}.agenda li.warn:before{background:var(--amber)}.agenda li.ok:before{background:var(--emerald)}.agenda li.done:before{background:var(--teal)}.agenda .avatar{width:36px;height:36px;color:#fff}.hue-teal{background:linear-gradient(135deg,#14b8a6,#0d9488)}.hue-indigo{background:linear-gradient(135deg,#6366f1,#4f46e5)}.hue-rose{background:linear-gradient(135deg,#fb7185,#e11d48)}.hue-amber{background:linear-gradient(135deg,#fbbf24,#d97706)}.hue-violet{background:linear-gradient(135deg,#a78bfa,#7c3aed)}.hue-sky{background:linear-gradient(135deg,#38bdf8,#0284c7)}.chip{display:inline-flex;align-items:center;gap:6px}.chip:before{content:"";width:7px;height:7px;border-radius:50%;background:currentColor}.chip.ok:before{animation:pulse 1.6s ease-in-out infinite}.chip.info{background:#e8e9fd;color:#3730a3}.chip.warn{background:#fef0d2;color:#92510a}.chip.ok{background:#d8f5e6;color:#046c4e}.chip.done{background:#d5f3ef;color:#0f6259}.todo a{padding:10px 8px;transition:background .15s ease}.todo li:first-child a{padding-top:10px}.todo a:hover{background:#f4f8fb}.todo a>.icon{transition:transform .15s ease}.todo a:hover>.icon{transform:translateX(3px);color:var(--teal)}.todo .tile-icon.info{background:#e8e9fd;color:var(--indigo)}.todo .tile-icon.warn{background:#fef0d2;color:var(--amber)}.todo .tile-icon.ok{background:#d8f5e6;color:var(--emerald)}.todo .tile-icon.danger{background:#ffe1e7;color:var(--rose)}.bar-track{background:#edf2f7;border-radius:10px}.bar-fill{background:linear-gradient(180deg,#7dd3fc,#818cf8);border-radius:10px;transform-origin:bottom;animation:grow .7s cubic-bezier(.2,.8,.2,1) both}.bars li.now .bar-fill{background:linear-gradient(180deg,#2dd4bf,#0e7490)}.bars li.now .bar-day{color:var(--teal)}.split-track span{background:linear-gradient(90deg,#2dd4bf,#4f46e5);transform-origin:left;animation:stretch .7s ease both}.split li:nth-child(2) .split-track span{background:linear-gradient(90deg,#38bdf8,#6366f1)}.split li:nth-child(3) .split-track span{background:linear-gradient(90deg,#fbbf24,#f43f5e)}.stat{border:0;border-top:4px solid var(--teal)}.stats .stat:nth-child(2){border-top-color:var(--amber)}.stats .stat:nth-child(3){border-top-color:var(--emerald)}.stats .stat:nth-child(4){border-top-color:var(--indigo)}@keyframes rise{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}@keyframes grow{0%{transform:scaleY(0)}to{transform:scaleY(1)}}@keyframes stretch{0%{transform:scaleX(0)}to{transform:scaleX(1)}}@keyframes pop{0%{opacity:0;transform:scale(.85)}to{opacity:1;transform:none}}@keyframes drift{0%{transform:translate(0)}to{transform:translate(-30px,24px)}}@keyframes pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.45;transform:scale(.75)}}@media (prefers-reduced-motion:reduce){.bar-fill,.chip.ok:before,.hero:after,.hero:before,.panel,.ring,.split-track span,.tile{animation:none}.btn-primary,.side-nav a,.tile{transition:none}}@media (max-width:900px){.hero{padding:20px 18px;border-radius:16px}.shell .hero h1{font-size:23px}.ring{display:none}.mobile-bar{background:linear-gradient(90deg,#0b2440,#0b5560);border-bottom:0;color:#fff}.mobile-bar .brand{color:#fff}.mobile-bar .brand-mark{background:#fff;border-radius:7px;padding:3px;height:28px}.mobile-bar .icon-btn{color:#fff}.mobile-bar .clinic-logo{background:#fff;border-radius:6px;padding:2px}.agenda .avatar{display:none}}@media print{.hero{background:none;color:var(--ink);box-shadow:none}}@media (max-width:900px){.hero .dash-actions .hero-primary{flex:1 1 100%}}.band{position:relative;overflow:hidden;display:flex;flex-wrap:wrap;align-items:center;gap:14px 18px;padding:20px 24px;border-radius:16px;color:#fff;background:linear-gradient(120deg,#0f766e,#0e7490 50%,#4338ca);box-shadow:0 10px 26px rgba(14,116,144,.24);animation:rise .4s ease both}.band:after{content:"";position:absolute;width:260px;height:260px;right:-70px;top:-140px;border-radius:50%;background:radial-gradient(circle,rgba(255,255,255,.2),rgba(255,255,255,0) 70%);pointer-events:none}.band-icon{flex:none;width:48px;height:48px;border-radius:14px;display:grid;place-items:center;background:rgba(255,255,255,.18)}.band-text{flex:1 1;min-width:200px;position:relative;z-index:1}.shell .band h1{color:#fff;font-size:24px}.band-text p{color:#d9f3f3;margin-top:2px}.band-actions{position:relative;z-index:1;display:flex;flex-wrap:wrap;gap:8px;align-items:center}.band .input.hero-select{width:auto;min-width:150px}a.btn.hero-primary{color:#0f5f66}.search-big{display:flex;align-items:center;gap:10px;padding:4px 8px 4px 16px;background:var(--surface);border:2px solid transparent;border-radius:14px;box-shadow:0 1px 2px rgba(16,32,44,.06),0 6px 18px rgba(16,32,44,.06);color:var(--ink-soft);transition:border-color .15s ease,box-shadow .15s ease}.search-big:focus-within{border-color:#2dd4bf;box-shadow:0 0 0 4px rgba(45,212,191,.18),0 6px 18px rgba(16,32,44,.06)}.search-big input{flex:1 1;min-width:0;height:48px;border:0;outline:0;background:none;font-size:16.5px;color:var(--ink);box-shadow:none}.quick-links{display:flex;flex-wrap:wrap;gap:8px}.quick-links a{padding:6px 14px;border-radius:999px;background:var(--surface);border:1px solid var(--line);color:var(--ink-soft);font-size:13.5px;font-weight:600;text-decoration:none;transition:all .15s ease}.quick-links a:hover{border-color:var(--teal);color:var(--teal);background:#effaf8}.section{display:grid;grid-gap:12px;gap:12px}.section-title{position:relative;padding-left:12px}.section-title:before{content:"";position:absolute;left:0;top:3px;bottom:3px;width:4px;border-radius:4px;background:linear-gradient(180deg,#2dd4bf,#4f46e5)}.empty-card{padding:28px 20px;text-align:center;color:var(--ink-soft);background:var(--surface);border:1px dashed #c3d0d7;border-radius:14px}.people{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));grid-gap:12px;gap:12px}.person{display:flex;align-items:center;gap:14px;padding:14px 16px;background:var(--surface);border-radius:14px;text-decoration:none;color:var(--ink);box-shadow:0 1px 2px rgba(16,32,44,.06),0 4px 12px rgba(16,32,44,.04);transition:transform .15s ease,box-shadow .15s ease;animation:rise .4s ease both}.person:hover{transform:translateY(-2px);box-shadow:0 12px 24px rgba(16,32,44,.12)}.person>.icon{color:#b3c0c8;transition:transform .15s ease,color .15s ease}.person:hover>.icon{color:var(--teal);transform:translateX(3px)}.person-text{flex:1 1;min-width:0;display:grid;grid-gap:1px;gap:1px}.person-text b{font-weight:650;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.person-text small{color:var(--ink-soft);font-size:13px}.person-phone{display:inline-flex;align-items:center;gap:5px}.avatar[class*=hue-]{color:#fff}.avatar-lg{width:46px;height:46px;font-size:16px}.patient-head{border:0;border-top:4px solid var(--teal)}.patient-head .avatar-lg{width:56px;height:56px;font-size:19px}.seg{flex-wrap:wrap;gap:4px;padding:4px;background:#e6edf3;border-radius:12px;justify-self:start}.seg,.seg button{display:inline-flex}.seg button{align-items:center;gap:8px;padding:7px 14px;border:0;border-radius:9px;background:none;cursor:pointer;font-weight:650;color:var(--ink-soft);transition:background .15s ease,color .15s ease}.seg button:hover{color:var(--ink)}.seg button[aria-selected=true]{background:var(--surface);color:var(--teal);box-shadow:0 1px 3px rgba(16,32,44,.14)}.seg-count{min-width:22px;padding:1px 7px;border-radius:999px;background:#d3dde5;color:var(--ink-soft);font-size:12px;text-align:center}.seg button[aria-selected=true] .seg-count{background:var(--teal);color:#fff}.invoices{display:grid;grid-gap:8px;gap:8px}.invoice{position:relative;display:grid;grid-template-columns:auto minmax(0,1.4fr) minmax(120px,1fr) auto auto;align-items:center;grid-gap:14px;gap:14px;padding:12px 16px 12px 20px;background:var(--surface);border-radius:14px;text-decoration:none;color:var(--ink);box-shadow:0 1px 2px rgba(16,32,44,.06),0 4px 12px rgba(16,32,44,.04);transition:transform .15s ease,box-shadow .15s ease;animation:rise .4s ease both}.invoice:hover{transform:translateY(-2px);box-shadow:0 12px 24px rgba(16,32,44,.12)}.invoice:before{content:"";position:absolute;left:0;top:12px;bottom:12px;width:4px;border-radius:4px;background:#cbd5db}.invoice.ok:before{background:var(--emerald)}.invoice.warn:before{background:var(--amber)}.invoice.info:before{background:var(--indigo)}.invoice-who{min-width:0;display:grid}.invoice-who b{font-weight:650;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.invoice-paid small,.invoice-who small{color:var(--ink-soft);font-size:13px}.invoice-paid{display:grid;grid-gap:4px;gap:4px}.meter{height:7px;background:#e8eef3;overflow:hidden}.meter,.meter span{display:block;border-radius:999px}.meter span{height:100%;background:linear-gradient(90deg,#34d399,#059669);transform-origin:left;animation:stretch .7s ease both}.invoice.warn .meter span{background:linear-gradient(90deg,#fbbf24,#f59e0b)}.invoice-total{font-feature-settings:"tnum";font-variant-numeric:tabular-nums;white-space:nowrap}.drawer{border:0;border-top:4px solid #94a3b8}.drawer.open{border-top-color:var(--emerald)}.chip.danger{background:#ffe1e7;color:#be123c}@media (max-width:900px){.band{padding:16px;border-radius:14px}.shell .band h1{font-size:21px}.band-icon{width:40px;height:40px}.band .input.hero-select,.band-actions,.band-actions .btn{width:100%}.people{grid-template-columns:1fr}.invoice{grid-template-columns:auto minmax(0,1fr) auto;gap:8px 12px;padding:12px 12px 12px 18px}.invoice-paid{grid-column:2/-1;order:5}.invoice .chip{grid-column:2/-1;justify-self:start;order:6}.seg{display:flex}.seg button{flex:1 1;justify-content:center;padding:8px 6px}}@media (prefers-reduced-motion:reduce){.band,.invoice,.meter span,.person{animation:none;transition:none}}@media print{.band{background:none;box-shadow:none}.band,.shell .band h1{color:var(--ink)}}.table-scroll{overflow-x:auto}.table-scroll table.plain{min-width:720px}.table-scroll table.plain td{vertical-align:top}.lead-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));grid-gap:14px;gap:14px}.lead{position:relative;overflow:hidden;display:grid;grid-gap:2px;gap:2px;padding:16px 18px;border-radius:14px;background:var(--surface);color:var(--ink);text-decoration:none;box-shadow:var(--shadow);border-top:4px solid var(--c,var(--teal))}.lead.teal{--c:var(--teal)}.lead.indigo{--c:var(--indigo)}.lead.amber{--c:var(--amber)}.lead:hover{box-shadow:0 10px 22px rgba(16,32,44,.12)}.lead-label{font-size:12px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:var(--ink-soft)}.lead b{font-size:20px}.lead>span{color:var(--ink-soft)}.lead .lead-figure{margin-top:4px;font-weight:650;color:var(--c)}.report-link{display:grid;grid-gap:2px;gap:2px;padding:14px 18px;border-radius:14px;text-decoration:none;color:#fff;background:linear-gradient(120deg,#0f766e,#0e7490 55%,#4338ca);box-shadow:0 8px 20px rgba(14,116,144,.22);transition:transform .15s ease}.report-link:hover{transform:translateY(-2px)}.report-link span{color:#d9f3f3;font-size:14px}td.nested{background:#f4f8fb;padding:12px 14px!important;border-radius:10px}.rank{display:inline-grid;place-items:center;width:28px;height:28px;border-radius:50%;background:var(--muted-soft);color:var(--ink-soft);font-weight:700;font-size:13px}.rank.top{background:linear-gradient(135deg,#fbbf24,#d97706);color:#fff}.seg[role=group] button[aria-selected=true]{background:var(--surface);color:var(--teal);box-shadow:0 1px 3px rgba(16,32,44,.14)}.days{grid-gap:8px;gap:8px}.day,.days{display:grid}.day{grid-template-columns:150px minmax(0,1fr);align-items:start;grid-gap:8px 16px;gap:8px 16px;padding:10px 12px;border:1px solid var(--line);border-radius:10px;background:#fafbfc}.day.open{background:var(--surface);border-color:#b9d9d7}.day>.check{min-height:38px;font-weight:650}.day>.muted{align-self:center}.day-times{display:grid;grid-gap:8px;gap:8px;justify-items:start}.day-time{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.day-time .input{width:130px}.hours-summary li b{text-align:right}@media (max-width:700px){.day{grid-template-columns:1fr}.day-time .input{width:118px}}.day-name{min-height:38px;display:flex;align-items:center}.day-time .shift{width:150px;font-weight:600}.day-time>.muted:only-of-type{min-height:38px;display:inline-flex;align-items:center}.hours-summary{max-width:640px}.hours-summary li{align-items:baseline}.shift-list{display:grid;grid-gap:2px;gap:2px;justify-items:end}.shift-list small{color:var(--ink-soft);margin-right:6px}@media (max-width:700px){.day-time .shift{width:100%}}@media screen{.shell .page>h1,.shell .toolbar:has(>h1){position:relative;overflow:hidden;padding:18px 22px;border-radius:16px;color:#fff;background:linear-gradient(120deg,#0f766e,#0e7490 50%,#4338ca);box-shadow:0 10px 26px rgba(14,116,144,.22);animation:rise .4s ease both}.shell .toolbar:has(>h1){gap:10px 12px}.shell .page>h1:after,.shell .toolbar:has(>h1):after{content:"";position:absolute;width:260px;height:260px;right:-70px;top:-150px;border-radius:50%;background:radial-gradient(circle,rgba(255,255,255,.18),rgba(255,255,255,0) 70%);pointer-events:none}.shell .toolbar:has(>h1)>*{position:relative;z-index:1}.shell .page>h1,.shell .toolbar:has(>h1) h1{color:#fff;font-size:23px}.shell .toolbar:has(>h1) h1.band-wide{flex:0 0 100%}.shell .toolbar:has(>h1) .btn{background:rgba(255,255,255,.14);border-color:rgba(255,255,255,.36);color:#fff}.shell .toolbar:has(>h1) .btn:hover:not(:disabled){background:rgba(255,255,255,.26);border-color:rgba(255,255,255,.6)}.shell .toolbar:has(>h1) .btn-primary{background:#fff;border-color:#fff;color:#0f5f66;font-weight:700;box-shadow:none}.shell .toolbar:has(>h1) .btn-primary:hover:not(:disabled){background:#fff;border-color:#fff;box-shadow:0 8px 18px rgba(6,40,58,.25)}.shell .toolbar:has(>h1) .btn-quiet{background:transparent;border-color:transparent}.shell .toolbar:has(>h1) .input{background:rgba(255,255,255,.14);border-color:rgba(255,255,255,.36);color:#fff;color-scheme:dark}.shell .toolbar:has(>h1) .input::placeholder{color:rgba(255,255,255,.7)}.shell .toolbar:has(>h1) .input option{color:var(--ink);background:#fff}.shell .toolbar:has(>h1) .date,.shell .toolbar:has(>h1) .field>span,.shell .toolbar:has(>h1) .muted{color:#e3f5f7}.shell .toolbar:has(>h1) a:not(.btn){color:#fff}.shell .tabs{display:inline-flex;flex-wrap:wrap;gap:4px;padding:4px;border-bottom:0;background:#e3ebf2;border-radius:12px;justify-self:start;max-width:100%}.shell .tabs button{margin:0;padding:7px 14px;border-bottom:0;border-radius:9px;transition:background .15s ease,color .15s ease}.shell .tabs button:hover{color:var(--ink)}.shell .tabs button[aria-selected=true]{background:var(--surface);color:var(--teal);box-shadow:0 1px 3px rgba(16,32,44,.14)}.shell .card>h2:before,.shell .card>h3:first-child:before{content:"";flex:none;display:inline-block;width:4px;height:18px;margin-right:8px;vertical-align:-3px;border-radius:4px;background:linear-gradient(180deg,#2dd4bf,#4f46e5)}.shell .card>h2:before{margin-right:0}.shell .card{border:0;box-shadow:0 1px 2px rgba(16,32,44,.06),0 6px 18px rgba(16,32,44,.05)}.shell .card .card{box-shadow:none;border:1px solid var(--line)}.shell .card.header{border-top:4px solid var(--teal)}.shell .list{display:grid;grid-gap:8px;gap:8px;border:0;background:none;overflow:visible}.shell .list a{background:var(--surface);border-top:0;border-left:4px solid #a9d8d6;border-radius:12px;padding:12px 16px;box-shadow:0 1px 2px rgba(16,32,44,.06),0 4px 12px rgba(16,32,44,.04);transition:transform .15s ease,box-shadow .15s ease,border-color .15s ease}.shell .list a:hover{background:var(--surface);transform:translateY(-2px);border-left-color:var(--teal);box-shadow:0 12px 24px rgba(16,32,44,.12)}.shell table.plain th{background:#f1f6fa;padding:9px 10px}.shell table.plain th:first-child{border-radius:8px 0 0 8px}.shell table.plain th:last-child{border-radius:0 8px 8px 0}.shell table.plain td{padding:10px}.shell table.plain tbody tr{transition:background .12s ease}.shell table.plain tbody tr:hover{background:#f6fafc}.shell .rows>div{padding:10px 0}.shell .sheet{border:0;border-radius:14px;box-shadow:0 1px 2px rgba(16,32,44,.06),0 6px 18px rgba(16,32,44,.05)}.shell .sheet .row.head{background:#f1f6fa}.shell .sheet .row:not(.head){transition:background .12s ease}.shell .sheet .row:not(.head):hover{background:#f6fafc}.shell .stat{transition:transform .15s ease,box-shadow .15s ease}.shell .stat:hover{transform:translateY(-2px);box-shadow:0 10px 22px rgba(16,32,44,.1)}.shell .stat b{font-size:24px}.shell .input,dialog .input{border-radius:10px;transition:border-color .15s ease,box-shadow .15s ease}.shell .input:focus-visible,dialog .input:focus-visible{border-color:#2dd4bf;box-shadow:0 0 0 4px rgba(45,212,191,.2)}.shell .btn,dialog .btn{border-radius:10px;transition:transform .12s ease,box-shadow .12s ease,background .12s ease}.shell .btn:hover:not(:disabled){transform:translateY(-1px)}.shell .note,dialog .note{border-left:4px solid var(--indigo)}.shell .alert,dialog .alert{border-left:4px solid var(--rose)}.shell .banner,dialog .banner{border-left:4px solid var(--amber)}.shell .pill{padding:2px 9px}.shell .tag{border-radius:999px;padding:1px 8px;background:var(--danger-soft);border-color:transparent}dialog{border:0;border-radius:18px;box-shadow:0 30px 80px rgba(6,30,46,.35)}dialog::-webkit-backdrop{background:rgba(8,30,46,.55);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}dialog::backdrop{background:rgba(8,30,46,.55);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}dialog .dialog-body>h2{font-size:19px;padding-bottom:10px;border-bottom:2px solid transparent;border-image:linear-gradient(90deg,#2dd4bf,#4f46e5) 1}.slot{border-radius:9px;transition:border-color .12s ease,background .12s ease}.slot:hover{border-color:var(--teal);background:#effaf8}.slot[aria-pressed=true]{background:linear-gradient(135deg,#0f766e,#0e7490);border-color:transparent}}@media screen and (max-width:900px){.shell .page>h1,.shell .toolbar:has(>h1){padding:14px 16px;border-radius:14px}.shell .page>h1,.shell .toolbar:has(>h1) h1{font-size:20px;flex:1 1 100%}.shell .tabs{display:flex}}@media (prefers-reduced-motion:reduce){.shell .page>h1,.shell .toolbar:has(>h1){animation:none}.shell .btn,.shell .list a,.shell .stat{transition:none}}@media screen and (min-width:901px){.shell .sheet .row{grid-template-columns:92px minmax(170px,1.4fr) minmax(120px,1fr) minmax(120px,1fr) 140px minmax(230px,1.5fr)}}@media screen{.shell .page>form{background:var(--surface);padding:22px;border-radius:14px;box-shadow:0 1px 2px rgba(16,32,44,.06),0 6px 18px rgba(16,32,44,.05);max-width:760px}}html{scroll-behavior:smooth}.card:has(>.toolbar>h2[id]),section[aria-labelledby]{scroll-margin-top:16px}h2[id]{scroll-margin-top:80px}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}dl.explain{display:grid;grid-template-columns:max-content minmax(0,1fr);grid-gap:6px 16px;gap:6px 16px;margin:0;padding:12px 14px;background:#f4f8fb;border-radius:10px;font-size:14px}dl.explain dt{font-weight:650}dl.explain dd{margin:0;color:var(--ink-soft)}@media (max-width:700px){dl.explain{grid-template-columns:1fr}dl.explain dd{margin-bottom:6px}}.letterhead{display:flex;align-items:center;gap:14px;padding:4px 2px}.letterhead img{height:52px;width:auto;max-width:150px;object-fit:contain}.letterhead div{display:grid;grid-gap:1px;gap:1px}.letterhead b{font-size:17px}.letterhead span{color:var(--ink-soft);font-size:14px;white-space:pre-line}.clinic-foot{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:6px 18px;max-width:1320px;margin:0 auto;padding:16px 28px 26px;border-top:1px solid var(--line);color:var(--ink-soft);font-size:13.5px}.clinic-foot b{color:var(--ink)}.clinic-foot span{display:inline-flex;align-items:center;gap:6px}.shell-main{display:flex;flex-direction:column;min-height:100vh}.shell-main>main{flex:1 1;width:100%;align-content:start}@media (max-width:900px){.clinic-foot{padding:14px 12px 22px;justify-content:flex-start}.shell-main{min-height:0}}@media print{.letterhead{padding-bottom:10px;margin-bottom:6px;border-bottom:1px solid #999}}.shell.console .side{background:linear-gradient(185deg,#171331,#241a52 55%,#3b1f6e)}.shell.console .side-nav a[aria-current=page]{background:linear-gradient(90deg,rgba(167,139,250,.34),rgba(244,114,182,.14));box-shadow:inset 3px 0 0 #c4b5fd}.shell.console .side-nav a[aria-current=page] .icon{color:#ddd6fe}.shell.console .side-title{color:#a79fd0}.shell.console .side .avatar{background:linear-gradient(135deg,#c4b5fd,#f9a8d4);color:#241a52}.shell.console .side-user-name small{color:#c9c1ee}.shell.console span.side-user:hover{background:none}.console-tag{display:inline-block;margin-top:8px;padding:2px 10px;border-radius:999px;background:rgba(196,181,253,.2);color:#ddd6fe;font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.shell.console .mobile-bar .brand{font-size:17px}@media (max-width:900px){.shell.console .mobile-bar{background:linear-gradient(90deg,#171331,#3b1f6e)}}@media screen{.hero.console-hero,.shell.console .page>h1,.shell.console .toolbar:has(>h1){background:linear-gradient(120deg,#4c1d95,#5b21b6 45%,#be185d);box-shadow:0 12px 30px rgba(91,33,182,.26)}.console-hero .btn.hero-primary,.console-hero a.btn.hero-primary,.shell.console .toolbar:has(>h1) .btn-primary{color:#4c1d95}.shell.console .seg button[aria-selected=true],.shell.console .tabs button[aria-selected=true]{color:#5b21b6}.shell.console .card>h2:before,.shell.console .panel-head h2:before,.shell.console .section-title:before{background:linear-gradient(180deg,#a78bfa,#ec4899)}.shell.console .btn-primary{background:linear-gradient(135deg,#5b21b6,#7c3aed);box-shadow:0 1px 2px rgba(91,33,182,.35)}.shell.console .btn-primary:hover{background:linear-gradient(135deg,#4c1d95,#6d28d9);box-shadow:0 6px 14px rgba(91,33,182,.3)}.shell.console .list a{border-left-color:#c4b5fd}.shell.console .list a:hover{border-left-color:#7c3aed}.shell.console .input:focus-visible{border-color:#a78bfa;box-shadow:0 0 0 4px rgba(167,139,250,.22)}.shell.console .card a:not(.btn),.shell.console .note a:not(.btn){color:#5b21b6}}.console-hero .hero-date{color:#e9d5ff}.console-hero .hero-sub{color:#f3e8ff;max-width:70ch}.console-hero:after{background:radial-gradient(circle,rgba(249,168,212,.4),rgba(249,168,212,0) 70%)}:root{--series-1:#2a78d6;--series-2:#eb6834;--series-3:#1baf7a;--series-4:#eda100}.viz{display:grid;grid-gap:8px;gap:8px}.viz-read{min-height:22px;color:var(--ink-soft);font-size:14px}.viz-read b{color:var(--ink)}.viz-plot{display:grid;grid-template-columns:auto minmax(0,1fr);grid-gap:8px;gap:8px;height:190px}.viz-scale{display:flex;flex-direction:column;justify-content:space-between;align-items:flex-end;font-size:11.5px;color:#7f8f98;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.viz-bars{position:relative;display:flex;align-items:stretch;gap:2px;border-bottom:1px solid var(--line);background:linear-gradient(to bottom,var(--line) 1px,transparent 1px) 0 0 /100% 50%}.viz-col{flex:1 1;min-width:0;display:flex;align-items:flex-end;justify-content:center;padding:0;border:0;background:none;cursor:default;border-radius:4px 4px 0 0}.viz-col.on,.viz-col:focus-visible{background:rgba(42,120,214,.1);outline:none;box-shadow:none}.viz-bar{width:100%;max-width:22px;min-height:0;border-radius:4px 4px 0 0;background:var(--series-1);transform-origin:bottom;animation:grow .6s cubic-bezier(.2,.8,.2,1) both}.viz-col.on .viz-bar{background:#184f95}.viz-axis{display:flex;justify-content:space-between;padding-left:28px;font-size:12px;color:#7f8f98}.stack{display:flex;gap:2px;height:26px;border-radius:8px;overflow:hidden;background:var(--muted-soft)}.stack-part{display:block;height:100%;min-width:6px;transform-origin:left;animation:stretch .6s ease both}.s1{background:var(--series-1)}.s2{background:var(--series-2)}.s3{background:var(--series-3)}.s4{background:var(--series-4)}.legend{list-style:none;margin:0;padding:0;display:grid;grid-gap:8px;gap:8px}.legend li{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;grid-gap:10px;gap:10px}.legend .dot{width:12px;height:12px;border-radius:4px}.legend b{font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.bars.months{grid-template-columns:repeat(6,minmax(0,1fr))}.bars.months .bar-fill{background:#86b6ef}.bars.months li.now .bar-fill{background:var(--series-1)}.bars.months li.now .bar-day{color:var(--ink)}.rank-list{list-style:none;margin:0;padding:0;display:grid;grid-gap:12px;gap:12px}.rank-list li{display:grid;grid-template-columns:auto minmax(0,1.1fr) minmax(60px,1fr) auto;align-items:center;grid-gap:12px;gap:12px}.rank-value,.rank-who{display:grid;min-width:0}.rank-who b{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:650}.rank-value small,.rank-who small{color:var(--ink-soft);font-size:12.5px}.rank-value{justify-items:end;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.rank-track{height:10px;border-radius:0 4px 4px 0;background:var(--muted-soft);overflow:hidden}.rank-track span{display:block;height:100%;border-radius:0 4px 4px 0;background:var(--series-1);transform-origin:left;animation:stretch .7s ease both}@media (max-width:900px){.viz-plot{height:150px}.rank-list li{grid-template-columns:auto minmax(0,1fr) auto}.rank-track{display:none}}@media (prefers-reduced-motion:reduce){.rank-track span,.stack-part,.viz-bar{animation:none}}.charges{display:grid;grid-gap:10px;gap:10px;padding:14px;border-radius:12px;background:#f4f8fb;border:1px solid var(--line)}.charges p{color:var(--ink-soft)}.charges p b{color:var(--ink)}.lock-screen.verifying{border-color:#b9d9d7;background:#f1faf9}.lock-screen.verifying .lock-tag{background:var(--teal)}.menu-count{margin-left:auto;min-width:22px;padding:1px 7px;border-radius:999px;background:#f59e0b;color:#1f1300;font-size:12px;font-weight:700;text-align:center}.policy{max-width:760px;margin:0 auto;padding:32px 20px 56px;display:grid;grid-gap:14px;gap:14px;font-size:16.5px;line-height:1.65}.policy h1{font-size:34px;letter-spacing:-.02em}.policy h2{font-size:20px;margin-top:18px}.policy ol,.policy ul{margin:0;padding-left:22px;display:grid;grid-gap:8px;gap:8px}.policy-date{color:var(--ink-soft);font-size:14.5px}.policy a:not(.btn){color:var(--accent)}.profile-bar{display:grid;grid-gap:12px;gap:12px;border-color:#bfe3df;background:linear-gradient(180deg,#f3fbfa,var(--surface))}.profile-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.profile-percent{font-size:30px;line-height:1;font-weight:800;color:var(--accent)}.profile-track{height:12px;border-radius:999px;background:#e3ecf0;overflow:hidden}.profile-track span{display:block;height:100%;border-radius:999px;background:linear-gradient(90deg,#0f766e,#0e7490 55%,#4338ca);transition:width .6s ease}.profile-bar>.btn-quiet{justify-self:start}.profile-list{list-style:none;margin:0;padding:0;display:grid;grid-gap:8px;gap:8px}.profile-list li{display:flex;align-items:center;gap:12px;padding:10px 12px;border:1px solid var(--line);border-radius:12px;background:var(--surface)}.profile-list li.done{background:#f6faf9}.profile-tick{flex:none;display:grid;place-items:center;width:24px;height:24px;border-radius:50%;border:2px solid #c5d3da;color:#fff}.profile-list li.done .profile-tick{background:#12855c;border-color:#12855c}.profile-what{flex:1 1;min-width:0;display:grid;grid-gap:2px;gap:2px}.profile-what small{color:var(--ink-soft);font-size:13.5px;line-height:1.4}@media (max-width:640px){.profile-list li{flex-wrap:wrap}}:root{--btn:#1b5fa8;--btn-hover:#154c86}.btn:not(.hero-primary):not(.hero-ghost),a.btn:not(.hero-primary):not(.hero-ghost){background:var(--btn);border:1px solid var(--btn);color:#fff;font-weight:600;box-shadow:none}.btn:not(.hero-primary):not(.hero-ghost):hover:not(:disabled){background:var(--btn-hover);border-color:var(--btn-hover);color:#fff;transform:none}.btn.btn-danger:not(.hero-primary):not(.hero-ghost),a.btn.btn-danger:not(.hero-primary):not(.hero-ghost){background:var(--danger);border-color:var(--danger);color:#fff}.btn.btn-danger:not(.hero-primary):not(.hero-ghost):hover:not(:disabled){background:#8f1f1b;border-color:#8f1f1b}.lock-strip .btn:not(.hero-primary){background:#fff;color:var(--danger);border-color:#fff}.section-tabs,.visit-tabs{display:flex;flex-wrap:wrap;gap:6px;margin:4px 0 14px}.section-tabs button,.shell .tabs button,.tabs button,.visit-tabs button{flex:0 1 auto;min-height:38px;padding:0 16px;margin:0;border-radius:8px;border:1px solid var(--btn);background:var(--btn);color:#fff;font-size:14px;font-weight:600;letter-spacing:.01em;cursor:pointer;white-space:nowrap;box-shadow:none;transition:background .12s ease}.section-tabs button:hover,.shell .tabs button:hover,.tabs button:hover,.visit-tabs button:hover{background:var(--btn-hover);border-color:var(--btn-hover);color:#fff}.section-tabs button[aria-selected=true],.shell .tabs button[aria-selected=true],.shell.console .tabs button[aria-selected=true],.tabs button[aria-selected=true],.visit-tabs button[aria-selected=true]{background:#0d3b6e;border-color:#0d3b6e;color:#fff;box-shadow:inset 0 -3px 0 #f5b301}.shell .tabs,.tabs{display:flex;flex-wrap:wrap;gap:6px;padding:0;background:none;border:0;border-radius:0}@media (max-width:760px){.section-tabs button,.shell .tabs button,.tabs button,.visit-tabs button{flex-grow:1;flex-shrink:1;flex-basis:calc(50% - 6px);padding:0 10px;font-size:13px;white-space:normal}}.letterhead.letterhead-centred{flex-direction:column;align-items:center;text-align:center;border-bottom:2px solid #1b5fa8;padding-bottom:10px}.letterhead.letterhead-centred>div{justify-items:center}.printable h1{font-size:1.4em;line-height:1.25}.printable h2{font-size:1.15em}.printable .letterhead b{font-size:1.25em}.printable .letterhead span{font-size:.95em}.campaign-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,420px),1fr));grid-gap:16px;gap:16px;align-items:stretch}.campaign-wide{grid-column:1/-1}.campaign-card{display:grid;grid-template-rows:auto auto auto 1fr auto;grid-gap:8px;gap:8px;padding:10px;background:var(--surface);border:2px solid var(--accent);border-radius:var(--radius)}.campaign-title{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:8px;padding:8px 10px;border:2px solid var(--warn);border-radius:8px;text-align:center}.campaign-title h2{margin:0;font-size:17px}.campaign-facts{margin:0;padding:8px 10px;border:2px solid var(--ok);border-radius:8px;display:grid;grid-gap:4px;gap:4px;font-size:13px}.campaign-facts div{display:grid;grid-template-columns:120px 1fr;grid-gap:8px;gap:8px}.campaign-facts dt{font-weight:650}.campaign-facts dd{margin:0}.campaign-subject{padding:8px 10px;border:2px solid var(--ok);border-radius:8px;font-size:14px;overflow-wrap:anywhere}.campaign-body{display:grid;grid-gap:8px;gap:8px;padding:10px;border:1px solid var(--line);border-radius:8px;min-height:280px;grid-template-rows:1fr auto}.campaign-text{white-space:pre-line;font-size:14px;max-height:300px;overflow:auto;overflow-wrap:anywhere}.campaign-actions{justify-content:center}.campaign-actions,.campaign-foot{display:flex;flex-wrap:wrap;gap:8px}.campaign-foot{justify-content:space-between;padding:6px 10px;border:1px solid var(--line);border-radius:8px;font-size:13px}@media (max-width:520px){.campaign-facts div{grid-template-columns:1fr;gap:0}}@media (pointer:coarse){.btn,.input,.tabs button,.visit-tabs button{min-height:44px}.btn-sm{min-height:38px;padding-inline:12px}.input,select,textarea{font-size:16px}.check input[type=checkbox],.check input[type=radio]{width:22px;height:22px;flex:none}.check{min-height:40px}.slot,.tooth,a,button{touch-action:manipulation;-webkit-tap-highlight-color:transparent}.shell .btn:hover:not(:disabled),.shell .list a:hover,.shell .stat:hover{transform:none}.side-nav a{min-height:44px}.icon-btn{width:44px;height:44px}.results button{padding:12px}.slot{min-height:44px}}@media (pointer:coarse),screen and (max-width:1366px){.chart-scroll svg{width:100%;max-width:1120px;min-width:640px;height:auto}}@media screen and (min-width:901px) and (max-width:1280px){.shell{grid-template-columns:216px minmax(0,1fr)}.shell .page{padding:18px 18px 32px}.shell .sheet .row{grid-template-columns:70px minmax(140px,1.3fr) minmax(90px,.9fr) minmax(110px,1fr) 142px minmax(250px,1.7fr);gap:10px;padding-inline:12px}.shell .sheet .row .tag{white-space:nowrap;margin-left:0}}@media screen and (min-width:600px) and (max-width:900px){.row{grid-template-columns:80px minmax(0,1fr) minmax(0,auto);column-gap:14px}.row>.cell{grid-column:2}.row>.actions{grid-column:3;grid-row:1/span 5;align-self:center;justify-content:flex-end;max-width:300px}.shell .page{padding:16px 18px 28px}.two{grid-template-columns:1fr 1fr}.tiles{grid-template-columns:repeat(3,minmax(0,1fr))}.section-tabs,.visit-tabs{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none;-webkit-overflow-scrolling:touch;padding-right:28px;mask-image:linear-gradient(90deg,#000 calc(100% - 36px),transparent);-webkit-mask-image:linear-gradient(90deg,#000 calc(100% - 36px),transparent)}.section-tabs::-webkit-scrollbar,.visit-tabs::-webkit-scrollbar{display:none}.section-tabs button,.visit-tabs button{flex:none;white-space:nowrap}}@media (display-mode:standalone){.mobile-bar{padding-top:max(8px,env(safe-area-inset-top))}.side{padding-top:env(safe-area-inset-top);padding-bottom:env(safe-area-inset-bottom)}.shell .page{padding-bottom:max(28px,env(safe-area-inset-bottom))}}:root{--brand-deep:#2B5F6E;--brand-deep-hover:#214B57;--brand-teal:#45939E;--brand-mint:#7FD1C5;--brand-navy:#152C38;--brand-soft:#EFF6F5;--accent:var(--brand-deep);--accent-soft:var(--brand-soft);--btn:var(--brand-deep);--btn-hover:var(--brand-deep-hover);--focus:0 0 0 3px rgba(43,95,110,0.35);font-family:Plus Jakarta Sans,system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif}body{background:linear-gradient(180deg,#eef6f5,#f3f6f8 320px);background-attachment:fixed}.btn-primary,.btn-primary:hover{background:var(--btn);border-color:var(--btn);box-shadow:none}.wordmark{font-weight:400;letter-spacing:-.01em;color:var(--brand-teal)}.wordmark b{font-weight:700;color:var(--brand-navy)}.brand-lockup{display:flex;align-items:center;justify-content:center;gap:12px;margin:0 auto 8px}.brand-lockup img{width:48px;height:48px}.brand-lockup .wordmark{font-size:30px;line-height:1}.mobile-bar,.side{background:var(--brand-navy)}.side .brand-mark{background:none;padding:0;height:32px;border-radius:0}.mobile-bar .wordmark,.side .wordmark{color:var(--brand-mint);font-size:21px}.mobile-bar .wordmark b,.side .wordmark b{color:#fff}.side .avatar,.side-clinic-mark{background:var(--brand-mint);color:var(--brand-navy)}.side-nav a[aria-current=page]{background:rgba(127,209,197,.16);color:#fff;box-shadow:inset 3px 0 0 var(--brand-mint)}.side-nav a[aria-current=page] .icon{color:var(--brand-mint)}.section-tabs button[aria-selected=true],.shell .tabs button[aria-selected=true],.tabs button[aria-selected=true],.visit-tabs button[aria-selected=true]{background:var(--brand-navy);border-color:var(--brand-navy);box-shadow:inset 0 -3px 0 var(--brand-mint)}.band,.hero,.report-link{background:linear-gradient(120deg,var(--brand-deep) 0,var(--brand-navy) 100%);box-shadow:0 10px 26px rgba(21,44,56,.22)}.panel-head h2:before,.section-title:before,.shell .card>h2:before,.shell .card>h3:first-child:before{background:var(--brand-teal)}.slot[aria-pressed=true]{background:var(--brand-deep)}.letterhead.letterhead-centred{border-bottom-color:var(--brand-deep)}@media screen{.shell .page>h1,.shell .toolbar:has(>h1){background:linear-gradient(120deg,var(--brand-deep) 0,var(--brand-navy) 100%);box-shadow:0 10px 26px rgba(21,44,56,.22)}}table.plain.compact{width:100%;table-layout:fixed;font-size:12.5px}table.plain.compact th{text-transform:none;letter-spacing:0;font-size:12px;-webkit-hyphens:manual;hyphens:manual}table.plain.compact td{overflow-wrap:anywhere}