:root{--s1:4px;--s2:8px;--s3:12px;--s4:16px;--s5:24px;--s6:32px;--s7:48px;--s8:72px;--gutter:clamp(16px, 4vw, 48px);--measure:64ch;--tap:44px;--sidebar:15rem;--topbar:56px;--tabbar:60px;--fs-display:clamp(1.9rem, 1.4rem + 2.2vw, 3rem);--fs-title:1.375rem;--fs-headline:1.0625rem;--fs-body:.9375rem;--fs-sub:.8125rem;--fs-caption:.75rem;--ok:#1f7a4d;--ok-soft:#e3f3ea;--warn:#9a5b00;--warn-soft:#fbefd9;--danger:#a3302a;--danger-soft:#f9e4e2;--info:#2b5c8a;--info-soft:#e3edf7;--ui:-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Noto Sans", Helvetica, Arial, sans-serif;--serif:"Iowan Old Style", "Palatino Linotype", Palatino, Georgia, "Noto Serif", serif;--mono:ui-monospace, "SF Mono", Menlo, Consolas, monospace;--lightningcss-light:initial;--lightningcss-dark: ;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--ground:#fbf8f2;--surface:#fff;--surface-2:#f5f0e7;--fill:#ede7db;--fill-strong:#e0d8c8;--line:#1d242224;--line-strong:#1d24224d;--ink:#1d2422;--ink-2:#4f5956;--muted:#6b7572;--accent:#0e6b63;--accent-hover:#0a5750;--accent-ink:#fff;--accent-soft:#e2efed;--focus:#0e6b63;--radius:10px;--radius-sm:6px;--radius-pill:999px;--shadow-1:0 1px 2px #1d24220f;--shadow-2:0 6px 24px #1d242214;--display:var(--serif);--display-weight:600;--display-track:-.012em;--body:var(--ui);--bar:#fbf8f2db}
*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;overflow-x:clip}html,body{background:var(--ground);margin:0;padding:0}body{color:var(--ink);font-family:var(--body);font-size:var(--fs-body);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;min-height:100dvh;line-height:1.5}h1,h2,h3,h4{font-family:var(--display);font-weight:var(--display-weight);letter-spacing:var(--display-track);color:var(--ink);text-wrap:balance;margin:0;line-height:1.15}h1{font-size:var(--fs-display)}h2{font-size:var(--fs-title)}h3{font-size:var(--fs-headline)}p{margin:0}a{color:var(--accent);text-underline-offset:2px;text-decoration-thickness:1px}img,svg,video{max-width:100%;height:auto;display:block}button,input,select,textarea{font:inherit;color:inherit}:focus-visible{outline:3px solid var(--focus);outline-offset:2px;border-radius:var(--radius-sm)}.visually-hidden{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;overflow:hidden;position:absolute!important}.skip-link{left:var(--s4);background:var(--surface);padding:var(--s2) var(--s4);z-index:100;border-radius:var(--radius-sm);box-shadow:var(--shadow-2);position:absolute;top:-100px}.skip-link:focus{top:var(--s4)}.eyebrow{font-size:var(--fs-caption);letter-spacing:.08em;text-transform:uppercase;color:var(--muted);font-weight:600}.muted{color:var(--muted)}.ink-2{color:var(--ink-2)}.sub{font-size:var(--fs-sub);color:var(--ink-2)}.lede{font-size:var(--fs-headline);color:var(--ink-2);max-width:var(--measure)}.measure{max-width:var(--measure)}.num{font-variant-numeric:tabular-nums}.money{font-variant-numeric:tabular-nums;font-weight:600}.big-number{font-family:var(--display);font-size:clamp(1.75rem,1.4rem + 1.6vw,2.5rem);font-weight:var(--display-weight);letter-spacing:var(--display-track);font-variant-numeric:tabular-nums;line-height:1.1}.container{width:100%;padding-left:var(--gutter);padding-right:var(--gutter)}.stack{gap:var(--s4);flex-direction:column;display:flex}.stack-sm{gap:var(--s2);flex-direction:column;display:flex}.stack-lg{gap:var(--s6);flex-direction:column;display:flex}.row{align-items:center;gap:var(--s3);flex-wrap:wrap;display:flex}.row-between{justify-content:space-between;align-items:center;gap:var(--s3);flex-wrap:wrap;display:flex}.grid{gap:var(--s4);grid-template-columns:repeat(auto-fill,minmax(min(100%,16rem),1fr));display:grid}.grid>*{min-width:0}.cols-2{gap:var(--s5);grid-template-columns:1fr;display:grid}@media (min-width:900px){.cols-2{grid-template-columns:1fr 1fr}.cols-2-wide{grid-template-columns:2fr 1fr}}.page-head{gap:var(--s2);padding-top:var(--s5);padding-bottom:var(--s4);flex-direction:column;display:flex}.page-head .row-between{align-items:flex-end}.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow-1);padding:var(--s4)}.card-lg{padding:var(--s5)}.card-accent{background:var(--accent-soft);border-color:#0000}.card-ghost{box-shadow:none;background:0 0;border-style:dashed}.group{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden}.group>*+*{border-top:1px solid var(--line)}.row-item{align-items:center;gap:var(--s3);padding:var(--s3) var(--s4);min-height:56px;color:inherit;text-align:left;background:0 0;border:0;width:100%;text-decoration:none;display:flex}.row-item:hover,.row-item:active{background:var(--surface-2)}.row-item .grow{flex:1;min-width:0}.row-item .title{font-weight:600;display:block}.row-item .second{font-size:var(--fs-sub);color:var(--ink-2);display:block}.row-item .chev{color:var(--muted);flex:none}.btn{justify-content:center;align-items:center;gap:var(--s2);min-height:var(--tap);padding:0 var(--s4);border-radius:var(--radius-pill);border:1px solid var(--line-strong);background:var(--surface);color:var(--ink);font-weight:600;font-size:var(--fs-body);cursor:pointer;white-space:nowrap;text-decoration:none;transition:background .12s,transform 80ms;display:inline-flex}.btn:hover{background:var(--surface-2)}.btn:active{transform:translateY(1px)}.btn:disabled,.btn[aria-disabled=true]{opacity:.55;cursor:not-allowed;transform:none}.btn-primary{background:var(--accent);border-color:var(--accent);color:var(--accent-ink)}.btn-primary:hover{background:var(--accent-hover);border-color:var(--accent-hover)}.btn-soft{background:var(--accent-soft);color:var(--accent);border-color:#0000}.btn-danger{background:var(--danger-soft);color:var(--danger);border-color:#0000}.btn-quiet{color:var(--accent);background:0 0;border-color:#0000}.btn-sm{min-height:36px;padding:0 var(--s3);font-size:var(--fs-sub)}.btn-hero{width:100%;min-height:56px;font-size:var(--fs-headline);border-radius:var(--radius);box-shadow:var(--shadow-2);font-weight:700}.btn-whatsapp{background:var(--ok);border-color:var(--ok);color:#fff}.btn-whatsapp:hover{background:#1a6a42;border-color:#1a6a42}.btn-row{gap:var(--s2);flex-wrap:wrap;display:flex}.field{gap:var(--s1);flex-direction:column;display:flex}.field>label,.field-label{font-size:var(--fs-sub);color:var(--ink-2);font-weight:600}.field .hint{font-size:var(--fs-caption);color:var(--muted)}.field .error,.form-error{font-size:var(--fs-sub);color:var(--danger)}.input,.field input:not([type=checkbox]):not([type=radio]),.field select,.field textarea{width:100%;min-height:var(--tap);padding:var(--s2) var(--s3);border:1px solid var(--line-strong);border-radius:var(--radius-sm);background:var(--surface);color:var(--ink)}.field input:focus,.field select:focus,.field textarea:focus,.input:focus{border-color:var(--accent);outline:3px solid var(--accent-soft);outline-offset:0}.field input[aria-invalid=true],.field textarea[aria-invalid=true],.field select[aria-invalid=true]{border-color:var(--danger)}.field textarea{resize:vertical;min-height:7rem}.field-row{gap:var(--s3);grid-template-columns:1fr;display:grid}@media (min-width:600px){.field-row{grid-template-columns:1fr 1fr}}.check{align-items:flex-start;gap:var(--s3);min-height:var(--tap);cursor:pointer;display:flex}.check input{width:22px;height:22px;accent-color:var(--accent);flex:none;margin-top:2px}.code-input{font-family:var(--mono);letter-spacing:.4em;text-align:center;font-size:1.5rem}.save-state{align-items:center;gap:var(--s2);font-size:var(--fs-sub);color:var(--muted);min-height:24px;display:inline-flex}.save-state[data-state=saved]{color:var(--ok)}.save-state[data-state=unsaved]{color:var(--warn)}.save-state[data-state=error]{color:var(--danger)}.save-state:before{content:"";background:currentColor;border-radius:50%;width:8px;height:8px}.pill{border-radius:var(--radius-pill);font-size:var(--fs-caption);letter-spacing:.02em;background:var(--fill);color:var(--ink-2);white-space:nowrap;align-items:center;gap:6px;padding:2px 10px;font-weight:600;display:inline-flex}.pill[data-status=REQUESTED]{background:var(--warn-soft);color:var(--warn)}.pill[data-status=CONFIRMED]{background:var(--info-soft);color:var(--info)}.pill[data-status=ARRIVED]{background:var(--accent-soft);color:var(--accent)}.pill[data-status=IN_PROGRESS]{background:var(--accent);color:var(--accent-ink)}.pill[data-status=COMPLETED],.pill[data-status=PAID],.pill[data-status=APPROVED],.pill[data-status=SENT]{background:var(--ok-soft);color:var(--ok)}.pill[data-status=CANCELLED],.pill[data-status=VOID],.pill[data-status=REFUSED]{background:var(--fill);color:var(--muted)}.pill[data-status=MISSED],.pill[data-status=FAILED]{background:var(--danger-soft);color:var(--danger)}.pill[data-status=PART_PAID],.pill[data-status=ISSUED],.pill[data-status=PENDING]{background:var(--warn-soft);color:var(--warn)}.notice{padding:var(--s3) var(--s4);border-radius:var(--radius-sm);background:var(--info-soft);color:var(--info);font-size:var(--fs-sub)}.notice[data-tone=ok]{background:var(--ok-soft);color:var(--ok)}.notice[data-tone=warn]{background:var(--warn-soft);color:var(--warn)}.notice[data-tone=danger]{background:var(--danger-soft);color:var(--danger)}.table-wrap{-webkit-overflow-scrolling:touch;border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);overflow-x:auto}table.table{border-collapse:collapse;width:100%;font-size:var(--fs-sub)}.table th,.table td{text-align:left;padding:var(--s3) var(--s4);border-top:1px solid var(--line);vertical-align:top}.table thead th{font-size:var(--fs-caption);text-transform:uppercase;letter-spacing:.06em;color:var(--muted);background:var(--surface-2);border-top:0;font-weight:600}.table td.num,.table th.num{text-align:right}.empty{text-align:center;padding:var(--s7) var(--s4);align-items:center;gap:var(--s3);flex-direction:column;display:flex}.empty .glyph{background:var(--accent-soft);width:56px;height:56px;color:var(--accent);border-radius:50%;place-items:center;display:grid}.stat{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:var(--s4);gap:var(--s1);box-shadow:var(--shadow-1);flex-direction:column;display:flex}.stat .big-number{margin-top:var(--s1)}.public-header{z-index:20;background:var(--bar);-webkit-backdrop-filter:saturate(180%)blur(16px);border-bottom:1px solid var(--line);position:sticky;top:0}.public-header-inner{justify-content:space-between;align-items:center;gap:var(--s3);min-height:64px;display:flex}.wordmark{align-items:center;gap:var(--s2);color:var(--ink);font-family:var(--display);font-weight:var(--display-weight);letter-spacing:var(--display-track);font-size:1.125rem;line-height:1.1;text-decoration:none;display:inline-flex}.wordmark small{font-family:var(--body);font-weight:500;font-size:var(--fs-caption);color:var(--ink-2);letter-spacing:.04em;display:block}.public-nav{gap:var(--s4);align-items:center;display:none}.public-nav a{color:var(--ink-2);padding:var(--s2) 0;font-weight:500;text-decoration:none}.public-nav a[aria-current=page]{color:var(--ink);border-bottom:2px solid var(--accent)}@media (min-width:820px){.public-nav{display:flex}}.public-actions{gap:var(--s2);align-items:center;display:flex}.public-footer{border-top:1px solid var(--line);padding:var(--s6) 0 var(--s8);color:var(--ink-2);font-size:var(--fs-sub)}.public-mobile-nav{gap:var(--s4);padding:var(--s2) 0 var(--s3);scrollbar-width:none;display:flex;overflow-x:auto}.public-mobile-nav::-webkit-scrollbar{display:none}.public-mobile-nav a{white-space:nowrap;color:var(--ink-2);font-weight:500;font-size:var(--fs-sub);padding:var(--s1) 0;text-decoration:none}.public-mobile-nav a[aria-current=page]{color:var(--ink);border-bottom:2px solid var(--accent)}@media (min-width:820px){.public-mobile-nav{display:none}}.whatsapp-float{right:var(--s4);bottom:calc(var(--s4) + env(safe-area-inset-bottom,0px));z-index:30;box-shadow:var(--shadow-2);border-radius:var(--radius-pill);position:fixed}.staff-shell{grid-template-rows:auto 1fr;grid-template-columns:minmax(0,1fr);min-height:100dvh;display:grid}.staff-top{z-index:20;background:var(--bar);-webkit-backdrop-filter:saturate(180%)blur(16px);border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:var(--s3);min-height:var(--topbar);padding:0 var(--gutter);display:flex;position:sticky;top:0}.staff-nav{gap:var(--s1);scrollbar-width:none;display:flex;overflow-x:auto}.staff-nav::-webkit-scrollbar{display:none}.staff-nav a{min-height:40px;padding:0 var(--s3);border-radius:var(--radius-sm);color:var(--ink-2);white-space:nowrap;align-items:center;font-weight:600;text-decoration:none;display:inline-flex}.staff-nav a[aria-current=page]{background:var(--accent-soft);color:var(--accent)}.staff-main{padding:0 var(--gutter) var(--s8)}@media (max-width:819px){.staff-top{padding-top:var(--s2);padding-bottom:var(--s2);flex-wrap:wrap}.staff-nav{flex:100%;order:3;min-width:0}.staff-who{flex-wrap:wrap;justify-content:flex-end;min-width:0;margin-left:auto}}.staff-who{align-items:center;gap:var(--s3);font-size:var(--fs-sub);color:var(--ink-2);display:flex}@media (min-width:1024px){.staff-shell{grid-template-columns:var(--sidebar) minmax(0, 1fr);grid-template-rows:1fr}.staff-top{border-bottom:0;border-right:1px solid var(--line);height:100dvh;padding:var(--s5) var(--s4);justify-content:flex-start;align-items:stretch;gap:var(--s5);background:var(--surface);-webkit-backdrop-filter:none;backdrop-filter:none;flex-direction:column;position:sticky;top:0}.staff-nav{gap:var(--s1);flex-direction:column}.staff-nav a{min-height:var(--tap);padding:0 var(--s3)}.staff-who{flex-direction:column;align-items:flex-start;margin-top:auto}}.patient-shell{min-height:100dvh;padding-bottom:calc(var(--tabbar) + env(safe-area-inset-bottom,0px) + var(--s4))}.patient-top{z-index:20;background:var(--bar);-webkit-backdrop-filter:saturate(180%)blur(16px);border-bottom:1px solid var(--line);min-height:var(--topbar);padding:0 var(--gutter);justify-content:space-between;align-items:center;display:flex;position:sticky;top:0}.patient-main{padding:0 var(--gutter);max-width:44rem;margin:0 auto}.tabbar{z-index:30;background:var(--bar);-webkit-backdrop-filter:saturate(180%)blur(16px);border-top:1px solid var(--line);min-height:var(--tabbar);padding-bottom:env(safe-area-inset-bottom,0px);grid-auto-columns:1fr;grid-auto-flow:column;display:grid;position:fixed;bottom:0;left:0;right:0}.tabbar a{min-height:52px;color:var(--muted);font-size:var(--fs-caption);flex-direction:column;justify-content:center;align-items:center;gap:2px;font-weight:600;text-decoration:none;display:flex}.tabbar a[aria-current=page]{color:var(--accent)}.tabbar svg{width:24px;height:24px}@media (min-width:820px){.tabbar{border:1px solid var(--line);border-radius:var(--radius) var(--radius) 0 0;border-bottom:0;max-width:44rem;margin:0 auto;left:50%;transform:translate(-50%)}}.hat-band{background:var(--warn-soft);color:var(--warn);border-bottom:1px solid var(--line);font-size:var(--fs-sub)}.hat-band-inner{justify-content:space-between;align-items:center;gap:var(--s3);min-height:40px;padding:var(--s1) var(--gutter);flex-wrap:wrap;display:flex}.hat-band strong{color:var(--ink)}.calendar{grid-template-columns:4rem repeat(var(--dentists,1), minmax(9rem, 1fr));border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);max-height:calc(100dvh - 220px);display:grid;overflow:auto}.calendar .head{background:var(--surface-2);border-bottom:1px solid var(--line);padding:var(--s2) var(--s3);font-size:var(--fs-sub);z-index:2;font-weight:600;position:sticky;top:0}.calendar .time{font-size:var(--fs-caption);color:var(--muted);padding:var(--s1) var(--s2);border-top:1px solid var(--line);text-align:right;min-height:48px}.calendar .slot{border-top:1px solid var(--line);border-left:1px solid var(--line);text-align:left;cursor:pointer;background:0 0;width:100%;min-height:48px;padding:2px}.calendar .slot:hover{background:var(--surface-2)}.calendar .slot.closed{background:repeating-linear-gradient(135deg, transparent 0 6px, var(--fill) 6px 7px);cursor:default}.appt{border-radius:var(--radius-sm);padding:var(--s1) var(--s2);font-size:var(--fs-caption);color:var(--ink);background:var(--accent-soft);border-left:3px solid var(--accent);line-height:1.3;text-decoration:none;display:block;overflow:hidden}.appt[data-status=REQUESTED]{background:var(--warn-soft);border-left-color:var(--warn);border-left-style:dashed}.appt[data-status=ARRIVED]{background:var(--info-soft);border-left-color:var(--info)}.appt[data-status=IN_PROGRESS]{background:var(--accent);color:var(--accent-ink)}.appt[data-status=COMPLETED]{background:var(--ok-soft);border-left-color:var(--ok)}.appt[data-status=CANCELLED],.appt[data-status=MISSED]{background:var(--fill);border-left-color:var(--muted);color:var(--muted);text-decoration:line-through}.appt b{font-weight:600;display:block}.odontogram{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:var(--s3)}.odontogram svg{width:100%;height:auto}.tooth{cursor:pointer;fill:var(--surface-2);stroke:var(--line-strong);stroke-width:1px}.tooth:hover,.tooth:focus{stroke:var(--accent);stroke-width:2px;outline:none}.tooth[data-selected=true]{stroke:var(--accent);stroke-width:2.5px}.tooth[data-condition=CARIES]{fill:var(--danger-soft)}.tooth[data-condition=FILLED],.tooth[data-condition=SEALANT]{fill:var(--info-soft)}.tooth[data-condition=CROWN],.tooth[data-condition=BRIDGE],.tooth[data-condition=VENEER],.tooth[data-condition=IMPLANT]{fill:var(--accent-soft)}.tooth[data-condition=ROOT_CANAL]{fill:var(--warn-soft)}.tooth[data-condition=MISSING],.tooth[data-condition=EXTRACTION_PLANNED]{fill:var(--fill-strong);stroke-dasharray:3 2}.tooth[data-condition=FRACTURED],.tooth[data-condition=MOBILE],.tooth[data-condition=IMPACTED]{fill:var(--danger-soft)}.tooth[data-condition=WATCH]{fill:var(--warn-soft)}.tooth-label{fill:var(--ink-2);pointer-events:none;text-anchor:middle;font-size:9px;font-family:var(--ui)}.tooth-legend{gap:var(--s2) var(--s4);font-size:var(--fs-caption);color:var(--ink-2);margin-top:var(--s3);flex-wrap:wrap;display:flex}.tooth-legend span:before{content:"";vertical-align:-1px;border:1px solid var(--line-strong);background:var(--surface-2);border-radius:3px;width:12px;height:12px;margin-right:6px;display:inline-block}.tooth-legend span[data-condition-legend=CARIES]:before,.tooth-legend span[data-condition-legend=FRACTURED]:before,.tooth-legend span[data-condition-legend=MOBILE]:before,.tooth-legend span[data-condition-legend=IMPACTED]:before{background:var(--danger-soft)}.tooth-legend span[data-condition-legend=FILLED]:before,.tooth-legend span[data-condition-legend=SEALANT]:before{background:var(--info-soft)}.tooth-legend span[data-condition-legend=CROWN]:before,.tooth-legend span[data-condition-legend=BRIDGE]:before,.tooth-legend span[data-condition-legend=VENEER]:before,.tooth-legend span[data-condition-legend=IMPLANT]:before{background:var(--accent-soft)}.tooth-legend span[data-condition-legend=ROOT_CANAL]:before,.tooth-legend span[data-condition-legend=WATCH]:before{background:var(--warn-soft)}.tooth-legend span[data-condition-legend=MISSING]:before,.tooth-legend span[data-condition-legend=EXTRACTION_PLANNED]:before{background:var(--fill-strong);border-style:dashed}.sheet-scrim{z-index:40;background:#0006;justify-content:center;align-items:flex-end;display:flex;position:fixed;inset:0}.sheet{background:var(--surface);border-radius:var(--radius) var(--radius) 0 0;width:100%;max-width:40rem;max-height:90dvh;padding:var(--s4) var(--gutter) calc(var(--s5) + env(safe-area-inset-bottom,0px));box-shadow:var(--shadow-2);overflow:auto}@media (min-width:820px){.sheet-scrim{align-items:center}.sheet{border-radius:var(--radius);padding:var(--s5)}}.sheet-head{margin-bottom:var(--s4);justify-content:space-between;align-items:center;display:flex}.divider{border:0;border-top:1px solid var(--line);margin:var(--s4) 0}.avatar{background:var(--accent-soft);width:36px;height:36px;color:var(--accent);font-weight:700;font-size:var(--fs-sub);border-radius:50%;flex:none;place-items:center;display:grid}.kv{gap:var(--s1) var(--s4);font-size:var(--fs-sub);grid-template-columns:max-content 1fr;display:grid}.kv dt{color:var(--muted)}.kv dd{margin:0}.timeline>*+*{border-top:1px solid var(--line);padding-top:var(--s3);margin-top:var(--s3)}.demo-band{background:var(--warn-soft);width:100%;color:var(--ink);font-size:var(--fs-caption);text-align:center;padding:var(--s1) var(--s3)}.demo-band a{color:inherit;text-decoration:underline}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}@media print{.staff-top,.tabbar,.public-header,.hat-band,.whatsapp-float,.no-print{display:none!important}body{background:#fff}}
.hero{padding:var(--s7) 0 var(--s6);gap:var(--s5);align-items:center;display:grid}@media (min-width:900px){.hero{padding:var(--s8) 0 var(--s7);grid-template-columns:1.1fr .9fr}}.hero h1{font-size:clamp(2.1rem,1.5rem + 3vw,3.6rem)}.hero .lede{font-size:clamp(1.0625rem,1rem + .4vw,1.25rem)}.hero-art{aspect-ratio:4/3;border-radius:var(--radius);background:var(--accent-soft);color:var(--accent);place-items:center;display:grid;position:relative;overflow:hidden}.hero-art img{object-fit:cover;width:100%;height:100%;display:block}.hero-facts{gap:var(--s5);font-size:var(--fs-sub);color:var(--ink-2);flex-wrap:wrap;display:flex}.hero-facts strong{color:var(--ink);font-size:var(--fs-headline);display:block}.section{padding:var(--s6) 0}.section+.section{border-top:1px solid var(--line)}.section-head{justify-content:space-between;align-items:flex-end;gap:var(--s3);margin-bottom:var(--s5);flex-wrap:wrap;display:flex}.service-card{gap:var(--s2);color:inherit;flex-direction:column;height:100%;text-decoration:none;display:flex}.service-card:hover{border-color:var(--line-strong);box-shadow:var(--shadow-2)}.service-card .price{color:var(--accent);font-variant-numeric:tabular-nums;margin-top:auto;font-weight:600}.dentist-card{gap:var(--s4);align-items:flex-start;display:flex}.dentist-card .photo{background:var(--accent-soft);width:84px;height:84px;color:var(--accent);font-family:var(--display);border-radius:50%;flex:none;place-items:center;font-size:1.5rem;display:grid;overflow:hidden}.dentist-card .photo img{object-fit:cover;width:100%;height:100%}.gallery{gap:var(--s3);grid-template-columns:repeat(auto-fill,minmax(min(100%,14rem),1fr));display:grid}.gallery figure{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);margin:0;overflow:hidden}.gallery img{aspect-ratio:4/3;object-fit:cover;width:100%}.gallery figcaption{padding:var(--s3) var(--s4);font-size:var(--fs-sub)}.hours-table{gap:var(--s2) var(--s5);font-variant-numeric:tabular-nums;grid-template-columns:max-content 1fr;display:grid}.hours-table .today{color:var(--accent);font-weight:700}.trust-row{gap:var(--s4);grid-template-columns:repeat(auto-fit,minmax(min(100%,12rem),1fr));display:grid}.trust-row .item{gap:var(--s3);align-items:flex-start;display:flex}.trust-row .item svg{color:var(--accent);flex:none}.cta-band{background:var(--accent);color:var(--accent-ink);border-radius:var(--radius);padding:var(--s6) var(--s5);gap:var(--s4);flex-direction:column;display:flex}.cta-band h2{color:inherit}.cta-band .btn{background:var(--surface);color:var(--accent);border-color:#0000}@media (min-width:820px){.cta-band{flex-direction:row;justify-content:space-between;align-items:center}}.prose{max-width:var(--measure);font-size:var(--fs-headline);line-height:1.65}.prose p+p{margin-top:var(--s4)}.book-form{max-width:36rem}.slot-grid{gap:var(--s2);grid-template-columns:repeat(auto-fill,minmax(5.5rem,1fr));display:grid}.slot-grid button{min-height:var(--tap);border:1px solid var(--line-strong);background:var(--surface);border-radius:var(--radius-sm);cursor:pointer;font-weight:600}.slot-grid button[aria-pressed=true]{background:var(--accent);color:var(--accent-ink);border-color:var(--accent)}.slot-grid button:disabled{opacity:.4;cursor:not-allowed;text-decoration:line-through}
.website-page .eyebrow,.website-page .muted,.website-page .field .hint,.public-footer .muted{color:var(--ink-2)}.website-page{padding-bottom:var(--s8)}.public-footer a,.public-mobile-nav a{min-height:var(--tap);align-items:center;display:inline-flex}.public-actions .btn-sm{min-height:var(--tap)}.cta-band p{color:inherit;max-width:var(--measure)}.website-hp{display:none}.website-actions{gap:var(--s3);flex-direction:column;max-width:22rem;display:flex}.service-card img,.website-ba img{aspect-ratio:4/3;object-fit:cover;border-radius:var(--radius-sm);background:var(--accent-soft);width:100%}.website-ba{gap:var(--s1);grid-template-columns:1fr 1fr;display:grid}.website-ba>*{min-width:0}.website-ba figcaption{padding:var(--s1) var(--s2)}.website-breadcrumb{padding-top:var(--s5)}.website-facts{gap:var(--s2);display:grid}.website-slot-group{border:0;min-width:0;margin:0;padding:0}.website-slot-group legend{margin-bottom:var(--s2);padding:0;font-weight:600}.website-hours-day{gap:var(--s2);padding:var(--s3) 0;border-top:1px solid var(--line);grid-template-columns:repeat(2,minmax(0,1fr));align-items:end;display:grid}.website-hours-day>*{min-width:0}.website-hours-day .day{grid-column:1/-1;font-weight:600}@media (min-width:720px){.website-hours-day{grid-template-columns:8rem repeat(4,minmax(0,1fr))}.website-hours-day .day{grid-column:auto;align-self:center}}.website-thumb{object-fit:cover;border-radius:var(--radius-sm);background:var(--accent-soft);flex:none;width:72px;height:54px}.website-thumb-lg{aspect-ratio:4/3;object-fit:cover;border-radius:var(--radius-sm);background:var(--accent-soft);width:100%;max-width:16rem}.website-subnav{gap:var(--s2);padding-bottom:var(--s4);flex-wrap:wrap;display:flex}.website-subnav a[aria-current=page]{background:var(--accent);border-color:var(--accent);color:var(--accent-ink)}.website-results{gap:var(--s1);margin:0;padding:0;list-style:none;display:grid}.website-consent-box{border-left:3px solid var(--accent);padding-left:var(--s4)}.website-row{gap:var(--s4);flex-wrap:wrap;align-items:flex-start;display:flex}.website-row>.grow{flex:14rem;min-width:0}.website-page .card,.website-page .field,.website-page .prose,.website-page dd{overflow-wrap:anywhere}.hours-table dt,.hours-table dd{margin:0}.website-editor-form{max-width:44rem}.hero>*,.cols-2>*,.website-grow{min-width:0}.website-service-image{aspect-ratio:4/3;object-fit:cover;border-radius:var(--radius);background:var(--accent-soft);width:100%;max-width:36rem}
.desk-row{flex-wrap:wrap}.desk-row>.grow{flex:14rem}.desk-rowbtn{color:inherit;font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;min-width:0;margin:0;padding:0}.desk-rowbtn .title{font-weight:600;display:block}.desk-rowbtn .second{font-size:var(--fs-sub);color:var(--ink-2);display:block}.desk-hits{max-height:16rem;overflow:auto}.desk-datebar h2{font-size:var(--fs-headline);text-align:center;min-width:11rem}.desk-date-input{width:auto}.calendar{overscroll-behavior:contain;position:relative}.calendar .desk-corner{z-index:3;left:0}.calendar .time{z-index:1;background:var(--surface);position:sticky;left:0}.calendar[data-today=true] .desk-colhead{background:var(--accent-soft);color:var(--accent)}.calendar .desk-slot{color:var(--muted);border-bottom:0;border-right:0;justify-content:center;align-items:center;display:flex}.desk-slot-plus{opacity:0;font-size:var(--fs-headline)}.calendar .desk-slot:hover .desk-slot-plus,.calendar .desk-slot:focus-visible .desk-slot-plus{opacity:1}.calendar .desk-appt,.desk-chip{font:inherit;font-size:var(--fs-caption);text-align:left;cursor:pointer;border-top:0;border-bottom:0;border-right:0}.calendar .desk-appt{z-index:1;place-self:stretch stretch;min-height:0;margin:2px}.desk-chip{min-width:9rem}.consent-choices{border:0;min-width:0;margin:0;padding:0}.consent-choices .check{min-height:var(--tap);align-items:center}
.chair-cols{gap:var(--s6);grid-template-columns:minmax(0,1fr);display:grid}.chair-cols>*{min-width:0}@media (min-width:1100px){.chair-cols{grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);align-items:start}}.chair-rows,.chair-list{margin:0;padding:0;list-style:none}.chair-list{gap:var(--s2);flex-direction:column;display:flex}.chair-row{padding:var(--s3) var(--s4);min-height:56px}.chair-row .grow,.chair-row-main{min-width:0;color:inherit;flex-direction:column;flex:1;text-decoration:none;display:flex}.chair-row-name{color:var(--ink);overflow-wrap:anywhere;font-weight:600;text-decoration:none}a.chair-row-name:hover{text-decoration:underline}.chair-row .pill{text-overflow:ellipsis;max-width:100%;overflow:hidden}.chair-odo-head{margin-bottom:var(--s3)}.odontogram .tooth text{stroke:none}.tooth:focus-visible{stroke:var(--focus);stroke-width:3px}.tooth-mark{fill:var(--ink-2);pointer-events:none;text-anchor:middle;font-size:7px;font-family:var(--ui)}.tooth-side{fill:var(--muted);font-size:9px;font-family:var(--ui);pointer-events:none}.chair-fieldset{border:0;min-width:0;margin:0;padding:0}.chair-choices{gap:var(--s2);margin-top:var(--s2);grid-template-columns:repeat(auto-fill,minmax(8.5rem,1fr));display:grid}.surface-view{align-items:center;gap:var(--s2);margin-top:var(--s2);flex-direction:column;display:flex}.surface-svg{touch-action:manipulation;width:100%;min-width:240px;max-width:320px;height:auto;display:block}.surface{cursor:pointer;outline:none}.surface polygon{fill:var(--surface);stroke:var(--line-strong);stroke-width:2px;stroke-linejoin:round}.surface:hover polygon{fill:var(--surface-2)}.surface[data-on=true] polygon{fill:var(--accent-soft);stroke:var(--accent);stroke-width:3px}.surface:focus-visible polygon{stroke:var(--focus);stroke-width:5px}.surface-letter{font-family:var(--ui);fill:var(--ink);pointer-events:none;-webkit-user-select:none;user-select:none;font-size:26px;font-weight:700}.surface[data-on=true] .surface-letter{fill:var(--accent)}.surface-words{color:var(--ink);text-align:center;margin:0;font-weight:600}.surface-hint{text-align:center;margin:0}.tooth-glyph polygon{fill:var(--surface);stroke:var(--line-strong);stroke-width:.5px;stroke-dasharray:none;pointer-events:none}.tooth-glyph polygon[data-on=true]{fill:var(--ink-2)}.tooth[data-condition=CARIES] .tooth-glyph polygon[data-on=true],.tooth[data-condition=FRACTURED] .tooth-glyph polygon[data-on=true],.tooth[data-condition=MOBILE] .tooth-glyph polygon[data-on=true],.tooth[data-condition=IMPACTED] .tooth-glyph polygon[data-on=true]{fill:var(--danger)}.tooth[data-condition=FILLED] .tooth-glyph polygon[data-on=true],.tooth[data-condition=SEALANT] .tooth-glyph polygon[data-on=true]{fill:var(--info)}.tooth[data-condition=CROWN] .tooth-glyph polygon[data-on=true],.tooth[data-condition=BRIDGE] .tooth-glyph polygon[data-on=true],.tooth[data-condition=VENEER] .tooth-glyph polygon[data-on=true],.tooth[data-condition=IMPLANT] .tooth-glyph polygon[data-on=true]{fill:var(--accent)}.tooth[data-condition=ROOT_CANAL] .tooth-glyph polygon[data-on=true],.tooth[data-condition=WATCH] .tooth-glyph polygon[data-on=true]{fill:var(--warn)}.chair-choice{min-height:var(--tap);padding:0 var(--s3);border-radius:var(--radius-sm);border:1px solid var(--line-strong);background:var(--surface);color:var(--ink);cursor:pointer;font-weight:600}.chair-choice:hover{background:var(--surface-2)}.chair-choice[aria-pressed=true]{background:var(--accent);border-color:var(--accent);color:var(--accent-ink)}.chair-note{border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--surface-2);padding:var(--s3) var(--s4);gap:var(--s2);flex-direction:column;display:flex}.chair-note-meta{font-weight:600}.chair-note-body{white-space:pre-wrap;overflow-wrap:anywhere}.chair-amendment{border-left:3px solid var(--warn);padding-left:var(--s3);gap:var(--s1);flex-direction:column;display:flex}.chair-amend-form{border-top:1px solid var(--line);padding-top:var(--s3)}.chair-thumbs{gap:var(--s3);grid-template-columns:repeat(auto-fill,minmax(9rem,1fr));display:grid}.chair-thumb{gap:var(--s1);flex-direction:column;min-width:0;margin:0;display:flex}.chair-thumb img{aspect-ratio:4/3;object-fit:cover;border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--surface-2);width:100%}
.money-cols{gap:var(--s5);grid-template-columns:minmax(0,1fr);align-items:start;display:grid}.money-cols>*{min-width:0}@media (min-width:900px){.money-cols{grid-template-columns:minmax(0,2fr) minmax(0,1fr)}}.money-balance{gap:var(--s1);flex-direction:column;display:flex}.money-balance .big-number{font-size:clamp(2rem,1.5rem + 2vw,3rem)}.money-chips{gap:var(--s2);flex-wrap:wrap;display:flex}.money-chips a{min-height:var(--tap);padding:0 var(--s4);border-radius:var(--radius-pill);border:1px solid var(--line-strong);background:var(--surface);color:var(--ink-2);align-items:center;font-weight:600;text-decoration:none;display:inline-flex}.money-chips a[aria-current=true]{background:var(--accent-soft);color:var(--accent);border-color:#0000}.money-filter{gap:var(--s2);flex-wrap:wrap;align-items:flex-end;display:flex}.money-filter .field{flex:12rem}.money-reveal{font-family:var(--mono);letter-spacing:.04em;color:var(--ink);background:var(--surface);border-radius:var(--radius-sm);padding:var(--s3);margin:var(--s2) 0;word-break:break-all;-webkit-user-select:all;user-select:all;font-size:1.25rem}.money-strike{color:var(--muted);text-decoration:line-through}.money-meta{gap:var(--s1) var(--s4);color:var(--ink-2);font-size:var(--fs-sub);flex-wrap:wrap;display:flex}.money-pay-row{justify-content:space-between;align-items:flex-start;gap:var(--s3);padding:var(--s3) var(--s4);flex-wrap:wrap;display:flex}.money-pay-row>*{min-width:0}
.portal-page{gap:var(--s5);padding-top:var(--s5);padding-bottom:var(--s6);flex-direction:column;display:flex}.portal-page>*{min-width:0}.portal-title{gap:var(--s1);flex-direction:column;display:flex}.portal-next h2{margin:var(--s1) 0}.portal-owe{justify-content:space-between;align-items:center;gap:var(--s3);display:flex}.portal-summary-text{white-space:pre-wrap;overflow-wrap:anywhere}.portal-photos{gap:var(--s3);grid-template-columns:repeat(auto-fill,minmax(9rem,1fr));display:grid}.portal-photos a,.portal-photos img{border-radius:var(--radius-sm);width:100%;display:block}.portal-photos img{aspect-ratio:4/3;object-fit:cover;background:var(--fill)}.portal-money{font-variant-numeric:tabular-nums;white-space:nowrap;font-weight:600}.portal-row-end{align-items:flex-end;gap:var(--s1);flex-direction:column;flex:none;display:flex}.portal-slots{gap:var(--s4);flex-direction:column;display:flex}.portal-slot-group{gap:var(--s2);flex-direction:column;display:flex}.portal-slot-group h3{font-size:var(--fs-body)}.portal-done{text-align:center;align-items:center}

