.shell-bar{border-top:1px solid var(--border);background:var(--surface-2)}.shell-bar-inner{min-height:40px;padding:.25rem var(--page-pad);flex-wrap:wrap;align-items:center;gap:.25rem 1rem;font-size:.8125rem;display:flex}.shell-bar-label{border-radius:var(--radius-chip);border:1px solid var(--primary-soft-border);background:var(--primary-soft);color:var(--primary-text);letter-spacing:.06em;text-transform:uppercase;white-space:nowrap;align-items:center;gap:.375rem;padding:.125rem .5rem;font-size:.6875rem;font-weight:600;display:inline-flex}.shell-active{color:var(--text-2);align-items:center;gap:.375rem;min-width:0;margin:0;display:inline-flex}.shell-active.has-patient{color:var(--text);font-weight:600}.shell-active.has-patient .icon{color:var(--success-text)}.shell-active.has-error{color:var(--warning-text);font-weight:600}.shell-chart{margin-left:.5rem;font-weight:500}.shell-bar-tools{align-items:center;gap:.75rem;margin-left:auto;display:inline-flex}.shell-uploading{color:var(--primary-text);align-items:center;gap:.375rem;font-weight:600;display:inline-flex}.shell-inbox{min-height:32px}.shell-inbox.has-items{border-color:var(--warning-text)}.import-inbox{width:min(52rem,100%)}.import-empty{color:var(--text-2);flex-direction:column;align-items:center;gap:.5rem;padding:2rem 1rem;display:flex}.import-list{flex-direction:column;gap:.75rem;max-height:min(60vh,40rem);margin:1rem 0;padding:0;list-style:none;display:flex;overflow:auto}.import-row{border:1px solid var(--border);border-radius:var(--radius-control);background:var(--surface);flex-direction:column;gap:.625rem;padding:.875rem 1rem;display:flex}.import-row.is-unsorted{border-left:4px solid var(--warning-text)}.import-row.is-failed{border-left:4px solid var(--danger-text)}.import-row.is-uploading,.import-row.is-queued{border-left:4px solid var(--primary)}.import-row-head{flex-wrap:wrap;align-items:center;gap:.5rem .875rem;display:flex}.import-row-icon{color:var(--primary-text)}.import-file{font-family:var(--font-mono);overflow-wrap:anywhere;font-weight:600}.import-meta{color:var(--text-2);font-size:.8125rem}.import-row-head .badge{gap:.25rem;margin-left:auto}.import-reason{color:var(--text-2);align-items:flex-start;gap:.5rem;margin:0;font-size:.875rem;display:flex}.import-reason .icon{flex-shrink:0;margin-top:.15em}.import-reason.is-error{color:var(--danger-text)}.import-reason.is-error p{margin:0}.import-detail{color:var(--text-2);overflow-wrap:anywhere;font-size:.75rem}.import-actions{flex-wrap:wrap;justify-content:flex-end;gap:.5rem;display:flex}.import-assign{border-radius:var(--radius-control);background:var(--surface-2);border:1px solid var(--border);grid-template-columns:minmax(0,1fr) 14rem;align-items:start;gap:.75rem 1rem;padding:.875rem;display:grid}.import-assign .import-actions{grid-column:1/-1}.import-discard{flex-direction:column;gap:.875rem;display:flex}.import-discard>p{margin:0}.import-meta .icon{vertical-align:-.125em}.import-assign .patient-picker{position:relative}@media (max-width:720px){.import-assign{grid-template-columns:1fr}}.badge-danger{background:var(--danger-bg);border:1px solid var(--danger-border);color:var(--danger-text)}.badge-info{background:var(--primary-soft);border:1px solid var(--primary-soft-border);color:var(--primary-text)}.badge-ok{background:var(--success-bg);border:1px solid var(--success-border);color:var(--success-text)}.badge-neutral{background:var(--surface-3);border:1px solid var(--border);color:var(--text-2)}.badge .icon{margin-right:.25rem}.bridges-card{grid-column:1/-1}.bridge-source-note{margin-bottom:1rem}.bridge-source-note p{margin:0}.bridge-list{flex-direction:column;gap:.75rem;margin:0 0 1rem;padding:0;list-style:none;display:flex}.bridge-row{border:1px solid var(--border);border-radius:var(--radius-control);background:var(--surface-sunken);flex-direction:column;gap:.75rem;padding:1rem 1.125rem;display:flex}.bridge-row.has-error{border-color:var(--danger-border)}.bridge-head{flex-wrap:wrap;justify-content:space-between;gap:.5rem 1rem;display:flex}.bridge-title{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.bridge-name{font-size:1rem;font-weight:600}.bridge-badges{flex-wrap:wrap;gap:.375rem;display:flex}.bridge-badges .badge{margin-left:0}.bridge-facts{grid-template-columns:repeat(auto-fit,minmax(14rem,1fr));gap:.625rem 1.5rem;margin:0;font-size:.875rem;display:grid}.bridge-facts dt{letter-spacing:.06em;text-transform:uppercase;color:var(--text-2);font-size:.6875rem;font-weight:600}.bridge-facts dd{margin:.125rem 0 0}.bridge-permissions{flex-wrap:wrap;gap:.375rem;display:flex}.bridge-permission{border-radius:var(--radius-chip);background:var(--surface-3);border:1px solid var(--border);padding:.0625rem .5rem;font-size:.8125rem}.bridge-watching{color:var(--text-2);align-items:center;gap:.375rem;display:inline-flex}.bridge-watching.is-on{color:var(--success-text);font-weight:600}.bridge-facts .bridge-fact-wide{grid-column:1/-1}.bridge-path{overflow-wrap:anywhere;font-size:.8125rem}.bridge-sha{align-items:center;gap:.25rem;display:inline-flex}.bridge-sha code{font-size:.8125rem}.bridge-settings-grid{grid-template-columns:repeat(auto-fit,minmax(16rem,1fr));gap:.75rem 1.5rem;display:grid}.bridge-settings-grid .field{max-width:28rem}.bridge-actions{justify-content:flex-end}.bridge-approve{border:1px dashed var(--border-strong);border-radius:var(--radius-control);flex-direction:column;gap:.875rem;padding:1rem 1.125rem;display:flex}.bridge-manifest{width:100%;min-height:9rem;font-size:.8125rem}.bridge-inspection{border:1px solid var(--border);border-radius:var(--radius-control);background:var(--surface-2);flex-direction:column;gap:.75rem;padding:.875rem 1rem;display:flex}.bridge-inspection .section-label{margin:0}.bridge-warnings{flex-direction:column;gap:.375rem;margin:.25rem 0 0;padding-left:1.125rem;display:flex}.bridge-warnings li{flex-direction:column;gap:.125rem;display:flex}.bridge-params{border:0;flex-direction:column;gap:.75rem;margin:0;padding:0;display:flex}.bridge-args{border:1px solid var(--border);border-radius:var(--radius-chip);background:var(--surface-3);overflow-wrap:anywhere;padding:.375rem .5rem;font-size:.8125rem;display:block}.bridge-policy{border:0;flex-direction:column;gap:.25rem;margin:0;padding:0;display:flex}.mono-field input{font-family:var(--font-mono)}.images-head-actions{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.launch-buttons{flex-wrap:wrap;gap:.5rem;display:flex}.launch-switch{align-self:center;margin-left:auto;position:relative}.popover.launch-menu{min-width:20rem}.launch-menu ul{margin:0;padding:0;list-style:none}.launch-option{white-space:nowrap;text-align:left;width:100%;font:inherit;background:0 0;border:0}.launch-option:disabled{opacity:.6;cursor:progress}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-sans-latin-400-normal-CDDApCn2.woff2)format("woff2"),url(/assets/ibm-plex-sans-latin-400-normal-CYLoc0-x.woff)format("woff")}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-sans-latin-ext-400-normal-C5H60-Va.woff2)format("woff2"),url(/assets/ibm-plex-sans-latin-ext-400-normal-RBey6euL.woff)format("woff")}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-sans-cyrillic-400-normal-DZqxrq2p.woff2)format("woff2"),url(/assets/ibm-plex-sans-cyrillic-400-normal-BTotfTJu.woff)format("woff")}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-sans-latin-500-normal-6ng42L7E.woff2)format("woff2"),url(/assets/ibm-plex-sans-latin-500-normal-BgVn5rGT.woff)format("woff")}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-sans-latin-ext-500-normal-DakdToA3.woff2)format("woff2"),url(/assets/ibm-plex-sans-latin-ext-500-normal-D0aIdm-b.woff)format("woff")}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-sans-cyrillic-500-normal-CocWQlwt.woff2)format("woff2"),url(/assets/ibm-plex-sans-cyrillic-500-normal-ByOcLdNv.woff)format("woff")}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/ibm-plex-sans-latin-600-normal-CuJfVYMP.woff2)format("woff2"),url(/assets/ibm-plex-sans-latin-600-normal-Cu4Hd6ag.woff)format("woff")}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/ibm-plex-sans-latin-ext-600-normal-DOrvGEcy.woff2)format("woff2"),url(/assets/ibm-plex-sans-latin-ext-600-normal-DIrixKbi.woff)format("woff")}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/ibm-plex-sans-cyrillic-600-normal-71GNu3SW.woff2)format("woff2"),url(/assets/ibm-plex-sans-cyrillic-600-normal-BGq0mW3O.woff)format("woff")}@font-face{font-family:JetBrains Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/jetbrains-mono-latin-400-normal-V6pRDFza.woff2)format("woff2"),url(/assets/jetbrains-mono-latin-400-normal-6-qcROiO.woff)format("woff")}@font-face{font-family:JetBrains Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/jetbrains-mono-latin-ext-400-normal-Bc8Ftmh3.woff2)format("woff2"),url(/assets/jetbrains-mono-latin-ext-400-normal-fXTG6kC5.woff)format("woff")}@font-face{font-family:JetBrains Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/jetbrains-mono-cyrillic-400-normal-BEIGL1Tu.woff2)format("woff2"),url(/assets/jetbrains-mono-cyrillic-400-normal-ugxPyKxw.woff)format("woff")}@font-face{font-family:JetBrains Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/jetbrains-mono-latin-500-normal-BWZEU5yA.woff2)format("woff2"),url(/assets/jetbrains-mono-latin-500-normal-CJOVTJB7.woff)format("woff")}@font-face{font-family:JetBrains Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/jetbrains-mono-latin-ext-500-normal-Cut-4mMH.woff2)format("woff2"),url(/assets/jetbrains-mono-latin-ext-500-normal-ckzbgY84.woff)format("woff")}@font-face{font-family:JetBrains Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/jetbrains-mono-cyrillic-500-normal-DmUKJPL_.woff2)format("woff2"),url(/assets/jetbrains-mono-cyrillic-500-normal-DJqRU3vO.woff)format("woff")}@font-face{font-family:JetBrains Mono;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/jetbrains-mono-latin-600-normal-C8RAYTDA.woff2)format("woff2"),url(/assets/jetbrains-mono-latin-600-normal-BfsvjouI.woff)format("woff")}@font-face{font-family:JetBrains Mono;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/jetbrains-mono-latin-ext-600-normal-BfB_LPfz.woff2)format("woff2"),url(/assets/jetbrains-mono-latin-ext-600-normal-DObL3zCW.woff)format("woff")}@font-face{font-family:JetBrains Mono;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/jetbrains-mono-cyrillic-600-normal-EVf6-Yzo.woff2)format("woff2"),url(/assets/jetbrains-mono-cyrillic-600-normal-8K4wrrwR.woff)format("woff")}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-mono-latin-400-normal-DMJ8VG8y.woff2)format("woff2"),url(/assets/ibm-plex-mono-latin-400-normal-CvHOgSBP.woff)format("woff")}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-mono-latin-ext-400-normal-BmRBH3aV.woff2)format("woff2"),url(/assets/ibm-plex-mono-latin-ext-400-normal-D3D2R8hC.woff)format("woff")}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-mono-cyrillic-400-normal-BSMlKf0J.woff2)format("woff2"),url(/assets/ibm-plex-mono-cyrillic-400-normal-CEL4l2ZJ.woff)format("woff")}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-mono-latin-500-normal-DSY6xOcd.woff2)format("woff2"),url(/assets/ibm-plex-mono-latin-500-normal-CB9ihrfo.woff)format("woff")}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-mono-latin-ext-500-normal-CAhNIIs5.woff2)format("woff2"),url(/assets/ibm-plex-mono-latin-ext-500-normal-CZ70TYgx.woff)format("woff")}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-mono-cyrillic-500-normal-Bq9vWWag.woff2)format("woff2"),url(/assets/ibm-plex-mono-cyrillic-500-normal-Ael50iVv.woff)format("woff")}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/ibm-plex-mono-latin-600-normal-BgSNZQsw.woff2)format("woff2"),url(/assets/ibm-plex-mono-latin-600-normal-DWFSQ4vo.woff)format("woff")}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/ibm-plex-mono-latin-ext-600-normal-D38SheWl.woff2)format("woff2"),url(/assets/ibm-plex-mono-latin-ext-600-normal-DmB0ttJJ.woff)format("woff")}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/ibm-plex-mono-cyrillic-600-normal-CTOM6hUh.woff2)format("woff2"),url(/assets/ibm-plex-mono-cyrillic-600-normal-fLZuRloM.woff)format("woff")}:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--font-sans:"IBM Plex Sans", system-ui, -apple-system, "Segoe UI", Roboto, "Noto Sans", sans-serif;--font-mono:"IBM Plex Mono", "JetBrains Mono", ui-monospace, "Cascadia Mono", Consolas, monospace;--canvas:#f4f6f8;--surface:#fff;--surface-2:#f4f6f8;--surface-3:#eef2f6;--surface-4:#e3e9ef;--surface-sunken:#f7f9fb;--input-bg:#fff;--header-bg:#fff;--border:#dde3ea;--border-strong:#c5ced8;--control-border:#7d8a99;--text:#102033;--text-2:#4a5a6e;--text-muted:#5f6e80;--primary:#0a6ca8;--primary-text:#0a6ca8;--primary-bg:#0a6ca8;--primary-bg-hover:#085888;--primary-bg-active:#07476e;--on-primary:#fff;--primary-soft:#e6f1f8;--primary-soft-border:#b9d7ec;--focus-ring:#0a6ca8;--focus-halo:#0a6ca838;--warning-bg:#fdf0e6;--warning-border:#f2c9a8;--warning-text:#8a3b00;--success-bg:#ebf7ee;--success-border:#bce5c9;--success-text:#1b7a43;--danger-bg:#fdf2f2;--danger-border:#f5c6c6;--danger-text:#b3261e;--danger-solid:#b3261e;--danger-solid-hover:#961f18;--on-danger:#fff;--scrim:#10203373;--scrim-strong:#102033e0;--shadow-1:0 1px 2px #1020330f;--shadow-2:0 4px 12px #10203314;--shadow-3:0 16px 40px #10203329;--shadow-primary:0 4px 12px #0a6ca82e;--login-panel-bg:linear-gradient(180deg, #f2f7fc 0%, #e6f1f8 100%);--login-panel-border:#dde3ea;--login-fact-bg:#fff;--tooth-slot:#eef2f6;--tooth-fill:#fff;--tooth-center:#f7f9fb;--tooth-gap:#b3becb;--tooth-absent:#e3e9ef;--lesion-dot:#fff;--lesion-ring:#102033;--layer-existing:#1d4ed8;--layer-planned:#b45309;--layer-completed:#15803d;--layer-existing-text:#1d4ed8;--layer-planned-text:#9a4a00;--layer-completed-text:#15803d;--layer-existing-soft:#e8eefc;--layer-planned-soft:#fdf0e6;--layer-completed-soft:#ebf7ee;--pal-plava:#2563eb;--pal-plava-bg:#e8effd;--pal-plava-text:#1d4ed8;--pal-tirkizna:#0d9488;--pal-tirkizna-bg:#e0f4f1;--pal-tirkizna-text:#115e59;--pal-zelena:#15803d;--pal-zelena-bg:#e6f5ea;--pal-zelena-text:#166534;--pal-zuta:#b7791f;--pal-zuta-bg:#fdf3d7;--pal-zuta-text:#854d0e;--pal-narandzasta:#ea580c;--pal-narandzasta-bg:#fdeee3;--pal-narandzasta-text:#9a3412;--pal-crvena:#dc2626;--pal-crvena-bg:#fdebeb;--pal-crvena-text:#b91c1c;--pal-roze:#db2777;--pal-roze-bg:#fce8f2;--pal-roze-text:#9d174d;--pal-ljubicasta:#7c3aed;--pal-ljubicasta-bg:#f0e9fd;--pal-ljubicasta-text:#6d28d9;--pal-braon:#8a5a2b;--pal-braon-bg:#f5ede4;--pal-braon-text:#6b4220;--pal-siva:#64748b;--pal-siva-bg:#edf1f5;--pal-siva-text:#475569;--cal-line:#edf1f5;--cal-line-hour:#d5dde6;--cal-off:#10203309;--cal-off-stripe:#10203312;--cal-holiday:#b453090f;--cal-holiday-stripe:#b4530921;--cal-today-bg:#f6fafd;--cal-now:#d92d20;--alert-critical-fill:#b3261e;--alert-critical-mark:#fff;--debt-fill:#9a3412;--debt-mark:#fff;--radius-chip:6px;--radius-control:10px;--radius-card:12px;--radius-pill:999px;--header-height:64px;--page-pad:2rem;font-family:var(--font-sans);color:var(--text);background:var(--canvas);-webkit-font-smoothing:antialiased;font-size:16px;line-height:1.5}@media screen{:root[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--font-mono:"JetBrains Mono", "IBM Plex Mono", ui-monospace, "Cascadia Mono", Consolas, monospace;--canvas:#0b131f;--surface:#111c2b;--surface-2:#142030;--surface-3:#18263a;--surface-4:#21334a;--surface-sunken:#0d1623;--input-bg:#142030;--header-bg:#111c2b;--border:#23354d;--border-strong:#2d4464;--control-border:#5e738c;--text:#e6edf5;--text-2:#8fa3bc;--text-muted:#8296ae;--primary:#1994e6;--primary-text:#38a9f5;--primary-bg:#1677c7;--primary-bg-hover:#1269af;--primary-bg-active:#10599a;--on-primary:#fff;--primary-soft:#102b45;--primary-soft-border:#1a4770;--focus-ring:#1994e6;--focus-halo:#1994e659;--warning-bg:#362208;--warning-border:#5c380b;--warning-text:#f5a623;--success-bg:#092a20;--success-border:#155e45;--success-text:#10b981;--danger-bg:#4a151b;--danger-border:#7a232c;--danger-text:#ff6b72;--danger-solid:#c62828;--danger-solid-hover:#a91f1f;--on-danger:#fff;--scrim:#04090fb8;--scrim-strong:#04090ff0;--shadow-1:0 1px 2px #04090f66;--shadow-2:0 8px 24px -4px #04090f99;--shadow-3:0 25px 50px -12px #000000bf, 0 0 20px -3px #1994e626;--shadow-primary:0 6px 18px #1994e640;--login-panel-bg:linear-gradient(180deg, #102b45 0%, #0e2238 100%);--login-panel-border:#1a4770;--login-fact-bg:#091726bf;--tooth-slot:#142030;--tooth-fill:#1e2e44;--tooth-center:#18263a;--tooth-gap:#0d1623;--tooth-absent:#111c2b;--lesion-dot:#0b131f;--lesion-ring:#e6edf5;--layer-existing:#4c8dff;--layer-planned:#f5a623;--layer-completed:#10b981;--layer-existing-text:#7aa7ff;--layer-planned-text:#f5a623;--layer-completed-text:#34d399;--layer-existing-soft:#13254a;--layer-planned-soft:#362208;--layer-completed-soft:#092a20;--pal-plava:#4c8dff;--pal-plava-bg:#15284a;--pal-plava-text:#a5c4ff;--pal-tirkizna:#2dd4bf;--pal-tirkizna-bg:#0d2e30;--pal-tirkizna-text:#7fe3d4;--pal-zelena:#34d399;--pal-zelena-bg:#0c2d22;--pal-zelena-text:#86efac;--pal-zuta:#facc15;--pal-zuta-bg:#2f270b;--pal-zuta-text:#fde68a;--pal-narandzasta:#fb923c;--pal-narandzasta-bg:#36210f;--pal-narandzasta-text:#fdba74;--pal-crvena:#f87171;--pal-crvena-bg:#3a1519;--pal-crvena-text:#fca5a5;--pal-roze:#f472b6;--pal-roze-bg:#36142c;--pal-roze-text:#f9a8d4;--pal-ljubicasta:#a78bfa;--pal-ljubicasta-bg:#271b46;--pal-ljubicasta-text:#c4b5fd;--pal-braon:#c8955f;--pal-braon-bg:#2e2117;--pal-braon-text:#e6c7a5;--pal-siva:#94a3b8;--pal-siva-bg:#1c2634;--pal-siva-text:#cbd5e1;--cal-line:#152234;--cal-line-hour:#22344b;--cal-off:#02060c38;--cal-off-stripe:#02060c61;--cal-holiday:#f5a6230f;--cal-holiday-stripe:#f5a6231f;--cal-today-bg:#0f1e30;--cal-now:#ff6b72;--alert-critical-fill:#ff6b72;--alert-critical-mark:#0b131f;--debt-fill:#fdba74;--debt-mark:#0b131f;--radius-chip:4px;--radius-control:8px;--radius-card:12px}}*,:before,:after{box-sizing:border-box}body{background:var(--canvas);min-width:320px;color:var(--text);margin:0}h1,h2,h3{letter-spacing:-.01em;margin:0;font-weight:600;line-height:1.25}h1{letter-spacing:-.02em;font-size:2rem}h2{font-size:1.25rem}h3{font-size:1rem}p{margin:0}a{color:var(--primary-text)}::selection{background:var(--primary-bg);color:var(--on-primary)}:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px}.mono,code,kbd,time{font-family:var(--font-mono);font-variant-numeric:tabular-nums}.visually-hidden{clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;position:absolute!important}.skip-link{background:var(--surface);color:var(--primary-text);border-radius:var(--radius-control);z-index:100;padding:.75rem 1rem;position:absolute;top:.5rem;left:-999px}.skip-link:focus{left:.5rem}.muted{color:var(--text-2)}.hint{color:var(--text-2);font-size:.8125rem;line-height:1.4}.ok{color:var(--success-text)}.warn{color:var(--warning-text)}.icon{flex-shrink:0}.print-only{display:none}.section-label{letter-spacing:.06em;text-transform:uppercase;color:var(--text-2);font-size:.6875rem;font-weight:600}.btn{border:1px solid var(--border-strong);border-radius:var(--radius-control);background:var(--surface-2);min-height:44px;color:var(--text);font:inherit;letter-spacing:.01em;cursor:pointer;white-space:nowrap;justify-content:center;align-items:center;gap:.5rem;padding:0 1rem;font-size:.875rem;font-weight:600;line-height:1.2;text-decoration:none;transition:background-color .15s,border-color .15s,color .15s;display:inline-flex}.btn:disabled{opacity:.6;cursor:not-allowed}.btn-secondary{background:var(--surface-2);border-color:var(--border-strong);color:var(--text)}.btn-secondary:hover:not(:disabled){background:var(--surface-3);border-color:var(--control-border)}.btn-secondary .icon{color:var(--text-2)}.btn-primary{background:var(--primary-bg);border-color:var(--primary-bg);color:var(--on-primary);box-shadow:var(--shadow-primary)}.btn-primary:hover:not(:disabled){background:var(--primary-bg-hover);border-color:var(--primary-bg-hover)}.btn-primary:active:not(:disabled){background:var(--primary-bg-active)}.btn-ghost{color:var(--primary-text);background:0 0;border-color:#0000}.btn-ghost:hover:not(:disabled){background:var(--primary-soft)}.btn-danger{background:var(--danger-bg);border-color:var(--danger-border);color:var(--danger-text)}.btn-danger:hover:not(:disabled){background:var(--danger-solid);border-color:var(--danger-solid);color:var(--on-danger)}.btn-ghost-danger{color:var(--danger-text);background:0 0;border-color:#0000}.btn-ghost-danger:hover:not(:disabled){background:var(--danger-bg)}.btn-sm{min-height:36px;padding:0 .75rem;font-size:.8125rem}.btn-lg{min-height:48px;padding:0 1.5rem;font-size:.9375rem}.btn-block{width:100%}.btn-icon{width:44px;padding:0}.btn-link{color:var(--primary-text);background:0 0;border-color:#0000;text-decoration:underline}.back-link{border-radius:var(--radius-control);background:var(--surface);border:1px solid var(--border);min-height:44px;color:var(--primary-text);align-items:center;gap:.375rem;padding:0 .875rem 0 .625rem;font-size:.875rem;font-weight:600;text-decoration:none;display:inline-flex}.back-link:hover{background:var(--surface-3)}.back-link-small{min-height:36px;color:var(--text-2);background:0 0;border:none;width:-moz-fit-content;width:fit-content;padding:0 .25rem}.back-link-small:hover{color:var(--primary-text);background:0 0}.field{flex-direction:column;gap:.375rem;min-width:0;display:flex}.field-label,fieldset legend.field-label{letter-spacing:.01em;color:var(--text);justify-content:space-between;align-items:baseline;gap:.5rem;font-size:.8125rem;font-weight:600;display:flex}.field-label.caps{text-transform:uppercase;letter-spacing:.06em;color:var(--text-2);font-size:.75rem}.required-mark{color:var(--danger-text);white-space:nowrap;font-size:.75rem;font-weight:400}.required-mark:before{content:"* ";content:"* " / ""}input,select,textarea{font:inherit;color:var(--text);background:var(--input-bg);border:1px solid var(--control-border);border-radius:var(--radius-control);width:100%;min-height:46px;padding:0 .875rem;font-size:.9375rem;transition:border-color .15s,box-shadow .15s}textarea{resize:vertical;min-height:6rem;padding:.75rem .875rem;line-height:1.5}input::placeholder,textarea::placeholder{color:var(--text-muted);opacity:1}input:focus,select:focus,textarea:focus{border-color:var(--focus-ring);box-shadow:0 0 0 1px var(--focus-ring), 0 0 0 4px var(--focus-halo);outline:none}input[type=checkbox],input[type=radio]{width:20px;height:20px;min-height:0;accent-color:var(--primary-bg);flex-shrink:0;margin:0;padding:0}input[type=checkbox]:focus,input[type=radio]:focus{box-shadow:none}input[type=checkbox]:focus-visible,input[type=radio]:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px}input[aria-invalid=true],select[aria-invalid=true],textarea[aria-invalid=true]{border-color:var(--danger-text);box-shadow:0 0 0 1px var(--danger-text)}.input-wrap{align-items:center;display:flex;position:relative}.input-wrap.has-icon input{padding-right:2.75rem}.input-wrap.has-button input{padding-right:3rem}.input-wrap.has-lead-icon input{padding-left:2.75rem}.input-icon,.input-lead-icon{color:var(--text-2);pointer-events:none;position:absolute}.input-icon{right:.875rem}.input-lead-icon{left:.875rem}.input-button{border-radius:0 var(--radius-control) var(--radius-control) 0;width:44px;color:var(--text-2);cursor:pointer;background:0 0;border:none;justify-content:center;align-items:center;display:inline-flex;position:absolute;top:1px;bottom:1px;right:1px}.input-button:hover{color:var(--text);background:var(--surface-3)}.input-button[aria-pressed=true]{color:var(--primary-text)}.native-date-picker{opacity:0;pointer-events:none;border:0;width:1px;height:1px;min-height:0;padding:0;position:absolute;bottom:0;right:0}.field-error{color:var(--danger-text);align-items:flex-start;gap:.375rem;font-size:.8125rem;line-height:1.4;display:flex}.field-error .icon{margin-top:.1em}.field-error-panel{border-radius:var(--radius-control);background:var(--danger-bg);border:1px solid var(--danger-border);gap:.625rem;padding:.75rem 1rem;font-size:.875rem;font-weight:500}.field-inline{flex-direction:row;align-items:center;gap:.625rem}.field-inline .field-label{white-space:nowrap;color:var(--text-2);font-weight:500}.field-inline .field-error{z-index:5;border-radius:var(--radius-chip);background:var(--danger-bg);border:1px solid var(--danger-border);width:max-content;max-width:20rem;box-shadow:var(--shadow-2);padding:.375rem .625rem;position:absolute;top:calc(100% + 4px);left:0}.date-field{position:relative}.date-field input{letter-spacing:.02em}fieldset{border:none;min-width:0;margin:0;padding:0}.form-stack{flex-direction:column;gap:1rem;display:flex}.form-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:.75rem;margin-top:.5rem;display:flex}.segmented{border-radius:var(--radius-control);background:var(--surface-sunken);border:1px solid var(--border);align-items:stretch;gap:2px;padding:3px;display:inline-flex}.segment{border-radius:calc(var(--radius-control) - 3px);min-height:36px;color:var(--text-2);cursor:pointer;-webkit-user-select:none;user-select:none;white-space:nowrap;justify-content:center;align-items:center;gap:.375rem;padding:0 .75rem;font-size:.8125rem;font-weight:500;display:inline-flex;position:relative}.segment:hover{color:var(--text);background:var(--surface-3)}.segment.active{background:var(--primary-bg);color:var(--on-primary);box-shadow:var(--shadow-1);font-weight:600}.segment:has(input:focus-visible){outline:2px solid var(--focus-ring);outline-offset:2px}.segmented-lg .segment{min-height:44px;padding:0 1.25rem;font-size:.875rem}.segmented-fill{grid-auto-columns:1fr;grid-auto-flow:column;width:100%;display:grid}.segmented-fill .segment{min-height:40px}.check-row{cursor:pointer;align-items:center;gap:.75rem;min-height:44px;font-size:.875rem;font-weight:500;display:inline-flex}.alert{border-radius:var(--radius-control);border:1px solid;align-items:flex-start;gap:.75rem;margin-bottom:1rem;padding:.875rem 1rem;font-size:.875rem;display:flex}.alert-icon{margin-top:.05em}.alert-body{flex-direction:column;flex:1;gap:.25rem;min-width:0;display:flex}.alert-error{background:var(--danger-bg);border-color:var(--danger-border);color:var(--danger-text)}.alert-error .alert-body span{color:var(--text)}.alert-warning{background:var(--warning-bg);border-color:var(--warning-border);color:var(--warning-text)}.alert-warning .alert-body{color:var(--text)}.alert-warning .alert-body>p{color:var(--warning-text);font-weight:600}.info-box{border-radius:var(--radius-control);background:var(--surface-2);border:1px solid var(--border);align-items:flex-start;gap:.75rem;padding:.875rem 1rem;font-size:.8125rem;font-weight:500;display:flex}.info-icon{color:var(--primary-text)}.badge{border-radius:var(--radius-chip);white-space:nowrap;align-items:center;margin-left:.5rem;padding:.125rem .5rem;font-size:.75rem;font-weight:600;display:inline-flex}.badge-voided{background:var(--surface-4);color:var(--text-2)}.badge-warn{background:var(--warning-bg);border:1px solid var(--warning-border);color:var(--warning-text)}.layer-badge{border-radius:var(--radius-chip);letter-spacing:.02em;white-space:nowrap;align-items:center;gap:.25rem;padding:.125rem .5rem;font-size:.6875rem;font-weight:600;display:inline-flex}.layer-badge-existing{background:var(--layer-existing-soft);color:var(--layer-existing-text)}.layer-badge-planned{background:var(--layer-planned-soft);color:var(--layer-planned-text)}.layer-badge-completed{background:var(--layer-completed-soft);color:var(--layer-completed-text)}.tech-badge{border-radius:var(--radius-chip);border:1px solid var(--primary-soft-border);background:var(--primary-soft);color:var(--primary-text);font-family:var(--font-mono);letter-spacing:.06em;white-space:nowrap;padding:.125rem .375rem;font-size:.6875rem;font-weight:600}.chip-mono{border-radius:var(--radius-chip);background:var(--surface-2);border:1px solid var(--border-strong);font-family:var(--font-mono);font-variant-numeric:tabular-nums;align-items:center;padding:.125rem .5rem;font-size:.8125rem;font-weight:500;display:inline-flex}.kbd{border-radius:var(--radius-chip);border:1px solid var(--border-strong);background:var(--surface);color:var(--text-2);white-space:nowrap;padding:.25rem .5rem;font-size:.75rem}.app-header{z-index:20;background:var(--header-bg);border-bottom:1px solid var(--border);position:sticky;top:0}.app-header-inner{min-height:var(--header-height);padding:0 var(--page-pad);flex-wrap:wrap;align-items:center;gap:0 1.25rem;display:flex}.brand{min-height:44px;color:var(--text);letter-spacing:-.01em;align-items:center;gap:.5rem;font-size:1.25rem;font-weight:700;text-decoration:none;display:inline-flex}.brand-icon{color:var(--primary)}.header-divider{background:var(--border);flex-shrink:0;width:1px;height:24px}.main-nav{align-self:stretch;align-items:stretch;gap:1.5rem;display:flex}.main-nav a{min-height:var(--header-height);color:var(--text-2);white-space:nowrap;border-top:2px solid #0000;border-bottom:2px solid #0000;align-items:center;font-size:.9375rem;font-weight:500;text-decoration:none;display:inline-flex}.main-nav a:hover{color:var(--text)}.main-nav a.active{color:var(--primary-text);border-bottom-color:var(--primary);font-weight:600}.header-tools{min-height:var(--header-height);align-items:center;gap:.75rem;margin-left:auto;display:flex}.locale-switch-compact .segment{letter-spacing:.06em;min-height:32px;padding:0 .5rem;font-size:.6875rem;font-weight:600}.locale-switch-compact .segment.active{background:var(--primary-soft);color:var(--primary-text);box-shadow:inset 0 0 0 1px var(--primary)}.user-block{align-items:center;gap:.5rem;min-width:0;display:flex}.avatar{background:var(--surface-2);border:1px solid var(--border);width:32px;height:32px;color:var(--primary-text);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.user-text{flex-direction:column;min-width:0;line-height:1.2;display:flex}.user-name{white-space:nowrap;font-size:.875rem;font-weight:600}.user-role{letter-spacing:.03em;color:var(--text-2);white-space:nowrap;text-overflow:ellipsis;max-width:14rem;font-size:.6875rem;font-weight:600;overflow:hidden}.theme-switch{position:relative}.popover{z-index:30;border-radius:var(--radius-control);background:var(--surface);border:1px solid var(--border-strong);min-width:12rem;box-shadow:var(--shadow-3);padding:.5rem;position:absolute;top:calc(100% + 6px);right:0}.popover[hidden]{display:none}.popover-title{letter-spacing:.06em;text-transform:uppercase;color:var(--text-2);padding:.25rem .5rem .5rem;font-size:.6875rem;font-weight:600}.menu-option{border-radius:calc(var(--radius-control) - 2px);min-height:44px;color:var(--text);cursor:pointer;align-items:center;gap:.625rem;padding:0 .625rem;font-size:.875rem;display:flex}.menu-option:hover{background:var(--surface-3)}.menu-option.active{color:var(--primary-text);font-weight:600}.menu-option:has(input:focus-visible){outline:2px solid var(--focus-ring);outline-offset:-2px}.menu-check{margin-left:auto}.app-main{padding:2rem var(--page-pad) 3rem;max-width:1680px;margin:0 auto}.app-main:focus{outline:none}.page-loading{color:var(--text-2);padding:2rem}.page-search{max-width:1200px;margin:0 auto}.page-form{max-width:1040px;margin:0 auto}.page-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;margin-bottom:1.5rem;display:flex}.page-header-stacked{flex-direction:column;align-items:flex-start;gap:.25rem}.page-title{font-size:2rem}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-card);box-shadow:var(--shadow-1)}.login-page{place-items:center;min-height:100vh;padding:2rem 1rem;display:grid}.login-card{background:var(--surface);border:1px solid var(--login-panel-border);border-radius:var(--radius-card);width:min(940px,100%);box-shadow:var(--shadow-3);grid-template-columns:5fr 7fr;display:grid;overflow:hidden}.login-brand{background:var(--login-panel-bg);border-right:1px solid var(--login-panel-border);flex-direction:column;gap:2rem;padding:2.5rem;display:flex}.brand-lockup{align-items:center;gap:.875rem;display:flex}.brand-lockup h1{font-size:1.5rem}.brand-logo{border-radius:var(--radius-control);background:var(--surface);border:1px solid var(--primary-soft-border);width:48px;height:48px;color:var(--primary);flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.login-facts{flex-direction:column;gap:.75rem;margin:0;padding:0;list-style:none;display:flex}.login-fact{border-radius:var(--radius-control);background:var(--login-fact-bg);border:1px solid var(--login-panel-border);align-items:center;gap:.75rem;min-height:60px;padding:.75rem;display:flex}.fact-icon{border-radius:var(--radius-control);background:var(--primary-soft);border:1px solid var(--primary-soft-border);width:36px;height:36px;color:var(--primary-text);flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.fact-title{flex:1;font-size:.875rem;font-weight:600;line-height:1.3}.login-form-panel{flex-direction:column;justify-content:space-between;gap:2rem;padding:3rem;display:flex}.login-form-body{flex-direction:column;gap:.375rem;display:flex}.login-title{letter-spacing:-.02em;font-size:1.75rem}.login-subtitle{color:var(--text-2);margin-bottom:1.25rem;font-size:.875rem}.login-form{flex-direction:column;gap:1rem;display:flex}.login-form input{min-height:48px}.login-form .btn-primary{margin-top:.5rem}.login-locale{border-top:1px solid var(--border);justify-content:center;padding-top:1.5rem;display:flex}.locale-switch-full{border-radius:var(--radius-pill);padding:4px}.locale-switch-full .segment{border-radius:var(--radius-pill);min-height:44px;padding:0 1rem;font-size:.875rem}.lock-backdrop,.modal-backdrop{background:var(--scrim);z-index:50;place-items:center;padding:1rem;display:grid;position:fixed;inset:0}.lock-backdrop{background:var(--scrim-strong);z-index:60}.lock-card,.modal{background:var(--surface);border:1px solid var(--border-strong);border-radius:var(--radius-card);box-shadow:var(--shadow-3)}.lock-card{flex-direction:column;gap:.5rem;width:min(26rem,100%);padding:2rem;display:flex}.lock-icon{border-radius:var(--radius-control);background:var(--primary-soft);border:1px solid var(--primary-soft-border);width:52px;height:52px;color:var(--primary-text);justify-content:center;align-items:center;margin-bottom:.5rem;display:inline-flex}.lock-user{font-weight:600}.lock-card .form-stack{margin-top:1rem}.modal{width:min(36rem,100%);max-height:calc(100vh - 2rem);padding:1.5rem;overflow:auto}.modal-title{margin-bottom:1.25rem;font-size:1.25rem}.void-target{font-weight:600}.choice-group{flex-direction:column;gap:.5rem;display:flex}.choice-cards{grid-template-columns:repeat(auto-fit,minmax(9rem,1fr));gap:.5rem;display:grid}.choice-card,.choice-chip{border-radius:var(--radius-control);border:1px solid var(--border-strong);background:var(--surface-2);cursor:pointer;align-items:center;gap:.625rem;min-height:44px;padding:.5rem .75rem;font-size:.875rem;display:flex}.choice-card.active,.choice-chip.active{border-color:var(--primary);background:var(--primary-soft)}.surface-choices{grid-template-columns:repeat(auto-fit,minmax(13rem,1fr));gap:.5rem;display:grid}.search-field{flex-direction:column;gap:.5rem;margin-bottom:1.5rem;display:flex}.search-box{align-items:center;display:flex;position:relative}.search-box input{border-radius:var(--radius-card);background:var(--input-bg);min-height:56px;padding:0 6.5rem 0 3.25rem;font-size:1.0625rem}.search-icon{color:var(--text-2);pointer-events:none;position:absolute;left:1.125rem}.search-box:focus-within .search-icon{color:var(--primary-text)}.search-box input::-webkit-search-cancel-button{display:none}.search-box .kbd{pointer-events:none;position:absolute;right:1rem}.results-head{justify-content:space-between;align-items:center;margin-bottom:.75rem;display:flex}.search-status{align-items:center;gap:.5rem;min-height:1.75rem;font-size:1.125rem;font-weight:600;display:inline-flex}.status-dot{background:var(--primary);width:8px;height:8px;box-shadow:0 0 0 4px var(--focus-halo);border-radius:50%}.result-table{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-card);box-shadow:var(--shadow-1);overflow:hidden}.result-table.is-empty{display:none}.result-header,.result-row{grid-template-columns:minmax(13rem,3fr) minmax(9.5rem,2fr) minmax(8.5rem,1.6fr) minmax(5rem,1fr) minmax(9.5rem,1.8fr) 20px;align-items:center;gap:1rem;padding:0 1.25rem;display:grid}.result-header{background:var(--surface-2);border-bottom:1px solid var(--border);min-height:48px;color:var(--text-2);letter-spacing:.06em;text-transform:uppercase;font-size:.75rem;font-weight:600}.result-row{border-bottom:1px solid var(--border);min-height:64px;color:var(--text);cursor:pointer;padding-top:.625rem;padding-bottom:.625rem;text-decoration:none;position:relative}.result-row:last-child{border-bottom:none}.result-row:before{content:"";background:0 0;width:3px;position:absolute;top:0;bottom:0;left:0}.result-row:hover,.result-row.active{background:var(--primary-soft)}.result-row:hover:before,.result-row.active:before{background:var(--primary)}.result-row.active{outline:1px solid var(--primary);outline-offset:-1px}.cell{align-items:center;gap:.5rem;min-width:0;font-size:.875rem;display:flex}.cell-name{align-items:flex-start}.row-icon{color:var(--text-2);margin-top:.125rem}.result-row:hover .row-icon,.result-row.active .row-icon{color:var(--primary-text)}.name-block{flex-direction:column;min-width:0;display:flex}.name-primary{font-size:.9375rem;line-height:1.35}.name-primary strong{font-weight:600}.result-row.active .name-primary strong{color:var(--primary-text)}.name-alt{color:var(--text-2);white-space:nowrap;text-overflow:ellipsis;font-size:.8125rem;overflow:hidden}.result-flags{flex-wrap:wrap;gap:.25rem .375rem;min-width:0;margin-top:.25rem;display:flex}.result-alert,.result-debt{border-radius:var(--radius-chip);border:1px solid;align-items:center;gap:.25rem;min-width:0;max-width:100%;padding:.0625rem .5rem;font-size:.75rem;font-weight:600;line-height:1.5;display:inline-flex}.result-alert .icon,.result-debt .icon{flex:none}.result-alert.is-warning{border-color:var(--warning-border);background:var(--warning-bg);color:var(--warning-text)}.result-alert.is-critical{border-color:var(--danger-border);background:var(--danger-bg);color:var(--danger-text)}.result-alert-severity{letter-spacing:.04em;text-transform:uppercase;flex:none;font-size:.6875rem;font-weight:700}.result-alert-text{text-overflow:ellipsis;white-space:nowrap;min-width:0;font-weight:500;overflow:hidden}.result-alert-more{flex:none;font-weight:700}.result-debt{border-color:var(--debt-fill);background:var(--debt-fill);color:var(--debt-mark)}.cell-label{display:none}.cell-value{font-size:.875rem}.cell .mono{font-size:.875rem;font-weight:500}.age{color:var(--text-2);font-size:.8125rem}.phone{white-space:nowrap}.no-visit{color:var(--text-2);font-size:.8125rem;font-style:italic}.row-chevron{color:var(--text-2)}.result-row:hover .row-chevron,.result-row.active .row-chevron{color:var(--primary-text)}.page-back{margin-bottom:1.5rem}.patient-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem 2rem;margin-bottom:1.5rem;padding:1.5rem 1.75rem;display:flex}.patient-identity{flex-wrap:wrap;align-items:baseline;gap:.25rem 1rem;min-width:0;display:flex}.patient-name{font-size:1.75rem;font-weight:500}.name-last{font-weight:600}.patient-alt-name{color:var(--text-2);font-size:1.25rem}.patient-facts{flex-wrap:wrap;gap:.5rem;margin:0;display:flex}.fact{border-radius:var(--radius-control);background:var(--surface-2);border:1px solid var(--border);align-items:center;gap:.5rem;min-height:44px;padding:0 .875rem;font-size:.875rem;display:inline-flex}.fact dt,.fact dd{align-items:center;gap:.375rem;margin:0;display:inline-flex}.fact .fact-icon{width:auto;height:auto;color:var(--text-2);background:0 0;border:none}.fact-label{letter-spacing:.06em;text-transform:uppercase;color:var(--text-2);font-size:.6875rem;font-weight:600}.fact-strong{font-size:.9375rem;font-weight:600}.fact-muted{color:var(--text-2)}.fact-caps{letter-spacing:.04em;text-transform:uppercase;font-size:.75rem;font-weight:600}.fact-link{color:inherit;text-decoration:none}.fact-link:hover{text-decoration:underline}.fact-primary{background:var(--primary-soft);border-color:var(--primary-soft-border)}.fact-primary .fact-strong{color:var(--primary-text)}.fact-warning{background:var(--warning-bg);border-color:var(--warning-border);color:var(--warning-text)}.fact-warning .fact-icon,.fact-warning .fact-label{color:var(--warning-text)}.fact-success{background:var(--success-bg);border-color:var(--success-border);color:var(--success-text)}.fact-success .fact-icon,.fact-success .fact-label{color:var(--success-text)}.fact-danger{background:var(--danger-bg);border-color:var(--danger-border);color:var(--danger-text)}.fact-danger .fact-label{color:var(--danger-text)}.fact .badge{margin-left:0}.chart-workspace{grid-template-columns:minmax(0,1fr);align-items:start;gap:1.5rem;display:grid}.pattern-defs{width:0;height:0;position:absolute;overflow:hidden}.odontogram{flex-direction:column;gap:1.25rem;min-width:0;padding:1.5rem;display:flex}.card-header{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:1rem;display:flex}.card-title-group{align-items:flex-start;gap:.75rem;min-width:0;display:flex}.title-icon{color:var(--primary);margin-top:.25rem}.card-title{font-size:1.5rem}.card-subtitle{color:var(--text-2);max-width:34rem;margin-top:.125rem;font-size:.8125rem}.card-actions{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.as-of input{width:11.5rem;min-height:44px}.odontogram-toolbar{border-radius:var(--radius-control);background:var(--surface-2);border:1px solid var(--border);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem;padding:.75rem;display:flex}.layer-toggles{flex-wrap:wrap;gap:.5rem;display:flex}.layer-toggle{border-radius:var(--radius-control);border:1px solid var(--border-strong);background:var(--surface);min-height:44px;color:var(--text-2);cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:.5rem;padding:0 .875rem;font-size:.8125rem;font-weight:500;display:inline-flex}.layer-toggle:hover{background:var(--surface-3)}.layer-toggle.on{color:var(--text);border-color:var(--control-border);background:var(--surface-3)}.layer-toggle:not(.on) .layer-swatch{opacity:.45}.layer-toggle:not(.on) span{text-decoration:line-through}.layer-toggle:has(input:focus-visible){outline:2px solid var(--focus-ring);outline-offset:2px}.toggle-mark{color:var(--text-2)}.layer-toggle.on .toggle-mark{color:var(--primary-text)}.as-of-notice{border-radius:var(--radius-control);background:var(--warning-bg);border:1px solid var(--warning-border);color:var(--warning-text);align-items:center;gap:.5rem;padding:.625rem .875rem;font-size:.875rem;font-weight:500;display:flex}.odontogram-main{flex-direction:column;gap:1.25rem;min-width:0;display:flex}.odontogram-chart{border-radius:var(--radius-card);background:var(--surface-sunken);border:1px solid var(--border);overflow-x:auto}.odontogram-chart-inner{flex-direction:column;gap:.375rem;width:max-content;min-width:100%;padding:.75rem 1rem 1rem;display:flex}.jaw-label{color:var(--text-2);letter-spacing:.08em;text-transform:uppercase;justify-content:space-between;align-items:center;gap:1rem;padding:.375rem .5rem;font-size:.6875rem;font-weight:600;display:flex}.jaw-label-lower{border-radius:var(--radius-chip);background:var(--surface-2);margin-top:.75rem}.jaw-name{color:var(--text)}.jaw-side .mono{color:var(--primary-text);letter-spacing:.02em}.tooth-row{justify-content:center;gap:0;display:flex}.tooth-row-upper.tooth-row-primary{margin-bottom:.25rem}.tooth{border-radius:var(--radius-control);cursor:pointer;min-width:44px;font:inherit;color:inherit;background:0 0;border:2px solid #0000;flex-direction:column;align-items:center;gap:4px;padding:4px 2px;display:flex}.tooth-lower{flex-direction:column-reverse}.tooth-midline{margin-right:18px;position:relative}.tooth-midline:after{content:"";border-right:2px solid var(--border-strong);position:absolute;top:4px;bottom:4px;right:-11px}.tooth:hover{background:var(--surface-3)}.tooth.selected{border-color:var(--primary);background:var(--primary-soft);box-shadow:0 0 12px var(--focus-halo)}.tooth:focus-visible{outline:2px solid var(--focus-ring);outline-offset:1px}.tooth-number{border-radius:var(--radius-chip);min-width:26px;color:var(--text-2);font-family:var(--font-mono);font-variant-numeric:tabular-nums;text-align:center;padding:1px 4px;font-size:.8125rem;font-weight:500;line-height:1.3}.tooth-number.has-layer{font-weight:700}.layer-text-existing{color:var(--layer-existing-text)}.layer-text-planned{color:var(--layer-planned-text)}.layer-text-completed{color:var(--layer-completed-text)}.tooth.selected .tooth-number{background:var(--primary-bg);color:var(--on-primary)}.tooth-glyph{width:clamp(36px,3.1vw,44px);height:auto;display:block}.tooth-glyph .crown-slot{fill:var(--tooth-slot)}.tooth-glyph .surface{fill:var(--tooth-fill);stroke:var(--tooth-gap);stroke-width:1.4px}.tooth-glyph .surface-center{fill:var(--tooth-center)}.tooth-glyph .crown.absent .surface,.tooth-glyph .crown.absent .crown-slot{fill:var(--tooth-absent)}.tooth-glyph .crown.absent .surface{stroke-dasharray:2 2}.tooth-glyph .root-outline{fill:var(--tooth-fill);stroke:var(--tooth-gap);stroke-width:1px}.tooth-glyph .lesion-dot{fill:var(--lesion-dot);stroke:var(--lesion-ring);stroke-width:1.2px}.tooth.selected .tooth-glyph .crown-slot{fill:var(--primary-soft)}.odontogram-legend{border-radius:var(--radius-control);background:var(--surface-2);border:1px solid var(--border);flex-direction:column;gap:.625rem;padding:.875rem 1rem;display:flex}.odontogram-legend ul{flex-wrap:wrap;gap:.5rem 1.5rem;margin:0;padding:0;list-style:none;display:flex}.odontogram-legend li{align-items:center;gap:.5rem;font-size:.8125rem;display:inline-flex}.legend-neutral{color:var(--text-2)}.condition-list{flex-direction:column;gap:.625rem;display:flex}.table-wrap{border:1px solid var(--border);border-radius:var(--radius-control);overflow-x:auto}.data-table{border-collapse:collapse;width:100%;font-size:.875rem}.data-table th{background:var(--surface-2);color:var(--text-2);letter-spacing:.06em;text-transform:uppercase;text-align:left;border-bottom:1px solid var(--border);padding:.625rem .75rem;font-size:.6875rem;font-weight:600}.data-table td{border-bottom:1px solid var(--border);text-align:left;padding:.5rem .75rem}.data-table tr:last-child td{border-bottom:none}.tooth-history{flex-direction:column;gap:1rem;min-width:0;padding:1.5rem;display:flex}.tooth-history-empty{text-align:center;color:var(--text-2);justify-content:center;align-items:center;min-height:12rem;font-size:.875rem}.empty-icon{color:var(--primary);opacity:.8}.history-header{align-items:flex-start;gap:.75rem;display:flex}.tooth-badge{border-radius:var(--radius-control);background:var(--primary-soft);border:1px solid var(--primary-soft-border);width:44px;height:44px;color:var(--primary-text);flex-shrink:0;justify-content:center;align-items:center;font-size:1.0625rem;font-weight:700;display:inline-flex}.history-heading{flex:1;min-width:0}.history-heading .card-title{font-size:1.25rem}.tooth-name{color:var(--text-2);letter-spacing:.02em;margin-top:.125rem;font-size:.75rem;font-weight:600}.surface-summary{border-radius:var(--radius-control);background:var(--surface-2);border:1px solid var(--border);flex-direction:column;gap:.375rem;padding:.875rem 1rem;display:flex}.summary-value{color:var(--primary-text);font-size:.9375rem;font-weight:600}.surface-name>span{display:inline-block}.surface-name>span:first-letter{text-transform:uppercase}.current-entries{flex-wrap:wrap;gap:.375rem;margin-top:.25rem;display:flex}.surface-summary .muted{font-size:.875rem}.event-list{flex-direction:column;gap:.75rem;margin:0;padding:0;list-style:none;display:flex}.event{border-radius:var(--radius-control);background:var(--surface-2);border:1px solid var(--border);flex-direction:column;gap:.375rem;padding:.875rem 1rem;display:flex}.event-head{justify-content:space-between;align-items:flex-start;gap:.5rem;display:flex}.event-tags{flex-wrap:wrap;align-items:center;gap:.375rem .5rem;min-width:0;min-height:36px;display:flex}.event-tags time{color:var(--text-2);font-size:.75rem}.event-head .btn-ghost-danger{flex-shrink:0;margin:-.25rem -.5rem 0 0;padding:0 .5rem}.event-head .badge{margin-left:0}.event-title{font-size:1.0625rem;font-weight:600}.event-meta{color:var(--text-2);flex-wrap:wrap;gap:.25rem 1rem;font-size:.8125rem;display:flex}.event-note{border-radius:var(--radius-chip);background:var(--surface-sunken);border:1px solid var(--border);color:var(--text-2);padding:.5rem .75rem;font-size:.8125rem}.event-reason{color:var(--text-2);font-size:.8125rem}.event.voided{background:0 0;border-style:dashed}.event.voided .event-title{color:var(--text-2);text-decoration:line-through}.event.void-record{background:0 0}.event.void-record .event-title{color:var(--text-2);font-size:.875rem;font-weight:500}.patient-form{flex-direction:column;gap:1.5rem;display:flex}.form-section{flex-direction:column;gap:1.25rem;padding:1.75rem 2rem 2rem;display:flex}.section-head{align-items:flex-start;gap:.75rem;display:flex}.section-icon{border-radius:var(--radius-control);background:var(--primary-soft);border:1px solid var(--primary-soft-border);width:36px;height:36px;color:var(--primary-text);flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.section-heading{flex:1;min-width:0}.section-heading h2{font-size:1.0625rem}.section-heading p{color:var(--text-2);margin-top:.125rem;font-size:.8125rem}.section-aside{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:.5rem;display:flex}.step-chip{border-radius:var(--radius-chip);background:var(--surface-2);border:1px solid var(--border);color:var(--text-2);padding:.125rem .5rem;font-size:.75rem}.section-note{border-radius:var(--radius-chip);background:var(--surface-2);color:var(--text-2);align-items:center;gap:.375rem;padding:.25rem .625rem;font-size:.75rem;font-weight:500;display:inline-flex}.form-grid{align-items:start;gap:1.25rem 1.5rem;display:grid}.form-grid.cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.form-grid.cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.form-grid.cols-address{grid-template-columns:minmax(0,2fr) minmax(0,1.4fr) minmax(0,1fr)}.span-2{grid-column:span 2}.jmbg-input{letter-spacing:.12em;font-size:1rem}.confirm-invalid{flex-direction:column;gap:.125rem;display:flex}.hint .ok{align-items:center;gap:.25rem;font-weight:500;display:inline-flex}.hint .btn-ghost{margin-left:.5rem}.phone-list{flex-direction:column;align-items:flex-start;gap:.75rem;display:flex}.phone-list .field{width:100%}.phone-row{flex-direction:column;align-items:flex-start;gap:.25rem;width:100%;display:flex}.e164-preview{color:var(--primary-text);align-items:center;gap:.375rem;font-weight:500;display:inline-flex}.e164-preview:before{content:"";background:var(--primary);border-radius:50%;width:6px;height:6px}.subsection{border-top:1px solid var(--border);flex-direction:column;gap:.75rem;padding-top:1.25rem;display:flex}.radio-cards{grid-template-columns:repeat(2,minmax(0,15rem));gap:.75rem;display:grid}.radio-card{border-radius:var(--radius-control);border:1px solid var(--border-strong);background:var(--surface-2);min-height:52px;color:var(--text-2);cursor:pointer;align-items:center;gap:.75rem;padding:0 1rem;display:flex}.radio-card:hover{background:var(--surface-3)}.radio-card.active{border-color:var(--primary);background:var(--primary-soft);color:var(--primary-text)}.radio-card:has(input:focus-visible){outline:2px solid var(--focus-ring);outline-offset:2px}.script-sample{font-size:.875rem;font-weight:700}.radio-card-label{flex:1;font-size:.9375rem;font-weight:600}.radio-dot{border:2px solid var(--control-border);border-radius:50%;justify-content:center;align-items:center;width:20px;height:20px;display:inline-flex}.radio-card.active .radio-dot{border-color:var(--primary)}.radio-card.active .radio-dot:after{content:"";background:var(--primary);border-radius:50%;width:10px;height:10px}.counter{text-align:right}.digraph-choice{flex-wrap:wrap;align-items:center;gap:.5rem 1rem;padding:.25rem 0;display:flex}.digraph-choice legend{float:left;margin-right:1rem;font-size:.875rem;font-weight:600}.action-bar{z-index:10;border-radius:var(--radius-card);background:var(--surface);border:1px solid var(--border-strong);box-shadow:var(--shadow-3);flex-wrap:wrap;justify-content:flex-end;gap:1rem;padding:1rem;display:flex;position:sticky;bottom:1rem}.action-bar .btn-primary{min-width:13rem}.pal-plava{--pal:var(--pal-plava);--pal-bg:var(--pal-plava-bg);--pal-text:var(--pal-plava-text)}.pal-tirkizna{--pal:var(--pal-tirkizna);--pal-bg:var(--pal-tirkizna-bg);--pal-text:var(--pal-tirkizna-text)}.pal-zelena{--pal:var(--pal-zelena);--pal-bg:var(--pal-zelena-bg);--pal-text:var(--pal-zelena-text)}.pal-zuta{--pal:var(--pal-zuta);--pal-bg:var(--pal-zuta-bg);--pal-text:var(--pal-zuta-text)}.pal-narandzasta{--pal:var(--pal-narandzasta);--pal-bg:var(--pal-narandzasta-bg);--pal-text:var(--pal-narandzasta-text)}.pal-crvena{--pal:var(--pal-crvena);--pal-bg:var(--pal-crvena-bg);--pal-text:var(--pal-crvena-text)}.pal-roze{--pal:var(--pal-roze);--pal-bg:var(--pal-roze-bg);--pal-text:var(--pal-roze-text)}.pal-ljubicasta{--pal:var(--pal-ljubicasta);--pal-bg:var(--pal-ljubicasta-bg);--pal-text:var(--pal-ljubicasta-text)}.pal-braon{--pal:var(--pal-braon);--pal-bg:var(--pal-braon-bg);--pal-text:var(--pal-braon-text)}.pal-siva{--pal:var(--pal-siva);--pal-bg:var(--pal-siva-bg);--pal-text:var(--pal-siva-text)}.cal-dot{background:var(--pal);border-radius:50%;flex-shrink:0;width:10px;height:10px;display:inline-block}.page-calendar{flex-direction:column;gap:1rem;display:flex}.cal-page-header{align-items:flex-end;margin-bottom:0}.cal-title-block{flex-wrap:wrap;align-items:baseline;gap:.25rem 1rem;display:flex}.cal-period{color:var(--text-2);font-size:1.125rem;font-weight:500}.cal-header-actions{flex-wrap:wrap;gap:.75rem;display:flex}.cal-toolbar{flex-wrap:wrap;align-items:center;gap:.75rem 1.25rem;padding:.75rem 1rem;display:flex}.cal-toolbar-group{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.cal-nav{gap:.25rem;display:flex}.cal-date input{width:10.5rem;min-height:44px}.cal-provider-filter select{width:auto;min-width:12rem;min-height:44px}.cal-group-switch .icon{opacity:.85}.cal-cancelled-toggle{margin-left:auto}.cal-notice{border-radius:var(--radius-control);background:var(--success-bg);border:1px solid var(--success-border);align-items:center;gap:.5rem;padding:.375rem .375rem .375rem 1rem;font-size:.875rem;font-weight:500;display:flex}.cal-notice>.icon:first-child{color:var(--success-text)}.cal-notice>span{flex:1}.cal-holiday-banner{border-radius:var(--radius-control);background:var(--warning-bg);border:1px solid var(--warning-border);align-items:center;gap:.625rem;padding:.75rem 1rem;font-size:.875rem;font-weight:500;display:flex}.cal-holiday-banner>.icon{color:var(--warning-text)}.cal-layout{grid-template-columns:minmax(0,1fr);align-items:start;gap:1rem;display:grid}.cal-layout.has-panel{grid-template-columns:minmax(0,1fr) 23rem}.cal-board{flex-direction:column;min-width:0;display:flex;overflow:hidden}.cal-empty{color:var(--text-2);padding:2rem}.cal-legend{border-top:1px solid var(--border);align-items:center;gap:.5rem;padding:.625rem 1rem;display:flex}.cal-scroll{max-height:calc(100vh - var(--header-height) - 15rem);overscroll-behavior:contain;min-height:22rem;overflow:auto}.cal-grid{--cal-axis:4.25rem;--cal-col-min:12rem;grid-template-columns:var(--cal-axis) repeat(var(--cal-cols), minmax(var(--cal-col-min), 1fr));min-width:min-content;display:grid}.cal-grid.is-dense{--cal-col-min:8.5rem}.cal-corner,.cal-colhead{z-index:6;background:var(--surface);border-bottom:1px solid var(--border-strong);position:sticky;top:0}.cal-corner{z-index:7;border-right:1px solid var(--border);left:0}.cal-colhead{border-left:1px solid var(--border);flex-direction:column;justify-content:center;gap:.125rem;min-width:0;min-height:3.75rem;padding:.5rem .75rem;display:flex}.cal-colhead-title{align-items:center;gap:.5rem;min-width:0;font-size:.9375rem;font-weight:600;display:flex}.cal-colhead-text{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.cal-colhead-sub{color:var(--text-2);white-space:nowrap;text-overflow:ellipsis;font-size:.75rem;overflow:hidden}.cal-colhead.is-today{box-shadow:inset 0 -3px 0 var(--primary)}.cal-colhead.is-today .cal-colhead-title{color:var(--primary-text)}.cal-colhead-holiday{color:var(--warning-text);white-space:nowrap;text-overflow:ellipsis;align-items:center;gap:.25rem;font-size:.75rem;font-weight:600;display:flex;overflow:hidden}.cal-axis{z-index:5;background:var(--surface);border-right:1px solid var(--border);position:sticky;left:0}.cal-hour{background:var(--surface);color:var(--text-2);padding:0 .125rem;font-size:.75rem;line-height:1;position:absolute;right:.625rem;transform:translateY(-50%)}.cal-hour:first-child{transform:translateY(4px)}.cal-hour:last-child{transform:translateY(-100%)}.cal-col{border-left:1px solid var(--border);background-image:repeating-linear-gradient(to bottom, var(--cal-line-hour) 0 1px, transparent 1px 120px), repeating-linear-gradient(to bottom, var(--cal-line) 0 1px, transparent 1px 30px);min-width:0;position:relative}.cal-col.is-today{background-color:var(--cal-today-bg)}.cal-col.is-writable{cursor:cell}.cal-off{pointer-events:none;background:repeating-linear-gradient(135deg, var(--cal-off) 0 7px, var(--cal-off-stripe) 7px 14px);position:absolute;left:0;right:0}.cal-off-holiday{background:repeating-linear-gradient(135deg, var(--cal-holiday) 0 7px, var(--cal-holiday-stripe) 7px 14px)}.cal-now{z-index:4;border-top:2px solid var(--cal-now);pointer-events:none;height:0;position:absolute;left:0;right:0}.cal-now:before{content:"";background:var(--cal-now);border-radius:50%;width:10px;height:10px;position:absolute;top:-6px;left:-5px}.cal-appt{z-index:2;border:1px solid color-mix(in srgb, var(--pal) 35%, transparent);border-left:4px solid var(--pal);background:var(--pal-bg);min-height:0;color:var(--text);font:inherit;text-align:left;cursor:pointer;box-shadow:var(--shadow-1);border-radius:6px;flex-direction:column;align-items:stretch;gap:1px;padding:.25rem .375rem .25rem .5rem;font-size:.8125rem;line-height:1.25;display:flex;position:absolute;overflow:hidden}.cal-appt:hover{z-index:3;box-shadow:var(--shadow-2)}.cal-appt:focus-visible{z-index:4;outline:2px solid var(--focus-ring);outline-offset:1px}.cal-appt.is-selected{z-index:3;box-shadow:0 0 0 2px var(--surface), 0 0 0 4px var(--primary)}.cal-appt.is-movable{touch-action:none;cursor:grab}.cal-appt.is-dragging{opacity:.4}.cal-appt-head{justify-content:space-between;align-items:center;gap:.25rem;min-width:0;display:flex}.cal-appt-time{color:var(--text-2);white-space:nowrap;text-overflow:ellipsis;font-size:.6875rem;font-weight:600;overflow:hidden}.cal-appt-icons{color:var(--pal-text);align-items:center;gap:2px;display:inline-flex}.cal-appt-icons .cal-appt-warn{color:var(--warning-text)}.cal-appt-patient{white-space:nowrap;text-overflow:ellipsis;font-weight:600;overflow:hidden}.cal-appt-type{min-width:0;color:var(--pal-text);white-space:nowrap;text-overflow:ellipsis;align-items:center;gap:.25rem;font-size:.75rem;font-weight:600;display:flex;overflow:hidden}.cal-appt-provider{border:1px solid var(--pal);background:var(--surface);color:var(--text);letter-spacing:.02em;border-radius:3px;flex-shrink:0;padding:0 .25rem;font-size:.625rem;font-weight:700}.cal-appt-hint{background:var(--warning-bg);border:1px solid var(--warning-border);width:-moz-fit-content;width:fit-content;max-width:100%;color:var(--warning-text);white-space:nowrap;text-overflow:ellipsis;border-radius:3px;padding:0 .25rem;font-size:.6875rem;font-weight:600;overflow:hidden}.cal-appt.is-compact{padding-top:.125rem;padding-bottom:.125rem}.cal-appt.is-compact .cal-appt-type{display:none}.cal-appt.is-tiny{flex-direction:row;align-items:center;gap:.375rem;padding-top:0;padding-bottom:0}.cal-appt.is-tiny .cal-appt-icons{display:none}.cal-appt.is-cancelled{background:var(--surface-2);border-color:var(--border-strong);border-left-style:dashed;border-left-color:var(--control-border);box-shadow:none}.cal-appt.is-cancelled .cal-appt-patient{color:var(--text-2);text-decoration:line-through}.cal-appt.is-cancelled .cal-appt-type,.cal-appt.is-cancelled .cal-appt-icons{color:var(--text-2)}.cal-appt.status-no_show .cal-appt-icons .cal-appt-status{color:var(--danger-text)}.cal-appt.status-completed .cal-appt-icons .cal-appt-status{color:var(--success-text)}.cal-ghost{z-index:5;border:2px dashed var(--primary);background:var(--primary-soft);color:var(--primary-text);pointer-events:none;border-radius:6px;align-items:flex-start;padding:.25rem .5rem;font-size:.75rem;font-weight:600;display:flex;position:absolute;left:3px;right:3px}.status-badge{border-radius:var(--radius-chip);white-space:nowrap;border:1px solid;align-items:center;gap:.375rem;padding:.1875rem .5rem;font-size:.75rem;font-weight:600;display:inline-flex}.status-neutral{background:var(--surface-3);border-color:var(--border-strong);color:var(--text)}.status-primary{background:var(--primary-soft);border-color:var(--primary-soft-border);color:var(--primary-text)}.status-warning{background:var(--warning-bg);border-color:var(--warning-border);color:var(--warning-text)}.status-info{background:var(--layer-existing-soft);border-color:var(--layer-existing);color:var(--layer-existing-text)}.status-success{background:var(--success-bg);border-color:var(--success-border);color:var(--success-text)}.status-danger{background:var(--danger-bg);border-color:var(--danger-border);color:var(--danger-text)}.status-muted{background:var(--surface-2);border-color:var(--border);color:var(--text-2)}.appt-panel{top:calc(var(--header-height) + 1rem);max-height:calc(100vh - var(--header-height) - 2rem);flex-direction:column;gap:1rem;padding:1.25rem;display:flex;position:sticky;overflow-y:auto}.appt-panel-head{justify-content:space-between;align-items:flex-start;gap:.5rem;display:flex}.appt-panel-head .btn-icon{flex-shrink:0;margin:-.5rem -.5rem 0 0}.appt-panel-title .card-title{margin-top:.25rem;font-size:1.375rem}.appt-panel-title .card-title:focus{outline:none}.appt-patient-link{color:var(--text);text-decoration:none}.appt-patient-link:hover{color:var(--primary-text);text-decoration:underline}.appt-panel-sub{align-items:center;gap:.75rem;margin-top:.5rem;font-size:.8125rem;display:flex}.appt-status-row{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.appt-noshow-hint{gap:.25rem;margin-left:0}.appt-facts,.move-summary{border-radius:var(--radius-control);background:var(--surface-2);border:1px solid var(--border);grid-template-columns:auto minmax(0,1fr);gap:.5rem 1rem;margin:0;padding:.875rem 1rem;font-size:.875rem;display:grid}.appt-facts>div,.move-summary>div{display:contents}.appt-facts dt,.move-summary dt{color:var(--text-2);font-weight:500}.appt-facts dd,.move-summary dd{flex-wrap:wrap;align-items:center;gap:.375rem;margin:0;font-weight:500;display:flex}.appt-note{white-space:pre-wrap}.appt-flag{border-radius:var(--radius-control);background:var(--surface-2);border:1px solid var(--border);align-items:flex-start;gap:.5rem;padding:.5rem .75rem;font-size:.8125rem;display:flex}.appt-flag.warn{background:var(--warning-bg);border-color:var(--warning-border)}.appt-flag.warn .icon{color:var(--warning-text)}.appt-actions{flex-direction:column;gap:.5rem;display:flex}.appt-action-buttons{flex-wrap:wrap;gap:.5rem;display:flex}.btn-warn{background:var(--warning-bg);border-color:var(--warning-text);color:var(--warning-text)}.btn-warn:hover:not(:disabled){background:var(--warning-border)}.appt-history{flex-direction:column;gap:.5rem;display:flex}.status-history{flex-direction:column;gap:.5rem;margin:0;padding:0;list-style:none;display:flex}.status-history li{border-radius:var(--radius-control);background:var(--surface-2);border:1px solid var(--border);flex-wrap:wrap;align-items:center;gap:.25rem .75rem;padding:.5rem .75rem;font-size:.8125rem;display:flex}.status-reason{color:var(--text-2);flex-basis:100%}.modal-wide{width:min(48rem,100%)}.picked-patient{border-radius:var(--radius-control);background:var(--primary-soft);border:1px solid var(--primary-soft-border);flex-wrap:wrap;align-items:center;gap:.5rem .75rem;min-height:46px;padding:.375rem .5rem .375rem .875rem;display:flex}.picked-icon{color:var(--primary-text)}.picked-change{margin-left:auto}.picker-list{border-radius:var(--radius-control);background:var(--surface);border:1px solid var(--border-strong);max-height:17rem;box-shadow:var(--shadow-2);overflow-y:auto}.picker-list[hidden]{display:none}.picker-option{border-bottom:1px solid var(--border);cursor:pointer;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:.125rem .75rem;padding:.5rem .875rem;font-size:.9375rem;display:grid}.picker-option:last-child{border-bottom:none}.picker-option.active{background:var(--primary-soft);box-shadow:inset 3px 0 0 var(--primary)}.picker-visit{grid-column:1/-1;font-size:.75rem}.slot-conflict .conflict-list{margin:.125rem 0 .25rem;padding-left:1.25rem}.btn-take-slot{white-space:normal;text-align:left;align-self:flex-start;height:auto;min-height:44px;padding:.5rem 1rem}.overbook{border-top:1px solid var(--warning-border);flex-direction:column;gap:.5rem;margin-top:.5rem;padding-top:.5rem;display:flex}.move-question{font-size:1.0625rem;font-weight:600}.weekday-chips{flex-wrap:wrap;gap:.5rem;display:flex}.weekday-chips .choice-chip{min-width:4.5rem}.availability-results{border-top:1px solid var(--border);flex-direction:column;gap:.625rem;margin-top:1.25rem;padding-top:1rem;display:flex}.slot-list{flex-direction:column;gap:.5rem;margin:0;padding:0;list-style:none;display:flex}.slot-option{border:1px solid var(--border-strong);border-radius:var(--radius-control);background:var(--surface-2);width:100%;min-height:52px;color:var(--text);font:inherit;text-align:left;cursor:pointer;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:1rem;padding:.5rem 1rem;display:grid}.slot-option:hover{border-color:var(--primary);background:var(--primary-soft)}.slot-when{font-weight:600}.slot-who{color:var(--text-2);font-size:.875rem}.slot-action{color:var(--primary-text);align-items:center;gap:.25rem;font-size:.875rem;font-weight:600;display:inline-flex}.patient-appointments{flex-direction:column;gap:1rem;margin-bottom:1.5rem;padding:1.5rem;display:flex}.patient-appt-columns{grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem 1.5rem;display:grid}.patient-appt-list{flex-direction:column;gap:.375rem;margin:.5rem 0 0;padding:0;list-style:none;display:flex}.patient-appt{border-radius:var(--radius-control);background:var(--surface-2);border:1px solid var(--border);justify-content:space-between;align-items:center;gap:.75rem;padding:.5rem .75rem;display:flex}.patient-appt-link{min-width:0;min-height:36px;color:var(--text);flex-wrap:wrap;flex:1;align-items:center;gap:.25rem 1rem;text-decoration:none;display:flex}.patient-appt-link:hover .patient-appt-when{color:var(--primary-text);text-decoration:underline}.patient-appt-when{font-size:.875rem;font-weight:600}.patient-appt-type{align-items:center;gap:.375rem;font-size:.875rem;display:inline-flex}.patient-appt-provider{font-size:.8125rem}.patient-appt.is-cancelled .patient-appt-when{color:var(--text-2);text-decoration:line-through}.page-settings{max-width:1200px;margin:0 auto}.settings-grid{grid-template-columns:minmax(0,1fr);gap:1.5rem;display:grid}.settings-card{flex-direction:column;gap:1rem;padding:1.5rem;display:flex}.settings-list{border:1px solid var(--border);border-radius:var(--radius-control);flex-direction:column;margin:0;padding:0;list-style:none;display:flex;overflow:hidden}.settings-row{border-bottom:1px solid var(--border);flex-wrap:wrap;align-items:center;gap:.5rem 1rem;padding:.625rem 1rem;display:flex}.settings-row:last-child{border-bottom:none}.settings-row.is-inactive .settings-name{color:var(--text-2)}.settings-name{align-items:center;gap:.5rem;min-width:12rem;font-weight:600;display:inline-flex}.settings-name .icon{color:var(--text-2)}.settings-actions{flex-wrap:wrap;gap:.5rem;margin-left:auto;display:flex}.hours-summary{color:var(--text-2);flex-wrap:wrap;gap:.25rem .75rem;font-size:.8125rem;display:flex}.hours-days{color:var(--text);font-weight:600}.settings-add,.settings-rename{flex-wrap:wrap;align-items:flex-end;gap:.75rem;display:flex}.settings-rename{flex:1}.settings-add .field,.settings-rename .field{flex:1;min-width:14rem}.color-choices{flex-wrap:wrap;gap:.5rem;display:flex}.color-choice{border:1px solid var(--border-strong);border-radius:var(--radius-pill);cursor:pointer;align-items:center;gap:.5rem;min-height:40px;padding:0 .875rem 0 .5rem;font-size:.8125rem;font-weight:500;display:inline-flex}.color-choice.active{border-color:var(--primary);box-shadow:0 0 0 1px var(--primary);background:var(--primary-soft);font-weight:600}.color-choice:has(input:focus-visible){outline:2px solid var(--focus-ring);outline-offset:2px}.color-swatch{background:var(--pal);width:20px;height:20px;box-shadow:inset 0 0 0 3px var(--pal-bg);border:1px solid var(--pal);border-radius:50%}.hours-editor{border:1px solid var(--border);border-radius:var(--radius-control);flex-direction:column;display:flex;overflow:hidden}.hours-day{border-bottom:1px solid var(--border);grid-template-columns:8.5rem minmax(0,1fr) auto;align-items:start;gap:.75rem;padding:.5rem .875rem;display:grid}.hours-day:last-child{border-bottom:none}.hours-day-name{padding-top:.5rem;font-size:.875rem;font-weight:600}.hours-intervals{flex-direction:column;gap:.375rem;display:flex}.hours-inputs{align-items:center;gap:.5rem;display:flex}.hours-time{text-align:center;width:6.5rem;min-height:40px}.hours-off{align-items:center;min-height:40px;font-size:.875rem;display:inline-flex}@media (max-width:1100px){.cal-layout.has-panel{grid-template-columns:minmax(0,1fr)}.appt-panel{top:var(--header-height);z-index:40;width:min(24rem,100vw);max-height:none;box-shadow:var(--shadow-3);border-radius:0;position:fixed;bottom:0;right:0}.patient-appt-columns{grid-template-columns:minmax(0,1fr)}}@media (max-width:640px){.cal-cancelled-toggle{margin-left:0}.hours-day{grid-template-columns:minmax(0,1fr) auto}.hours-day-name{grid-column:1/-1}.slot-option{grid-template-columns:minmax(0,1fr) auto}.slot-who{grid-column:1}}.condition-card{min-width:0;padding:1.25rem 1.5rem 1.5rem}@media (min-width:1360px){.chart-workspace{grid-template-columns:minmax(0,1fr) 22rem}.chart-workspace>.tooth-history{grid-area:1/2/span 2;align-self:start}.chart-workspace>.odontogram,.chart-workspace>.condition-card{grid-column:1}.tooth-history{top:calc(var(--header-height) + 1rem);max-height:calc(100vh - var(--header-height) - 2rem);position:sticky;overflow-y:auto}}@media (min-width:1500px){.chart-workspace{grid-template-columns:minmax(0,1fr) 24rem}}@media (max-width:1440px){:root{--page-pad:1.5rem}}@media (max-width:1200px){.user-text{display:none}}@media (max-width:1100px){.result-header{display:none}.result-row{grid-template-columns:repeat(4,minmax(0,auto)) 1fr 20px;grid-template-areas:"name name name name name chev""dob visit chart phone.chev";justify-content:start;gap:.375rem 1.5rem}.result-row>.cell:first-of-type{grid-area:name}.result-row>.cell:nth-of-type(2){grid-area:dob}.result-row>.cell:nth-of-type(3){grid-area:visit}.result-row>.cell:nth-of-type(4){grid-area:chart}.result-row>.cell:nth-of-type(5){grid-area:phone}.result-row>.row-chevron{grid-area:chev}.result-row .cell:not(.cell-name){padding-left:1.75rem}.result-row .cell:not(.cell-name)~.cell{padding-left:0}.result-row .cell:not(.cell-name){flex-direction:column;align-items:flex-start;gap:.125rem}.cell-label{letter-spacing:.06em;text-transform:uppercase;color:var(--text-2);font-size:.6875rem;font-weight:600;display:block}.tooth-history{padding:1.25rem}.odontogram{padding:1rem}}@media (max-width:960px){:root{--page-pad:1rem}.header-btn .btn-label{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.header-btn:has(.btn-label){width:44px;padding:0}.main-nav{border-top:1px solid var(--border);order:3;gap:1.25rem;width:100%}.main-nav a{min-height:48px}.app-header-inner>.header-divider{display:none}.form-grid.cols-3{grid-template-columns:repeat(2,minmax(0,1fr))}.form-section{padding:1.25rem}.login-card{grid-template-columns:1fr}.login-brand{border-right:none;border-bottom:1px solid var(--login-panel-border);gap:1.25rem;padding:1.75rem}.login-form-panel{padding:1.75rem}.odontogram-chart-inner{padding:.5rem}.tooth-midline{margin-right:12px}.tooth-midline:after{right:-8px}}@media (max-width:640px){.form-grid.cols-3,.form-grid.cols-2,.form-grid.cols-address,.radio-cards{grid-template-columns:minmax(0,1fr)}.span-2{grid-column:auto}.result-row{grid-template-columns:minmax(0,1fr) minmax(0,1fr) 20px;grid-template-areas:"name name chev""dob visit chev""chart phone chev"}.result-row .cell:not(.cell-name){padding-left:0}.page-title{font-size:1.625rem}.locale-switch-full .segment{padding:0 .625rem}.user-block,.header-tools>.header-divider{display:none}.header-tools{gap:.5rem}.odontogram,.tooth-history,.condition-card,.patient-header{padding:1rem}.result-row{padding-left:1rem;padding-right:1rem}}.alert-banner{border-radius:var(--radius-control);border:1px solid var(--warning-border);background:var(--warning-bg);border-left-width:6px;flex-wrap:wrap;flex-basis:100%;align-items:center;gap:.625rem 1rem;padding:.75rem 1rem;display:flex}.alert-banner.is-critical{border-color:var(--danger-border);border-left-color:var(--danger-solid);background:var(--danger-bg)}.alert-banner.is-warning{border-left-color:var(--warning-text)}.alert-banner.is-empty{border:1px dashed var(--border-strong);background:var(--surface-2);padding:.5rem 1rem}.alert-banner-title{letter-spacing:.06em;text-transform:uppercase;color:var(--warning-text);align-items:center;gap:.5rem;font-size:.8125rem;font-weight:700;display:inline-flex}.alert-banner.is-critical .alert-banner-title{color:var(--danger-text)}.alert-banner-none{color:var(--text-2);align-items:center;gap:.5rem;font-size:.875rem;font-weight:500;display:inline-flex}.alert-banner-aside{flex-wrap:wrap;align-items:center;gap:.5rem 1rem;margin-left:auto;display:flex}.alert-banner-link{color:var(--primary-text);font-size:.875rem;font-weight:600}.alert-chips{flex-wrap:wrap;gap:.5rem;margin:0;padding:0;list-style:none;display:flex}.alert-chip{border-radius:var(--radius-chip);border:1px solid var(--warning-border);background:var(--surface);min-height:34px;color:var(--warning-text);align-items:center;gap:.375rem;padding:.25rem .625rem;font-size:.875rem;font-weight:600;display:inline-flex}.alert-chip.is-critical{border-color:var(--danger-solid);background:var(--danger-solid);color:var(--on-danger)}.alert-chip-label{color:inherit}.alert-chip-severity{letter-spacing:.05em;text-transform:uppercase;border:1px solid;border-radius:3px;padding:0 .375rem;font-size:.6875rem;font-weight:700}.alert-chips.is-compact .alert-chip{min-height:28px;font-size:.8125rem}.anamnesis-badge{border-radius:var(--radius-pill);border:1px solid var(--warning-border);background:var(--warning-bg);color:var(--warning-text);white-space:nowrap;align-items:center;gap:.375rem;padding:.25rem .625rem;font-size:.8125rem;font-weight:600;display:inline-flex}.anamnesis-badge.is-missing{border-style:dashed}.anamnesis-badge.is-compact{padding:.125rem .5rem;font-size:.75rem}.alert-icon-mark{color:var(--warning-text);align-items:center;display:inline-flex}.alert-icon-mark.is-critical{color:var(--danger-text)}.cal-appt-icons .alert-icon-mark.is-critical .icon{fill:var(--alert-critical-fill);stroke:var(--alert-critical-fill)}.cal-appt-icons .alert-icon-mark.is-critical .icon path:not(:first-child){stroke:var(--alert-critical-mark)}.appt-alerts{border-radius:var(--radius-control);border:1px solid var(--warning-border);background:var(--warning-bg);flex-direction:column;align-items:flex-start;gap:.5rem;padding:.75rem;display:flex}.appt-alerts.is-critical{border-color:var(--danger-border);background:var(--danger-bg)}.appt-note-btn{justify-content:center}.chart-tabs{border-bottom:1px solid var(--border);gap:.25rem;margin:-.5rem 0 1.5rem;display:flex}.chart-tab{min-height:44px;color:var(--text-2);border-bottom:2px solid #0000;align-items:center;gap:.5rem;margin-bottom:-1px;padding:0 1rem;font-size:.9375rem;font-weight:500;text-decoration:none;display:inline-flex}.chart-tab:hover{color:var(--text)}.chart-tab.active{color:var(--primary-text);border-bottom-color:var(--primary);font-weight:600}.clinical-text{white-space:pre-wrap;overflow-wrap:anywhere}.anam-layout{grid-template-columns:minmax(0,1fr) 19rem;align-items:start;gap:1.5rem;display:grid}.anam-main{flex-direction:column;gap:1.25rem;min-width:0;padding:1.5rem;display:flex}.anam-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:1rem;display:flex}.anam-meta,.anam-due{color:var(--text-2);flex-wrap:wrap;align-items:center;gap:.5rem .75rem;margin-top:.375rem;font-size:.875rem;display:flex}.anam-empty{flex-direction:column;align-items:flex-start;gap:.75rem;display:flex}.anam-critical{border-radius:var(--radius-control);border:1px solid var(--warning-border);border-left:6px solid var(--warning-text);background:var(--warning-bg);color:var(--warning-text);gap:.75rem;padding:.875rem 1rem;display:flex}.anam-critical .clinical-text{color:var(--text);font-weight:500}.anam-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;display:grid}.anam-panel{border-radius:var(--radius-control);border:1px solid var(--border);background:var(--surface-sunken);flex-direction:column;gap:.625rem;padding:1rem 1.125rem;display:flex}.anam-panel.is-danger{border-color:var(--danger-border)}.anam-panel-title{align-items:center;gap:.5rem;font-size:1rem;display:flex}.anam-panel-title .icon{color:var(--primary-text)}.anam-panel.is-danger .anam-panel-title .icon{color:var(--danger-text)}.anam-line{flex-wrap:wrap;gap:.25rem .75rem;font-size:.875rem;display:flex}.anam-q{color:var(--text-2)}.anam-sub{margin-top:.25rem}.anam-list{flex-direction:column;gap:.375rem;margin:0;padding:0;list-style:none;display:flex}.anam-list li{border-radius:var(--radius-chip);background:var(--surface);border:1px solid var(--border);flex-wrap:wrap;align-items:center;gap:.25rem .625rem;padding:.5rem .625rem;font-size:.875rem;display:flex}.anam-item-main{font-weight:600}.anam-item-note{color:var(--text-2);flex-basis:100%}.anam-dl{gap:.375rem;margin:0;display:grid}.anam-dl>div{grid-template-columns:minmax(9rem,40%) 1fr;gap:.75rem;font-size:.875rem;display:grid}.anam-dl dt{color:var(--text-2)}.anam-dl dd{margin:0}.answer{font-weight:600}.answer-yes{color:var(--danger-text)}.answer-unknown{color:var(--text-muted);font-style:italic;font-weight:500}.answer-no,.answer-not_applicable{color:var(--text);font-weight:500}.severity-badge{border-radius:var(--radius-chip);border:1px solid var(--warning-border);background:var(--warning-bg);color:var(--warning-text);padding:.0625rem .5rem;font-size:.75rem;font-weight:700}.severity-badge.is-severe,.severity-badge.is-anaphylaxis,.severity-badge.is-unknown{border-color:var(--danger-solid);background:var(--danger-solid);color:var(--on-danger)}.anam-history{top:calc(var(--header-height) + 1rem);flex-direction:column;gap:.75rem;padding:1.25rem;display:flex;position:sticky}.version-list{flex-direction:column;gap:.375rem;margin:0;padding:0;list-style:none;display:flex}.version-item{border-radius:var(--radius-control);border:1px solid var(--border);background:var(--surface-2);width:100%;min-height:44px;color:var(--text);font:inherit;text-align:left;cursor:pointer;gap:.125rem;padding:.5rem .75rem;display:grid}.version-item:hover{background:var(--surface-3)}.version-item.active{border-color:var(--primary);background:var(--primary-soft)}.version-item-head{align-items:center;gap:.5rem;display:flex}.version-item-date{font-size:.8125rem}.version-item-author{color:var(--text-2);font-size:.8125rem}.badge-current{background:var(--success-bg);border:1px solid var(--success-border);color:var(--success-text);margin-left:0}.anam-diff{border-radius:var(--radius-control);border:1px solid var(--primary-soft-border);background:var(--primary-soft);flex-direction:column;gap:.5rem;padding:1rem;display:flex}.diff-table{background:var(--surface);border-radius:var(--radius-chip)}.diff-table th[scope=row]{text-align:left;width:26%;font-weight:600}.diff-before{color:var(--text-2);text-decoration:line-through;-webkit-text-decoration-color:var(--text-muted);text-decoration-color:var(--text-muted)}.diff-after{font-weight:600}.diff-none{color:var(--text-muted);font-style:italic}.anam-diff-empty{padding:.5rem 0}.anam-page{flex-direction:column;gap:1rem;display:flex}.anam-form{flex-direction:column;gap:1.25rem;display:flex}.anam-rows{flex-direction:column;align-items:stretch;gap:.75rem;display:flex}.anam-row{border-radius:var(--radius-control);border:1px solid var(--border);background:var(--surface-sunken);align-items:end;gap:.75rem 1rem;padding:.875rem;display:grid}.allergy-row{grid-template-columns:minmax(14rem,1.2fr) minmax(10rem,.9fr) minmax(12rem,1.4fr) auto}.allergy-row:has(.field:nth-child(4)){grid-template-columns:minmax(14rem,1.2fr) minmax(10rem,1fr) minmax(10rem,.9fr) minmax(12rem,1.4fr) auto}.medication-row{grid-template-columns:minmax(12rem,1.4fr) minmax(10rem,1fr) auto}.anam-add,.item-add{align-self:flex-start}.condition-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.25rem 2rem;display:grid}.condition-row{border-bottom:1px solid var(--border);flex-direction:column;gap:.375rem;padding:.5rem 0;display:flex}.condition-choice{justify-content:space-between;align-items:center;gap:.75rem;display:flex}.condition-choice legend{float:left;max-width:55%;font-size:.875rem;font-weight:500}.condition-row.is-yes .condition-choice legend{font-weight:700}.segmented-field{flex-direction:column;align-items:flex-start;gap:.375rem;display:flex}.segmented-field.condition-choice{flex-direction:row;align-items:center}.segment-yes.active{background:var(--danger-solid);color:var(--on-danger)}.segment-no.active{background:var(--success-text);color:var(--surface)}.segment-unknown.active,.segment-not_applicable.active{background:var(--surface-4);color:var(--text)}.drug-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem 1.5rem;display:grid}.drug-row{flex-direction:column;gap:.625rem;display:flex}.field-narrow{max-width:10rem}.field-medium{max-width:22rem}.anam-actions{align-items:center}.anam-actions-hint,.note-actions .save-status{margin-right:auto}.notes-page{flex-direction:column;gap:1rem;display:flex}.notes-toolbar{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:1rem;display:flex}.notes-empty{color:var(--text-2);align-items:center;gap:.75rem;padding:2rem;display:flex}.note-list{flex-direction:column;gap:.75rem;margin:0;padding:0;list-style:none;display:flex}.note-summary{border-left:4px solid var(--success-text);grid-template-columns:7.5rem minmax(0,1fr) auto;gap:1rem 1.25rem;padding:1rem 1.25rem;display:grid}.note-summary.is-draft{border-left:4px dashed var(--warning-text)}.note-summary-date{flex-direction:column;gap:.125rem;display:flex}.note-summary-day{font-weight:600}.note-summary-body{flex-direction:column;gap:.375rem;min-width:0;display:flex}.note-summary-head{flex-wrap:wrap;align-items:center;gap:.5rem .75rem;display:flex}.note-summary-title{font-size:1.0625rem}.note-summary-title a{color:var(--text);text-decoration:none}.note-summary-title a:hover{color:var(--primary-text);text-decoration:underline}.note-summary-meta{color:var(--text-2);flex-wrap:wrap;gap:.25rem 1rem;font-size:.8125rem;display:flex}.note-excerpt{color:var(--text);-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:.875rem;display:-webkit-box;overflow:hidden}.note-codes,.note-teeth{flex-wrap:wrap;gap:.375rem;display:flex}.note-summary-actions{align-items:flex-start;display:flex}.note-badges{flex-wrap:wrap;gap:.375rem;display:inline-flex}.note-badge{border-radius:var(--radius-chip);border:1px solid var(--border-strong);background:var(--surface-2);color:var(--text-2);white-space:nowrap;align-items:center;gap:.25rem;padding:.125rem .5rem;font-size:.75rem;font-weight:600;display:inline-flex}.note-badge.is-final{border-color:var(--success-border);background:var(--success-bg);color:var(--success-text)}.note-badge.is-draft{border-color:var(--warning-border);background:var(--warning-bg);color:var(--warning-text)}.note-badge.is-amendment{border-color:var(--primary-soft-border);background:var(--primary-soft);color:var(--primary-text)}.tooth-chip,.hash-chip{border-radius:var(--radius-chip);border:1px solid var(--border-strong);background:var(--surface-2);padding:.0625rem .375rem;font-size:.75rem;font-weight:600}.hash-chip{font-family:var(--font-mono);letter-spacing:.04em;color:var(--text-2)}.icd-code{border-radius:var(--radius-chip);border:1px solid var(--border-strong);background:var(--surface-2);align-items:center;padding:.0625rem .375rem;font-size:.8125rem;font-weight:600;display:inline-flex}.icd-code.is-dental,.is-dental>.icd-code{border-color:var(--primary-soft-border);background:var(--primary-soft);color:var(--primary-text)}.note-reason{align-items:flex-start;gap:.375rem;font-size:.875rem;display:flex}.amendment-list{border-left:2px solid var(--primary-soft-border);flex-direction:column;gap:.375rem;margin:.25rem 0 0;padding:0 0 0 1rem;list-style:none;display:flex}.amendment-link{min-height:36px;color:var(--text);flex-wrap:wrap;align-items:center;gap:.25rem .625rem;font-size:.8125rem;text-decoration:none;display:flex}.amendment-link:hover .amendment-reason{text-decoration:underline}.amendment-reason{font-weight:600}.note-detail{flex-direction:column;gap:1rem;margin-top:.75rem;padding:1.5rem;display:flex}.note-view{flex-direction:column;gap:1rem;display:flex}.note-view-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:1rem;display:flex}.note-view-title{flex-wrap:wrap;align-items:center;gap:.5rem .75rem;display:flex}.note-title{font-size:1.375rem}.note-meta{border-radius:var(--radius-control);background:var(--surface-2);border:1px solid var(--border);flex-wrap:wrap;gap:.5rem 2rem;margin:0;padding:.75rem 1rem;font-size:.875rem;display:flex}.note-meta dt{color:var(--text-2);letter-spacing:.06em;text-transform:uppercase;font-size:.6875rem;font-weight:600}.note-meta dd{margin:0}.note-body{grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem 1.5rem;display:grid}.note-field{flex-direction:column;gap:.25rem;min-width:0;display:flex}.note-field p{font-size:.9375rem}.note-items{flex-direction:column;gap:.375rem;margin:0;padding:0;font-size:.875rem;list-style:none;display:flex}.note-items li{flex-wrap:wrap;align-items:center;gap:.25rem .5rem;display:flex}.note-vars{grid-template-columns:repeat(auto-fill,minmax(10rem,1fr));gap:.5rem 1rem;margin:0;font-size:.875rem;display:grid}.note-vars dt{color:var(--text-2);font-size:.75rem}.note-vars dd{margin:0;font-weight:600}.note-locked{align-items:center;gap:.375rem;display:inline-flex}.amendments{border-top:1px solid var(--border);flex-direction:column;gap:.5rem;padding-top:1rem;display:flex}.note-editor{flex-direction:column;gap:1rem;margin-top:.5rem;display:flex}.note-editor-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;padding:1.25rem 1.5rem;display:flex}.note-editor-meta{color:var(--text-2);flex-wrap:wrap;align-items:center;gap:.375rem 1rem;margin-top:.375rem;font-size:.875rem;display:flex}.note-appt{align-items:center;gap:.375rem;display:inline-flex}.save-status{color:var(--text-2);align-items:center;gap:.375rem;font-size:.875rem;font-weight:500;display:inline-flex}.save-status.is-saved{color:var(--success-text)}.save-status.is-error,.save-status.is-conflict,.save-status.is-closed{color:var(--danger-text)}.save-status.is-dirty{color:var(--warning-text)}.alert-actions{flex-wrap:wrap;gap:.5rem;display:flex}.review-box{border-radius:var(--radius-control);border:1px solid var(--success-border);background:var(--success-bg);color:var(--success-text);gap:.875rem;padding:1rem 1.25rem;display:flex}.review-box.is-pending{border:2px solid var(--warning-text);background:var(--warning-bg);color:var(--warning-text)}.review-text{color:var(--text);flex-direction:column;gap:.25rem;display:flex}.review-title{font-weight:700}.note-card{flex-direction:column;gap:1rem;padding:1.25rem 1.5rem;display:flex}.note-card-head{flex-wrap:wrap;align-items:baseline;gap:.25rem 1rem;display:flex}.note-card-title{align-items:center;gap:.5rem;font-size:1.0625rem;display:inline-flex}.note-card-title .icon{color:var(--primary-text)}.template-row{flex-wrap:wrap;align-items:flex-end;gap:.75rem 1.5rem;display:flex}.template-select{flex:0 26rem}.template-required{border-radius:var(--radius-chip);border-left:3px solid var(--danger-text);background:var(--surface-2);flex-direction:column;gap:.125rem;padding:.375rem .75rem;font-size:.875rem;display:flex}.template-vars{border-top:1px solid var(--border);grid-template-columns:repeat(auto-fill,minmax(12.5rem,1fr));align-items:start;gap:1rem 1.25rem;padding-top:1rem;display:grid}.note-text-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem 1.5rem;display:grid}.note-text-reason_for_visit,.note-text-free_text{grid-column:1/-1}.suggestions{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.chip-btn{border-radius:var(--radius-pill);border:1px dashed var(--primary-soft-border);background:var(--primary-soft);min-height:36px;color:var(--primary-text);font:inherit;cursor:pointer;align-items:center;gap:.375rem;padding:0 .75rem;font-size:.8125rem;font-weight:600;display:inline-flex}.chip-btn:hover{border-style:solid;border-color:var(--primary)}.item-rows{flex-direction:column;gap:.5rem;margin:0;padding:0;list-style:none;display:flex}.item-row{border-radius:var(--radius-control);border:1px solid var(--border);background:var(--surface-sunken);flex-wrap:wrap;align-items:flex-end;gap:.75rem 1rem;padding:.625rem .75rem;display:flex}.diagnosis-row{align-items:center}.diagnosis-row.is-dental{border-left:3px solid var(--primary)}.item-name{flex:14rem;font-weight:500}.item-procedure{flex:18rem}.item-tooth{flex:0 0 8.5rem}.item-quantity{flex:0 0 7.5rem}.item-remove{margin-left:auto}.note-assistant{padding-block:1rem}.note-assistant .field{max-width:24rem}.tooth-picker{position:relative}.tooth-input{letter-spacing:.08em;font-weight:600}.tooth-picker.is-compact .field-label{font-size:.75rem}.tooth-popover{flex-direction:column;gap:.25rem;min-width:max-content;display:flex;top:calc(100% + 4px);left:0;right:auto}.tooth-popover-head{justify-content:space-between;align-items:center;gap:1rem;display:flex}.tooth-primary-toggle{min-height:32px;font-size:.8125rem}.tooth-grid-row{gap:2px;display:flex}.tooth-grid-row.is-lower{border-top:1px dashed var(--border-strong);padding-top:.25rem}.tooth-grid-btn{border:1px solid var(--border-strong);background:var(--surface-2);width:34px;min-height:34px;color:var(--text);cursor:pointer;border-radius:6px;font-size:.8125rem;font-weight:600}.tooth-grid-btn.is-midline{margin-left:8px}.tooth-grid-btn:hover{border-color:var(--primary)}.tooth-grid-btn.active{background:var(--primary-bg);border-color:var(--primary-bg);color:var(--on-primary)}.surface-buttons{gap:4px;display:inline-flex}.surface-btn{border-radius:var(--radius-chip);border:1px solid var(--control-border);background:var(--input-bg);width:36px;min-height:44px;color:var(--text);cursor:pointer;font-size:.9375rem;font-weight:700}.surface-btn.active{background:var(--primary-bg);border-color:var(--primary-bg);color:var(--on-primary)}.icd-combobox{max-width:44rem;position:relative}.icd-list{max-height:22rem;margin:0;padding:.375rem;list-style:none;top:calc(100% - 1.25rem);left:0;right:0;overflow:auto}.icd-status{color:var(--text-2);padding:.5rem .75rem;font-size:.875rem}.icd-option{border-radius:calc(var(--radius-control) - 2px);cursor:pointer;border-left:3px solid #0000;grid-template-columns:4.5rem minmax(0,1fr) auto;align-items:center;gap:.75rem;min-height:40px;padding:.25rem .625rem;font-size:.875rem;display:grid}.icd-option.is-dental{border-left-color:var(--primary)}.icd-option.active{background:var(--primary-soft)}.icd-option.is-chosen .icd-name{color:var(--text-2)}.icd-option .icd-code{justify-self:start}.icd-tags{gap:.25rem;display:inline-flex}.icd-tag{border:1px solid var(--border-strong);color:var(--text-2);white-space:nowrap;border-radius:3px;align-items:center;gap:.125rem;padding:0 .375rem;font-size:.6875rem;font-weight:600;display:inline-flex}.icd-tag.is-frequent{border-color:var(--success-border);background:var(--success-bg);color:var(--success-text)}.icd-tag.is-dental{border-color:var(--primary-soft-border);color:var(--primary-text)}.finalize-modal{width:min(32rem,100%)}.finalize-facts{border-radius:var(--radius-control);background:var(--primary-soft);border:1px solid var(--primary-soft-border);gap:.75rem;padding:.875rem 1rem;font-size:.875rem;display:flex}.finalize-facts .icon{color:var(--primary-text)}.drafts-notice{border-radius:var(--radius-card);border:1px solid var(--warning-border);border-left:6px solid var(--warning-text);background:var(--warning-bg);align-items:flex-start;gap:.875rem;margin-bottom:1.25rem;padding:.875rem .75rem .875rem 1.25rem;display:flex}.drafts-notice-icon{color:var(--warning-text);margin-top:.125rem}.drafts-notice-body{flex-direction:column;flex:1;gap:.25rem;display:flex}.drafts-notice-title{color:var(--warning-text);font-weight:700}.drafts-notice-list{flex-wrap:wrap;gap:.25rem 1.5rem;margin:.25rem 0 0;padding:0;font-size:.875rem;list-style:none;display:flex}.drafts-notice-list li{gap:.5rem;display:flex}.drafts-notice-list a{color:var(--primary-text);font-weight:600}.drafts-switch,.drafts-button{position:relative}.drafts-button.has-stale{border-color:var(--warning-text)}.count-badge{border-radius:var(--radius-pill);background:var(--warning-text);min-width:20px;height:20px;color:var(--surface);text-align:center;padding:0 .375rem;font-size:.75rem;font-weight:700;line-height:20px}.drafts-menu{min-width:22rem}.drafts-menu ul{margin:0;padding:0;list-style:none}.drafts-empty{padding:.5rem}.drafts-item{flex-wrap:wrap;align-items:center;gap:.125rem .5rem;padding:.375rem .625rem;text-decoration:none}.drafts-item-name{flex-basis:100%;font-weight:600}.drafts-item-meta{color:var(--text-2);font-size:.8125rem}.drafts-item .badge{gap:.25rem;margin-left:0}@media (max-width:1500px){.main-nav{gap:1rem}.header-btn .btn-label,.drafts-button .btn-label{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.header-btn.drafts-button{width:auto;padding:0 .75rem}.header-btn:has(.btn-label){width:auto;padding:0 .75rem}}@media (max-width:1100px){.anam-layout{grid-template-columns:minmax(0,1fr)}.anam-history{position:static}:is(.allergy-row,.allergy-row:has(.field:nth-child(4)),.medication-row){grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.drug-grid,.condition-grid,.note-summary{grid-template-columns:minmax(0,1fr)}}@media (max-width:760px){.anam-grid,.note-body,.note-text-grid,:is(.allergy-row,.allergy-row:has(.field:nth-child(4)),.medication-row){grid-template-columns:minmax(0,1fr)}.chart-tabs{overflow-x:auto}.chart-tab{white-space:nowrap;flex:none}}.page-billing{max-width:1400px;margin:0 auto}.billing-page{flex-direction:column;gap:1.25rem;min-width:0;display:flex}.billing-page>.back-link-small{margin-bottom:-.5rem}.section-title{font-size:1.125rem;font-weight:600}.billing-toolbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem;display:flex}.billing-section{flex-direction:column;gap:1rem;min-width:0;padding:1.25rem 1.5rem;display:flex}.billing-filters{padding:1rem 1.25rem}.filters-row{grid-template-columns:repeat(4,minmax(9rem,1fr)) minmax(16rem,2fr);align-items:start;gap:.75rem 1rem;display:grid}.filters-patient{min-width:0;position:relative}.filters-patient .patient-picker .hint{display:none}.daily-toolbar{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.toolbar-spacer{flex:1}.billing-table .num,.data-table .num,.print-table .num{text-align:right;white-space:nowrap}.data-table th.num{text-align:right}.data-table tfoot th,.data-table tfoot td{border-top:1px solid var(--border-strong);background:var(--surface-2);border-bottom:none;font-weight:600}.data-table tbody th{text-align:left;border-bottom:1px solid var(--border);padding:.5rem .75rem;font-weight:600}.row-link{color:var(--primary-text);font-weight:600;text-decoration:none}.row-link:hover{text-decoration:underline}.badge-row{flex-wrap:wrap;gap:.375rem;display:inline-flex}.empty-cell{text-align:center;padding:1.25rem!important}.form-row{flex-wrap:wrap;align-items:flex-start;gap:.75rem 1rem;display:flex}.form-row>.field{flex:10rem}.form-row>.field-narrow{flex:0 9rem}.form-row>.field-grow{flex:2 16rem}.form-grid-2{grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem 1.25rem;display:grid}.billing-disclaimer{border-radius:var(--radius-control);border:1px dashed var(--border-strong);background:var(--surface-sunken);color:var(--text-2);align-items:flex-start;gap:.5rem;padding:.625rem .875rem;font-size:.8125rem;display:flex}.billing-disclaimer strong{color:var(--text)}.billing-disclaimer .icon{color:var(--primary-text);margin-top:.05em}.patient-banners{flex-wrap:wrap;flex-basis:100%;align-items:stretch;gap:.75rem;display:flex}.patient-banners>.alert-banner{flex:32rem}.debt-link{text-decoration:none;display:flex}.debt-badge{border-radius:var(--radius-control);white-space:nowrap;border:1px solid;border-left-width:6px;align-items:center;gap:.5rem;padding:.5rem 1rem;font-size:.9375rem;font-weight:700;display:inline-flex}.debt-badge.is-debt{background:var(--danger-bg);border-color:var(--danger-border);border-left-color:var(--danger-solid);color:var(--danger-text)}.debt-badge.is-credit{background:var(--success-bg);border-color:var(--success-border);border-left-color:var(--success-text);color:var(--success-text)}.debt-badge.is-compact{border-left-width:3px;padding:.125rem .5rem;font-size:.75rem}.debt-link:hover .debt-badge{text-decoration:underline}.cal-appt-icons .cal-appt-debt{background:var(--debt-fill);width:16px;height:16px;color:var(--debt-mark);border-radius:4px;justify-content:center;align-items:center;display:inline-flex}.cal-appt-icons .cal-appt-debt .icon{stroke-width:2.2px;width:12px;height:12px}.appt-debt{border-radius:var(--radius-control);border:1px solid var(--danger-border);background:var(--danger-bg);color:var(--danger-text);flex-wrap:wrap;align-items:center;gap:.5rem;padding:.5rem .75rem;font-size:.875rem;font-weight:600;display:flex}.appt-debt .fact-link{color:var(--primary-text);margin-left:auto}.appt-charge-btn{justify-content:center}.ledger-summary{grid-template-columns:minmax(16rem,1.4fr) repeat(3,minmax(11rem,1fr));gap:1rem;display:grid}.ledger-tile{border-radius:var(--radius-card);border:1px solid var(--border);background:var(--surface);box-shadow:var(--shadow-1);flex-direction:column;gap:.25rem;min-width:0;padding:1rem 1.25rem;display:flex}.ledger-tile-label{letter-spacing:.06em;text-transform:uppercase;color:var(--text-2);font-size:.6875rem;font-weight:600}.ledger-tile-value{letter-spacing:-.01em;font-size:1.375rem;font-weight:700}.ledger-tile-hint{color:var(--text-2);font-size:.8125rem}.ledger-tile.is-debt{background:var(--danger-bg);border-color:var(--danger-border);border-left:6px solid var(--danger-solid)}.ledger-tile.is-debt .ledger-tile-value{color:var(--danger-text)}.ledger-tile.is-credit{background:var(--success-bg);border-color:var(--success-border);border-left:6px solid var(--success-text)}.ledger-tile.is-credit .ledger-tile-value{color:var(--success-text)}.ledger-tile.is-zero{border-left:6px solid var(--border-strong)}.ledger-table .ledger-allocation td{color:var(--text-2);background:var(--surface-sunken)}.ledger-table .ledger-cancellation td:nth-child(2){color:var(--danger-text)}.credit-list,.payment-list,.unbilled-list,.visit-items{flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.credit-list li,.payment-list li{border-bottom:1px solid var(--border);flex-wrap:wrap;align-items:center;gap:.375rem 1rem;padding:.5rem 0;font-size:.875rem;display:flex}.credit-list li:last-child,.payment-list li:last-child{border-bottom:none}.credit-list li>strong,.payment-list li>strong{margin-left:auto}.payment-list li.is-inactive{color:var(--text-2)}.payment-list li.is-inactive>:not(.badge){text-decoration:line-through}.payment-method{font-weight:600}.doc-editor{flex-direction:column;gap:1.25rem;min-width:0;display:flex}.doc-head{flex-direction:column;gap:1rem;padding:1.25rem 1.5rem;display:flex}.doc-head-main{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:.75rem 1.5rem;display:flex}.doc-head-sub{flex-wrap:wrap;align-items:center;gap:.5rem .75rem;margin-top:.5rem;font-size:.875rem;display:flex}.doc-head-draft{grid-template-columns:minmax(14rem,auto) minmax(11rem,14rem) minmax(12rem,1fr) auto;align-items:start;display:grid}.doc-head-title .card-title{margin-top:.125rem}.doc-note-field textarea{height:46px;min-height:46px;padding-top:.6875rem;padding-bottom:.6875rem}.doc-locked{align-items:center;gap:.375rem;display:inline-flex}.doc-cancelled{margin-bottom:0}.save-state{white-space:nowrap;align-items:center;gap:.375rem;font-size:.8125rem;font-weight:600;display:inline-flex}.save-state.is-saving{color:var(--text-2)}.save-state.is-saved{color:var(--success-text)}.save-state.is-error{color:var(--danger-text)}.doc-lines{flex-direction:column;gap:1rem;min-width:0;padding:1.25rem 1.5rem;display:flex}.doc-lines .card-header{align-items:center}.charge-lines td{vertical-align:top}.charge-lines td.num{font-variant-numeric:tabular-nums}.line-name{font-weight:600;display:block}.line-meta{flex-wrap:wrap;align-items:center;gap:.375rem;margin-top:.25rem;font-size:.75rem;display:flex}.origin-badge{border-radius:var(--radius-chip);letter-spacing:.02em;align-items:center;gap:.25rem;padding:.0625rem .375rem;font-size:.6875rem;font-weight:600;display:inline-flex}.origin-badge.is-note{background:var(--primary-soft);color:var(--primary-text)}.origin-badge.is-manual{background:var(--warning-bg);color:var(--warning-text)}.qty-input{text-align:right;width:4.25rem;min-height:36px;padding:0 .5rem}.unit-price{flex-direction:column;align-items:flex-end;gap:.125rem;display:inline-flex}.eur-conversion{color:var(--text-2);white-space:nowrap;font-size:.75rem}.line-gross{font-size:.75rem;text-decoration:line-through;display:block}.discount-btn{min-height:32px}.line-actions{white-space:nowrap;width:1%}.charge-lines tr.has-problem td{background:var(--warning-bg);border-bottom:none}.line-problem-row td{background:var(--warning-bg);padding-top:0!important}.line-problem{color:var(--warning-text);flex-wrap:wrap;align-items:center;gap:.5rem .75rem;font-size:.8125rem;display:flex}.line-problem>span:nth-child(2){color:var(--text)}.line-problem-actions{flex-wrap:wrap;gap:.375rem;margin-left:auto;display:inline-flex}.removed-lines{font-size:.875rem}.removed-lines summary{cursor:pointer;color:var(--text-2);font-weight:600}.removed-lines ul{flex-direction:column;gap:.375rem;margin:.5rem 0 0;padding:0;list-style:none;display:flex}.removed-lines li{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.removed-name{color:var(--text-2);text-decoration:line-through}.unbilled{border-radius:var(--radius-control);border:1px dashed var(--primary-soft-border);background:var(--primary-soft);flex-direction:column;gap:.5rem;padding:.875rem 1rem;display:flex}.unbilled-list li{flex-wrap:wrap;align-items:center;gap:.375rem .75rem;padding:.25rem 0;font-size:.875rem;display:flex}.unbilled-list li .btn{margin-left:auto}.doc-summary{flex-direction:column;gap:1rem;padding:1.25rem 1.5rem;display:flex}.doc-columns{grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);align-items:start;gap:1.25rem;display:grid}.doc-payments{flex-direction:column;gap:.75rem;padding:1.25rem 1.5rem;display:flex}.doc-totals{flex-direction:column;gap:.75rem;display:flex}.totals-list{flex-direction:column;width:100%;max-width:34rem;margin:0 0 0 auto;display:flex}.totals-list>div{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:1rem;padding:.375rem 0;display:flex}.totals-list dt{color:var(--text-2);font-size:.875rem}.totals-list dd{font-variant-numeric:tabular-nums;margin:0}.totals-list .totals-grand{border-bottom:2px solid var(--border-strong);padding:.625rem 0}.totals-list .totals-grand dt{color:var(--text);font-size:1rem;font-weight:700}.totals-list .totals-grand dd{font-size:1.375rem;font-weight:700}.totals-list .totals-open dd{color:var(--danger-text);font-weight:700}.rate-note{border-radius:var(--radius-control);background:var(--surface-sunken);border:1px solid var(--border);align-items:flex-start;gap:.5rem;padding:.625rem .875rem;font-size:.8125rem;display:flex}.rate-note .icon{color:var(--primary-text);margin-top:.1em}.rate-note.is-stale{background:var(--warning-bg);border-color:var(--warning-border)}.rate-note.is-stale .icon,.rate-stale strong{color:var(--warning-text)}.approval-note{color:var(--success-text);align-items:center;gap:.5rem;font-size:.8125rem;font-weight:600;display:flex}.threshold-hint{align-items:center;gap:.375rem;display:inline-flex}.doc-actions{flex-wrap:wrap;align-items:center;gap:.75rem;display:flex}.doc-actions .btn-ghost-danger{margin-left:auto}.discount-dialog{width:min(32rem,100%)}.discount-base{justify-content:space-between;gap:1rem;font-size:.9375rem;display:flex}.discount-preview{border-radius:var(--radius-control);background:var(--surface-sunken);border:1px solid var(--border);grid-template-columns:repeat(3,minmax(0,1fr));gap:.75rem;margin:0;padding:.75rem 1rem;display:grid}.discount-preview dt{letter-spacing:.05em;text-transform:uppercase;color:var(--text-2);font-size:.6875rem;font-weight:600}.discount-preview dd{margin:.125rem 0 0}.discount-preview .strong{font-weight:700}.approval-box{border-radius:var(--radius-control);border:1px solid var(--primary-soft-border);border-left:6px solid var(--primary);background:var(--primary-soft);align-items:flex-start;gap:.75rem;padding:.875rem 1rem;display:flex}.approval-box .icon{color:var(--primary-text)}.approval-box p{color:var(--text-2);margin-top:.25rem;font-size:.875rem}.input-wrap.has-unit input{padding-right:3.5rem}.input-unit{color:var(--text-2);pointer-events:none;font-size:.8125rem;font-weight:600;position:absolute;right:.875rem}.money-input{text-align:right;font-variant-numeric:tabular-nums}.price-picker{flex-direction:column;gap:.5rem;display:flex}.price-picker-list{border:1px solid var(--border);border-radius:var(--radius-control);max-height:16rem;margin:0;padding:0;list-style:none;overflow-y:auto}.price-option{border:none;border-bottom:1px solid var(--border);width:100%;min-height:44px;color:var(--text);font:inherit;text-align:left;cursor:pointer;background:0 0;grid-template-columns:auto minmax(0,1fr) auto auto;align-items:center;gap:.75rem;padding:.375rem .75rem;font-size:.875rem;display:grid}.price-option:hover:not(:disabled){background:var(--surface-3)}.price-option.active{background:var(--primary-soft);box-shadow:inset 3px 0 0 var(--primary)}.price-option:disabled{cursor:not-allowed;color:var(--text-2)}.price-option-cat{font-size:.75rem}.price-option-price{text-align:right}.picked-item{color:var(--success-text);align-items:center;gap:.5rem;font-size:.875rem;display:flex}.picked-item strong{color:var(--text)}.reason-target{border-radius:var(--radius-control);background:var(--surface-sunken);border:1px solid var(--border);padding:.75rem 1rem}.issue-summary{flex-direction:column;margin:0;display:flex}.issue-summary>div{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:1rem;padding:.5rem 0;display:flex}.issue-summary dt{color:var(--text-2);font-size:.875rem}.issue-summary dd{text-align:right;margin:0}.issue-summary .issue-total dt{color:var(--text);font-weight:700}.issue-summary .issue-total dd{font-size:1.5rem;font-weight:700}.payment-dialog{width:min(52rem,100%)}.payment-open{border-radius:var(--radius-control);background:var(--primary-soft);border:1px solid var(--primary-soft-border);justify-content:space-between;align-items:baseline;gap:1rem;padding:.75rem 1rem;display:flex}.payment-open strong{font-size:1.5rem}.payment-rows{flex-direction:column;gap:.75rem;display:flex}.payment-row{border-radius:var(--radius-control);border:1px solid var(--border);background:var(--surface-2);flex-direction:column;gap:.625rem;padding:.875rem 1rem;display:flex}.payment-row.is-saved{border-color:var(--success-border);background:var(--success-bg)}.payment-methods .segmented{flex-wrap:wrap}.payment-method-static{align-items:center;gap:.5rem;display:flex}.payment-row-fields{grid-template-columns:minmax(10rem,1fr) minmax(10rem,1fr) auto;align-items:end;gap:.75rem;display:grid}.payment-row-tail{align-items:center;min-height:46px;display:flex}.add-method{align-self:flex-start}.payment-dialog textarea{min-height:3.25rem}.payment-sum{flex-wrap:wrap;align-items:center;gap:.75rem;font-size:.9375rem;display:flex}.payment-sum strong{font-size:1.25rem}.payment-sum .badge{margin-left:0}.ips-dialog{width:min(40rem,100%)}.ips-body{grid-template-columns:auto minmax(0,1fr);align-items:start;gap:1rem 1.5rem;display:grid}.ips-body>.hint,.ips-body>.alert,.ips-body>[role=status]{grid-column:1/-1}.ips-code{border-radius:var(--radius-control);border:1px solid var(--border-strong);background:#fff;padding:.5rem;line-height:0}.qr-code{display:block}.ips-facts{flex-direction:column;gap:.625rem;margin:0;display:flex}.ips-facts dt{letter-spacing:.06em;text-transform:uppercase;color:var(--text-2);font-size:.6875rem;font-weight:600}.ips-facts dd{margin:.125rem 0 0}.ips-amount{font-size:1.5rem;font-weight:700}.new-doc{flex-direction:column;gap:1rem;padding:1.5rem;display:flex}.visit-list{flex-direction:column;gap:.75rem;margin:0;padding:0;list-style:none;display:flex}.visit{border:1px solid var(--border);border-radius:var(--radius-control);background:var(--surface-2);padding:.5rem 1rem .75rem}.visit.is-checked{border-color:var(--primary-soft-border);background:var(--primary-soft)}.visit-head{font-weight:600}.visit-items li{flex-wrap:wrap;align-items:center;gap:.375rem .75rem;padding:.375rem 0 .375rem 2rem;font-size:.875rem;display:flex}.visit-price{margin-left:auto}.visit-problem{color:var(--warning-text);flex-basis:100%;align-items:center;gap:.375rem;font-weight:600;display:inline-flex}.daily-grid{grid-template-columns:minmax(18rem,1fr) minmax(0,1.6fr);align-items:start;gap:1.25rem;display:grid}.daily-table tr.is-after-close td{background:var(--warning-bg)}.daily-table .badge{margin-left:.5rem}.diff{align-items:center;gap:.375rem;font-weight:700;display:inline-flex}.diff.is-zero{color:var(--success-text)}.diff.is-short{color:var(--danger-text)}.diff.is-over{color:var(--warning-text)}.close-result{border-radius:var(--radius-control);border:1px solid var(--border);background:var(--surface-sunken);flex-direction:column;gap:.75rem;padding:.875rem 1rem;display:flex}.close-title{flex-wrap:wrap;align-items:center;gap:.375rem .75rem;display:flex}.close-form{border-radius:var(--radius-control);border:1px solid var(--primary-soft-border);background:var(--primary-soft);padding:.875rem 1rem}.close-preview{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.price-toolbar{grid-template-columns:minmax(14rem,2fr) minmax(12rem,1fr) auto auto;align-items:end;gap:.75rem 1.25rem;display:grid}.price-table-wrap{max-height:34rem;overflow-y:auto}.price-table thead th{z-index:1;position:sticky;top:0}.price-table tr.is-missing-price td{background:var(--warning-bg)}.price-table tr.is-inactive td{color:var(--text-2)}.price-table .badge{margin-left:.375rem}.price-table .row-actions{white-space:nowrap;text-align:right}.price-missing-note{margin-bottom:0}.name-preview{color:var(--text);font-weight:500}.name-preview.warn{color:var(--warning-text)}.rate-current{border-radius:var(--radius-control);background:var(--surface-sunken);border:1px solid var(--border);flex-wrap:wrap;align-items:baseline;gap:.5rem 1rem;padding:.875rem 1rem;display:flex}.rate-value{font-size:1.375rem}.rate-current .badge{margin-left:0}.rate-form .field{flex:0 14rem}.rate-history ul{grid-template-columns:repeat(auto-fill,minmax(14rem,1fr));gap:.25rem 1.5rem;margin:.5rem 0 0;padding:0;font-size:.875rem;list-style:none;display:grid}.rate-history li{gap:.75rem;display:flex}.rate-history summary{cursor:pointer;color:var(--text-2);font-size:.875rem;font-weight:600}.print-sheet{display:none}@media (max-width:1100px){.doc-head-draft{grid-template-columns:minmax(0,1fr) minmax(11rem,14rem)}.filters-row,.ledger-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.filters-patient{grid-column:1/-1}.doc-columns,.daily-grid,.form-grid-2,.price-toolbar{grid-template-columns:minmax(0,1fr)}}@media (max-width:640px){.filters-row,.ledger-summary,.doc-head-draft,.payment-row-fields,.discount-preview,.ips-body{grid-template-columns:minmax(0,1fr)}}@media print{body.has-print-sheet #root{display:none!important}body:has(.print-sheet) #root{display:none!important}.print-sheet{color:#000;background:#fff;font-size:10.5pt;display:block}.print-disclaimer{text-align:center;border:2px solid #000;flex-direction:column;align-items:center;gap:.125rem;margin:0 0 .75rem;padding:.375rem .5rem;display:flex}.print-disclaimer strong{letter-spacing:.08em;text-transform:uppercase;font-size:13pt}.print-disclaimer span{font-size:9pt}.print-sheet .print-disclaimer:last-child{margin:1rem 0 0}.print-head{border-bottom:1px solid #000;justify-content:space-between;gap:1.5rem;margin-bottom:.75rem;padding-bottom:.5rem;display:flex}.print-practice{font-weight:700}.print-title{margin-top:.25rem;font-size:15pt}.print-cancelled{letter-spacing:.1em;margin-top:.25rem;font-weight:700}.print-meta{grid-template-columns:auto auto;gap:.125rem .75rem;margin:0;font-size:9.5pt;display:grid}.print-meta dt{color:#333}.print-meta dd{margin:0;font-weight:600}.print-table{border-collapse:collapse;width:100%;margin-bottom:.5rem}.print-table th,.print-table td{text-align:left;vertical-align:top;border-bottom:1px solid #999;padding:.25rem .375rem}.print-table th{text-transform:uppercase;letter-spacing:.04em;border-bottom:1px solid #000;font-size:8.5pt}.print-table tr{break-inside:avoid}.print-table .is-inactive td{text-decoration:line-through}.print-sub{color:#333}.print-bottom{justify-content:space-between;align-items:flex-start;gap:1.5rem;display:flex}.print-notes{flex:1;font-size:9pt}.print-notes p{margin-bottom:.25rem}.print-subtitle{margin:.5rem 0 .25rem;font-size:10pt}.print-totals{min-width:16rem;margin:0}.print-totals>div{justify-content:space-between;gap:1rem;padding:.125rem 0;display:flex}.print-totals dd{font-variant-numeric:tabular-nums;margin:0}.print-totals .print-grand{border-top:1px solid #000;border-bottom:1px solid #000;padding:.25rem 0;font-size:12pt;font-weight:700}}@page{size:A4 portrait;margin:12mm}@media print{:root{background:var(--surface);font-size:11pt}body,.card{background:var(--surface);box-shadow:none}*{-webkit-print-color-adjust:exact;-moz-print-color-adjust:exact;print-color-adjust:exact}.no-print,.app-header,.skip-link,.odontogram-toolbar,.tooth-history,.lock-backdrop,.modal-backdrop{display:none!important}.print-only{display:block}.app-main{max-width:none;padding:0}.chart-workspace{display:block}.patient-header,.odontogram{border:none;margin-bottom:.75rem;padding:0}.patient-header{gap:.5rem}.fact{min-height:0;padding:.125rem .5rem}.odontogram-chart{background:0 0;border:none;overflow:visible}.odontogram-chart-inner{width:auto;padding:0}.tooth{border:none;min-width:0}.tooth.selected{box-shadow:none;background:0 0}.tooth.selected .tooth-number{color:inherit;background:0 0}.tooth-glyph{width:32px}.odontogram-legend{background:0 0}.condition-list{break-inside:auto}.data-table tr{break-inside:avoid}}.toast-region{z-index:55;pointer-events:none;flex-direction:column;align-items:flex-end;gap:.625rem;width:min(26rem,100vw - 2.5rem);display:flex;position:fixed;bottom:1.25rem;right:1.25rem}.toast{pointer-events:auto;border-radius:var(--radius-control);border:1px solid var(--border-strong);background:var(--surface);width:100%;box-shadow:var(--shadow-3);border-left-width:4px;align-items:flex-start;gap:.75rem;padding:.875rem .75rem .875rem 1rem;font-size:.875rem;display:flex}.toast-success{border-left-color:var(--success-text)}.toast-info{border-left-color:var(--primary)}.toast-warning{border-left-color:var(--warning-text);background:var(--warning-bg)}.toast-error{border-left-color:var(--danger-text);background:var(--danger-bg)}.toast-icon{flex-shrink:0;margin-top:.1em}.toast-success .toast-icon{color:var(--success-text)}.toast-info .toast-icon{color:var(--primary-text)}.toast-warning .toast-icon{color:var(--warning-text)}.toast-error .toast-icon{color:var(--danger-text)}.toast-body{flex-direction:column;flex:1;gap:.25rem;min-width:0;display:flex}.toast-title{color:var(--text);margin:0;font-weight:600}.toast-text{color:var(--text-2);margin:0}.toast-detail{color:var(--text-2);overflow-wrap:anywhere;margin:0;font-size:.75rem}.toast-actions{flex-wrap:wrap;gap:.5rem;margin-top:.375rem;display:flex}.toast-close{flex-shrink:0;margin:-.25rem -.25rem 0 0}.system-banner{background:var(--danger-solid);color:var(--on-danger)}.system-banner-inner{min-height:44px;padding:.375rem var(--page-pad);flex-wrap:wrap;align-items:center;gap:.75rem;font-size:.875rem;display:flex}.system-banner-icon{flex-shrink:0}.system-banner-text{flex:1;min-width:14rem}.system-banner-action.btn{background:var(--on-danger);border-color:var(--on-danger);min-height:34px;color:var(--danger-solid)}.system-banner-action.btn:hover{background:var(--danger-bg);color:var(--danger-text)}.system-banner-hint{font-weight:600}.tooth-plans ul{flex-direction:column;gap:.375rem;margin:.375rem 0 0;padding:0;list-style:none;display:flex}.tooth-plans li{flex-wrap:wrap;align-items:center;gap:.375rem .5rem;font-size:.8125rem;display:flex}.planned-list{margin-top:1.25rem}.origin-badge.is-plan{background:var(--layer-planned-soft);color:var(--layer-planned-text)}.item-add-row{flex-wrap:wrap;gap:.5rem;display:flex}.note-plan-items{color:var(--layer-planned-text);flex-direction:column;gap:.25rem;margin:0;padding:0;font-size:.8125rem;list-style:none;display:flex}.note-plan-items li{align-items:center;gap:.375rem;display:flex}.plan-marker{stroke:var(--surface);stroke-width:1px}
