.chart{max-width:1180px;color:var(--ink);margin:0 auto;padding:28px 24px 48px}.chart .muted{color:var(--muted)}.chart-header{flex-wrap:wrap;align-items:center;gap:14px 24px;margin-bottom:18px;animation:.4s backwards rise;display:flex}.chart-id{flex-wrap:wrap;flex:1;align-items:baseline;gap:6px 14px;min-width:0;display:flex}.chart-id h1{letter-spacing:-.025em;margin:0;font-size:34px;font-weight:520;line-height:1.1}.chart-id>.muted{font-size:14px}.chart .badge{color:#fff;background:var(--chrome-2);letter-spacing:.04em;border-radius:6px;padding:3px 8px;font-size:11px;font-weight:700;text-decoration:none}.chart-care{border:1px solid var(--line);background:var(--surface);box-shadow:var(--shadow);border-radius:999px;align-items:center;gap:16px;margin:0;padding:6px 14px;font-size:13px;font-weight:600;display:flex}.chart-care legend{clip-path:inset(50%);width:1px;height:1px;position:absolute;overflow:hidden}.chart-care label{cursor:pointer;align-items:center;gap:7px;display:inline-flex}.chart-care input{accent-color:var(--accent);width:15px;height:15px}.chart a.button{font:inherit;border:1px solid var(--line);background:var(--surface);color:var(--ink);white-space:nowrap;border-radius:999px;padding:10px 18px;font-size:13.5px;font-weight:700;text-decoration:none}.chart a.button.primary{background:linear-gradient(180deg, #138075, var(--accent));border-color:var(--accent-ink);color:#fff;box-shadow:inset 0 1px #fff3,0 8px 20px -10px #0f6b62b3}.chart a.button.primary:hover{filter:brightness(1.06)}.chart-tabs{background:var(--canvas-deep);border-radius:999px;flex-wrap:wrap;gap:2px;width:fit-content;max-width:100%;margin-bottom:22px;padding:5px;display:flex;box-shadow:inset 0 1px 2px #15211f0f}.chart-tabs a{color:var(--muted);border-radius:999px;padding:8px 16px;font-size:13.5px;font-weight:650;text-decoration:none;transition:color .15s,background .15s}.chart-tabs a:hover{color:var(--ink)}.chart-tabs a.active{color:var(--ink);background:var(--surface);box-shadow:0 1px 2px #15211f14,0 4px 12px -6px #15211f33}.chart-grid{grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:16px;display:grid}.chart-grid>.error-note{grid-column:1/-1}.chart-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);padding:20px 22px;font-size:14px;animation:.45s backwards rise}.chart-grid>.chart-card:nth-child(2){animation-delay:50ms}.chart-grid>.chart-card:nth-child(3){animation-delay:.1s}.chart-grid>.chart-card:nth-child(4){animation-delay:.15s}.chart-grid>.chart-card:nth-child(5){animation-delay:.2s}.chart-card h2{margin:0 0 10px;font-size:20px}.chart-card p{margin:4px 0}.chart-list{font-variant-numeric:tabular-nums;flex-direction:column;gap:6px;margin:0;padding:0;list-style:none;display:flex}.plan-row{align-items:baseline;gap:10px;display:flex}.plan-row .amount{font-variant-numeric:tabular-nums;margin-left:auto}.chart progress{width:100%;accent-color:var(--accent)}.chart .balance{font-family:var(--font-display);font-variant-numeric:tabular-nums;letter-spacing:-.02em;font-size:30px;font-weight:560}.chart .error-note{background:var(--coral-soft);color:#a63d27;border-radius:var(--radius-sm);margin:0;padding:8px 12px}.callout{border-radius:var(--radius-sm);background:var(--canvas);color:var(--muted);border:1px dashed var(--line-strong);align-items:center;gap:10px;padding:10px 14px;font-size:13px;display:flex;margin:16px 0 0!important}.callout svg{width:17px;height:17px;color:var(--accent);flex:none}.chart{--red:#dc2626;--red-fill:#f87171;--blue:#2563eb;--blue-fill:#60a5fa;--tooth-edge:#9aa5b1}.general{flex-direction:column;gap:14px;display:flex}.general .chart-card>.error-note,.general>.error-note{margin-bottom:8px}.general-grid{grid-template-columns:minmax(0,1fr) 360px;align-items:start;gap:16px;display:grid}.general-side{flex-direction:column;gap:16px;min-width:0;display:flex}@media (width<=1040px){.general-grid{grid-template-columns:1fr}}.card-head{flex-wrap:wrap;align-items:center;gap:8px 16px;margin-bottom:12px;display:flex}.card-head h2{align-items:center;gap:10px;margin:0;display:flex}.card-head>.muted:last-child,.card-head>.seg,.card-head>button{margin-left:auto}.tooth-panel{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft), var(--shadow)}.tooth-chip.big{min-width:34px;height:34px;font-size:15px}.kind-filter{flex-wrap:wrap}.chart .kind-filter button{align-items:center;gap:6px;padding:5px 12px;font-size:12.5px;display:inline-flex}.kind-filter .n{color:var(--faint);font-variant-numeric:tabular-nums;font-size:11px;font-weight:800}.kind-filter button[aria-pressed=true] .n{color:var(--accent)}.table-scroll{overflow-x:auto}.tooth-chart{max-width:820px;margin:0 auto}.tooth-chart-sides{text-transform:uppercase;letter-spacing:.06em;justify-content:space-between;font-size:11px;display:flex}.tooth-chart svg{width:100%;height:auto;display:block}.tooth-chart .guide{stroke:var(--line);stroke-dasharray:3 4}.tooth{cursor:pointer;outline:none}.tooth polygon{fill:#fff;stroke:var(--tooth-edge);stroke-width:1px;stroke-linejoin:round}.tooth .ring{fill:#0000;stroke:#0000;stroke-width:2px}.tooth:hover .ring{fill:var(--canvas);stroke:var(--line)}.tooth.selected .ring{fill:var(--accent-soft);stroke:var(--accent)}.tooth:focus-visible .ring{stroke:var(--accent);stroke-dasharray:4 3}.tooth .num{fill:var(--muted);text-anchor:middle;font-variant-numeric:tabular-nums;font-size:12px}.tooth.selected .num{fill:var(--accent);font-weight:700}.tooth.missing polygon{fill:var(--canvas);stroke:#c9d1db}.tooth.missing .num{text-decoration:line-through}.cross{stroke:#475569;stroke-width:2px;stroke-linecap:round;fill:none}.chart .k-condition{fill:var(--red-fill);stroke:var(--red);stroke-width:1.5px}.chart .k-planned{fill:#fff;stroke:var(--red);stroke-width:2.5px}.chart .k-completed{fill:var(--blue-fill);stroke:var(--blue);stroke-width:1.5px}.chart .k-existing{fill:#fff;stroke:var(--blue);stroke-width:2.5px}.chart .blank{fill:var(--canvas);stroke:#c9d1db}.chart-legend{flex-wrap:wrap;justify-content:center;gap:6px 18px;margin:10px 0 0;padding:0;font-size:12.5px;list-style:none;display:flex}.chart-legend li{align-items:center;gap:6px;display:inline-flex}.kind-tag{white-space:nowrap;align-items:center;gap:5px;display:inline-flex}.tooth-panel h2{font-size:17px}.tooth-entries{margin-bottom:12px;font-size:13px}.chart .code{color:var(--muted);font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12px}.entry-form{border-top:1px solid var(--line);flex-direction:column;gap:12px;padding-top:12px;display:flex}.entry-form fieldset{border:0;min-width:0;margin:0;padding:0}.entry-form legend,.entry-form label{color:var(--muted);font-size:12px;font-weight:600}.entry-form legend{margin-bottom:6px;padding:0}.kind-picker{grid-template-columns:1fr 1fr;gap:6px;display:grid}.kind-picker legend{grid-column:1/-1}.kind-picker label{border:1px solid var(--line);color:var(--ink);cursor:pointer;background:var(--surface);border-radius:8px;align-items:center;gap:7px;padding:7px 9px;font-size:13px;font-weight:550;display:flex}.kind-picker label.checked{border-color:var(--accent);background:var(--accent-soft);box-shadow:inset 0 0 0 1px var(--accent)}.kind-picker input{opacity:0;width:1px;height:1px;position:absolute}.kind-picker label:has(input:focus-visible){outline:2px solid var(--accent);outline-offset:2px}.code-picker{flex-direction:column;gap:6px;display:flex}.entry-form input[type=search],.entry-form input[type=text],.entry-form select{font:inherit;color:var(--ink);border:1px solid var(--line);background:var(--surface);border-radius:8px;padding:6px 9px;font-size:13.5px}.entry-form select{padding:4px}.entry-form select option{border-radius:4px;padding:4px 6px}.entry-form select optgroup{color:var(--muted);font-size:11px;font-weight:600}.entry-form .note{flex-direction:column;gap:6px;display:flex}.entry-form .hint{margin:4px 0 0;font-size:12px}.surfaces{flex-direction:column;align-items:center;display:flex}.surfaces legend{align-self:flex-start}.surface-picker g{cursor:pointer;outline:none}.surface-picker polygon{fill:#fff;stroke:var(--tooth-edge);stroke-width:1.5px;stroke-linejoin:round}.surface-picker g:hover polygon{fill:var(--canvas)}.surface-picker g.on polygon{fill:var(--accent-soft);stroke:var(--accent);stroke-width:2.5px}.surface-picker g:focus-visible polygon{stroke:var(--accent);stroke-dasharray:5 3;stroke-width:2.5px}.surface-picker g.on{paint-order:stroke}.surface-picker text{fill:var(--muted);text-anchor:middle;dominant-baseline:central;pointer-events:none;font-size:15px;font-weight:650}.surface-picker g.on text{fill:var(--accent)}.surface-picker.disabled g{cursor:not-allowed}.surface-picker.disabled polygon{fill:var(--canvas);stroke:#d5dbe3}.surface-picker.disabled text{fill:#c3cad3}.chart button{font:inherit;border:1px solid var(--line-strong);background:var(--surface);color:var(--ink);cursor:pointer;white-space:nowrap;border-radius:999px;padding:7px 14px;font-size:13px;font-weight:650;transition:background .15s,border-color .15s,filter .15s}.chart button:hover:not(:disabled){border-color:var(--faint);background:var(--canvas)}.chart button:disabled{opacity:.45;cursor:not-allowed}.chart button.primary{background:linear-gradient(180deg, #138075, var(--accent));border-color:var(--accent-ink);color:#fff;padding:8px 16px;box-shadow:inset 0 1px #fff3,0 6px 16px -10px #0f6b62cc}.chart button.primary:hover:not(:disabled){background:linear-gradient(180deg, #138075, var(--accent));filter:brightness(1.07)}.chart button.danger{background:var(--coral);color:#fff;border-color:#b9503a}.chart button.quiet{color:var(--muted);background:0 0;border-color:#0000}.entry-table{border-collapse:collapse;width:100%;font-size:13.5px}.entry-table th{white-space:nowrap;text-align:left;color:var(--muted);text-transform:uppercase;letter-spacing:.04em;border-bottom:1px solid var(--line);padding:0 8px 6px;font-size:11px;font-weight:600}.entry-table td{border-bottom:1px solid var(--line);vertical-align:middle;padding:10px 8px}.entry-table tbody tr:hover td{background:var(--canvas)}.entry-table tbody tr:last-child td{border-bottom:0}.entry-table tr.sel td{background:var(--accent-soft)}.entry-table .num,.entry-table .date{font-variant-numeric:tabular-nums;white-space:nowrap}.entry-table .num{font-weight:650}.entry-table .note{margin-top:2px;font-size:12px}.entry-table .actions{text-align:right;white-space:nowrap}.entry-table .actions button+button{margin-left:6px}.chart .sr{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.entry-table .surf{color:var(--muted);margin-left:2px;font-weight:500}.plans-head{justify-content:space-between;align-items:center;gap:12px;margin-bottom:8px;display:flex}.plans-head h2{margin:0;font-size:24px}.plan-cards{flex-direction:column;gap:10px;margin:14px 0 0;padding:0;list-style:none;display:flex}.chart button.plan-card{text-align:left;border:1px solid var(--line);background:var(--surface);white-space:normal;border-radius:14px;align-items:center;gap:14px;width:100%;padding:14px 16px;transition:transform .15s,box-shadow .15s,border-color .15s;display:flex}.chart button.plan-card:hover:not(:disabled){background:var(--surface);border-color:var(--line-strong);box-shadow:var(--shadow-lift);transform:translateY(-1px)}.plan-card-main{flex-direction:column;flex:1;gap:3px;min-width:0;font-size:13px;display:flex}.plan-card-title{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.plan-card-title strong{font-family:var(--font-display);font-size:18px;font-weight:560}.plan-card-amount{font-family:var(--font-display);font-variant-numeric:tabular-nums;letter-spacing:-.01em;font-size:22px;font-weight:560}.doc-go{width:28px;height:28px;color:var(--faint);border-radius:50%;place-items:center;transition:background .15s,color .15s;display:grid}.doc-go svg{width:16px;height:16px}.plan-card:hover .doc-go,.doc-row:hover .doc-go{background:var(--accent-soft);color:var(--accent)}.chart button.back-link{align-items:center;gap:4px;margin-bottom:10px;padding:4px 10px 4px 4px;font-weight:650;display:inline-flex}.back-link svg{width:16px;height:16px}.plan-title{align-items:center;gap:14px;margin-bottom:18px;display:flex}.plan-title h2{align-items:center;gap:12px;margin:0;font-size:28px;display:flex}.plan-title p{margin:2px 0 0;font-size:13px}.plan-table th.fee,.plan-table td.fee{text-align:right}.plan-table td{vertical-align:middle;padding:12px 8px}.plan-table tbody tr{transition:background .12s}.plan-table tbody tr:hover td{background:var(--canvas)}.tooth-chip{background:var(--accent-soft);min-width:30px;height:30px;color:var(--accent-ink);font-variant-numeric:tabular-nums;border-radius:9px;place-items:center;padding:0 6px;font-size:13px;font-weight:800;display:inline-grid}.plan-table .fee{font-weight:700}.plan-total{font-variant-numeric:tabular-nums;border-top:2px solid var(--ink);justify-content:flex-end;align-items:baseline;gap:16px;padding:14px 8px 0;display:flex;margin:14px 0 0!important}.plan-total span{text-transform:uppercase;letter-spacing:.09em;color:var(--muted);font-size:12px;font-weight:700}.plan-total strong{font-family:var(--font-display);font-size:28px;font-weight:560}.plan-form label{margin-bottom:10px;font-size:13px;display:block}.plan-form input[type=text],.plan-form input:not([type]){width:100%;max-width:360px;font:inherit;border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--surface);margin-top:4px;padding:8px 10px;display:block}.plan-form fieldset{border:1px solid var(--line);border-radius:var(--radius-sm);margin:0 0 10px;padding:8px 14px}.plan-form legend{color:var(--muted);padding:0 4px;font-size:11px}.plan-form .plan-pick{align-items:baseline;gap:8px;margin:6px 0;display:flex}.plan-actions{gap:8px;margin-top:16px;display:flex}.doc-group+.doc-group{margin-top:22px}.doc-group h2{align-items:center;gap:8px;margin:0 0 10px;display:flex}.doc-count{background:var(--canvas-deep);color:var(--ink-2);letter-spacing:0;border-radius:999px;padding:1px 7px;font-size:11px}.doc-list{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.chart .doc-row{width:100%;font:inherit;text-align:left;white-space:normal;cursor:default;border:1px solid var(--line);color:var(--ink);background:var(--surface);border-radius:14px;align-items:center;gap:14px;padding:12px 14px;text-decoration:none;transition:transform .15s,box-shadow .15s,border-color .15s;display:flex}:is(a,button).doc-row{cursor:pointer}.chart :is(a,button).doc-row:hover{background:var(--surface);border-color:var(--line-strong);box-shadow:var(--shadow-lift);transform:translateY(-1px)}.doc-main{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.doc-title{flex-wrap:wrap;align-items:center;gap:10px;font-size:14.5px;font-weight:700;display:flex}.doc-sub{color:var(--muted);font-variant-numeric:tabular-nums;font-size:12.5px}.doc-date{color:var(--ink-2);font-variant-numeric:tabular-nums;white-space:nowrap;font-size:13px;font-weight:600}.ledger-grid{grid-template-columns:minmax(280px,1.4fr) repeat(2,minmax(200px,1fr));gap:14px;display:grid}@media (width<=860px){.ledger-grid{grid-template-columns:1fr}}.ledger-hero{color:#f3efe7;background:radial-gradient(140% 120% at 100% 0%, #1f4a45, var(--chrome) 60%);box-shadow:var(--shadow-lift);border-radius:14px;flex-direction:column;align-items:flex-start;gap:6px;padding:22px 24px;display:flex;position:relative;overflow:hidden}.ledger-hero:after{content:"";background:radial-gradient(circle,#f6d9b838,#0000 70%);border-radius:50%;width:180px;height:180px;position:absolute;bottom:-60px;right:-40px}.ledger-hero .eyebrow{color:#f3efe7a6}.ledger-amount{font-family:var(--font-display);letter-spacing:-.03em;font-variant-numeric:tabular-nums;font-size:46px;font-weight:500;line-height:1.05}.ledger-hero.due .ledger-amount{color:#fbd2c3}.ledger-hero .pill{margin-top:6px}.stat-tile{border:1px solid var(--line);background:linear-gradient(180deg, var(--surface), #fbf8f2);border-radius:14px;flex-direction:column;gap:4px;padding:18px 20px;display:flex}.stat-tile .icon-tile{margin-bottom:8px}.stat-value{font-family:var(--font-display);font-variant-numeric:tabular-nums;letter-spacing:-.01em;font-size:26px;font-weight:560}.stat-value.muted{font-family:var(--font-ui);font-size:15px;font-weight:600}.stat-sub{color:var(--muted);font-size:12.5px}.perio-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.perio-head h2{margin:0}.perio-legend{font-size:12px}.perio-arch h3{color:var(--muted);text-transform:uppercase;letter-spacing:.04em;margin:10px 0 4px;font-size:12px}.perio-row{flex-wrap:nowrap;padding-bottom:4px;display:flex;overflow-x:auto}.perio-half{flex:1 1 0;min-width:0;padding:0 10px}.perio-half:first-child{padding-left:0}.perio-half+.perio-half{border-left:2px dashed var(--line-strong)}.perio-side{margin-bottom:4px;font-size:11px;display:block}.perio-teeth{grid-template-columns:repeat(8,minmax(56px,1fr));gap:4px;display:grid}.perio-none{text-align:center;flex:1;align-self:stretch;place-items:center;width:100%;display:grid}.perio-tooth{border:1px solid var(--line);background:var(--surface);border-radius:9px;flex-direction:column;align-items:center;gap:3px;padding:5px 2px;display:flex}.perio-tooth .num{color:var(--muted);font-size:12px}.perio-group{gap:2px;display:flex}.perio-site{text-align:center;font-variant-numeric:tabular-nums;border-radius:4px;width:17px;font-size:12px;position:relative}.perio-site.deep{color:#991b1b;background:#fee2e2;outline:1px solid #fca5a5;font-weight:800}.perio-site.bleed:after{content:"";background:var(--red);border-radius:50%;width:5px;height:5px;position:absolute;top:-2px;right:-2px}.ortho{flex-direction:column;gap:14px;display:flex}.ortho-facts{flex-wrap:wrap;gap:24px;margin:0 0 8px;display:flex}.ortho-facts dt{color:var(--muted);text-transform:uppercase;letter-spacing:.04em;font-size:11px}.ortho-facts dd{margin:0;font-weight:600}.ortho-progress{align-items:center;gap:10px;display:flex}.ortho-progress progress{flex:1;max-width:360px;height:10px}.visits .visit{border-bottom:1px solid var(--line);flex-wrap:wrap;align-items:baseline;gap:4px 12px;padding:8px 0;display:flex}.visit-notes{flex-basis:100%}.visit-form{grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:10px;margin-bottom:12px;display:grid}.visit-form label{color:var(--muted);flex-direction:column;gap:4px;font-size:12px;font-weight:600;display:flex}.visit-form input,.visit-form select,.visit-form textarea{font:inherit;color:var(--ink);border:1px solid var(--line);background:var(--surface);border-radius:8px;padding:6px 8px;font-size:13.5px}.visit-form .error-note,.visit-form .plan-actions{grid-column:1/-1}.photo-series h3{margin:10px 0 6px;font-size:13px}.photo-grid{grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:8px;display:grid}.chart button.thumb{white-space:normal;border-radius:12px;flex-direction:column;align-items:center;gap:6px;padding:6px;font-size:12px;display:flex}.chart button.thumb.xray{width:100%;max-width:none}.thumb img{aspect-ratio:4/3;object-fit:cover;background:var(--canvas);border-radius:6px;width:100%}.chart button.thumb.cbct,.chart button.thumb.xray{max-width:320px}.note-form{flex-direction:column;gap:8px;margin-bottom:16px;display:flex}.note-form label{flex-direction:column;display:flex}.note-form textarea{font:inherit;color:var(--ink);resize:vertical;border:1px solid var(--line-strong);border-radius:var(--radius-sm);background:var(--surface);min-height:56px;padding:10px 12px;font-size:13.5px}.note-form button{align-self:flex-end}.chart-list.notes{gap:0}.notes li{border-left:2px solid var(--line);padding:0 0 14px 18px;position:relative}.notes li:last-child{padding-bottom:0}.notes li:before{content:"";background:var(--surface);border:2px solid var(--accent);border-radius:50%;width:10px;height:10px;position:absolute;top:3px;left:-6px}.notes li>.muted{font-size:12px;font-weight:650}.notes .note-body{white-space:pre-wrap;overflow-wrap:anywhere;margin:3px 0 0;font-size:13.5px;line-height:1.5}.lightbox{-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);z-index:50;background:#0a1615c7;place-items:center;padding:16px;animation:.2s backwards rise;display:grid;position:fixed;inset:0}.lightbox figure{background:var(--surface);border-radius:18px;width:min(980px,100%);margin:0;padding:14px;box-shadow:0 30px 80px -20px #0009}.lightbox-stage{background:#0f1716;border-radius:12px;place-items:center;display:grid;position:relative;overflow:hidden}.lightbox img{max-width:100%;max-height:68vh;margin:0 auto;display:block}.lightbox figcaption{justify-content:space-between;align-items:center;gap:12px;margin-top:12px;font-size:14px;display:flex}.chart button.lb-nav{width:42px;height:42px;color:var(--ink);background:#fffdf9e0;border:0;border-radius:50%;place-items:center;padding:0;display:grid;position:absolute;top:50%;transform:translateY(-50%);box-shadow:0 6px 18px -6px #00000080}.chart button.lb-nav:hover:not(:disabled){background:#fff}.lb-nav svg{width:20px;height:20px}.lb-nav.prev{left:12px}.lb-nav.next{right:12px}.lb-strip{gap:8px;margin-top:12px;padding-bottom:2px;display:flex;overflow-x:auto}.chart .lb-strip button{opacity:.6;background:0 0;border:2px solid #0000;border-radius:10px;flex:none;width:84px;padding:0;overflow:hidden}.chart .lb-strip button.on,.chart .lb-strip button:hover:not(:disabled){opacity:1;border-color:var(--accent);background:0 0}.lb-strip img{aspect-ratio:4/3;object-fit:cover;width:100%;max-height:none}.chart-list a{color:var(--accent);text-decoration:none}.chart-list a:hover,.chart-list a:focus-visible{text-decoration:underline}.chart-grid .chart-card{padding:16px 18px}.chart-grid .chart-card h2{text-transform:uppercase;letter-spacing:.04em;color:var(--muted);margin-bottom:12px;font-size:13px;font-weight:650}.chart .small{font-size:13px}.appt-list{margin:0;padding:0;list-style:none}.appt-row{align-items:center;gap:12px;padding:8px 0;display:flex}.appt-row+.appt-row{border-top:1px solid var(--line)}.appt-main{flex-direction:column;gap:2px;min-width:0;display:flex}.date-chip{background:var(--canvas);border:1px solid var(--line);border-radius:8px;flex-direction:column;flex:none;align-items:center;width:44px;padding:4px 0;line-height:1.1;display:flex}.date-chip .m{text-transform:uppercase;letter-spacing:.05em;color:var(--muted);font-size:10px;font-weight:650}.date-chip .d{font-variant-numeric:tabular-nums;font-size:18px;font-weight:700}.date-chip.upcoming{background:var(--accent-soft,#e6f4f2);border-color:#0000}.date-chip.upcoming .m,.date-chip.upcoming .d{color:var(--accent)}.ov-head{align-items:center;gap:8px;font-size:15px;display:flex}.ov-pct{align-items:baseline;gap:8px;display:flex;margin-top:10px!important}.ov-pct .big{color:var(--accent);font-variant-numeric:tabular-nums;font-size:26px;font-weight:700}.chart-grid progress{appearance:none;background:#e7ebef;border:none;border-radius:999px;height:8px;overflow:hidden}.chart-grid progress::-webkit-progress-bar{background:#e7ebef;border-radius:999px}.chart-grid progress::-webkit-progress-value{background:var(--accent);border-radius:999px}.chart-grid progress::-moz-progress-bar{background:var(--accent);border-radius:999px}.ov-facts{gap:6px;margin:12px 0 0;font-size:13px;display:grid}.ov-facts div{justify-content:space-between;gap:12px;display:flex}.ov-facts dt{color:var(--muted)}.ov-facts dd{text-align:right;font-variant-numeric:tabular-nums;margin:0}.chart-grid .plan-row{align-items:center;padding:6px 0}.chart-grid .plan-row .amount{font-weight:600}.chart .balance.due{color:#b45309}.chart-grid .balance{margin:0;font-size:28px}.chart-card .eyebrow,.chart-grid .chart-card h2{font-family:var(--font-ui);text-transform:uppercase;letter-spacing:.09em;color:var(--muted);font-size:11.5px;font-weight:750}.ov-pct .big{font-family:var(--font-display);letter-spacing:-.02em;font-size:32px;font-weight:560}.lightbox figure.scan-viewer{width:min(1180px,100%);padding:14px}.scan-top{align-items:center;gap:14px;margin-bottom:12px;display:flex}.scan-top strong{font-family:var(--font-display);margin-right:auto;font-size:20px;font-weight:560}.scan-stage{cursor:grab;background:radial-gradient(120% 90% at 50% 10%,#2b4441 0%,#142523 55%,#0b1615 100%);border-radius:12px;height:min(64vh,640px);position:relative;overflow:hidden}.scan-stage:active{cursor:grabbing}.scan-stage canvas{display:block}.scan-hint{pointer-events:none;color:#f3efe7b3;white-space:nowrap;background:#00000047;border-radius:999px;padding:5px 12px;font-size:12px;position:absolute;bottom:14px;left:50%;transform:translate(-50%)}.scan-tools{flex-wrap:wrap;align-items:center;gap:10px 18px;margin-top:12px;font-size:13px;font-weight:650;display:flex}.seg{background:var(--canvas-deep);border-radius:999px;padding:3px;display:inline-flex}.chart .seg button{color:var(--muted);background:0 0;border:0;padding:6px 14px}.chart .seg button:hover:not(:disabled){color:var(--ink);background:0 0}.chart .seg button[aria-pressed=true]{background:var(--surface);color:var(--ink);box-shadow:0 1px 2px #15211f1a}.scan-range{color:var(--ink-2);align-items:center;gap:10px;display:inline-flex}.scan-range input{accent-color:var(--accent);width:160px}.scan-check{color:var(--ink-2);cursor:pointer;align-items:center;gap:7px;display:inline-flex}.scan-check input{accent-color:var(--accent);width:15px;height:15px}.scan-loading{color:#f3efe7;font-weight:650}.scan-nogl{color:#f3efe7;margin:0;padding:10px 14px}.perio-key{flex-wrap:wrap;align-items:center;gap:6px 18px;margin:6px 0 4px;padding:0;font-size:12.5px;list-style:none;display:flex}.perio-key li{align-items:center;gap:8px;display:inline-flex}.perio-key li.muted{flex-basis:100%;font-size:12px}.chart button.scan-card{text-align:left;border:1px solid var(--line);background:var(--surface);white-space:normal;border-radius:14px;align-items:stretch;gap:0;width:100%;max-width:640px;padding:0;display:flex;overflow:hidden}.chart button.scan-card:hover:not(:disabled){background:var(--surface);box-shadow:var(--shadow-lift);border-color:var(--line-strong)}.scan-card img{aspect-ratio:4/3;object-fit:cover;background:#142523;width:46%}.scan-card-body{color:var(--ink-2);flex-direction:column;justify-content:center;gap:6px;padding:18px 20px;font-size:13px;display:flex}.scan-card-body strong{font-family:var(--font-display);color:var(--accent);font-size:20px;font-weight:560}.attention h2{align-items:center;gap:8px;display:flex}.attn-list{flex-direction:column;gap:2px;margin:0;padding:0;list-style:none;display:flex}.attn{color:var(--ink);border-radius:8px;align-items:center;gap:10px;margin:0 -8px;padding:7px 8px;font-size:13.5px;text-decoration:none;display:flex}.attn:hover{background:var(--canvas)}.attn-dot{background:var(--accent);border-radius:50%;flex:none;width:8px;height:8px}.tone-coral .attn-dot{background:var(--coral)}.tone-gold .attn-dot{background:var(--gold)}.schedule{--gutter:56px;--chair-min:168px;color:var(--ink);padding:22px 24px 28px}.schedule h1{letter-spacing:-.025em;margin:0 8px 0 0;font-size:30px;font-weight:520}.schedule-location{color:var(--accent)}.filter-chip{background:var(--canvas-deep);color:var(--ink-2);border-radius:999px;padding:4px 12px;font-size:12px;font-weight:700}.schedule-bar{flex-wrap:wrap;align-items:center;gap:10px 16px;margin-bottom:14px;display:flex}.bar-group{align-items:center;gap:6px;display:inline-flex}.schedule-bar button,.schedule-bar input[type=date],.schedule-bar input[type=search]{font:inherit;border:1px solid var(--line-strong);background:var(--surface);color:var(--ink);cursor:pointer;white-space:nowrap;border-radius:999px;padding:7px 14px;font-size:13px;font-weight:650}.schedule-bar input[type=search]{cursor:text;min-width:240px;font-weight:500}.schedule-bar button:hover{border-color:var(--faint)}.schedule-bar button[aria-pressed=true]{background:var(--chrome);border-color:var(--chrome);color:#f3efe7}.schedule-date{color:var(--muted);margin-left:auto;font-size:14px}.closed-note{background:#fff7e6;border:1px solid #ffe2a8;border-radius:8px;padding:8px 12px;font-size:13px}.day-scroll{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);max-height:calc(100vh - 170px);box-shadow:var(--shadow);animation:.45s backwards rise;overflow:auto}.day-grid{min-width:calc(var(--gutter) + var(--cols) * var(--chair-min))}.day-head,.day-body{grid-template-columns:var(--gutter) repeat(var(--cols), minmax(var(--chair-min), 1fr));display:grid}.day-head{z-index:5;background:var(--surface);border-bottom:1px solid var(--line);position:sticky;top:0}.corner{background:var(--surface);position:sticky;left:0}.chair-head{border-left:1px solid var(--line);text-align:left;align-items:center;gap:8px;padding:10px 10px 8px;font-size:14px;font-weight:600;display:flex}.chair-name{white-space:nowrap}.badge{color:#fff;background:var(--muted);border-radius:999px;padding:2px 8px;font-size:11px;font-weight:600}.badge.spec-general{background:var(--general)}.badge.spec-hygiene{background:var(--hygiene)}.badge.spec-ortho{background:var(--ortho)}.day-body{position:relative}.gutter{z-index:3;background:var(--surface);position:sticky;left:0}.hour-label{color:var(--muted);background:var(--surface);padding:0 2px;font-size:11px;position:absolute;right:8px;transform:translateY(-50%)}.hour-label:first-child{transform:none}.day-body:before{content:"";pointer-events:none;background:repeating-linear-gradient(to bottom, var(--line) 0 1px, transparent 1px var(--hour-px));position:absolute;inset:0}.chair-col{border-left:1px solid var(--line);position:relative}.chair-col.spec-general{--spec:var(--general)}.chair-col.spec-hygiene{--spec:var(--hygiene)}.chair-col.spec-ortho{--spec:var(--ortho)}.now-line{left:var(--gutter);z-index:4;pointer-events:none;border-top:2px solid #ef4444;height:0;position:absolute;right:0}.card{box-sizing:border-box;background:color-mix(in srgb, var(--spec,var(--accent)) 10%, var(--surface));border:1px solid color-mix(in srgb, var(--spec,var(--accent)) 25%, #fff);border-left:4px solid var(--stripe,var(--spec,var(--accent)));z-index:1;border-radius:8px;padding:3px 7px;font-size:12px;line-height:1.3;transition:box-shadow .15s,transform .15s;position:absolute;left:3px;right:3px;overflow:hidden;box-shadow:0 1px 2px #15211f0f}.card-main{align-items:center;gap:6px;min-width:0;display:flex}.card-patient{text-overflow:ellipsis;white-space:nowrap;flex:0 auto;overflow:hidden}.card-sub,.card-time{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.card.compact .card-sub,.card.compact .card-time,.card.mid .card-time{display:none}.visit-marker{color:#fff;background:var(--stripe,var(--muted));border-radius:4px;padding:0 5px;font-size:10px;font-weight:700}.status{color:var(--muted);white-space:nowrap;background:#eef1f5;border-radius:999px;margin-left:auto;padding:0 6px;font-size:10px}.s-checked_in{color:#166534;background:#dcfce7}.s-completed{color:#3730a3;background:#e0e7ff}.s-no_show{color:#991b1b;background:#fee2e2}.card.compact .status{background:var(--muted);flex:none;width:8px;height:8px;padding:0;font-size:0}.card.compact .s-checked_in{background:#16a34a}.card.compact .s-completed{background:#4f46e5}.card.compact .s-no_show{background:#dc2626}.week-grid{border-collapse:separate;border-spacing:0;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);width:100%;box-shadow:var(--shadow);overflow:hidden}.week-grid th,.week-grid td{border:1px solid var(--line);text-align:center;padding:6px}.week-grid thead th{background:var(--surface);z-index:2;position:sticky;top:0}.week-grid th[scope=row]{text-align:left;white-space:nowrap;width:190px}.week-grid .chair-head{border-left:1px solid var(--line);display:table-cell}.link-btn{all:unset;cursor:pointer;color:var(--accent);font-size:14px;font-weight:600}.link-btn:hover{text-decoration:underline}.week-total{color:var(--muted);margin-top:2px;font-size:11px;font-weight:650;display:block}.week-n{font-family:var(--font-display);font-variant-numeric:tabular-nums;font-size:20px;font-weight:560}.week-unit{color:var(--muted);margin-left:4px;font-size:11px}.week-bar{background:#15211f14;border-radius:999px;height:4px;margin:6px 12px 0;display:block;overflow:hidden}.week-bar span{background:var(--spec-strong,var(--accent));border-radius:999px;height:100%;display:block}.week-cell.spec-general{--spec-strong:var(--general)}.week-cell.spec-hygiene{--spec-strong:var(--hygiene)}.week-cell.spec-ortho{--spec-strong:var(--ortho)}.week-cell.empty .week-n{color:var(--faint);font-family:var(--font-ui)}.week-cell{font:inherit;cursor:pointer;width:100%;color:var(--ink);background:color-mix(in srgb, var(--hygiene) 12%, #fff);border:1px solid #0000;border-radius:8px;padding:10px 0 8px;font-weight:650}.week-cell.spec-general{background:color-mix(in srgb, var(--general) 12%, #fff)}.week-cell.spec-ortho{background:color-mix(in srgb, var(--ortho) 12%, #fff)}.week-cell.empty{color:var(--muted);background:0 0;font-weight:400}.week-cell:hover{border-color:var(--accent)}button.card:hover{box-shadow:var(--shadow-lift);z-index:3}button.card{text-align:left;width:auto;font:inherit;color:inherit;cursor:pointer;font-size:12px;display:block}button.card:focus-visible{outline:2px solid var(--accent);outline-offset:1px;z-index:2}.card-sub,.card-time{display:block}.schedule-bar button.primary{background:linear-gradient(180deg, #138075, var(--accent));border-color:var(--accent-ink);color:#fff;font-weight:700;box-shadow:inset 0 1px #fff3,0 6px 16px -10px #0f6b62cc}.schedule-main{align-items:flex-start;gap:14px;display:flex}.schedule-view{flex:1;min-width:0}.booking-panel,.visit-popover{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);box-sizing:border-box;flex-direction:column;gap:10px;padding:12px 14px;font-size:13px;display:flex}.booking-panel{right:20px;top:calc(var(--header-h) + 14px);z-index:15;width:min(400px,100vw - 32px);box-shadow:var(--shadow-lift), 0 0 0 1px var(--line);animation:.2s backwards slide-in;position:fixed;bottom:16px;overflow:auto}@keyframes slide-in{0%{opacity:0;transform:translate(24px)}to{opacity:1;transform:none}}.visit-popover{z-index:20;width:380px;position:fixed;top:120px;right:24px;box-shadow:0 12px 32px #00000029}.visit-popover:focus{outline:2px solid var(--accent)}.panel-head{justify-content:space-between;align-items:center;gap:8px;display:flex}.panel-head h2{margin:0;font-size:20px}.booking-panel button,.visit-popover button,.booking-panel input,.booking-panel select,.visit-popover input,.patients input{font:inherit;border:1px solid var(--line);background:var(--surface);color:var(--ink);border-radius:8px;padding:5px 9px;font-size:13px}.booking-panel button:not(.link-btn),.visit-popover button{cursor:pointer}.booking-panel button:disabled,.visit-popover button:disabled{opacity:.5;cursor:default}.booking-panel .link-btn{all:unset;cursor:pointer;color:var(--accent);padding:0 4px;font-weight:600}.field-row{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.patient-picker label{flex-direction:column;gap:4px;font-weight:600;display:flex}.pick-list,.slot-list,.visit-items,.type-list{flex-direction:column;gap:6px;margin:0;padding:0;list-style:none;display:flex}.type-list{padding-left:20px;list-style:decimal}.pick-list button{text-align:left;align-items:center;gap:8px;width:100%;display:flex}.muted{color:var(--muted)}.patient-badges{flex-wrap:wrap;gap:4px;display:inline-flex}.badge.lang-en,.badge.lang-es{background:#334155;text-decoration:none}.picked-patient{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.slot-list li{border:1px solid var(--line);border-radius:12px;padding:10px 12px;transition:border-color .15s,box-shadow .15s}.slot-list li:hover{border-color:var(--line-strong);box-shadow:var(--shadow)}.slot-head{justify-content:space-between;align-items:center;margin-bottom:6px;display:flex}.slot-when{align-items:baseline;gap:8px;display:flex}.slot-time{font-family:var(--font-display);font-variant-numeric:tabular-nums;font-size:18px;font-weight:560}.slot-line{border-left:2px solid var(--line);font-variant-numeric:tabular-nums;flex-direction:column;padding:4px 0 4px 10px;display:flex}.slot-line+.slot-line{margin-top:4px}.slot-where{color:var(--muted);font-size:12px}.visit-items li{font-variant-numeric:tabular-nums;justify-content:space-between;align-items:flex-start;gap:8px;display:flex}.visit-items .status{flex:none}.error-note{color:#991b1b;background:#fee2e2;border-radius:8px;margin:0;padding:6px 10px}.ok-note{color:#166534;background:#dcfce7;border-radius:8px;margin:0;padding:6px 10px}.confirm{background:#fff7e6;border:1px solid #ffe2a8;border-radius:8px;flex-wrap:wrap;align-items:center;gap:8px;padding:8px;display:flex}.confirm p{width:100%;margin:0}.visit-popover button.danger{color:#fff;background:#b91c1c;border-color:#b91c1c}.move-options{flex-direction:column;gap:8px;display:flex}.patients-table{border-collapse:separate;border-spacing:0;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);width:100%;box-shadow:var(--shadow);animation:.45s backwards rise;overflow:hidden}.patients-table th,.patients-table td{border-bottom:1px solid var(--line);text-align:left;padding:13px 16px;font-size:14px}.patients-table tbody tr:last-child td{border-bottom:0}.patients-table th{text-transform:uppercase;letter-spacing:.09em;color:var(--muted);background:#fbf8f2;font-size:11.5px;font-weight:750}.patients-table td:nth-child(2),.patients-table td:nth-child(3){color:var(--ink-2);font-variant-numeric:tabular-nums}.patients-table .link-btn{color:var(--ink);font-size:15px;font-weight:700}.patients-table tbody tr{position:relative}.patients-table tbody tr:hover{background:var(--accent-soft,#e6f4f2)}.patients-table .link-btn:after{content:"";position:absolute;inset:0}.jump-note{border-radius:var(--radius-sm);color:#6b4a12;background:#fbefd5;border:1px solid #f1dcae;flex-wrap:wrap;align-items:center;gap:6px 10px;margin:-4px 0 14px;padding:10px 14px;font-size:13.5px;display:flex}.jump-note .link-btn{margin-left:auto;font-size:13.5px}.visit-marker{align-items:center;gap:2px;display:inline-flex}.visit-marker svg{width:10px;height:10px}.visit-popover{width:400px;padding:16px 18px}.visit-items li{border-bottom:1px solid var(--line);align-items:center;padding:8px 0}.visit-items li:last-child{border-bottom:0}.visit-actions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.visit-actions .button-link,.visit-popover .visit-actions button{font:inherit;border:1px solid var(--line-strong);background:var(--surface);color:var(--ink);cursor:pointer;border-radius:999px;padding:8px 14px;font-size:13px;font-weight:650;text-decoration:none}.visit-popover .visit-actions button.primary{background:linear-gradient(180deg, #138075, var(--accent));border-color:var(--accent-ink);color:#fff}.visit-popover .visit-actions button.danger-outline{color:#a63d27;background:var(--surface);border-color:#e9b8ab;margin-left:auto}.visit-popover .visit-actions button.danger-outline:hover{background:var(--coral-soft)}.visit-actions .button-link:hover{border-color:var(--faint)}.signin{grid-template-columns:minmax(0,1.1fr) minmax(360px,1fr);min-height:100vh;display:grid}.signin-brand{color:#f3efe7;background:radial-gradient(700px 500px at 90% 110%, #d9654c4d, transparent 60%), radial-gradient(600px 400px at 0% 0%, #0f6b6273, transparent 65%), linear-gradient(160deg, var(--chrome-2), var(--chrome) 60%);flex-direction:column;justify-content:space-between;gap:32px;padding:40px 48px 56px;display:flex;position:relative;overflow:hidden}.signin-brand .brand{color:#f3efe7;margin:0;font-size:30px}.signin-art{align-self:center;width:min(460px,82%);overflow:visible}.signin-art rect{fill:#f3efe70f;stroke:#f6d9b8bf;stroke-width:1.4px;animation:.6s backwards rise}.signin-pitch{max-width:520px}.signin-headline{font-family:var(--font-display);letter-spacing:-.03em;margin:0 0 16px;font-size:clamp(34px,4.2vw,56px);font-weight:480;line-height:1.04}.signin-tagline{color:#f3efe7b8;max-width:420px;margin:0;font-size:16px;line-height:1.55}.signin-panel{flex-direction:column;justify-content:center;align-items:center;padding:48px 24px;display:flex;position:relative}.signin-lang{font:inherit;border:1px solid var(--line-strong);background:var(--surface);color:var(--ink);cursor:pointer;border-radius:999px;padding:7px 14px;font-size:13px;font-weight:650;position:absolute;top:24px;right:24px}.signin-form{background:var(--surface);border:1px solid var(--line);width:min(380px,100%);box-shadow:var(--shadow-lift);border-radius:20px;flex-direction:column;gap:16px;padding:32px;animation:.5s backwards rise;display:flex}.signin-form h2{margin:0;font-size:30px}.signin-welcome{color:var(--muted);margin:-8px 0 4px;font-size:14px}.signin-form label{color:var(--ink-2);letter-spacing:.02em;flex-direction:column;gap:6px;font-size:12px;font-weight:750;display:flex}.signin-form input{font:inherit;border:1px solid var(--line-strong);color:var(--ink);background:#fffefb;border-radius:12px;padding:11px 14px;font-size:15px;font-weight:500;transition:border-color .15s,box-shadow .15s}.signin-form input:focus{border-color:var(--accent);box-shadow:0 0 0 4px var(--accent-soft);outline:none}.signin-form button{font:inherit;cursor:pointer;color:#fff;border:1px solid var(--accent-ink);background:linear-gradient(180deg, #138075, var(--accent));border-radius:999px;margin-top:6px;padding:12px;font-size:15px;font-weight:700;box-shadow:inset 0 1px #fff3,0 10px 24px -12px #0f6b62cc}.signin-form button:hover:not(:disabled){filter:brightness(1.07)}.signin-form button:disabled{opacity:.6;cursor:wait}.signin-error{background:var(--coral-soft);color:#a63d27;border-radius:10px;margin:0;padding:9px 12px;font-size:13px}.signin-demo{color:var(--faint);margin:20px 0 0;font-size:12px}@media (width<=860px){.signin{grid-template-columns:1fr}.signin-brand{padding:28px 24px 32px}.signin-art{display:none}.signin-headline{font-size:32px}.signin-panel{padding-top:76px}}@font-face{font-family:Fraunces Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/fraunces-vietnamese-wght-normal-CnvboYUG.woff2)format("woff2-variations");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Fraunces Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/fraunces-latin-ext-wght-normal-Ca2vKHc0.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Fraunces Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/fraunces-latin-wght-normal-ukD16Tqj.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Manrope Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/assets/manrope-cyrillic-ext-wght-normal-C8S-KRRz.woff2)format("woff2-variations");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Manrope Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/assets/manrope-cyrillic-wght-normal-Dvxsihut.woff2)format("woff2-variations");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Manrope Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/assets/manrope-greek-wght-normal-DL7QRZyv.woff2)format("woff2-variations");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:Manrope Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/assets/manrope-vietnamese-wght-normal-usUDDRr7.woff2)format("woff2-variations");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Manrope Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/assets/manrope-latin-ext-wght-normal-Ch3YOpNY.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Manrope Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/assets/manrope-latin-wght-normal-DHIcAJRg.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--ink:#15211f;--ink-2:#33403d;--muted:#5f6865;--faint:#737c79;--line:#e8e2d8;--line-strong:#d9d1c4;--surface:#fffdf9;--canvas:#f4f0e9;--canvas-deep:#ebe5da;--accent:#0f6b62;--accent-ink:#0a4f48;--accent-soft:#e2efeb;--coral:#d9654c;--coral-soft:#fbe9e3;--gold:#b7862f;--general:#4a7fc1;--hygiene:#2a9187;--ortho:#8e62b9;--chrome:#0f2725;--chrome-2:#183532;--header-h:60px;--radius:16px;--radius-sm:10px;--shadow:0 1px 2px #15211f0a, 0 10px 28px -14px #15211f2e;--shadow-lift:0 2px 4px #15211f0f, 0 18px 40px -16px #15211f42;--font-ui:"Manrope Variable", "Manrope", ui-sans-serif, sans-serif;--font-display:"Fraunces Variable", "Fraunces", ui-serif, Georgia, serif;--font-mono:ui-monospace, "SF Mono", Menlo, monospace;color:var(--ink);font-family:var(--font-ui);font-feature-settings:"tnum" 0;-webkit-font-smoothing:antialiased}body{background:radial-gradient(1200px 420px at 85% -120px, #0f6b6217, transparent 70%), radial-gradient(900px 360px at -10% -80px, #d9654c12, transparent 70%), var(--canvas);background-attachment:fixed;min-height:100vh;margin:0}h1,h2,h3{font-family:var(--font-display);letter-spacing:-.01em;font-optical-sizing:auto;font-weight:560}@keyframes rise{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition:none!important;animation:none!important}}.app-header{z-index:20;height:var(--header-h);color:#f3efe7;background:linear-gradient(180deg, var(--chrome-2), var(--chrome));align-items:center;gap:28px;padding:0 24px;display:flex;position:sticky;top:0;box-shadow:inset 0 1px #ffffff0f,0 8px 24px -16px #00000080}.brand{font-family:var(--font-display);letter-spacing:-.02em;align-items:center;gap:10px;font-size:21px;font-weight:600;display:inline-flex}.logo{align-items:center;gap:10px;display:inline-flex}.logo-mark{filter:drop-shadow(0 4px 10px #00000040);flex:none}.app-header .logo-mark{border-radius:11px;box-shadow:0 0 0 1px #ffffff1f}.logo-word{font-family:var(--font-display);letter-spacing:-.02em;align-items:flex-start;gap:5px;font-weight:600;display:inline-flex}.logo-ai{font-family:var(--font-ui);letter-spacing:.08em;color:var(--chrome);background:linear-gradient(135deg, #f6c9a4, var(--coral));border-radius:.45em;margin-top:.2em;padding:.28em .45em;font-size:.48em;font-weight:800;line-height:1}.sr-only{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.app-nav{background:#ffffff0f;border-radius:999px;gap:4px;padding:4px;display:flex}.app-nav a{color:#f3efe7b3;border-radius:999px;align-items:center;height:32px;padding:0 16px;font-size:14px;font-weight:600;text-decoration:none;transition:background .15s,color .15s;display:flex}.app-nav a:hover{color:#fff;background:#ffffff0f}.app-nav a.active{color:var(--chrome);background:#f3efe7}.header-tools{align-items:center;gap:8px;margin-left:auto;display:flex}.header-tools select,.header-tools button{height:34px;font:inherit;color:#f3efe7;cursor:pointer;background:#ffffff12;border:1px solid #ffffff1f;border-radius:999px;font-size:13px;font-weight:600;transition:background .15s,border-color .15s}.header-tools select{appearance:none;background-image:linear-gradient(45deg,#0000 50%,#f3efe7 50%),linear-gradient(135deg,#f3efe7 50%,#0000 50%);background-position:right 15px top 15px,right 10px top 15px;background-repeat:no-repeat;background-size:5px 5px;padding:0 30px 0 14px}.header-tools select option{color:var(--ink);background:var(--surface)}.header-tools button{padding:0 14px}.header-tools select:hover,.header-tools button:hover{background-color:#ffffff21;border-color:#ffffff38}.header-tools .lang-toggle{color:var(--chrome);background:#f6d9b8;border-color:#0000}.header-tools .lang-toggle:hover{background:#fbe4c9}.header-tools .sign-out{color:#f3efe7a6;background:0 0;border-color:#0000}.header-tools .sign-out:hover{color:#fff}@media (width<=760px){.app-header{flex-wrap:wrap;gap:8px 16px;height:auto;padding:10px 16px}.header-tools{flex-wrap:wrap;margin-left:0}}:where(a,button,select,input,textarea):focus-visible{outline:2px solid var(--accent);outline-offset:2px}.app-header :where(a,button,select):focus-visible{outline-color:#f6d9b8}.pill{letter-spacing:.01em;background:var(--canvas-deep);color:var(--ink-2);white-space:nowrap;border-radius:999px;align-items:center;gap:6px;padding:3px 10px;font-size:11.5px;font-weight:700;display:inline-flex}.pill:before{content:"";opacity:.75;background:currentColor;border-radius:50%;width:6px;height:6px}.pill.s-active,.pill.s-accepted,.pill.hyg-good{color:#1d6b3f;background:#dff1e6}.pill.s-presented,.pill.s-consult,.pill.hyg-fair{color:#8a5a12;background:#fbefd5}.pill.s-declined,.pill.hyg-poor{background:var(--coral-soft);color:#a63d27}.pill.s-retention{color:#3a3f8f;background:#e6e8f6}.pill.s-completed{background:var(--accent-soft);color:var(--accent-ink)}.eyebrow{font-family:var(--font-ui);text-transform:uppercase;letter-spacing:.09em;color:var(--muted);font-size:11.5px;font-weight:700}.icon-tile{background:var(--accent-soft);width:40px;height:40px;color:var(--accent);border-radius:12px;flex:none;place-items:center;display:grid}.icon-tile svg{width:20px;height:20px}.icon-tile.coral{background:var(--coral-soft);color:var(--coral)}.icon-tile.gold{color:var(--gold);background:#f6ecd8}.icon-tile.ink{background:var(--canvas-deep);color:var(--ink-2)}.search-trigger{min-width:240px;height:34px;font:inherit;color:#f3efe7b3;cursor:pointer;background:#ffffff0f;border:1px solid #ffffff1f;border-radius:999px;align-items:center;gap:8px;padding:0 8px 0 12px;font-size:13px;transition:background .15s,border-color .15s;display:inline-flex}.search-trigger:hover{color:#fff;background:#ffffff1f}.search-trigger svg{fill:none;stroke:currentColor;stroke-width:2px;stroke-linecap:round;width:15px;height:15px}.search-trigger kbd{font:inherit;color:#f3efe7cc;background:#ffffff1a;border-radius:6px;margin-left:auto;padding:2px 7px;font-size:11px;font-weight:700}.search-overlay{z-index:60;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#0a161573;justify-content:center;align-items:flex-start;padding:12vh 16px 16px;animation:.15s backwards rise;display:flex;position:fixed;inset:0}.search-dialog{width:min(620px,100%);color:var(--ink);background:var(--surface);border-radius:16px;overflow:hidden;box-shadow:0 30px 80px -20px #0000008c}.search-dialog input{box-sizing:border-box;border:0;border-bottom:1px solid var(--line);width:100%;font:inherit;color:var(--ink);background:0 0;outline:none;padding:18px 20px;font-size:17px}.search-hint{color:var(--muted);margin:0;padding:16px 20px;font-size:13px}.search-results{max-height:50vh;margin:0;padding:6px;list-style:none;overflow:auto}.search-results li{cursor:pointer;border-radius:10px;grid-template-columns:1fr auto;grid-template-areas:"name badges""meta badges";align-items:center;gap:2px 12px;padding:10px 14px;display:grid}.search-results li[aria-selected=true]{background:var(--accent-soft)}.sr-name{grid-area:name;font-weight:700}.sr-meta{color:var(--muted);font-variant-numeric:tabular-nums;grid-area:meta;font-size:12.5px}.search-results .patient-badges{grid-area:badges}@media (width<=1100px){.search-trigger{min-width:0}.search-trigger kbd{display:none}}
