:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--font-sans:Cabin, Inter, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;--brand-800:#115e59;--brand-700:#0f766e;--brand-600:#0d9488;--brand-500:#14b8a6;--brand-400:#2dd4bf;--brand-300:#5eead4;--brand-100:#ccfbf1;--brand-50:#f0fdfa;--ink-950:#09090b;--ink-900:#18181b;--ink-800:#27272a;--ink-700:#3f3f46;--ink-650:#4b5563;--ink-600:#4b5563;--ink-500:#4b5563;--ink-400:#4b5563;--ink-350:#71717a;--ink-300:#cbd5e1;--ink-200:#e2e8f0;--ink-100:#f1f5f9;--ink-50:#f8fafc;--blue-700:#1d4ed8;--blue-600:#2563eb;--blue-500:#3b82f6;--blue-100:#dbeafe;--blue-50:#eff6ff;--purple-600:#7c3aed;--purple-100:#ede9fe;--violet-700:#6d28d9;--violet-100:#f5f3ff;--amber-700:#b45309;--amber-600:#d97706;--amber-500:#f59e0b;--amber-100:#fef3c7;--amber-50:#fffbeb;--red-700:#be123c;--red-600:#e11d48;--red-500:#f43f5e;--red-100:#ffe4e6;--red-50:#fff1f2;--green-700:#15803d;--green-600:#16a34a;--green-500:#22c55e;--green-100:#dcfce7;--green-50:#f0fdf4;--warm-600:#ea580c;--warm-100:#ffedd5;--page:#f8fafc;--canvas:#f8fafc;--surface:#fff;--surface-raised:#fff;--surface-muted:#f1f5f9;--surface-2:#f1f5f9;--surface-alt:#f8fafc;--text:var(--ink-950);--text-soft:var(--ink-800);--text-muted:var(--ink-650);--border:#e2e8f0;--border-strong:#cbd5e1;--line:#e2e8f0;--line-strong:#cbd5e1;--overlay:#09090b66;--shadow-xs:none;--shadow-sm:none;--shadow-md:none;--shadow-lg:none;--ring:0 0 0 3px #14b8a633;--radius-xs:6px;--radius-sm:8px;--radius-md:12px;--radius-lg:16px;--radius-xl:20px;--radius-pill:9999px;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:24px;--space-6:32px;--space-7:48px;--space-8:64px;--space-10:40px;--space-12:48px;--sidebar-width:260px;--topbar-height:70px;--mobile-nav-height:70px;--content-max:1460px;--transition:.2s cubic-bezier(.4, 0, .2, 1);--focus:#14b8a6;--diagnosis-caries:#f43f5e;--diagnosis-restoration:#3b82f6;--diagnosis-crown:#7c3aed;--diagnosis-endodontics:#f59e0b;--diagnosis-implant:#22c55e;--diagnosis-observation:#ea580c;--diagnosis-missing:#71717a}[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--page:#0e0e0e;--canvas:#0e0e0e;--surface:#181818;--surface-raised:#222;--surface-muted:#1a1a1a;--surface-2:#252525;--surface-alt:#202020;--text:#f0f0f0;--text-soft:#dbdbdb;--text-muted:#b3b3b3;--border:#2a2a2a;--border-strong:#383838;--line:#2a2a2a;--line-strong:#383838;--overlay:#000000bf;--ink-950:#f0f0f0;--ink-900:#e8e8e8;--ink-800:#d4d4d4;--ink-700:#b8b8b8;--ink-650:#bbb;--ink-600:#a5a5a5;--ink-500:#666;--ink-400:#484848;--ink-350:#383838;--ink-300:#2a2a2a;--ink-200:#222;--ink-100:#1a1a1a;--ink-50:#0e0e0e;--brand-800:#6ed1c0;--brand-700:#4db8a8;--brand-600:#3ea898;--brand-500:#3ea898;--brand-400:#4db8a8;--brand-300:#7acfc3;--brand-100:#1a3531;--brand-50:#162d2a;--blue-700:#88b4ff;--blue-600:#74a3ff;--blue-500:#5585cc;--blue-100:#1a2640;--blue-50:#141d2f;--purple-100:#281e40;--violet-100:#281e40;--amber-100:#2e2010;--amber-50:#251b0f;--amber-500:#c88c30;--amber-600:#b07820;--amber-700:#d6a043;--red-100:#2e1318;--red-50:#241114;--red-500:#c04060;--red-600:#d25774;--red-700:#e38aa0;--green-100:#152415;--green-50:#111d11;--green-500:#40a060;--green-600:#55b978;--green-700:#7ad498;--warm-100:#2a1810;--warm-600:#b86030;--shadow-xs:none;--shadow-sm:none;--shadow-md:none;--shadow-lg:none;--ring:0 0 0 3px #3ea89840}*,:before,:after{box-sizing:border-box}html{scroll-behavior:smooth;min-width:320px}body,h1,h2,h3,h4,p,figure,blockquote,dl,dd{margin:0}ul[role=list],ol[role=list]{margin:0;padding:0;list-style:none}body{text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;min-height:100vh}img,picture,svg,canvas{max-width:100%;display:block}input,button,textarea,select{font:inherit}button{border:0}a{color:inherit;text-decoration:none}table{border-collapse:collapse;border-spacing:0}::selection{background:var(--brand-100);color:var(--ink-900)}body{background:var(--page);color:var(--text);font-family:var(--font-sans);font-size:14px;line-height:1.42;overflow-x:hidden}button,[role=button]{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.55}h1,h2,h3,h4{color:var(--text);letter-spacing:0;line-height:1.18}h1{font-size:28px;font-weight:700}h2{font-size:20px;font-weight:700}h3{font-size:16px;font-weight:700}h4{font-size:14px;font-weight:700}small{color:var(--text-muted)}strong{font-weight:700}.muted{color:var(--text-muted)}.soft{color:var(--text-soft)}.text-success{color:var(--green-600)}.text-danger{color:var(--red-600)}.text-warning{color:var(--amber-600)}.text-brand{color:var(--brand-600)}.mono,.tabular{font-family:var(--font-mono);font-variant-numeric:tabular-nums}.nowrap{white-space:nowrap}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.stack{gap:var(--space-4);flex-direction:column;display:flex}.inline{align-items:center;gap:var(--space-3);display:flex}.inline-wrap{align-items:center;gap:var(--space-3);flex-wrap:wrap;display:flex}.spacer{flex:1}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:var(--ink-200);background-clip:padding-box;border:3px solid #0000;border-radius:999px}::-webkit-scrollbar-thumb:hover{background:var(--ink-300);background-clip:padding-box;border:3px solid #0000}.app-shell{min-height:100vh}.sidebar{z-index:40;width:var(--sidebar-width);background:var(--surface);color:var(--text);border-right:1px solid var(--border);transition:transform var(--transition), width var(--transition);flex-direction:column;display:flex;position:fixed;inset:0 auto 0 0}.sidebar__brand{min-width:0;height:var(--topbar-height);flex:1;align-items:center;padding:0 22px;display:flex}.sidebar__brand img,.sidebar__brand svg.sidebar__brand-logo{width:104px;height:auto}.sidebar__brand-mark{display:none;width:34px!important}.sidebar__close{margin-right:10px;display:none}.sidebar__clinic{border:1px solid var(--border);background:var(--surface-muted);border-radius:var(--radius-sm);grid-template-columns:34px minmax(0,1fr);align-items:center;gap:9px;margin:15px 14px 8px;padding:11px 12px;display:grid}.sidebar__clinic-icon{border-radius:var(--radius-sm);background:var(--brand-100);width:34px;height:34px;color:var(--brand-700);flex:none;place-items:center;display:grid}.sidebar__clinic-copy{min-width:0}.sidebar__clinic-copy strong{color:var(--text);font-size:12.5px;display:block}.sidebar__clinic-copy span{color:var(--text-muted);font-size:10.5px;display:block}.sidebar__nav{flex:1;padding:5px 10px 16px;overflow-y:auto}.nav-section:first-child{margin-top:0}.nav-section__title{color:var(--text-muted);letter-spacing:.11em;text-transform:uppercase;padding:0 10px 6px;font-size:9.5px;font-weight:700}.nav-link{min-height:38px;color:var(--text-soft);transition:background var(--transition), color var(--transition), border-color var(--transition);border-left:3px solid #0000;border-radius:0 7px 7px 0;grid-template-columns:19px minmax(0,1fr) auto;align-items:center;gap:10px;margin:2px 0;padding:7px 10px;font-size:12.5px;font-weight:600;display:grid;position:relative}.nav-link.active{color:var(--brand-700);background:var(--brand-50);border-left-color:var(--brand-600)}.nav-link svg,.nav-link .icon{opacity:.95;color:currentColor!important;stroke:currentColor!important}.nav-link__badge{border-radius:var(--radius-xs);min-width:20px;height:18px;color:var(--warm-600);background:var(--warm-100);place-items:center;margin-left:auto;padding:0 5px;font-size:10px;font-weight:700;display:grid}.sidebar__footer{border-top:0;margin-top:auto;padding:12px 14px 18px}.sidebar__demo{border:1px solid var(--border);background:var(--surface-muted);border-radius:var(--radius-sm);color:var(--text-muted);padding:11px 12px}.sidebar__demo strong{color:var(--text);align-items:center;gap:7px;font-size:11px;display:flex}.sidebar__demo p{color:var(--text-muted);margin-top:3px;font-size:10.5px;line-height:1.42}.sidebar__collapse{display:none}.sidebar.collapsed .sidebar__brand-mark{display:block!important}.sidebar.collapsed .sidebar__brand img:first-child,.sidebar.collapsed .sidebar__brand svg.sidebar__brand-logo{display:none!important}.sidebar.collapsed .sidebar__clinic-copy,.sidebar.collapsed .nav-link span,.sidebar.collapsed .nav-link__badge,.sidebar.collapsed .sidebar__demo p,.sidebar.collapsed .sidebar__footer{display:none}.sidebar.collapsed .sidebar__clinic{grid-template-columns:1fr;justify-items:center}.sidebar.collapsed .sidebar__clinic-icon{margin:0}.sidebar.collapsed .nav-link{border-left:0;border-radius:7px;grid-template-columns:1fr;justify-items:center;margin:2px 4px;padding:7px 4px}.sidebar.collapsed .nav-section{margin:0}.sidebar.collapsed .nav-section__title{display:none}.sidebar.collapsed .sidebar__demo{text-align:center;padding:11px}.sidebar.collapsed .sidebar__demo strong{text-align:center;justify-content:center;gap:4px;font-size:10px}.app-main{min-height:100vh;margin-left:var(--sidebar-width);transition:margin var(--transition)}.topbar{z-index:30;height:var(--topbar-height);background:var(--surface);border-bottom:1px solid var(--border);align-items:center;gap:10px;padding:0 24px;display:flex;position:sticky;top:0}.topbar__mobile,.topbar__mobile-search{display:none}.topbar__actions{align-items:center;gap:8px;margin-left:auto;display:flex}.topbar__divider{background:var(--border);width:1px;height:30px;margin:0 4px}.page-shell{width:100%;max-width:none;margin:0;padding:25px 25px 28px 50px}.page-header{justify-content:space-between;align-items:flex-start;gap:24px;margin-bottom:18px;display:flex}.page-header__copy{min-width:0}.page-header__eyebrow{color:var(--brand-700);letter-spacing:.11em;text-transform:uppercase;align-items:center;gap:8px;margin-bottom:6px;font-size:9.5px;font-weight:700;display:flex}.page-header__copy p{max-width:740px;color:var(--text-muted);margin-top:4px;font-size:12.5px}.page-header__actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:8px;display:flex}.grid{gap:15px;display:grid}.grid--2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid--3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid--4{grid-template-columns:repeat(4,minmax(0,1fr))}.grid--sidebar{grid-template-columns:minmax(0,1.75fr) minmax(300px,.72fr)}.grid--detail{grid-template-columns:290px minmax(0,1fr);align-items:start}.grid--reports{grid-template-columns:repeat(12,minmax(0,1fr))}.col-span-4{grid-column:span 4}.col-span-5{grid-column:span 5}.col-span-6{grid-column:span 6}.col-span-7{grid-column:span 7}.col-span-8{grid-column:span 8}.col-span-12{grid-column:span 12}.content-section{margin-top:22px}.content-section:first-child{margin-top:0}.section-heading{align-items:center;gap:12px;margin-bottom:13px;display:flex}.section-heading h2,.section-heading h3{flex:1}.section-heading p{color:var(--text-muted)}.sidebar-backdrop{z-index:35;background:var(--overlay);display:none;position:fixed;inset:0}@media (width<=1180px){:root{--sidebar-width:220px}.page-shell{padding-inline:22px}.grid--4{grid-template-columns:repeat(2,minmax(0,1fr))}.grid--sidebar{grid-template-columns:1fr}}.sidebar__collapse{transition:transform var(--transition);display:inline-grid}.sidebar__collapse.collapsed{transform:rotate(180deg)}@media (width<=1099px){:root{--topbar-height:66px}.sidebar{width:min(300px,90vw);box-shadow:var(--shadow-lg);transform:translate(-102%)}.sidebar.is-open{transform:translate(0)}.sidebar__close{display:inline-grid}.sidebar__collapse{display:none}.sidebar-backdrop.is-open{display:block}.app-main{margin-left:0}.topbar{gap:10px;padding-inline:16px}.topbar__mobile{display:inline-grid}.topbar__search{flex:360px;width:auto;max-width:520px}.page-shell{padding:24px 18px 40px}.grid--detail,.grid--reports{grid-template-columns:1fr}.grid--reports>*{grid-column:auto!important}}@media (width<=720px){.topbar__search{display:none}.topbar__mobile-search{display:inline-grid}.topbar__search.is-mobile-open{z-index:95;width:auto;max-width:none;display:block;position:fixed;top:8px;left:8px;right:8px}.topbar__search.is-mobile-open .search-box input{background:var(--surface-raised);height:50px;box-shadow:var(--shadow-lg);padding-right:44px}.topbar__search.is-mobile-open .global-search-results{width:100%;max-height:calc(100vh - 82px);top:calc(100% + 6px)}.clinic-dropdown,.topbar__divider{display:none}.page-header{flex-direction:column;align-items:stretch}.page-header__actions{justify-content:flex-start;width:100%}.page-header__actions .btn{flex:auto;justify-content:center}.grid--2,.grid--3,.grid--4{grid-template-columns:1fr}}.sidebar__top{min-height:var(--topbar-height)}.sidebar__collapse{color:var(--text-muted);background:var(--surface-muted);border:1px solid var(--border);margin-right:10px}.sidebar__collapse:hover{color:var(--brand-700);border-color:var(--border-strong);background:var(--brand-50)}.sidebar.collapsed .sidebar__brand{flex:none;justify-content:center;width:100%;padding:0}.sidebar.collapsed .sidebar__collapse{width:32px;height:32px;color:var(--brand-700);background:var(--surface-raised);box-shadow:var(--shadow-sm);border-radius:999px;margin:0;position:absolute;top:14px;right:-16px}.sidebar.collapsed .sidebar__clinic{border-radius:12px;width:46px;margin:14px auto 8px;padding:6px}.sidebar.collapsed .sidebar__clinic-icon{width:32px;height:32px}.sidebar.collapsed .sidebar__nav{padding:6px 8px 16px}.sidebar.collapsed .nav-link{border-radius:12px;width:46px;min-height:42px;margin:3px auto;padding:0}.sidebar.collapsed .nav-link.active{background:var(--brand-100);box-shadow:inset 0 0 0 1px var(--brand-600)}.sidebar.collapsed .nav-link .icon,.sidebar.collapsed .sidebar__demo strong .icon{width:18px;height:18px}.sidebar.collapsed .sidebar__footer{padding:10px 0 14px;display:block}.sidebar.collapsed .sidebar__demo{border-radius:12px;place-items:center;width:46px;min-height:42px;margin:0 auto;padding:0;display:grid}.sidebar.collapsed .sidebar__demo strong{gap:0;font-size:0}@media (width<=1099px){.sidebar.collapsed{width:min(300px,90vw)}.sidebar.collapsed .sidebar__brand img:first-child{display:block}.sidebar.collapsed .sidebar__brand-mark{display:none!important}.sidebar.collapsed .sidebar__clinic-copy,.sidebar.collapsed .nav-link span,.sidebar.collapsed .nav-link__badge,.sidebar.collapsed .sidebar__demo p{display:block}.sidebar.collapsed .sidebar__footer{padding:12px 14px 18px}.sidebar.collapsed .nav-link{grid-template-columns:19px minmax(0,1fr) auto;justify-items:start;width:auto;padding:7px 10px}.sidebar.collapsed .sidebar__clinic{grid-template-columns:34px minmax(0,1fr);justify-items:stretch;width:auto;margin:15px 14px 8px;padding:11px 12px}}.icon{flex:none;width:19px;height:19px}.icon--xs{width:12px;height:12px}.icon--sm{width:16px;height:16px}.icon--lg{width:22px;height:22px}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-xs)}.card--hover{transition:transform var(--transition), box-shadow var(--transition), border-color var(--transition)}.card__header{align-items:flex-start;gap:14px;padding:20px 20px 0;display:flex}.card__header-copy{flex:1;min-width:0}.card__header p{color:var(--text-muted);margin-top:4px;font-size:12px}.card__footer{border-top:1px solid var(--border);background:var(--surface-muted);border-radius:0 0 var(--radius-lg) var(--radius-lg);padding:15px 20px}.card--flush .card__body{padding:0}.metric-card{padding:19px;position:relative;overflow:hidden}.metric-card:after{content:"";background:var(--metric-tint,var(--brand-100));opacity:.65;border-radius:50%;width:110px;height:110px;position:absolute;top:-44px;right:-44px}.metric-card__top{z-index:1;justify-content:space-between;align-items:center;gap:10px;display:flex;position:relative}.metric-card__icon{width:40px;height:40px;color:var(--metric-color,var(--brand-600));background:var(--metric-tint,var(--brand-100));border-radius:12px;place-items:center;display:grid}.metric-card__label{color:var(--text-muted);font-size:12px;font-weight:650}.metric-card__value{z-index:1;letter-spacing:-.04em;margin-top:17px;font-size:28px;font-weight:780;line-height:1;position:relative}.metric-card__meta{z-index:1;color:var(--text-muted);align-items:center;gap:8px;margin-top:10px;font-size:11px;display:flex;position:relative}.metric-trend{border-radius:999px;align-items:center;gap:3px;padding:3px 7px;font-size:10px;font-weight:800;display:inline-flex}.metric-trend--up{color:var(--green-600);background:var(--green-100)}.metric-trend--down{color:var(--red-600);background:var(--red-100)}.btn{min-height:40px;transition:transform var(--transition), background var(--transition), border-color var(--transition), box-shadow var(--transition), color var(--transition);border:1px solid #0000;border-radius:11px;justify-content:center;align-items:center;gap:8px;padding:9px 14px;font-size:13px;font-weight:700;line-height:1;display:inline-flex}.btn:active{transform:translateY(0)}.btn--primary{color:#fff;background:var(--brand-600);box-shadow:0 8px 20px #1bafa633}.btn--primary:hover{background:var(--brand-600);box-shadow:0 10px 24px #1bafa647}.btn--secondary:hover{border-color:var(--border-strong);background:var(--surface-muted)}.btn--ghost{color:var(--text-soft);background:0 0}.btn--ghost:hover{color:var(--text);background:var(--ink-50)}.btn--sm{border-radius:9px;min-height:34px;padding:7px 10px;font-size:12px}.btn--lg{border-radius:13px;min-height:46px;padding:12px 18px}.btn--icon{width:40px;padding:0}.btn--block{width:100%}.icon-button{width:40px;height:40px;color:var(--text-soft);transition:background var(--transition), color var(--transition);background:0 0;border-radius:11px;place-items:center;display:inline-grid;position:relative}.icon-button__dot{background:var(--red-500);border:2px solid var(--surface);border-radius:50%;width:7px;height:7px;position:absolute;top:8px;right:8px}.search-box{align-items:center;display:flex;position:relative}.search-box .icon{color:var(--text-muted);pointer-events:none;position:absolute;left:13px}.search-box input{border:1px solid var(--border);width:100%;height:42px;color:var(--text);background:var(--surface-muted);transition:border-color var(--transition), background var(--transition), box-shadow var(--transition);border-radius:12px;outline:0;padding:0 40px 0 41px}.search-box input::placeholder{color:var(--ink-400)}.search-box kbd{border:1px solid var(--border);color:var(--text-muted);background:var(--surface);font-family:var(--font-sans);border-bottom-width:2px;border-radius:6px;padding:2px 6px;font-size:10px;position:absolute;right:10px}.avatar{width:38px;height:38px;color:var(--avatar-ink,var(--ink-900));background:var(--avatar-bg,var(--brand-100));letter-spacing:.02em;border-radius:12px;flex:none;place-items:center;font-size:12px;font-weight:800;display:inline-grid}.avatar--sm{border-radius:9px;width:31px;height:31px;font-size:10px}.avatar--lg{border-radius:17px;width:58px;height:58px;font-size:17px}.avatar--xl{border-radius:22px;width:78px;height:78px;font-size:22px}.avatar-group{display:flex}.avatar-group .avatar{border:2px solid var(--surface);margin-left:-8px}.avatar-group .avatar:first-child{margin-left:0}.profile-button{color:var(--text);background:0 0;border-radius:12px;align-items:center;gap:10px;padding:5px 8px 5px 5px;display:flex}.profile-button__copy{text-align:left;line-height:1.2}.profile-button__copy strong{font-size:12px;display:block}.profile-button__copy span{color:var(--text-muted);font-size:10px}.badge{white-space:nowrap;border-radius:999px;align-items:center;gap:6px;min-height:25px;padding:4px 9px;font-size:10px;font-weight:780;line-height:1;display:inline-flex}.badge:before{content:"";opacity:.8;background:currentColor;border-radius:50%;width:6px;height:6px}.badge--neutral{color:var(--ink-600);background:var(--ink-100)}.badge--brand{color:var(--brand-700);background:var(--brand-100)}.badge--plain:before{display:none}.pill-tabs{background:var(--ink-50);border:1px solid var(--border);border-radius:12px;align-items:center;gap:4px;padding:4px;display:inline-flex}.pill-tab{min-height:33px;color:var(--text-muted);background:0 0;border-radius:9px;padding:7px 12px;font-size:12px;font-weight:700}.pill-tab:hover{color:var(--text)}.pill-tab.active{color:var(--text);background:var(--surface);box-shadow:var(--shadow-xs)}.tabs{border-bottom:1px solid var(--border);align-items:center;gap:4px;display:flex;overflow-x:auto}.tab{min-height:48px;color:var(--text-muted);white-space:nowrap;background:0 0;align-items:center;gap:8px;padding:0 14px;font-size:12px;font-weight:700;display:inline-flex;position:relative}.tab:hover{color:var(--text)}.tab.active:after{content:"";background:var(--brand-500);border-radius:2px 2px 0 0;height:2px;position:absolute;bottom:-1px;left:12px;right:12px}.table-wrap{width:100%;overflow:auto}.data-table{width:100%;min-width:720px}.data-table th{text-align:left;height:44px;color:var(--text-muted);background:var(--surface-muted);border-bottom:1px solid var(--border);letter-spacing:.07em;text-transform:uppercase;white-space:nowrap;padding:0 16px;font-size:10px;font-weight:800}.data-table td{border-bottom:1px solid var(--border);vertical-align:middle;padding:13px 16px}.data-table tbody tr{transition:background var(--transition)}.data-table tbody tr:last-child td{border-bottom:0}.table-person{align-items:center;gap:10px;min-width:180px;display:flex}.table-person__copy{min-width:0}.table-person strong{font-size:12px;display:block}.table-person span{color:var(--text-muted);font-size:10px;display:block}.table-actions{justify-content:flex-end;align-items:center;gap:4px;display:flex}.list{flex-direction:column;display:flex}.list-item{border-bottom:1px solid var(--border);align-items:center;gap:12px;min-height:58px;padding:11px 0;display:flex}.list-item:last-child{border-bottom:0}.list-item__content{flex:1;min-width:0}.list-item__title{color:var(--text);font-weight:700}.list-item__meta{color:var(--text-muted);margin-top:3px;font-size:11px}.list-item__aside{text-align:right}.progress{background:var(--ink-100);border-radius:999px;height:7px;overflow:hidden}.progress__bar{height:100%;width:var(--progress,0%);border-radius:inherit;background:var(--brand-600);transition:width .4s}.progress--sm{height:5px}.kpi-ring{background:conic-gradient(var(--ring-color,var(--brand-500)) calc(var(--value,0) * 1%), var(--ink-100) 0);border-radius:50%;place-items:center;width:112px;height:112px;display:grid;position:relative}.kpi-ring:before{content:"";background:var(--surface);border-radius:50%;position:absolute;inset:10px}.kpi-ring__content{z-index:1;text-align:center;position:relative}.kpi-ring__content strong{font-size:22px;line-height:1;display:block}.kpi-ring__content span{color:var(--text-muted);text-transform:uppercase;letter-spacing:.08em;margin-top:4px;font-size:9px;display:block}.empty-state{text-align:center;place-items:center;min-height:300px;padding:30px;display:grid}.empty-state img{width:min(300px,80%);margin:0 auto 4px}.empty-state h3{margin-top:4px}.empty-state p{max-width:440px;color:var(--text-muted);margin:8px auto 18px}.callout{border:1px solid var(--border);background:var(--surface-muted);border-radius:13px;align-items:flex-start;gap:11px;padding:13px 14px;display:flex}.callout__body{color:var(--text-soft);font-size:12px}.callout__body strong{color:var(--text);margin-bottom:2px;display:block}.dropdown{position:relative}.dropdown-menu{z-index:80;border:1px solid var(--border);background:var(--surface-raised);width:240px;box-shadow:var(--shadow-md);border-radius:14px;padding:7px;animation:.14s pop-in;position:absolute;top:calc(100% + 8px);right:0}.dropdown-menu__header{border-bottom:1px solid var(--border);margin-bottom:5px;padding:10px 10px 8px}.dropdown-item{width:100%;min-height:40px;color:var(--text-soft);text-align:left;background:0 0;border-radius:9px;align-items:center;gap:10px;padding:8px 10px;font-size:12px;font-weight:650;display:flex}.dropdown-item:hover{color:var(--text);background:var(--ink-50)}.modal-layer{z-index:100;background:var(--overlay);-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);place-items:center;padding:18px;animation:.15s fade-in;display:grid;position:fixed;inset:0}.modal{border:1px solid var(--border);background:var(--surface-raised);width:min(580px,100%);max-height:min(800px,100vh - 36px);box-shadow:var(--shadow-lg);border-radius:20px;flex-direction:column;animation:.18s modal-in;display:flex;overflow:hidden}.modal--sm{width:min(430px,100%)}.modal--lg{width:min(820px,100%)}.modal--xl{width:min(1080px,100%)}.modal__header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:14px;padding:16px 20px;display:flex}.modal__header-copy{flex:1}.modal__header p{color:var(--text-muted);margin-top:4px;font-size:12px}.modal__body{padding:22px;overflow:auto}.modal__footer{border-top:1px solid var(--border);background:var(--surface-muted);justify-content:flex-end;align-items:center;gap:9px;padding:15px 22px;display:flex}.toast-stack{z-index:130;flex-direction:column;gap:9px;width:min(360px,100vw - 36px);display:flex;position:fixed;bottom:18px;right:18px}.toast{border:1px solid var(--border);background:var(--surface-raised);box-shadow:var(--shadow-md);border-radius:14px;align-items:flex-start;gap:11px;padding:13px 14px;animation:.22s toast-in;display:flex}.toast__icon{width:30px;height:30px;color:var(--brand-700);background:var(--brand-100);border-radius:9px;flex:none;place-items:center;display:grid}.notification-toast .toast__icon{color:var(--toast-ink,var(--brand-700));background:var(--toast-bg,var(--brand-100))}.notification-toast{align-items:stretch;padding:0;overflow:hidden}.notification-toast__main{min-width:0;color:inherit;text-align:left;cursor:pointer;background:0 0;border:0;flex:1;align-items:flex-start;gap:11px;padding:13px 8px 13px 14px;display:flex}.notification-toast__main:hover{background:color-mix(in srgb, var(--brand-500) 5%, transparent)}.notification-toast__close{width:34px;height:34px;color:var(--text-muted);cursor:pointer;background:0 0;border:0;border-radius:9px;align-self:flex-start;place-items:center;margin:7px 7px 0 0;display:grid}.notification-toast__close:hover{color:var(--text);background:var(--surface-muted)}.notification-toast .toast__body small{color:var(--text-subtle);margin-top:5px;font-size:10px;display:block}.toast--success .toast__icon{color:var(--green-600);background:var(--green-100)}.toast--danger .toast__icon{color:var(--red-600);background:var(--red-100)}.toast__body{flex:1}.toast__body strong{font-size:12px;display:block}.toast__body p{color:var(--text-muted);margin-top:2px;font-size:11px}.chart{width:100%;min-height:230px}.chart svg{width:100%;height:auto;overflow:visible}.chart-tooltip{pointer-events:none}.chart-legend{flex-wrap:wrap;align-items:center;gap:14px;margin-top:12px;display:flex}.chart-legend__item{color:var(--text-muted);align-items:center;gap:6px;font-size:10px;display:flex}.chart-legend__dot{background:var(--dot);border-radius:50%;width:8px;height:8px}.pagination{border-top:1px solid var(--border);justify-content:space-between;align-items:center;gap:14px;padding:14px 16px;display:flex}.pagination__meta{color:var(--text-muted);font-size:11px}.pagination__controls{align-items:center;gap:5px;display:flex}.quick-actions{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.quick-action{border:1px solid var(--border);min-height:92px;color:var(--text);background:var(--surface);text-align:left;transition:transform var(--transition), border-color var(--transition), box-shadow var(--transition);border-radius:14px;flex-direction:column;justify-content:space-between;align-items:flex-start;gap:10px;padding:14px;display:flex}.quick-action__icon{width:34px;height:34px;color:var(--action-color,var(--brand-600));background:var(--action-bg,var(--brand-100));border-radius:10px;place-items:center;display:grid}.quick-action span{font-size:11px;font-weight:750}.timeline{padding-left:24px;position:relative}.timeline:before{content:"";background:var(--border);width:2px;position:absolute;top:5px;bottom:10px;left:7px}.timeline-item{padding:0 0 20px 14px;position:relative}.timeline-item:last-child{padding-bottom:0}.timeline-item:before{content:"";background:var(--timeline-color,var(--brand-500));border:3px solid var(--surface);width:10px;height:10px;box-shadow:0 0 0 2px var(--timeline-color,var(--brand-500));border-radius:50%;position:absolute;top:5px;left:-21px}.timeline-item__date{color:var(--text-muted);font-size:10px}.timeline-item__title{margin-top:2px;font-size:12px;font-weight:750}.timeline-item__text{color:var(--text-soft);margin-top:4px;font-size:11px}@keyframes fade-in{0%{opacity:0}to{opacity:1}}@keyframes pop-in{0%{opacity:0;transform:translateY(-4px)scale(.98)}to{opacity:1;transform:none}}@keyframes modal-in{0%{opacity:0;transform:translateY(14px)scale(.985)}to{opacity:1;transform:none}}@keyframes toast-in{0%{opacity:0;transform:translate(14px)}to{opacity:1;transform:none}}@media (width<=640px){.profile-button__copy{display:none}.modal-layer{place-items:end center;padding:0}.modal,.modal--sm,.modal--lg,.modal--xl{border-bottom:0;border-radius:20px 20px 0 0;width:100%;max-height:92vh}.toast-stack{width:calc(100vw - 24px);bottom:12px;right:12px}}.metric-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);min-height:112px;box-shadow:var(--shadow-xs);align-items:center;gap:14px;display:flex}.metric-card__icon{z-index:1;color:var(--metric-ink,var(--metric-color,var(--brand-600)));background:var(--metric-bg,var(--metric-tint,var(--brand-100)));position:relative}.metric-card__copy{z-index:1;min-width:0;position:relative}.metric-card__copy>span{color:var(--text-muted);font-size:11px;font-weight:680;display:block}.metric-card__copy>strong{letter-spacing:-.035em;margin-top:5px;font-size:24px;line-height:1;display:block}.metric-card__copy>small{color:var(--text-muted);margin-top:7px;font-size:9px;line-height:1.35;display:block}.notification-item{align-items:flex-start;position:relative}.notification-item>span:nth-child(2){min-width:0}.notification-item strong,.notification-item small{display:block}.notification-item strong{color:var(--text);font-size:11px}.notification-item small{white-space:normal;margin-top:2px;font-size:9px;line-height:1.35}.notification-item>i{background:var(--brand-500);border-radius:50%;flex:none;width:7px;height:7px;margin:6px 2px 0 auto}.notification-item--unread{background:color-mix(in srgb, var(--brand-50) 72%, var(--surface))}.notification-item__time{color:var(--text-muted);margin-top:5px;font-size:9px;font-weight:680;display:block}.notifications-menu__footer{border-top:1px solid var(--border);background:var(--surface);justify-content:center;padding:10px 14px;display:flex}.notifications-menu__footer .link-button{min-height:30px;padding-inline:14px}.global-search-results{width:min(420px,90vw);left:0;right:auto}.global-search-results .dropdown-item>span:nth-child(2){min-width:0}.global-search-results .dropdown-item strong,.global-search-results .dropdown-item small{display:block}.card{border-radius:var(--radius-md);box-shadow:var(--shadow-sm)}.card--hover:hover{box-shadow:var(--shadow-md);border-color:var(--border-strong);transform:none}.card__header{padding:17px 17px 0}.card__body{padding:17px}.card__footer{background:var(--surface-muted);border-radius:0 0 var(--radius-md) var(--radius-md);padding:13px 17px}.metric-card{border-radius:var(--radius-md);min-height:102px;padding:15px 17px;overflow:hidden}.metric-card:after{display:none}.metric-card__icon{border-radius:var(--radius-sm);width:34px;height:34px}.metric-card__value,.metric-card__copy>strong{letter-spacing:0;font-variant-numeric:tabular-nums;font-size:23px}.metric-trend{border-radius:var(--radius-xs)}.btn{border-radius:var(--radius-sm);min-height:38px;box-shadow:var(--shadow-sm);transition:background var(--transition), border-color var(--transition), color var(--transition), box-shadow var(--transition);padding:8px 13px;font-size:11.5px;font-weight:700}.btn:hover{transform:none}.btn--primary{color:#fff;background:var(--brand-600);border-color:var(--brand-600);box-shadow:var(--shadow-sm)}.btn--primary:hover{background:var(--brand-700);border-color:var(--brand-700);box-shadow:var(--shadow-sm)}.btn--secondary{color:var(--text);background:var(--surface);border-color:var(--border-strong)}.btn--ghost:hover{background:var(--surface-muted)}.btn--danger{color:var(--red-700);background:var(--red-100)}.btn--success{color:var(--green-700);background:var(--green-100)}.btn--warning{color:var(--amber-700);background:var(--amber-100)}.btn--sm{border-radius:7px;min-height:32px;font-size:10.5px}.btn--lg{border-radius:var(--radius-sm);min-height:44px}.btn--icon{width:38px}.btn--icon.btn--sm{width:32px}.icon-button{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);width:38px;height:38px;color:var(--text-soft)}.icon-button:hover{color:var(--text);background:var(--surface-muted)}.icon-button__dot{background:var(--red-700);border-color:var(--surface)}.search-box input{border-radius:var(--radius-sm);background:var(--surface-muted);height:38px}.search-box input:focus{border-color:var(--focus);background:var(--surface);box-shadow:var(--ring)}.search-box kbd{border-radius:var(--radius-xs)}.avatar{border-radius:var(--radius-sm);letter-spacing:0;font-weight:700}.avatar--sm{border-radius:7px}.avatar--lg,.avatar--xl{border-radius:var(--radius-md)}.profile-button{border-radius:var(--radius-sm)}.profile-button:hover{background:var(--surface-muted)}.badge{border-radius:var(--radius-xs);font-size:9.5px;font-weight:700}.badge:before{border-radius:2px}.badge--info{color:var(--blue-600);background:var(--blue-100)}.badge--success{color:var(--green-700);background:var(--green-100)}.badge--warning{color:var(--amber-700);background:var(--amber-100)}.badge--danger{color:var(--red-700);background:var(--red-100)}.badge--purple{color:var(--violet-700);background:var(--violet-100)}.pill-tabs{border-radius:var(--radius-sm);background:var(--surface-muted)}.pill-tab{border-radius:6px}.tabs{border-bottom-color:var(--border)}.tab{min-height:44px;font-size:12px}.tab.active{color:var(--brand-700)}.tab.active:after{background:var(--brand-600)}.data-table th{background:var(--surface-muted);height:42px;color:var(--text-muted);font-size:9px}.data-table td{padding:11px 12px}.data-table tbody tr:hover{background:var(--brand-50)}.progress{background:var(--ink-100)}.progress__bar{background:var(--brand-600)}.progress--success .progress__bar{background:var(--green-700)}.progress--warning .progress__bar{background:var(--amber-700)}.progress--danger .progress__bar{background:var(--red-700)}.callout{border-radius:var(--radius-sm);background:var(--surface-muted)}.callout--info{color:var(--blue-600);background:var(--blue-100);border-color:var(--blue-100)}.callout--warning{color:var(--amber-700);background:var(--amber-100);border-color:var(--amber-100)}.dropdown-menu{border-radius:var(--radius-md);background:var(--surface-raised);box-shadow:var(--shadow-md)}.dropdown-item{border-radius:var(--radius-sm)}.dropdown-item:hover{background:var(--surface-muted)}.modal-layer{-webkit-backdrop-filter:none;backdrop-filter:none}.modal{border-radius:var(--radius-lg);box-shadow:var(--shadow-lg)}.modal__footer{background:var(--surface-muted)}.quick-action{border-radius:var(--radius-md);box-shadow:none}.quick-action:hover{border-color:var(--brand-600);box-shadow:var(--shadow-sm);transform:none}.quick-action__icon{border-radius:var(--radius-sm)}.kpi-ring{background:conic-gradient(var(--ring-color,var(--brand-600)) calc(var(--value,0) * 1%), var(--ink-100) 0)}.appointment-modal-layer{place-items:center}.appointment-modal{width:min(760px,100vw - 28px)}.appointment-modal__header{align-items:center}.appointment-modal__title{align-items:center;gap:14px;min-width:0;display:flex}.appointment-modal__title h3{margin:0;font-size:18px;line-height:1.15}.appointment-modal__title p{color:var(--text-muted);margin-top:4px;font-size:11px}.appointment-detail-tabs{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface-muted);grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;padding:5px;display:grid}.appointment-detail-tabs button{border-radius:var(--radius-sm);min-height:38px;color:var(--text-muted);letter-spacing:.04em;text-transform:uppercase;cursor:pointer;background:0 0;border:0;font-size:11px;font-weight:900;transition:background .16s,color .16s,box-shadow .16s}.appointment-detail-tabs button:hover{color:var(--brand-700);background:var(--brand-100)}.appointment-detail-tabs button.active{color:var(--brand-700);background:var(--surface);box-shadow:var(--shadow-xs)}.appointment-tab-panel{gap:12px;display:grid}.appointment-modal__stepper{border-bottom:1px solid var(--border);align-items:center;gap:0;padding:12px 24px;display:flex;overflow-x:auto}.stepper__step{flex-shrink:0;align-items:center;gap:6px;display:flex}.stepper__dot{background:var(--surface-alt);width:22px;height:22px;color:var(--text-muted);border:2px solid var(--border);border-radius:50%;justify-content:center;align-items:center;font-size:10px;font-weight:700;transition:all .15s;display:flex}.stepper__step--active .stepper__dot{background:var(--brand-600);color:#fff;border-color:var(--brand-600);box-shadow:0 0 0 3px var(--brand-500)}.stepper__step--done .stepper__dot{background:var(--success-600,#16a34a);color:#fff;border-color:var(--success-600,#16a34a)}.stepper__label{color:var(--text-muted);white-space:nowrap;font-size:10px;font-weight:600}.stepper__step--active .stepper__label{color:var(--brand-700);font-weight:800}.stepper__step--done .stepper__label{color:var(--success-600,#16a34a)}.stepper__line{background:var(--border);flex:1;min-width:16px;height:2px;margin:0 4px}.stepper__line--done{background:var(--success-600,#16a34a)}.appointment-modal__body{gap:14px;display:grid}.appointment-modal-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;display:grid}.appointment-modal-card{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface);gap:5px;min-width:0;padding:14px;display:grid}.appointment-modal-card--primary{background:var(--brand-50);border-color:var(--border);grid-column:span 1}.appointment-modal-card--full{grid-column:1/-1}.detail-label{color:var(--text-muted);text-transform:uppercase;letter-spacing:.07em;font-size:9px;font-weight:800}.detail-meta{color:var(--text-muted);font-size:10.5px}.detail-note{color:var(--text-soft);margin:0;font-size:12px;line-height:1.5}.detail-link{width:fit-content;color:var(--brand-700);text-align:left;background:0 0;border:0;align-items:center;gap:5px;padding:0;font-size:14px;font-weight:800;display:inline-flex}.detail-link:hover{text-decoration:underline}.appointment-modal__footer{justify-content:space-between;align-items:center}.modal-actions__left{align-items:center;gap:8px;display:flex}.modal-actions__right{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:8px;display:flex}.modal-actions__group{align-items:center;gap:6px;display:flex}.modal-actions__divider{background:var(--border);width:1px;height:24px;margin:0 4px}.appointment-modal .appointment-clinical-actions{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface-alt);gap:8px;margin-top:0;padding:10px 14px;display:flex}.appointment-clinical-skeleton{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface-alt);gap:8px;padding:10px 14px;display:flex}.skeleton-line{background:var(--surface-muted);background-size:200% 100%;border-radius:4px;height:16px;animation:1.5s ease-in-out infinite skeleton-pulse}.skeleton-line--short{width:40%}.skeleton-line--long{width:60%}@keyframes skeleton-pulse{0%{background-position:200% 0}to{background-position:-200% 0}}.work-active-banner{border-radius:var(--radius-md);background:var(--brand-50,#ecfdf5);border:1px solid var(--brand-300,#10b981);color:var(--brand-700,#047857);align-items:center;gap:8px;margin-bottom:12px;padding:10px 14px;font-size:13px;font-weight:500;display:flex}.appointment-context-banner{border-radius:var(--radius-md);background:var(--brand-50,#eff6ff);border:1px solid var(--brand-200,#bfdbfe);color:var(--brand-700,#1d4ed8);align-items:center;gap:8px;margin-bottom:16px;padding:10px 14px;font-size:13px;font-weight:500;display:flex}.appointment-context-banner>:first-child{margin-right:auto}.confirmation-link-section{border:1px dashed var(--brand-300,#93c5fd);border-radius:var(--radius-md);background:var(--brand-50,#eff6ff);padding:12px 14px}.confirmation-link-section .detail-label{color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em;margin-bottom:8px;font-size:11px;font-weight:600;display:block}.confirmation-share-row{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.confirmation-link-hint{color:var(--text-muted);margin:6px 0 0;font-size:11px}.scheduling-preview{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface);margin:8px 0;padding:8px 10px}.scheduling-preview__url{color:var(--brand-700,#0f766e);word-break:break-all;font-family:monospace;font-size:11px;line-height:1.4}.scheduling-error{color:var(--danger-700,#b91c1c);background:var(--danger-100,#fee2e2);border-radius:var(--radius-md);margin:0 0 8px;padding:8px 10px;font-size:12px}.scheduling-busy{width:100%;color:var(--text-muted);padding:8px 0;font-size:13px;display:block}.reschedule-panel{border:1px solid var(--brand-300,#93c5fd);border-radius:var(--radius-md);background:var(--surface);margin-top:12px;padding:12px 14px}.reschedule-panel .detail-label{color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em;margin-bottom:8px;font-size:11px;font-weight:600;display:block}.reschedule-form{grid-template-columns:1fr 1fr;gap:10px;display:grid}.reschedule-slots{flex-wrap:wrap;gap:6px;margin-top:4px;display:flex}.reschedule-slot{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);cursor:pointer;color:var(--text);padding:5px 10px;font-family:monospace;font-size:12px;transition:all .15s}.reschedule-slot:hover{border-color:var(--brand-400,#60a5fa);background:var(--brand-50,#eff6ff)}.reschedule-slot.active{border-color:var(--brand-500,#3b82f6);background:var(--brand-100,#dbeafe);color:var(--brand-700,#1d4ed8);font-weight:600}.reschedule-actions{justify-content:flex-end;gap:8px;margin-top:10px;display:flex}.agenda-card--waiting{border-left:3px solid var(--purple-400,#a78bfa)}.waiting-list{flex-direction:column;gap:4px;display:flex}.waiting-row{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface);cursor:pointer;text-align:left;align-items:center;gap:10px;width:100%;padding:8px 10px;transition:border-color .15s,background .15s;display:flex}.waiting-row:hover{border-color:var(--brand-300,#93c5fd);background:var(--brand-50,#eff6ff)}.waiting-row--inprogress{border-left:3px solid var(--brand-500,#3b82f6)}.waiting-row__status{flex-shrink:0}.waiting-dot{background:var(--purple-400,#a78bfa);border-radius:50%;width:10px;height:10px;display:block}.waiting-dot--pulse{animation:2s ease-in-out infinite waitPulse}@keyframes waitPulse{0%,to{opacity:1}50%{opacity:.4}}.waiting-row__info{flex:1;min-width:0}.waiting-row__info strong{color:var(--text);white-space:nowrap;text-overflow:ellipsis;font-size:13px;font-weight:600;display:block;overflow:hidden}.waiting-row__info small{color:var(--text-muted);font-size:11px}.waiting-row__time{flex-shrink:0}@media (width<=760px){.appointment-modal-grid{grid-template-columns:1fr}.appointment-modal__footer{flex-direction:column;align-items:stretch;gap:10px}.modal-actions__right{justify-content:flex-start}.appointment-modal__stepper{padding:10px 16px}.stepper__label{display:none}.guided-stepper{flex-wrap:wrap;gap:.35rem}.step__label{display:none}}.guided-form-container{max-width:56rem;margin:0 auto}.guided-stepper{border-bottom:1px solid var(--border-200,#eee);justify-content:center;gap:.5rem;margin-bottom:2rem;padding:1rem 0;display:flex}.step{border:2px solid var(--border-200,#ddd);cursor:pointer;opacity:.5;color:var(--ink-500);background:0 0;border-radius:999px;align-items:center;gap:.5rem;padding:.5rem 1rem;font-size:.85rem;transition:all .2s;display:flex}.step:hover{opacity:.8}.step--active{opacity:1;border-color:var(--brand-600);background:var(--brand-50,#f0f7ff);color:var(--brand-600)}.step--completed{opacity:1;color:#10b981;background:#ecfdf5;border-color:#10b981}.step__number{background:var(--surface-100);border-radius:50%;justify-content:center;align-items:center;width:1.5rem;height:1.5rem;font-size:.75rem;font-weight:600;display:inline-flex}.step--active .step__number{background:var(--brand-600);color:#fff}.step--completed .step__number{color:#fff;background:#10b981}.step__label{font-weight:500}.guided-step{padding:2rem;animation:.3s fadeIn}.guided-step--hidden{display:none}.guided-actions{border-top:1px solid var(--border-200,#eee);justify-content:flex-end;gap:1rem;margin-top:1.5rem;padding-top:1.5rem;display:flex}.guided-actions>:first-child{margin-right:auto}@keyframes fadeIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.appointment-context-banner--workflow{justify-content:space-between;align-items:flex-start}.appointment-context-banner__copy{gap:3px;display:grid}.appointment-context-banner__copy strong{font-size:14px;line-height:1.2}.appointment-context-banner__copy p{color:var(--text-soft);margin:0;font-size:12px;line-height:1.45}.appointment-workflow-hero{--workflow-accent:var(--brand-600);border:1px solid var(--border);border-radius:calc(var(--radius-md) + 2px);background:var(--surface);box-shadow:0 18px 32px -28px var(--brand-500);flex-direction:column;align-items:stretch;gap:14px;height:auto;min-height:144px;padding:18px 18px 18px 22px;display:flex;position:relative;overflow:hidden}.appointment-workflow-hero:before{content:"";background:var(--workflow-accent);width:4px;position:absolute;inset:0 auto 0 0}.appointment-workflow-hero--warning{--workflow-accent:var(--amber-500,#f59e0b);background:var(--amber-100);border-color:var(--border)}.appointment-workflow-hero--info,.appointment-workflow-hero--brand{--workflow-accent:var(--brand-600);background:var(--surface);border-color:var(--border)}.appointment-workflow-hero--success{--workflow-accent:var(--green-600,#16a34a);background:var(--green-100);border-color:var(--border)}.appointment-workflow-hero__copy{gap:4px;display:grid}.appointment-workflow-hero__copy h4{margin:0;font-size:20px;line-height:1.08}.appointment-workflow-hero__copy p{max-width:42ch;color:var(--text-soft);margin:0;font-size:12.5px;line-height:1.45}.appointment-workflow-hero__actions{flex-wrap:wrap;justify-content:flex-start;align-items:center;gap:8px;width:100%;display:flex}.appointment-clinical-flow{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;display:grid}.appointment-clinical-step{border:1px solid var(--border);border-radius:calc(var(--radius-md) + 2px);background:var(--surface);text-align:left;gap:10px;min-width:0;padding:16px;transition:border-color .15s,background .15s,box-shadow .15s,transform .15s;display:grid;box-shadow:0 14px 26px -28px #0f172a3d}.appointment-clinical-step:hover:not(:disabled){border-color:var(--brand-400,var(--brand-600));background:var(--brand-50);box-shadow:var(--shadow-xs);transform:translateY(-1px)}.appointment-clinical-step:disabled{cursor:not-allowed;opacity:.78}.appointment-clinical-step--done{background:var(--green-50,#f0fdf4);border-color:var(--border)}.appointment-clinical-step--active{background:var(--brand-50);border-color:var(--border)}.appointment-clinical-step--next{background:var(--surface-muted)}.appointment-clinical-step--locked{background:var(--surface-muted);border-style:dashed}.appointment-clinical-step__index{background:var(--surface-alt);width:fit-content;color:var(--text-muted);text-transform:uppercase;letter-spacing:.08em;border-radius:999px;padding:4px 8px;font-size:9px;font-weight:800;display:inline-flex}.appointment-clinical-step__body{grid-template-columns:40px minmax(0,1fr);align-items:flex-start;gap:12px;display:grid}.appointment-clinical-step__icon{background:var(--brand-50);width:40px;height:40px;color:var(--brand-700);border-radius:12px;place-items:center;display:grid}.appointment-clinical-step__body strong{font-size:13px;line-height:1.2;display:block}.appointment-clinical-step__body p{color:var(--text-soft);margin:4px 0 0;font-size:11.5px;line-height:1.45}@media (width<=760px){.appointment-workflow-hero{flex-direction:column;align-items:stretch;display:flex}.appointment-workflow-hero__actions{justify-content:flex-start;width:100%}.appointment-clinical-flow{grid-template-columns:1fr}.appointment-context-banner--workflow{flex-direction:column;align-items:stretch}}.appointment-clinical-lock{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--amber-100,#fffbeb);grid-template-columns:auto minmax(0,1fr);align-items:center;gap:12px;padding:14px;display:grid}.appointment-clinical-lock__note{gap:4px;display:grid}.appointment-clinical-lock__note strong{font-size:13px;line-height:1.2}.appointment-clinical-lock__note p{color:var(--text-soft);margin:0;font-size:11.5px;line-height:1.45}[data-theme=dark] .work-active-banner,[data-theme=dark] .appointment-context-banner--workflow{background:var(--surface);border-color:var(--border);color:var(--text)}[data-theme=dark] .appointment-context-banner__copy p,[data-theme=dark] .appointment-workflow-hero__copy p,[data-theme=dark] .appointment-clinical-step__body p,[data-theme=dark] .appointment-clinical-lock__note p,[data-theme=dark] .detail-meta,[data-theme=dark] .appointment-modal__title p{color:var(--text)}.icon-button svg,.icon-button .icon{color:currentColor!important;stroke:currentColor!important}[data-theme=dark] .appointment-workflow-hero{background:var(--surface);border-color:var(--border);box-shadow:0 26px 38px -34px #000000d9,inset 0 1px #ffffff0a}[data-theme=dark] .appointment-workflow-hero--warning,[data-theme=dark] .appointment-clinical-lock,[data-theme=dark] .appointment-workflow-hero--success,[data-theme=dark] .appointment-workflow-hero--info,[data-theme=dark] .appointment-workflow-hero--brand{background:var(--surface);border-color:var(--border)}[data-theme=dark] .appointment-clinical-step,[data-theme=dark] .appointment-modal-card,[data-theme=dark] .confirmation-link-section,[data-theme=dark] .reschedule-panel{background:var(--surface-raised);border-color:var(--border-strong);box-shadow:inset 0 1px #ffffff08}[data-theme=dark] .appointment-modal-card--primary,[data-theme=dark] .appointment-clinical-step--active{background:var(--surface);border-color:var(--brand-500)}[data-theme=dark] .appointment-clinical-step--done{background:var(--surface);border-color:var(--green-500)}[data-theme=dark] .appointment-clinical-step--locked{background:var(--surface);border-color:var(--border);opacity:.6}[data-theme=dark] .appointment-clinical-step__icon{background:var(--brand-500);color:var(--brand-300)}[data-theme=dark] .detail-link{color:var(--brand-400)}[data-theme=dark] .detail-label,[data-theme=dark] .stepper__label{color:var(--text-muted)}[data-theme=dark] .stepper__dot{background:var(--surface);border-color:var(--border-strong);color:var(--text-soft)}@media (width<=760px){.appointment-clinical-lock{grid-template-columns:1fr}}.appointment-next-panel{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--brand-50);justify-content:space-between;align-items:center;gap:14px;padding:14px 16px;display:flex}.appointment-next-panel__copy{gap:4px;display:grid}.appointment-next-panel__copy h4{margin:0;font-size:14px;line-height:1.2}.appointment-next-panel__actions{flex-wrap:wrap;justify-content:flex-end;gap:8px;display:flex}.appointment-compact-meta{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;display:grid}.appointment-compact-meta__item{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface);text-align:left;gap:4px;min-width:0;padding:12px 14px;display:grid}.button.appointment-compact-meta__item,button.appointment-compact-meta__item{cursor:pointer}button.appointment-compact-meta__item:hover{border-color:var(--border);background:var(--brand-50)}.appointment-compact-meta__item strong{font-size:13px;line-height:1.2}.appointment-compact-meta__item small{color:var(--text-muted);font-size:10.5px;line-height:1.4}.appointment-note-card{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface);padding:12px 14px}[data-theme=dark] .appointment-next-panel{border-color:var(--border);background:var(--surface)}[data-theme=dark] .appointment-compact-meta__item,[data-theme=dark] .appointment-note-card{background:var(--surface-raised);border-color:var(--border-strong)}@media (width<=760px){.appointment-next-panel{flex-direction:column;align-items:stretch}.appointment-next-panel__actions{justify-content:flex-start}.appointment-compact-meta{grid-template-columns:1fr}}.dialog-backdrop{z-index:400;-webkit-backdrop-filter:blur(3px);background:#0000004d;animation:.15s dialog-fade-in;position:fixed;inset:0}.dialog-sheet{z-index:401;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-xl);flex-direction:column;width:min(600px,100vw - 32px);height:auto;max-height:calc(100dvh - 48px);animation:.2s cubic-bezier(.34,1.56,.64,1) dialog-slide-in;display:flex;position:fixed;top:50%;left:50%;overflow:hidden;transform:translate(-50%,-50%);box-shadow:0 12px 40px #0000001f}.dialog-header{border-bottom:1px solid var(--border);flex-shrink:0;justify-content:space-between;align-items:flex-start;gap:16px;padding:20px 24px 16px;display:flex}.dialog-header h3{color:var(--text-primary);margin:0;font-size:1.0625rem;font-weight:700;line-height:1.3}.dialog-header p{color:var(--text-muted);margin:4px 0 0;font-size:.8125rem;line-height:1.5}.dialog-body{flex:1;padding:20px 24px;overflow-y:auto}.dialog-footer{border-top:1px solid var(--border);background:var(--canvas);flex-shrink:0;padding:16px 24px}@keyframes dialog-fade-in{0%{opacity:0}to{opacity:1}}@keyframes dialog-slide-in{0%{opacity:0;transform:translate(-50%,calc(12px - 50%))}to{opacity:1;transform:translate(-50%,-50%)}}@media (width<=600px){.dialog-sheet{border-radius:var(--radius-xl) var(--radius-xl) 0 0;width:100%;max-width:100%;max-height:92dvh;animation:.22s cubic-bezier(.34,1.2,.64,1) dialog-slide-up;inset:auto 0 0;transform:none}}@keyframes dialog-slide-up{0%{opacity:.5;transform:translateY(100%)}to{opacity:1;transform:translateY(0)}}.clinical-delivery-list{border-top:1px solid var(--border);gap:8px;margin-top:12px;padding-top:12px;display:grid}.clinical-delivery-item{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);align-items:center;gap:10px;padding:9px 10px;display:flex}.clinical-delivery-item__main{gap:2px;min-width:0;margin-right:auto;display:grid}.clinical-delivery-item__main small{color:var(--text-muted)}.clinical-delivery-item__error{overflow-wrap:anywhere;color:var(--red-700,#b91c1c)!important}[data-theme=dark] .clinical-delivery-item{background:var(--surface);border-color:var(--border-strong)}@media (width<=640px){.clinical-delivery-item{flex-wrap:wrap;align-items:flex-start}.clinical-delivery-item__main{width:100%}}.form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;display:grid}.form-grid--3{grid-template-columns:repeat(3,minmax(0,1fr))}.form-field{flex-direction:column;gap:7px;min-width:0;display:flex}.form-field--full{grid-column:1/-1}.form-label{color:var(--text-soft);justify-content:space-between;align-items:center;gap:8px;font-size:11px;font-weight:740;display:flex}.form-label__hint{color:var(--text-muted);font-size:9px;font-weight:560}.required:after{content:" *";color:var(--red-500)}.form-control{border:1px solid var(--border);width:100%;min-height:42px;color:var(--text);background:var(--surface);transition:border-color var(--transition), box-shadow var(--transition), background var(--transition);border-radius:11px;outline:0;padding:9px 12px}.form-control::placeholder{color:var(--ink-400)}.form-control:hover{border-color:var(--border-strong)}.form-control:focus{border-color:var(--brand-500);box-shadow:var(--ring)}.form-control:disabled{color:var(--text-muted);background:var(--ink-50)}textarea.form-control{resize:vertical;min-height:96px}select.form-control{appearance:none;background-image:linear-gradient(45deg, transparent 50%, var(--ink-500) 50%), linear-gradient(135deg, var(--ink-500) 50%, transparent 50%);background-position:calc(100% - 17px) calc(50% - 2px),calc(100% - 12px) calc(50% - 2px);background-repeat:no-repeat;background-size:5px 5px,5px 5px;padding-right:34px}.form-help{color:var(--text-muted);font-size:10px}.form-error{color:var(--red-600);font-size:10px}.form-control.is-invalid{border-color:var(--red-500);box-shadow:0 0 0 3px #e45d671f}.input-group{display:flex}.input-group .form-control{border-radius:11px 0 0 11px}.input-group .btn{border-radius:0 11px 11px 0}.switch{flex:none;width:42px;height:24px;display:inline-flex;position:relative}.switch input{opacity:0;pointer-events:none;position:absolute}.switch__track{background:var(--ink-200);width:100%;height:100%;transition:background var(--transition);border-radius:999px}.switch__track:after{content:"";width:18px;height:18px;transition:transform var(--transition);background:#fff;border-radius:50%;position:absolute;top:3px;left:3px;box-shadow:0 2px 5px #0d223840}.switch input:checked+.switch__track{background:var(--brand-500)}.switch input:checked+.switch__track:after{transform:translate(18px)}.switch input:focus-visible+.switch__track{box-shadow:var(--ring)}.checkbox,.radio{color:var(--text-soft);cursor:pointer;align-items:center;gap:8px;font-size:12px;display:inline-flex}.checkbox input,.radio input{width:17px;height:17px;accent-color:var(--brand-500)}.segmented{border:1px solid var(--border);background:var(--surface-muted);border-radius:12px;gap:4px;padding:4px;display:inline-flex}.segmented label{cursor:pointer}.segmented input{opacity:0;position:absolute}.segmented span{min-height:32px;color:var(--text-muted);border-radius:9px;justify-content:center;align-items:center;padding:7px 12px;font-size:11px;font-weight:700;display:inline-flex}.segmented input:checked+span{color:var(--text);background:var(--surface);box-shadow:var(--shadow-xs)}.filter-bar{border-bottom:1px solid var(--border);flex-wrap:wrap;align-items:center;gap:10px;padding:14px 16px;display:flex}.filter-bar .search-box{flex:260px}.filter-bar .form-control{width:auto;min-width:150px;min-height:38px;padding-block:7px;font-size:12px}.file-drop{border:1.5px dashed var(--border-strong);min-height:130px;color:var(--text-muted);background:var(--surface-muted);text-align:center;border-radius:14px;place-items:center;padding:18px;display:grid;position:relative}.file-drop:hover{border-color:var(--brand-500);background:var(--brand-50)}.file-drop input{opacity:0;cursor:pointer;position:absolute;inset:0}.file-drop strong{color:var(--text);display:block}.file-drop p{margin-top:3px;font-size:10px}.permission-row{border-bottom:1px solid var(--border);align-items:center;gap:14px;min-height:58px;padding:10px 0;display:flex}.permission-row:last-child{border-bottom:0}.permission-row__copy{flex:1}.permission-row__copy strong{font-size:12px;display:block}.permission-row__copy span{color:var(--text-muted);margin-top:2px;font-size:10px;display:block}@media (width<=640px){.form-grid,.form-grid--3{grid-template-columns:1fr}.form-field--full{grid-column:auto}.filter-bar .form-control{flex:140px;min-width:0}}.form-control-shell{align-items:center;width:100%;display:inline-grid;position:relative}.form-control-shell.with-icon .form-control{padding-left:38px}.form-control-icon{color:var(--text-muted);pointer-events:none;z-index:2;position:absolute;top:50%;left:12px;transform:translateY(-50%)}.form-input,.form-select,.form-textarea{width:100%;min-height:42px}.form-select-field{position:relative}select.form-control.form-select,.form-select{appearance:none;cursor:pointer;background-image:none;padding-right:38px}.form-select-caret{color:var(--text-muted);pointer-events:none;z-index:2;position:absolute;top:50%;right:12px;transform:translateY(-50%)}.form-textarea{padding-top:10px;padding-bottom:10px;line-height:1.45}.form-field.compact{min-width:180px}.form-field.inline{align-items:center;gap:8px;display:flex}.field-hint{display:block}.autocomplete-field{position:relative}.autocomplete-shell{width:100%;display:block;position:relative}.autocomplete-input{text-overflow:ellipsis;cursor:text;padding-right:38px}.autocomplete-trigger{cursor:pointer;width:38px;color:var(--text-muted);background:0 0;border:0;border-radius:0 10px 10px 0;justify-content:center;align-items:center;padding:0;display:flex;position:absolute;top:0;bottom:0;right:0}.autocomplete-trigger:hover{background:var(--ink-50);color:var(--brand-700)}.autocomplete-trigger:disabled{cursor:not-allowed;opacity:.55}.autocomplete-dropdown{background:var(--surface-raised);border:1px solid var(--border);border-radius:var(--radius-sm);max-height:240px;box-shadow:var(--shadow-md);z-index:220;flex-direction:column;gap:2px;padding:5px;display:flex;position:absolute;top:calc(100% + 5px);left:0;right:0;overflow-y:auto}.autocomplete-option{cursor:pointer;text-align:left;width:100%;min-height:38px;color:var(--text);background:0 0;border:0;border-radius:7px;justify-content:space-between;align-items:center;gap:12px;padding:8px 11px;font-size:12px;display:flex}.autocomplete-option:hover,.autocomplete-option.focused{background:var(--brand-50);color:var(--brand-700)}.autocomplete-option.selected{background:var(--brand-100);color:var(--brand-700);font-weight:780}.option-label{text-overflow:ellipsis;white-space:nowrap;line-height:1.3;overflow:hidden}.option-meta{color:var(--text-muted);font-size:10.5px;line-height:1.25}.autocomplete-empty{text-align:center;color:var(--text-muted);padding:12px;font-size:11px}.tuty-toolbar .form-field{width:auto;min-width:150px}.tuty-toolbar .form-field:first-child{min-width:190px}.tuty-toolbar .form-control{min-height:38px;font-size:11px}@media (width<=640px){.form-field.compact,.tuty-toolbar .form-field,.tuty-toolbar .form-field:first-child{width:100%;min-width:0}}.autocomplete-shell.dropdown-open .form-control{border-color:var(--brand-500);background:var(--surface);box-shadow:var(--ring)}.autocomplete-dropdown{border-color:var(--border-strong);border-radius:var(--radius-md);background:var(--surface-raised);gap:3px;max-height:270px;padding:6px}.autocomplete-section-label{color:var(--text-muted);letter-spacing:.08em;text-transform:uppercase;padding:8px 9px 4px;font-size:9px;font-weight:800}.autocomplete-option{border-radius:var(--radius-sm);border:1px solid #0000;min-height:42px;padding:9px 10px}.autocomplete-option:hover,.autocomplete-option.focused{border-color:var(--brand-600);background:var(--brand-50);color:var(--text)}.autocomplete-option.selected{border-color:var(--brand-600);background:var(--brand-100);color:var(--brand-700)}.autocomplete-option.secondary{opacity:.78}.option-copy{gap:3px;min-width:0;display:grid}.option-label{text-overflow:ellipsis;white-space:nowrap;color:inherit;font-weight:720;overflow:hidden}.option-meta{text-overflow:ellipsis;white-space:nowrap;color:var(--text-muted);font-size:10.5px;line-height:1.25;overflow:hidden}.option-badge{border-radius:var(--radius-xs);min-height:22px;color:var(--brand-700);background:var(--brand-100);flex:none;align-items:center;padding:3px 7px;font-size:9px;font-weight:800;display:inline-flex}.autocomplete-empty{border-radius:var(--radius-sm);background:var(--surface-muted);padding:14px 10px}.odontogram-grid{grid-template-columns:repeat(8,minmax(44px,1fr));gap:12px;padding-bottom:4px;display:grid;overflow-x:auto}.odontogram-card .odontogram-legend{margin-top:16px}.odontogram-tooth{border:1px solid var(--border);border-radius:var(--radius-sm);min-width:44px;min-height:44px;color:var(--text-soft);background:var(--surface-raised);transition:background var(--transition), border-color var(--transition), box-shadow var(--transition), color var(--transition);place-items:center;font-size:12px;font-weight:800;display:inline-grid}.odontogram-tooth:hover{color:var(--text);border-color:var(--border-strong);background:var(--surface-muted)}.odontogram-tooth.is-active{color:var(--brand-700);border-color:var(--brand-500);background:var(--brand-50);box-shadow:var(--ring)}.odontogram-tooth--caries{color:var(--red-700);background:var(--red-100)}.odontogram-tooth--restoration{color:var(--brand-700);background:var(--brand-100)}.odontogram-tooth--missing,.odontogram-tooth--implant,.odontogram-tooth--crown,.odontogram-tooth--endodontics{color:var(--violet-700);background:var(--violet-100)}@media (width<=720px){.odontogram-grid{grid-template-columns:repeat(4,minmax(48px,1fr))}}.mini-calendar{padding:13px 15px 15px}.mini-calendar-head{justify-content:space-between;align-items:center;margin-bottom:10px;display:flex}.mini-calendar-head strong{color:var(--text);text-transform:capitalize;font-size:12px}.mini-calendar-nav{gap:2px;display:flex}.mini-nav-btn{width:26px;height:26px;color:var(--text-muted);cursor:pointer;background:0 0;border:none;border-radius:5px;place-items:center;font-size:14px;display:grid}.mini-nav-btn:hover{color:var(--text);background:var(--ink-50)}.mini-calendar-grid{text-align:center;grid-template-columns:repeat(7,1fr);gap:3px;display:grid}.mini-wd{min-height:24px;color:var(--text-muted);place-items:center;font-size:9px;font-weight:700;display:grid}.mini-day{min-height:26px;color:var(--text-soft);cursor:pointer;background:0 0;border:none;border-radius:5px;place-items:center;font-size:10px;display:grid}.mini-day:hover{background:var(--ink-50)}.mini-day--muted{color:var(--ink-300)}.mini-day--today{color:var(--brand-700);font-weight:700}.mini-day--selected{background:var(--brand-600);color:#fff;font-weight:700}.mini-day--selected:hover{background:var(--brand-700)}.calendar{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);flex-direction:column;display:flex;overflow:hidden}.calendar-head{border-bottom:1px solid var(--border);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;padding:10px 14px;display:flex}.calendar-head__nav{flex-wrap:wrap;align-items:center;gap:2px;display:flex}.calendar-head__label{color:var(--text);cursor:pointer;white-space:nowrap;background:0 0;border:none;border-radius:6px;padding:4px 10px;font-size:13px;font-weight:750}.calendar-head__label:hover{background:var(--ink-50)}.calendar-head__views.segmented{background:var(--ink-50);border-color:var(--border)}.time-grid{height:calc((var(--end-hour,22) - var(--start-hour,6)) * 48px);display:flex;position:relative;overflow:auto}.time-grid__labels{z-index:2;background:var(--surface);flex:0 0 52px;position:sticky;left:0}.time-label{color:var(--text-muted);justify-content:flex-end;align-items:flex-start;padding:0 8px;font-size:10px;display:flex;position:relative;top:-6px}.time-grid__body{flex:1;min-width:400px;position:relative}.time-grid__lines,.week-col__lines{position:absolute;inset:0}.grid-line{border-top:1px solid var(--ink-100);position:relative}.grid-line__half{border-top:1px dashed var(--ink-50);position:absolute;top:50%;left:0;right:0}.slot-click{z-index:1;cursor:pointer;background:0 0;border:none;border-radius:0;position:absolute;left:0;right:0}.slot-click:hover{background:var(--brand-50)}.appt-card{z-index:3;border:1px solid var(--border);border-left:3px solid var(--brand-600);cursor:pointer;text-align:left;transition:box-shadow var(--transition);box-shadow:var(--shadow-xs);border-radius:7px;flex-direction:column;gap:1px;padding:4px 7px;font-size:10px;line-height:1.2;display:flex;position:absolute;overflow:hidden}.appt-card--pending{background:var(--amber-100);border-left-color:var(--amber-700)}.appt-card--confirmed{background:var(--blue-100);border-left-color:var(--blue-600)}.appt-card--waiting{background:var(--warm-100);border-left-color:var(--warm-600)}.appt-card--in-progress{background:var(--brand-100);border-left-color:var(--brand-600)}.appt-card--attended{background:var(--green-100);border-left-color:var(--green-700)}.appt-card--cancelled{background:var(--red-100);border-left-color:var(--red-700)}.appt-card--no-show{background:var(--ink-50);border-left-color:var(--ink-400)}.appt-card:hover{box-shadow:var(--shadow-sm);z-index:4;border-color:var(--brand-400)}.appt-card__time{color:var(--text);font-size:10px;font-weight:700}.appt-card__patient{color:var(--text-soft);text-overflow:ellipsis;white-space:nowrap;font-weight:650;overflow:hidden}.appt-card__type{color:var(--text-muted);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.appt-card__source{color:var(--blue-600);text-transform:uppercase;letter-spacing:.5px;font-size:8px;font-weight:700}.appt-card--patient{border-left-style:dashed}.appt-card--week{border-left-width:2px;padding:2px 4px;font-size:9px;line-height:1.15}.appt-card--week .appt-card__time{font-size:9px}.week-grid{--week-time-width:52px;--week-day-width:100px;overflow:auto}.week-grid__frame{min-width:calc(var(--week-time-width) + (7 * var(--week-day-width)));width:100%}.week-grid__labels,.week-grid__body{grid-template-columns:var(--week-time-width) repeat(7, minmax(var(--week-day-width), 1fr));display:grid}.week-grid__labels{z-index:5;background:var(--surface);border-bottom:1px solid var(--border);position:sticky;top:0}.corner{width:auto}.day-header{border-left:1px solid var(--border);flex-direction:column;align-items:center;gap:1px;min-width:0;padding:8px 4px 6px;display:flex}.day-header.today .day-header__num{background:var(--brand-600);color:#fff;border-radius:50%;place-items:center;width:24px;height:24px;display:grid}.day-header__name{color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em;font-size:9px}.day-header__num{color:var(--text);font-size:14px;font-weight:750}.week-grid__time{z-index:2;background:var(--surface);position:sticky;left:0}.time-label-sm{color:var(--text-muted);justify-content:flex-end;align-items:flex-start;padding:0 6px;font-size:9px;display:flex;position:relative;top:-5px}.week-col{border-left:1px solid var(--border);min-width:0;position:relative}.day-header--past,.week-col--past,.month-cell--past{background:color-mix(in srgb, var(--text-muted) 7%, var(--surface))}.day-header--past .day-header__name,.day-header--past .day-header__num,.month-cell--past .month-cell__day{opacity:.58}.week-col--past:after{content:"";z-index:0;pointer-events:none;background:repeating-linear-gradient(-45deg, transparent 0 12px, color-mix(in srgb, var(--text-muted) 4%, transparent) 12px 13px);position:absolute;inset:0}.month-grid{flex-direction:column;display:flex;overflow:auto}.month-grid__header{z-index:2;background:var(--surface-muted);border-bottom:1px solid var(--border);grid-template-columns:repeat(7,1fr);display:grid;position:sticky;top:0}.month-grid__header span{text-align:center;color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em;padding:8px 4px;font-size:10px;font-weight:700}.month-grid__body{grid-template-columns:repeat(7,1fr);display:grid}.month-cell{border-bottom:1px solid var(--ink-50);border-right:1px solid var(--ink-50);background:var(--surface);min-height:90px;padding:4px}.month-cell:nth-child(7n){border-right:none}.month-cell--today{background:var(--brand-50)}.month-cell__day{color:var(--text-soft);font-size:11px;font-weight:700}.month-cell--today .month-cell__day{color:var(--brand-700)}.month-cell__appts{flex-direction:column;gap:2px;margin-top:3px;display:flex}.month-appt{border:none;border-left:2px solid var(--brand-600);cursor:pointer;text-align:left;border-radius:3px;align-items:center;gap:4px;padding:1px 4px;font-size:9px;display:flex;overflow:hidden}.month-appt--pending{background:var(--amber-100);border-left-color:var(--amber-700)}.month-appt--confirmed{background:var(--blue-100);border-left-color:var(--blue-600)}.month-appt--waiting{background:var(--warm-100);border-left-color:var(--warm-600)}.month-appt--in-progress{background:var(--brand-100);border-left-color:var(--brand-600)}.month-appt--attended{background:var(--green-100);border-left-color:var(--green-700)}.month-appt--cancelled{background:var(--red-100);border-left-color:var(--red-700)}.month-appt--no-show{background:var(--ink-50);border-left-color:var(--ink-400)}.month-appt:hover{filter:brightness(.96)}.month-appt span:first-child{color:var(--text);white-space:nowrap;font-weight:650}.month-appt span:last-child{color:var(--text-muted);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.month-cell__more{color:var(--text-muted);padding:1px 4px;font-size:9px}@media (width<=768px){.calendar-head{flex-direction:column;align-items:stretch;gap:8px}.calendar-head__nav{justify-content:center}.calendar-head__views{align-self:center}.month-cell{min-height:60px}}@media (width<=480px){.time-grid__labels{flex-basis:40px}.time-label{padding:0 4px;font-size:9px}.month-grid__header span{font-size:8px}.month-cell{min-height:50px;padding:2px}.month-cell__appts{display:none}}@media (width<=720px){.calendar-head{gap:10px;padding:12px}.calendar-head__nav{grid-template-columns:40px minmax(0,1fr) 40px auto;align-items:center;gap:8px;width:100%;display:grid}.calendar-head__label{text-align:center;text-overflow:ellipsis;min-width:0;padding-inline:8px;overflow:hidden}.calendar-head .segmented{grid-template-columns:repeat(3,minmax(0,1fr));width:100%;display:grid}.calendar-head .segmented button{justify-content:center;min-height:36px;padding-inline:10px;font-size:11px}.week-grid{--week-time-width:46px;--week-day-width:84px}.month-grid{overflow:auto hidden}.month-grid__header,.month-grid__body{min-width:560px}}@media (width<=560px){.calendar-head__nav{grid-template-columns:40px minmax(0,1fr) 40px}.calendar-head__nav>:last-child{grid-column:1/-1;width:100%}.time-grid__body{min-width:280px}.week-grid{--week-day-width:80px}}.slot-click--blocked,.slot-click--blocked:hover,.slot-click--past,.slot-click--past:hover{cursor:not-allowed;background:0 0}.slot-click--past,.slot-click--past:hover{background:color-mix(in srgb, var(--text-muted) 8%, transparent)}.schedule-block{z-index:2;border:1px dashed color-mix(in srgb, var(--danger-600) 55%, var(--border));background:color-mix(in srgb, var(--danger-500) 13%, var(--surface));color:var(--danger-700);pointer-events:none;border-radius:8px;align-items:flex-start;gap:6px;padding:6px 8px;font-size:10px;font-weight:760;display:flex;position:absolute;left:4px;right:4px;overflow:hidden}.schedule-block--time-off{border-color:color-mix(in srgb, #8b5cf6 55%, var(--border));background:color-mix(in srgb, #8b5cf6 13%, var(--surface));color:color-mix(in srgb, #8b5cf6 82%, var(--text))}.schedule-block--all-day{background-image:repeating-linear-gradient(135deg, transparent 0 8px, color-mix(in srgb, currentColor 7%, transparent) 8px 16px)}.schedule-block--week{padding:4px;font-size:8px;left:2px;right:2px}.appt-card__type-dot{border:1px solid color-mix(in srgb, var(--surface) 70%, transparent);border-radius:999px;width:7px;height:7px;position:absolute;top:5px;right:5px}.day-header{position:relative}.day-header__blocked{background:var(--danger-500);border-radius:999px;width:6px;height:6px;position:absolute;top:7px;right:8px}.month-block{background:color-mix(in srgb, var(--danger-500) 13%, var(--surface));min-width:0;color:var(--danger-700);border-radius:4px;align-items:center;gap:3px;margin-top:3px;padding:2px 4px;font-size:8px;font-weight:760;display:flex}.month-block span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.month-block .icon{flex:none;width:10px;height:10px}.signature-modal{gap:16px;display:grid}.signature-modal__error{color:var(--text-muted);margin:0}.signature-modal__canvas-shell{border-radius:var(--radius-xl);border:1px dashed var(--border);background:var(--surface);padding:14px}.signature-modal__canvas{border-radius:var(--radius-md);background:var(--surface-muted);border:1px solid var(--border);touch-action:none;cursor:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='32' height='32' viewBox='0 0 32 32'%3E%3Cg transform='rotate(-45 16 16)'%3E%3Crect x='13' y='4' width='6' height='18' rx='2' fill='%231d4f91'/%3E%3Cpolygon points='13,22 19,22 16,30' fill='%231d4f91'/%3E%3Crect x='13' y='4' width='6' height='4' rx='2' fill='%23b0bec5'/%3E%3Cline x1='16' y1='30' x2='16' y2='30' stroke='%23333' stroke-width='1.5' stroke-linecap='round'/%3E%3C/g%3E%3C/svg%3E") 2 30,crosshair;width:100%;height:240px}.signature-modal__actions{justify-content:flex-end;gap:12px;width:100%;display:flex}.signature-modal__error{color:var(--red-500)}@media (width<=720px){.signature-modal__actions{justify-content:stretch}.signature-modal__actions .btn{flex:1 1 0}.signature-modal__canvas{height:200px}}.skeleton-card,.skeleton-table-row,.skeleton-stat{border-radius:var(--radius-md);background:var(--surface-muted);padding:16px}.skeleton-line{background:linear-gradient(90deg, var(--border) 25%, var(--surface-muted) 50%, var(--border) 75%);background-size:200% 100%;border-radius:4px;animation:1.5s ease-in-out infinite shimmer}.skeleton-line--title{height:20px}.skeleton-table-row{align-items:center;gap:12px;padding:12px 16px;display:flex}.skeleton-table-row__lines{flex:1}.skeleton-avatar-sm{background:linear-gradient(90deg, var(--border) 25%, var(--surface-muted) 50%, var(--border) 75%);background-size:200% 100%;border-radius:50%;flex-shrink:0;width:36px;height:36px;animation:1.5s ease-in-out infinite shimmer}.skeleton-avatar{background:linear-gradient(90deg, var(--border) 25%, var(--surface-muted) 50%, var(--border) 75%);background-size:200% 100%;border-radius:50%;animation:1.5s ease-in-out infinite shimmer}.skeleton-stat{text-align:center;padding:20px}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}.welcome-banner{color:#fff;background:var(--surface-raised);border:0;align-items:center;min-height:188px;padding:28px 32px;display:flex;position:relative;overflow:hidden}.welcome-banner:before{content:"";border:64px solid #38d6c81f;border-radius:50%;width:340px;height:340px;position:absolute;top:-160px;right:-120px}.welcome-banner:after{content:"";background:#36a6ff21;border-radius:50%;width:220px;height:220px;position:absolute;bottom:-150px;right:100px}.welcome-banner__content{z-index:2;max-width:580px;position:relative}.welcome-banner__eyebrow{color:#c9f7f2;text-transform:uppercase;letter-spacing:.08em;background:#ffffff14;border:1px solid #ffffff1f;border-radius:999px;align-items:center;gap:8px;padding:6px 10px;font-size:10px;font-weight:780;display:inline-flex}.welcome-banner h1{color:#fff;margin-top:14px;font-size:clamp(24px,3vw,34px)}.welcome-banner p{color:#b9ceda;max-width:520px;margin-top:8px}.welcome-banner__actions{flex-wrap:wrap;gap:9px;margin-top:18px;display:flex}.welcome-banner .btn--secondary{color:#fff;background:#ffffff14;border-color:#ffffff29}.welcome-banner__art{z-index:1;opacity:.88;width:280px;position:absolute;bottom:-10px;right:18px}.appointment-mini{border-bottom:1px solid var(--border);grid-template-columns:54px minmax(0,1fr) auto;align-items:center;gap:12px;padding:12px 0;display:grid}.appointment-mini:last-child{border-bottom:0}.appointment-mini__time{text-align:center}.appointment-mini__time strong{font-size:13px;display:block}.appointment-mini__time span{color:var(--text-muted);text-transform:uppercase;font-size:9px}.appointment-mini__body{min-width:0}.appointment-mini__body strong{font-size:12px;display:block}.appointment-mini__body span{color:var(--text-muted);margin-top:2px;font-size:10px;display:block}.calendar-toolbar{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.calendar-date-nav{align-items:center;gap:6px;display:flex}.calendar-date-title{text-align:center;min-width:210px}.calendar-date-title strong{font-size:13px;display:block}.calendar-date-title span{color:var(--text-muted);font-size:10px}.calendar-shell{overflow:hidden}.day-grid{--hour-height:78px;grid-template-columns:64px repeat(var(--resource-count,3), minmax(180px, 1fr));background:var(--surface);min-width:820px;display:grid}.day-grid__corner{border-bottom:1px solid var(--border);border-right:1px solid var(--border);background:var(--surface-muted);height:54px}.day-grid__resource{border-bottom:1px solid var(--border);border-right:1px solid var(--border);background:var(--surface-muted);justify-content:center;align-items:center;gap:8px;height:54px;padding:8px 12px;display:flex}.day-grid__resource strong{font-size:11px;display:block}.day-grid__resource span{color:var(--text-muted);font-size:9px;display:block}.day-grid__times{position:relative}.day-grid__time{height:var(--hour-height);border-right:1px solid var(--border);border-bottom:1px solid var(--border);color:var(--text-muted);justify-content:center;padding-top:5px;font-size:10px;display:flex}.day-grid__column{min-height:calc(var(--hour-height) * var(--hours,11));border-right:1px solid var(--border);background:var(--surface-muted);position:relative}.calendar-event{left:6px;right:6px;top:var(--top);height:var(--height);border:1px solid var(--border);border-left:4px solid var(--event-color);min-height:34px;color:var(--text);background:var(--surface);box-shadow:var(--shadow-xs);text-align:left;transition:transform var(--transition), box-shadow var(--transition);border-radius:10px;padding:8px 9px;position:absolute;overflow:hidden}.calendar-event:hover{z-index:4;box-shadow:var(--shadow-sm);transform:translateY(-1px)scale(1.01)}.calendar-event strong{text-overflow:ellipsis;white-space:nowrap;font-size:10px;display:block;overflow:hidden}.calendar-event span{text-overflow:ellipsis;white-space:nowrap;color:var(--text-muted);margin-top:2px;font-size:9px;display:block;overflow:hidden}.calendar-now{left:0;right:0;top:var(--top);z-index:3;background:var(--red-500);pointer-events:none;height:2px;position:absolute}.calendar-now:before{content:"";background:var(--red-500);border-radius:50%;width:10px;height:10px;position:absolute;top:-4px;left:-5px}.week-view{grid-template-columns:repeat(7,minmax(150px,1fr));min-width:1050px;display:grid}.week-day{border-right:1px solid var(--border);min-height:560px}.week-day:last-child{border-right:0}.week-day__header{z-index:2;text-align:center;border-bottom:1px solid var(--border);background:var(--surface-muted);padding:13px;position:sticky;top:0}.week-day__header strong{font-size:12px;display:block}.week-day__header span{color:var(--text-muted);font-size:10px}.week-day__events{padding:9px}.week-event{border-left:3px solid var(--event-color);background:var(--surface);text-align:left;border-radius:9px;width:100%;margin-bottom:8px;padding:9px}.week-event strong,.week-event span{display:block}.week-event strong{font-size:10px}.week-event span{color:var(--text-muted);margin-top:2px;font-size:9px}.patient-summary{text-align:center;padding:22px}.patient-summary__avatar{margin:0 auto}.patient-summary h2{margin-top:12px}.patient-summary__meta{color:var(--text-muted);margin-top:5px;font-size:11px}.patient-summary__stats{grid-template-columns:repeat(2,1fr);gap:8px;margin-top:20px;display:grid}.patient-stat{border:1px solid var(--border);background:var(--surface-muted);border-radius:12px;padding:12px 8px}.patient-stat strong{font-size:15px;display:block}.patient-stat span{color:var(--text-muted);margin-top:3px;font-size:9px;display:block}.patient-contact{text-align:left;margin-top:18px}.patient-contact__item{color:var(--text-soft);border-bottom:1px solid var(--border);align-items:center;gap:10px;padding:9px 0;font-size:11px;display:flex}.patient-contact__item:last-child{border-bottom:0}.patient-contact__item .icon{color:var(--brand-600)}.patient-alerts{flex-wrap:wrap;gap:7px;margin-top:15px;display:flex}.patient-detail__content{min-width:0}.patient-overview-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;display:grid}.patient-overview-item{border:1px solid var(--border);background:var(--surface-muted);border-radius:13px;padding:14px}.patient-overview-item span{color:var(--text-muted);text-transform:uppercase;letter-spacing:.06em;font-size:9px;display:block}.patient-overview-item strong{margin-top:5px;font-size:12px;display:block}.odontogram-layout{grid-template-columns:minmax(0,1fr) 290px;align-items:start;gap:18px;display:grid}.odontogram-card{overflow:hidden}.odontogram-toolbar{border-bottom:1px solid var(--border);background:var(--surface-muted);flex-wrap:wrap;align-items:center;gap:8px;padding:14px 16px;display:flex}.diagnosis-option{--diag:var(--ink-500);border:1px solid var(--border);min-height:34px;color:var(--text-soft);background:var(--surface);border-radius:9px;align-items:center;gap:7px;padding:7px 10px;font-size:10px;font-weight:720;display:inline-flex}.diagnosis-option:before{content:"";background:var(--diag);border-radius:3px;width:9px;height:9px}.diagnosis-option:hover,.diagnosis-option.active{border-color:var(--diag);color:var(--text);box-shadow:0 0 0 3px var(--diag)}.odontogram-stage{background:var(--surface-muted);padding:24px 22px 28px;overflow-x:auto}.odontogram-separator{background:var(--surface-muted);height:1px;margin:17px 0}.tooth-unit{text-align:center}.tooth-number{color:var(--text-muted);margin-bottom:4px;font-size:9px;font-weight:750}.odontogram-row--lower .tooth-number{order:2;margin:4px 0 0}.tooth-button{background:0 0;border-radius:11px;width:46px;height:59px;margin:0 auto;display:block;position:relative}.tooth-surface{fill:var(--surface);stroke:var(--border-strong);stroke-width:1.4px;transition:fill var(--transition), stroke var(--transition);cursor:pointer}.tooth-surface:hover{stroke:var(--brand-500);stroke-width:2px}.tooth-button[data-status=missing] .tooth-surface{stroke:var(--ink-400);opacity:.55;fill:var(--ink-100)!important}.tooth-missing-mark{color:var(--red-600);display:none;position:absolute;inset:6px}.tooth-button[data-status=missing] .tooth-missing-mark{display:block}.tooth-status-dot{background:var(--status,transparent);width:8px;height:8px;box-shadow:0 0 0 2px var(--surface);border-radius:50%;margin:3px auto 0}.surface-chip{border:1px solid var(--border);min-height:36px;color:var(--text-soft);background:var(--surface);border-radius:9px;font-size:10px;font-weight:800}.odontogram-legend{border-top:1px solid var(--border);background:var(--surface-muted);flex-wrap:wrap;gap:14px;padding:13px 18px;display:flex}.odontogram-legend__item{color:var(--text-muted);align-items:center;gap:6px;font-size:9px;display:flex}.odontogram-legend__swatch{background:var(--swatch);border-radius:3px;width:10px;height:10px}.selected-tooth-panel{top:calc(var(--topbar-height) + 18px);position:sticky}.selected-tooth-visual{background:var(--surface-muted);border-radius:14px;place-items:center;min-height:115px;margin:12px 0;display:grid}.selected-tooth-visual .tooth-svg{width:70px;height:85px}.treatment-hero{align-items:center;gap:20px;padding:20px;display:flex}.treatment-hero__summary{flex:1}.treatment-hero__stats{grid-template-columns:repeat(3,minmax(100px,1fr));gap:10px;display:grid}.treatment-total{border:1px solid var(--border);background:var(--surface-muted);border-radius:12px;padding:12px}.treatment-total span{color:var(--text-muted);text-transform:uppercase;font-size:9px;display:block}.treatment-total strong{margin-top:3px;font-size:15px;display:block}.procedure-row{border-bottom:1px solid var(--border);grid-template-columns:42px minmax(180px,1fr) 100px 110px 100px 38px;align-items:center;gap:12px;padding:13px 16px;display:grid}.procedure-row:last-child{border-bottom:0}.procedure-row__tooth{width:38px;height:38px;color:var(--brand-700);background:var(--brand-100);border-radius:11px;place-items:center;font-size:11px;font-weight:800;display:grid}.procedure-row__name strong{font-size:12px;display:block}.procedure-row__name span{color:var(--text-muted);margin-top:2px;font-size:10px;display:block}.cash-balance{color:#fff;background:var(--surface-raised);border:0;padding:24px;position:relative;overflow:hidden}.cash-balance:after{content:"";border:35px solid #38d6c824;border-radius:50%;width:180px;height:180px;position:absolute;top:-65px;right:-55px}.cash-balance span{color:#9ec6cc;font-size:11px}.cash-balance strong{letter-spacing:-.04em;margin-top:7px;font-size:34px;display:block}.cash-balance__meta{gap:16px;margin-top:20px;display:flex}.cash-balance__meta div{border-right:1px solid #ffffff24;padding-right:16px}.cash-balance__meta div:last-child{border:0}.cash-balance__meta b{font-size:12px;display:block}.cash-balance__meta small{color:#8eacb8;font-size:9px}.payment-method{border-bottom:1px solid var(--border);align-items:center;gap:11px;padding:10px 0;display:flex}.payment-method:last-child{border-bottom:0}.payment-method__icon{width:36px;height:36px;color:var(--method-color,var(--brand-600));background:var(--method-bg,var(--brand-100));border-radius:10px;place-items:center;display:grid}.payment-method__copy{flex:1}.payment-method__copy strong{font-size:11px;display:block}.payment-method__copy span{color:var(--text-muted);font-size:9px}.stock-cell{min-width:130px}.stock-meta{justify-content:space-between;align-items:center;gap:10px;margin-bottom:6px;display:flex}.stock-meta strong{font-size:11px}.stock-meta span{color:var(--text-muted);font-size:9px}.stock-indicator{background:var(--stock-color);width:9px;height:9px;box-shadow:0 0 0 4px var(--stock-color);border-radius:50%}.inventory-summary{grid-template-columns:repeat(3,1fr);gap:10px;display:grid}.inventory-summary__item{background:var(--surface-muted);border-radius:12px;padding:13px}.inventory-summary__item span{color:var(--text-muted);font-size:9px;display:block}.inventory-summary__item strong{margin-top:4px;font-size:16px;display:block}.report-filter{border:1px solid var(--border);background:var(--surface);border-radius:14px;flex-wrap:wrap;align-items:center;gap:8px;padding:12px;display:flex}.report-stat{padding:18px}.report-stat__label{color:var(--text-muted);justify-content:space-between;align-items:center;gap:10px;font-size:11px;display:flex}.report-stat__value{letter-spacing:-.04em;margin-top:10px;font-size:25px;font-weight:780}.report-stat__comparison{color:var(--text-muted);margin-top:6px;font-size:10px}.rank-item{border-bottom:1px solid var(--border);grid-template-columns:28px minmax(0,1fr) auto;align-items:center;gap:10px;padding:10px 0;display:grid}.rank-item:last-child{border-bottom:0}.rank-item__position{background:var(--ink-50);width:25px;height:25px;color:var(--text-muted);border-radius:8px;place-items:center;font-size:10px;font-weight:800;display:grid}.rank-item__copy strong{font-size:11px;display:block}.rank-item__copy .progress{margin-top:6px}.rank-item__value{text-align:right;font-size:11px;font-weight:780}.team-card{padding:18px}.team-card__header{align-items:flex-start;gap:12px;display:flex}.team-card__copy{flex:1;min-width:0}.team-card__copy h3{font-size:13px}.team-card__copy p{color:var(--text-muted);margin-top:3px;font-size:10px}.team-card__stats{grid-template-columns:repeat(2,1fr);gap:8px;margin-top:15px;display:grid}.team-card__stat{background:var(--surface-muted);border-radius:10px;padding:9px}.team-card__stat span{color:var(--text-muted);text-transform:uppercase;font-size:8px;display:block}.team-card__stat strong{margin-top:2px;font-size:12px;display:block}.settings-nav{top:calc(var(--topbar-height) + 18px);padding:10px;position:sticky}.settings-nav__item{width:100%;min-height:42px;color:var(--text-muted);text-align:left;background:0 0;border-radius:10px;align-items:center;gap:10px;padding:9px 10px;font-size:12px;font-weight:680;display:flex}.settings-nav__item:hover{color:var(--text);background:var(--ink-50)}.settings-nav__item.active{color:var(--brand-700);background:var(--brand-50)}.settings-section+.settings-section{margin-top:18px}.logo-uploader{align-items:center;gap:16px;display:flex}.logo-preview{border:1px solid var(--border);background:var(--surface-muted);border-radius:13px;place-items:center;width:150px;height:76px;padding:12px;display:grid}.clinic-switch{min-width:145px;color:var(--text);background:0 0;border-radius:11px;align-items:center;gap:9px;padding:6px 10px;display:flex}.clinic-switch:hover{background:var(--ink-50)}.clinic-switch__copy{text-align:left}.clinic-switch__copy strong{font-size:11px;display:block}.clinic-switch__copy span{color:var(--text-muted);font-size:9px;display:block}.demo-ribbon{border:1px solid var(--amber-100);color:var(--amber-600);background:var(--amber-100);text-transform:uppercase;letter-spacing:.06em;border-radius:999px;align-items:center;gap:6px;padding:5px 8px;font-size:9px;font-weight:800;display:inline-flex}@media (width<=1180px){.welcome-banner__art{opacity:.35;right:-40px}.odontogram-layout{grid-template-columns:1fr}.selected-tooth-panel{position:static}}@media (width<=860px){.patient-overview-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.procedure-row{grid-template-columns:40px minmax(170px,1fr) 90px 90px}.procedure-row>:nth-child(5),.procedure-row>:nth-child(6){display:none}}@media (width<=640px){.welcome-banner{padding:24px 20px}.welcome-banner__art{display:none}.calendar-date-title{min-width:150px}.patient-overview-grid{grid-template-columns:1fr}.treatment-hero{flex-direction:column;align-items:flex-start}.treatment-hero__stats{grid-template-columns:1fr;width:100%}.procedure-row{grid-template-columns:38px minmax(150px,1fr) 76px;gap:8px}.procedure-row>:nth-child(4){display:none}.cash-balance__meta{flex-direction:column;gap:9px}.cash-balance__meta div{border-bottom:1px solid #ffffff24;border-right:0;padding:0 0 9px}.inventory-summary{grid-template-columns:1fr}.logo-uploader{flex-direction:column;align-items:flex-start}}.donut-chart{grid-template-columns:minmax(150px, var(--donut-size,190px)) minmax(150px, 1fr);align-items:center;gap:18px;display:grid}.donut-chart svg{width:100%;height:auto}.donut-chart__legend{min-width:0}.donut-chart__legend-item{border-bottom:1px solid var(--border);grid-template-columns:9px minmax(0,1fr);align-items:center;gap:9px;padding:8px 0;display:grid}.donut-chart__legend-item:last-child{border-bottom:0}.donut-chart__legend-item>span{background:var(--dot);border-radius:3px;width:9px;height:9px}.donut-chart__legend-item strong,.donut-chart__legend-item small{display:block}.donut-chart__legend-item strong{font-size:10px}.donut-chart__legend-item small{margin-top:1px;font-size:9px}.horizontal-bars{flex-direction:column;gap:14px;display:flex}.horizontal-bar__header{justify-content:space-between;gap:12px;margin-bottom:6px;font-size:10px;display:flex}.horizontal-bar__header span{min-width:0;color:var(--text-soft)}.horizontal-bar__header b{width:20px;height:20px;color:var(--text-muted);background:var(--ink-50);border-radius:7px;place-items:center;margin-right:7px;font-size:9px;display:inline-grid}.horizontal-bar small{margin-top:5px;font-size:9px;display:block}@media (width<=560px){.donut-chart{grid-template-columns:1fr}.donut-chart svg{max-width:210px;margin:auto}}.treatment-workspace{grid-template-columns:330px minmax(0,1fr);align-items:start}.treatment-list{flex-direction:column;gap:8px;margin-top:12px;display:flex}.treatment-list__item{border:1px solid var(--border);background:var(--surface);text-align:left;width:100%;transition:border-color var(--transition),background var(--transition),transform var(--transition);border-radius:13px;padding:13px}.treatment-list__item:hover{border-color:var(--brand-300);transform:translateY(-1px)}.treatment-list__item.active{border-color:var(--brand-500);background:var(--brand-50);box-shadow:var(--ring)}.treatment-list__item strong{font-size:11px}.treatment-list__item>span{color:var(--text-muted);margin-top:4px;font-size:10px;display:block}.treatment-list__footer{color:var(--text-muted);justify-content:space-between;gap:10px;margin-top:9px;font-size:9px;display:flex}.treatment-list__footer b{color:var(--text);font-size:10px}.form-control--compact{height:34px;min-height:34px!important;padding:5px 9px!important;font-size:10px!important}@media (width<=1050px){.treatment-workspace{grid-template-columns:1fr}.treatment-hero{flex-wrap:wrap;align-items:flex-start}.treatment-hero__stats{width:100%}}@media (width<=760px){.procedure-row{grid-template-columns:38px minmax(150px,1fr) 90px}.procedure-row>:nth-child(4),.procedure-row>:nth-child(5){grid-column:2/-1}.treatment-hero__stats{grid-template-columns:1fr}}.debt-card{border:1px solid var(--border);color:var(--text);background:var(--surface);text-align:left;border-radius:13px;grid-template-columns:28px 40px minmax(0,1fr) auto;align-items:center;gap:10px;padding:12px;display:grid}.debt-card:hover{border-color:var(--brand-400);box-shadow:var(--shadow-xs)}.debt-card strong,.debt-card small{display:block}.debt-card strong{font-size:11px}.debt-card small{margin-top:2px;font-size:9px}.debt-card b{color:var(--amber-600);font-size:11px}.permission-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.permission-option{border:1px solid var(--border);background:var(--surface);cursor:pointer;border-radius:13px;grid-template-columns:38px minmax(0,1fr) auto;align-items:center;gap:10px;padding:12px;display:grid}.permission-option:hover{border-color:var(--brand-400);background:var(--brand-50)}.permission-option__icon{width:36px;height:36px;color:var(--brand-700);background:var(--brand-100);border-radius:10px;place-items:center;display:grid}.permission-option strong,.permission-option small{display:block}.permission-option strong{font-size:11px}.permission-option small{margin-top:2px;font-size:9px}.permission-option input{width:18px;height:18px;accent-color:var(--brand-500)}@media (width<=620px){.permission-grid{grid-template-columns:1fr}}.settings-layout{grid-template-columns:250px minmax(0,1fr);align-items:start}.form-actions{border-top:1px solid var(--border);justify-content:flex-end;gap:10px;margin-top:20px;padding-top:16px;display:flex}.toggle-row{border:1px solid var(--border);border-radius:13px;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px;padding:13px;display:grid}.toggle-row strong,.toggle-row small{display:block}.toggle-row strong{font-size:11px}.toggle-row small{margin-top:2px;font-size:9px}.toggle-row input{opacity:0;position:absolute}.toggle-row i{background:var(--ink-200);width:42px;height:23px;transition:background var(--transition);border-radius:999px;position:relative}.toggle-row i:after{content:"";width:17px;height:17px;box-shadow:var(--shadow-xs);transition:transform var(--transition);background:#fff;border-radius:50%;position:absolute;top:3px;left:3px}.toggle-row input:checked+i{background:var(--brand-500)}.toggle-row input:checked+i:after{transform:translate(19px)}.theme-cards{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.theme-card{border:1px solid var(--border);background:var(--surface);text-align:left;border-radius:15px;padding:14px}.theme-card.active{border-color:var(--brand-500);box-shadow:var(--ring)}.theme-card strong,.theme-card small{display:block}.theme-card strong{margin-top:12px;font-size:12px}.theme-card small{margin-top:3px;font-size:9px}.theme-preview{border:1px solid var(--border);background:#f4f7fa;border-radius:10px;height:120px;display:block;position:relative;overflow:hidden}.theme-preview i{background:#112537;width:25%;position:absolute;top:0;bottom:0;left:0}.theme-preview b{background:#fff;border-radius:7px;height:16%;position:absolute;top:10%;left:29%;right:4%}.theme-preview em{background:#fff;border-radius:7px;height:58%;position:absolute;top:31%;left:29%;right:4%}.theme-preview--dark b,.theme-preview--dark em{background:#12283b}.data-action{border:1px solid var(--border);min-height:145px;color:var(--text);background:var(--surface);text-align:left;cursor:pointer;border-radius:15px;flex-direction:column;justify-content:center;align-items:flex-start;gap:6px;padding:18px;display:flex}.data-action:hover{border-color:var(--brand-400);box-shadow:var(--shadow-xs)}.data-action>span{width:38px;height:38px;color:var(--brand-700);background:var(--brand-100);border-radius:11px;place-items:center;display:grid}.data-action strong,.data-action small{display:block}.data-action strong{margin-top:5px;font-size:12px}.data-action small{font-size:9px}.data-action--danger>span{color:var(--red-600);background:var(--red-100)}@media (width<=860px){.settings-layout{grid-template-columns:1fr}.settings-nav{display:flex;position:static;overflow-x:auto}.settings-nav__item{white-space:nowrap}.theme-cards{grid-template-columns:1fr}}.welcome-banner{min-height:150px;color:var(--text);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);padding:22px 24px}.welcome-banner:before,.welcome-banner:after{display:none}.welcome-banner__eyebrow{color:var(--brand-700);background:0 0;border:0;border-radius:0;padding:0;font-size:9.5px;font-weight:700}.welcome-banner h1{color:var(--text);font-size:28px}.welcome-banner p{color:var(--text-muted)}.welcome-banner .btn--secondary{color:var(--text);border-color:var(--border-strong);background:var(--surface)}.welcome-banner__art{display:none}.appointment-mini{border-bottom-color:var(--border)}.day-grid__corner,.day-grid__resource,.calendar-header,.toolbar{background:var(--surface-muted)}.calendar-event{box-shadow:none;border-radius:7px}.calendar-event:hover{box-shadow:var(--shadow-sm);transform:none}.calendar-now,.calendar-now:before{background:var(--red-700)}.week-event{border-radius:7px}.patient-stat,.patient-overview-item,.selected-tooth-visual,.inventory-summary__item,.team-card__stat{border-radius:var(--radius-sm);background:var(--surface-muted)}.patient-alerts{gap:7px}.odontogram-toolbar{background:var(--surface-muted)}.diagnosis-option{border-radius:7px;font-weight:700}.diagnosis-option:hover,.diagnosis-option.active{box-shadow:var(--ring)}.odontogram-stage{background:var(--surface)}.odontogram-separator{background:var(--border-strong)}.tooth-button:hover{background:var(--surface-muted)}.tooth-button.selected{background:var(--brand-50);box-shadow:0 0 0 2px var(--brand-600)}.surface-chip{border-radius:7px}.surface-chip.active{box-shadow:var(--ring)}.odontogram-legend{background:var(--surface-muted)}.treatment-total,.procedure-row__tooth{border-radius:var(--radius-sm)}.treatment-list__item,.permission-option,.theme-card,.data-action,.debt-card{border-radius:var(--radius-md)}.treatment-list__item:hover,.data-action:hover,.debt-card:hover{box-shadow:var(--shadow-sm);transform:none}.treatment-list__item.active,.theme-card.active{box-shadow:var(--ring)}.cash-balance{color:var(--text);background:var(--surface);border:1px solid var(--border)}.cash-balance:after{display:none}.cash-balance span,.cash-balance__meta small{color:var(--text-muted)}.cash-balance strong{letter-spacing:0;font-variant-numeric:tabular-nums;font-size:30px}.cash-balance__meta div{border-right-color:var(--border)}.payment-method__icon{border-radius:var(--radius-sm)}.demo-ribbon{border-radius:var(--radius-xs);color:var(--amber-700);background:var(--amber-100)}.report-filter,.logo-preview,.toggle-row{border-radius:var(--radius-md)}.report-stat__value{letter-spacing:0;font-variant-numeric:tabular-nums}.rank-item__position{border-radius:7px}.theme-preview{background:var(--canvas)}.theme-preview i{background:var(--brand-700)}.theme-preview b,.theme-preview em{background:var(--surface);border:1px solid var(--border)}.theme-preview--dark{background:#111917}.theme-preview--dark i{background:#17211f}.theme-preview--dark b,.theme-preview--dark em{background:#1b2825;border-color:#2d3b37}@media (width<=640px){.welcome-banner{padding:18px 16px}.cash-balance strong{font-size:26px}}.tuty-screen{padding-top:25px}.tuty-page-head{margin-bottom:18px}.tuty-metric-strip{margin-bottom:15px}.tuty-panel{border-radius:var(--radius-md);box-shadow:var(--shadow-sm);overflow:hidden}.tuty-toolbar{flex-wrap:wrap;align-items:center;gap:8px}.tuty-toolbar .form-control{width:auto;min-width:190px;min-height:36px;font-size:11px}.tuty-toolbar-search{flex:320px;min-width:240px}.tuty-toolbar-search input{width:100%;color:var(--text);background:0 0;border:0;outline:0}.tuty-toolbar-search input::placeholder{color:var(--text-muted)}.tuty-day-strip{gap:4px;display:flex;overflow-x:auto}.tuty-day-strip button{border:1px solid var(--border);border-radius:var(--radius-sm);min-width:64px;min-height:32px;color:var(--text-muted);background:var(--surface);white-space:nowrap;padding:5px 8px;font-size:10px;font-weight:700}.tuty-day-strip button.active{color:#fff;border-color:var(--brand-600);background:var(--brand-600)}.tuty-agenda-shell{grid-template-columns:minmax(0,1fr) 310px}.tuty-schedule-list{padding:0 15px 8px}.tuty-schedule-row{grid-template-columns:68px minmax(210px,1.4fr) minmax(150px,.9fr) minmax(90px,.55fr) auto minmax(150px,auto);min-height:64px}.tuty-schedule-row .table-actions{flex-wrap:wrap;justify-content:flex-end}.detail-row--button{text-align:left;background:0 0;border:0;width:100%}.inline-alert{border-radius:var(--radius-sm);align-items:center;gap:8px;margin:12px 15px 0;padding:10px 12px;font-size:11px;display:flex}.inline-alert--warning{color:var(--amber-700);background:var(--amber-100);border:1px solid var(--amber-100)}.tuty-empty{min-height:220px;padding:24px}.tuty-responsive-table{overflow:auto}.table-primary--button{width:100%;color:inherit;text-align:left;background:0 0;border:0}.tuty-patient-table td>strong,.tuty-patient-table td>span{display:block}.tuty-patient-table .right{font-variant-numeric:tabular-nums}.segmented button{min-height:29px;color:var(--text-muted);background:0 0;border:0;border-radius:6px;padding:4px 9px;font-size:10.5px;font-weight:700}.segmented button.active{color:var(--brand-700);background:var(--brand-100)}@media (width<=1180px){.tuty-agenda-shell{grid-template-columns:1fr}.tuty-agenda-shell .agenda-side{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=720px){.tuty-screen{padding:17px 12px 88px}.tuty-toolbar{align-items:stretch}.tuty-toolbar .form-control,.tuty-toolbar-search{flex:100%;width:100%;min-width:0}.tuty-day-strip{width:100%}.tuty-agenda-shell .agenda-side{grid-template-columns:1fr}.tuty-schedule-row{grid-template-columns:58px minmax(0,1fr) auto;gap:8px 10px;padding:11px 0;display:grid}.tuty-schedule-row .row-meta{grid-column:2}.tuty-schedule-row .row-meta:nth-of-type(2){display:none}.tuty-schedule-row .badge{justify-self:end}.tuty-schedule-row .table-actions{grid-column:1/-1;justify-content:flex-start}.tuty-schedule-row .table-actions .btn{flex:auto}.metric-strip.tuty-metric-strip{grid-template-columns:repeat(2,1fr)}.tuty-patient-table,.tuty-patient-table thead,.tuty-patient-table tbody,.tuty-patient-table tr,.tuty-patient-table th,.tuty-patient-table td{min-width:0;display:block}.tuty-patient-table thead{display:none}.tuty-patient-table tr{border-bottom:1px solid var(--border);padding:12px}.tuty-patient-table td{border-bottom:0;grid-template-columns:105px minmax(0,1fr);gap:8px;padding:6px 0;display:grid;text-align:left!important}.tuty-patient-table td:before{content:attr(data-label);color:var(--text-muted);text-transform:uppercase;letter-spacing:.06em;font-size:9px;font-weight:700}.tuty-patient-table td:first-child{grid-template-columns:1fr}.tuty-patient-table td:first-child:before{display:none}}@media (width<=480px){.metric-strip.tuty-metric-strip{grid-template-columns:1fr}.tuty-schedule-row .table-actions .btn{width:100%}}.metric__label{color:var(--ink-500);letter-spacing:.08em;text-transform:uppercase;font-size:9px;font-weight:700;display:block}.info-label{color:var(--ink-500);font-size:9.5px}.tuty-toolbar-search input{min-height:36px;font:inherit;padding:0;display:block}.detail-row--button{cursor:pointer;justify-content:space-between;align-items:center;gap:12px;min-height:42px;padding:9px 0;display:flex}.detail-row--button:hover{color:var(--brand-700)}.rotate-180{transform:rotate(180deg)}.dashboard-page{gap:16px}.dashboard-hero{align-items:stretch;min-height:0;padding:22px}.dashboard-hero .welcome-banner__content{max-width:760px}.dashboard-hero .welcome-banner__eyebrow{letter-spacing:0}.dashboard-hero h1{margin-top:12px;font-size:28px;line-height:1.1}.dashboard-hero__stats{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;width:100%;max-width:620px;margin-top:18px;display:grid}.dashboard-hero__stat{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface-muted);min-width:0;padding:12px}.dashboard-hero__stat span{color:var(--text-muted);text-transform:uppercase;letter-spacing:0;font-size:9px;font-weight:720;display:block}.dashboard-hero__stat strong{font-variant-numeric:tabular-nums;overflow-wrap:anywhere;margin-top:6px;font-size:20px;line-height:1;display:block}.dashboard-chart-card{min-height:390px}.dashboard-chart-card__header{align-items:flex-start}.dashboard-chart-summary{flex:0 390px;grid-template-columns:repeat(3,minmax(105px,1fr));gap:8px;min-width:min(100%,390px);display:grid}.dashboard-chart-summary div{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface-muted);min-width:0;padding:10px 12px}.dashboard-chart-summary span{color:var(--text-muted);text-transform:uppercase;letter-spacing:0;font-size:8px;font-weight:760;display:block}.dashboard-chart-summary strong{font-variant-numeric:tabular-nums;overflow-wrap:anywhere;margin-top:5px;font-size:13px;line-height:1.1;display:block}.dashboard-side-card .quick-actions{grid-template-columns:1fr}.dashboard-side-card .quick-action{flex-direction:row;justify-content:flex-start;align-items:center;min-height:64px}.dashboard-side-card .quick-action span:last-child{min-width:0;font-size:12px;line-height:1.2}@media (width<=920px){.dashboard-chart-card__header{flex-direction:column;align-items:stretch}.dashboard-chart-summary{flex:none;grid-template-columns:1fr;width:100%;min-width:0}}@media (width<=640px){.dashboard-hero{padding:18px 16px}.dashboard-hero__stats{grid-template-columns:1fr}.dashboard-hero .welcome-banner__actions{align-items:stretch}.dashboard-hero .welcome-banner__actions .btn,.dashboard-chart-card__header .btn{width:100%}}.dashboard-chart-canvas{height:286px;min-height:286px;position:relative}.dashboard-chart-canvas canvas,.dashboard-donut-chart canvas{width:100%!important;height:100%!important}.dashboard-donut-chart{grid-template-columns:minmax(150px,170px) minmax(150px,1fr);align-items:center;gap:18px;display:grid}.dashboard-donut-chart__visual{aspect-ratio:1;width:min(170px,100%);margin:0 auto;position:relative}.dashboard-donut-chart__center{pointer-events:none;text-align:center;place-items:center;display:grid;position:absolute;inset:50% auto auto 50%;transform:translate(-50%,-50%)}.dashboard-donut-chart__center strong,.dashboard-donut-chart__center span{display:block}.dashboard-donut-chart__center strong{color:var(--text);font-variant-numeric:tabular-nums;font-size:24px;font-weight:800;line-height:1}.dashboard-donut-chart__center span{color:var(--text-muted);text-transform:uppercase;margin-top:4px;font-size:9px;font-weight:750}@media (width<=560px){.dashboard-chart-canvas{height:250px;min-height:250px}.dashboard-donut-chart{grid-template-columns:1fr}.dashboard-donut-chart__visual{width:min(210px,100%)}}.form-grid--2{grid-template-columns:repeat(2,minmax(0,1fr))}.clinical-form-page,.appointment-form-page{max-width:1240px}.clinical-form-card,.appointment-compose__main,.appointment-compose__aside{padding:18px}.clinical-form{gap:16px}.form-section{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface);gap:14px;padding:16px;display:grid}.form-section__header{align-items:center;gap:10px;min-width:0;display:flex}.form-section__header>span{border-radius:var(--radius-sm);width:34px;height:34px;color:var(--brand-700);background:var(--brand-100);flex:none;place-items:center;display:grid}.form-section__header small,.form-section__header strong{display:block}.form-section__header small{color:var(--text-muted);text-transform:uppercase;letter-spacing:0;font-size:9px;font-weight:760}.form-section__header strong{color:var(--text);margin-top:2px;font-size:13px}.clinical-form textarea.form-control{resize:vertical;min-height:92px}.clinical-form__actions,.appointment-compose__actions{margin-top:0}.clinical-workspace{grid-template-columns:minmax(0,1fr) 360px;align-items:start;gap:16px;display:grid}.clinical-card-head{border-bottom:1px solid var(--border);margin-bottom:14px;padding:0 0 14px}.inline-alert--success{color:var(--green-700);background:var(--green-100);border:1px solid var(--green-100)}.appointment-compose{grid-template-columns:minmax(0,1fr) 330px;align-items:start;gap:16px;display:grid}.appointment-mode{width:fit-content;margin-bottom:12px}.appointment-hints{gap:10px;margin-top:16px;display:grid}.appointment-hints div{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface-muted);grid-template-columns:28px minmax(0,1fr);align-items:start;gap:10px;padding:12px;display:grid}.appointment-hints span{color:#fff;background:var(--brand-600);border-radius:7px;place-items:center;width:24px;height:24px;font-size:11px;font-weight:800;display:grid}.appointment-hints p{color:var(--text-soft);margin:0;font-size:11px;line-height:1.45}.tuty-patient-table td[data-label=Estado\ clinico]{flex-wrap:wrap;align-items:center;gap:6px;display:flex}@media (width<=1040px){.clinical-workspace,.appointment-compose{grid-template-columns:1fr}.clinical-notes-column{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}}@media (width<=760px){.clinical-form-card,.appointment-compose__main,.appointment-compose__aside{padding:12px}.form-section{padding:13px}.form-grid--2,.form-grid--3,.clinical-notes-column{grid-template-columns:1fr}.appointment-mode{width:100%}.appointment-mode button{flex:1}}.metric-strip.tuty-metric-strip{grid-template-columns:repeat(4,minmax(0,1fr));align-items:stretch;gap:12px;display:grid}.metric-strip.tuty-metric-strip .metric{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface);min-width:0;min-height:86px;box-shadow:var(--shadow-xs);align-content:center;gap:5px;padding:14px 16px;display:grid}.metric-strip.tuty-metric-strip .metric strong{letter-spacing:0;font-variant-numeric:tabular-nums;font-size:23px;line-height:1}.metric-strip.tuty-metric-strip .metric>span:last-child{color:var(--text-muted);font-size:10.5px}.agenda-page-head{margin-bottom:14px}.agenda-metrics{margin-bottom:12px}.agenda-metric{grid-template-columns:36px minmax(0,1fr);align-items:center;column-gap:12px}.agenda-metric .metric__label,.agenda-metric strong,.agenda-metric>span:last-child{grid-column:2}.agenda-metric__icon{width:36px;height:36px;color:var(--agenda-metric-ink,var(--brand-700));background:var(--agenda-metric-bg,var(--brand-100));border-radius:10px;grid-row:1/span 3;place-items:center;display:grid}.agenda-metric--success{--agenda-metric-ink:var(--green-600);--agenda-metric-bg:var(--green-100)}.agenda-metric--warning{--agenda-metric-ink:var(--amber-700);--agenda-metric-bg:var(--amber-100)}.agenda-metric--info{--agenda-metric-ink:var(--blue-600);--agenda-metric-bg:var(--blue-100)}.agenda-controls{grid-template-columns:minmax(190px,.8fr) minmax(170px,.65fr) minmax(260px,1.4fr);align-items:center;gap:10px;margin-bottom:14px;padding:12px;display:grid;overflow:visible}.agenda-controls .form-field{min-width:0}.agenda-controls .tuty-toolbar-search{flex:none;min-width:0}.agenda-controls .inline-alert{grid-column:1/-1;margin:0}.agenda-layout{grid-template-columns:minmax(0, 1fr) var(--agenda-side-width);align-items:start;gap:16px;display:grid}.agenda-side{align-content:start;gap:12px;display:grid}.agenda-card{overflow:hidden}.agenda-side__head{padding:14px 15px 8px}.agenda-side__head .surface-title{font-size:16px;line-height:1.15}.agenda-detail-list{padding:0 14px 12px}.agenda-detail-list .detail-row{border-bottom:1px solid var(--border);min-height:40px;padding:9px 0}.agenda-detail-list .detail-row:last-child{border-bottom:0}.detail-row--empty{color:var(--text-muted);cursor:default}.calendar-wrap{min-width:0}@media (width<=1180px){.agenda-layout{grid-template-columns:1fr}.agenda-side{grid-template-columns:repeat(3,minmax(0,1fr))}.agenda-card--calendar{grid-column:span 1}}@media (width<=860px){.metric-strip.tuty-metric-strip{grid-template-columns:repeat(2,minmax(0,1fr))}.agenda-controls{grid-template-columns:1fr 1fr}.agenda-controls .tuty-toolbar-search{grid-column:1/-1}.agenda-side{grid-template-columns:1fr}}@media (width<=560px){.metric-strip.tuty-metric-strip,.agenda-controls{grid-template-columns:1fr}.agenda-controls .tuty-toolbar-search{grid-column:auto}}.agenda-page{--agenda-side-width:330px}.agenda-controls--autocomplete{background:var(--surface);grid-template-columns:minmax(210px,.85fr) minmax(190px,.75fr) minmax(280px,1.3fr);padding:10px}.agenda-controls--autocomplete .autocomplete-field{min-width:0}.agenda-side--workday{gap:12px}.agenda-card--today{padding:0}.agenda-focus-card{grid-template-columns:42px minmax(0,1fr);align-items:center;gap:12px;padding:15px;display:grid}.agenda-focus-card__icon{border-radius:var(--radius-sm);width:42px;height:42px;color:var(--brand-700);background:var(--brand-100);place-items:center;display:grid}.agenda-focus-card strong{margin-top:2px;font-size:18px;line-height:1.1;display:block}.agenda-focus-card small{color:var(--text-muted);text-overflow:ellipsis;white-space:nowrap;margin-top:4px;font-size:11px;display:block;overflow:hidden}.agenda-detail-list .detail-row{gap:8px}.agenda-detail-list .detail-row--button{width:100%;color:var(--text);text-align:left;background:0 0}.agenda-detail-list .detail-row--button:hover,.agenda-detail-list .detail-row--button.active{color:var(--brand-700);background:var(--brand-50);border-radius:var(--radius-sm);padding-inline:8px}.agenda-detail-list strong.available{color:var(--green-700)}.appointment-form-page--wide{max-width:1480px}.appointment-compose--wide{display:block}.appointment-form-grid{grid-template-columns:minmax(280px,.85fr) minmax(420px,1.35fr) minmax(260px,.75fr);align-items:start;gap:14px;display:grid}.appointment-time-section,.appointment-note-section{grid-column:span 1}.appointment-summary-panel{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface-muted);gap:0;display:grid;overflow:hidden}.appointment-summary-panel__row{border-bottom:1px solid var(--border);gap:4px;padding:12px 14px;display:grid}.appointment-summary-panel__row:last-child{border-bottom:0}.appointment-summary-panel__row span{color:var(--text-muted);text-transform:uppercase;letter-spacing:.07em;font-size:9px;font-weight:800}.appointment-summary-panel__row strong{text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:12px;overflow:hidden}.appointment-fields-grid .form-field{min-width:0}@media (width<=1280px){.appointment-form-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.appointment-note-section,.appointment-summary-panel{grid-column:1/-1}}@media (width<=920px){.agenda-controls--autocomplete,.appointment-form-grid{grid-template-columns:1fr}.appointment-note-section,.appointment-summary-panel{grid-column:auto}}.clinical-form-page,.appointment-form-page,.appointment-form-page--wide,.treatments-page{width:100%;max-width:none}.clinical-form-page .tuty-page-head,.appointment-form-page .tuty-page-head{max-width:1520px;margin-inline:auto}.appointment-compose--wide,.clinical-form-page>.clinical-form-card{width:min(1520px,100%);margin-inline:auto}.appointment-compose__main--wide,.clinical-form-page>.clinical-form-card{border-radius:var(--radius-md);padding:18px}.appointment-time-section .appointment-fields-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.appointment-summary-panel{background:var(--surface);grid-column:1/-1;grid-template-columns:repeat(4,minmax(0,1fr))}.appointment-summary-panel__row{border-bottom:0;border-right:1px solid var(--border);align-content:center;min-height:72px}.appointment-summary-panel__row:last-child{border-right:0}.appointment-compose__actions{justify-content:flex-end;padding-top:14px}.clinical-form-page .clinical-form{gap:18px}.clinical-form-page .form-section{padding:18px}.clinical-form-page .form-grid--3{grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.clinical-form-page .form-field--full{grid-column:1/-1}.clinical-form-page .form-control{min-height:46px}.clinical-form-page textarea.form-control{min-height:120px}.treatment-admin-layout{grid-template-columns:minmax(320px,380px) minmax(0,1fr);align-items:start;gap:16px;display:grid}.treatment-create-panel{top:calc(var(--topbar-height) + 16px);padding:18px;position:sticky;overflow:visible}.treatment-create-grid{gap:13px;margin-top:12px;display:grid}.treatment-list-panel{min-width:0;overflow:hidden}.treatment-list-panel .data-table td:last-child,.treatment-list-panel .data-table th:last-child{text-align:right;width:110px}.treatment-list-panel .btn{min-width:82px}@media (width>=1640px){.appointment-compose--wide,.clinical-form-page>.clinical-form-card,.clinical-form-page .tuty-page-head,.appointment-form-page .tuty-page-head{width:min(1680px,100%);max-width:none}.appointment-form-grid{grid-template-columns:minmax(340px,.9fr) minmax(620px,1.5fr) minmax(340px,.85fr)}}@media (width<=1320px){.appointment-form-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.appointment-note-section,.appointment-summary-panel{grid-column:1/-1}.appointment-summary-panel{grid-template-columns:repeat(2,minmax(0,1fr))}.appointment-summary-panel__row:nth-child(2){border-right:0}.appointment-summary-panel__row:nth-child(-n+2){border-bottom:1px solid var(--border)}}@media (width<=980px){.treatment-admin-layout{grid-template-columns:1fr}.treatment-create-panel{position:static}.clinical-form-page .form-grid--3{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=760px){.clinical-form-page .tuty-page-head,.appointment-form-page .tuty-page-head{align-items:flex-start}.appointment-form-grid,.appointment-time-section .appointment-fields-grid,.clinical-form-page .form-grid--3,.appointment-summary-panel{grid-template-columns:1fr}.appointment-summary-panel__row,.appointment-summary-panel__row:nth-child(2){border-right:0}.appointment-summary-panel__row:not(:last-child){border-bottom:1px solid var(--border)}}.patients-page .content-section,.agenda-page .agenda-controls,.treatments-page .treatment-admin-layout{margin-top:0}.patients-page .tuty-page-head,.agenda-page .tuty-page-head,.treatments-page .tuty-page-head{margin-bottom:18px}.appointment-compose__main--wide{padding:clamp(18px,1.6vw,24px)}.appointment-form-grid{grid-template-columns:minmax(320px,.78fr) minmax(0,1.22fr);align-items:stretch;gap:18px}.appointment-patient-section,.appointment-time-section,.appointment-note-section{min-height:auto}.appointment-time-section{grid-column:auto}.appointment-time-section .appointment-fields-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.appointment-note-section{grid-column:1}.appointment-summary-panel--compact{background:var(--surface-muted);grid-column:2;grid-template-columns:repeat(2,minmax(0,1fr));align-self:stretch;gap:0}.appointment-summary-panel--compact .appointment-summary-panel__row{border-right:1px solid var(--border);border-bottom:1px solid var(--border);min-height:78px}.appointment-form-page .inline-alert{margin-top:14px}.patients-page .tuty-panel{padding:14px 16px 16px}.patients-page .tuty-toolbar{justify-content:space-between;gap:12px;padding-bottom:12px}.patients-page .tuty-toolbar-search{flex:520px;max-width:620px}.tuty-patient-table{min-width:980px}.tuty-patient-table th:first-child,.tuty-patient-table td:first-child{width:36%}.tuty-patient-table th,.tuty-patient-table td{vertical-align:middle}.table-primary--button{border-radius:var(--radius-sm);grid-template-columns:38px minmax(0,1fr);align-items:center;gap:12px;padding:6px 4px;display:grid}.table-primary--button:hover{background:var(--brand-50)}.table-primary--button .initials{width:36px;height:36px;color:var(--brand-700);background:var(--brand-100);border-radius:10px;place-items:center;font-size:11px;font-weight:800;display:grid}.patient-cell-copy{gap:3px;min-width:0;display:grid}.patient-cell-copy strong,.patient-cell-copy span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.patient-cell-copy span{color:var(--text-muted);font-size:11px}@media (width>=1100px){.topbar__mobile{display:none!important}}@media (width<=1100px){.appointment-form-grid,.appointment-time-section .appointment-fields-grid,.appointment-summary-panel--compact{grid-template-columns:1fr}.appointment-note-section,.appointment-summary-panel--compact{grid-column:1}.appointment-summary-panel--compact .appointment-summary-panel__row,.appointment-summary-panel--compact .appointment-summary-panel__row:nth-child(2n){border-right:0;border-bottom:1px solid var(--border)}.appointment-summary-panel--compact .appointment-summary-panel__row:last-child{border-bottom:0}}@media (width<=720px){.patients-page .tuty-panel{padding:12px}.table-primary--button{grid-template-columns:34px minmax(0,1fr)}.table-primary--button .initials{width:34px;height:34px}}.appointment-patient-section,.appointment-time-section,.appointment-note-section{align-content:start}.appointment-mode{align-self:start}.appointment-mode button{min-height:32px;padding-inline:12px}.patients-list-card{border:1px solid var(--border);background:var(--surface);box-shadow:var(--shadow-sm);padding:0!important}.patients-list-toolbar{border-bottom:1px solid var(--border);background:var(--surface-muted);grid-template-columns:minmax(320px,1fr) auto auto;align-items:center;gap:12px;padding:14px 16px;display:grid}.patient-search-box{border:1px solid var(--border-strong);border-radius:var(--radius-md);background:var(--surface);min-height:44px;box-shadow:var(--shadow-xs);grid-template-columns:42px minmax(0,1fr);align-items:center;display:grid;overflow:hidden}.patient-search-box:focus-within{border-color:var(--brand-500);box-shadow:var(--ring)}.patient-search-box__icon{color:var(--text-muted);justify-self:center}.patient-search-box input{width:100%;min-width:0;height:42px;color:var(--text);font:inherit;background:0 0;border:0;outline:0;font-size:12px}.patient-search-box input::placeholder{color:var(--text-muted)}.patient-filter-tabs{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface);box-shadow:var(--shadow-xs);align-items:center;gap:4px;padding:4px;display:inline-flex}.patient-filter-tabs button{border-radius:var(--radius-sm);min-height:34px;color:var(--text-muted);cursor:pointer;transition:color var(--transition), background var(--transition), box-shadow var(--transition);background:0 0;border:0;padding:0 12px;font-size:10px;font-weight:800}.patient-filter-tabs button:hover{color:var(--brand-700);background:var(--brand-50)}.patient-filter-tabs button.active{color:var(--brand-700);background:var(--brand-100);box-shadow:inset 0 0 0 1px var(--brand-500)}.patients-result-count{border:1px solid var(--border);border-radius:var(--radius-md);min-height:34px;color:var(--text-soft);background:var(--surface);white-space:nowrap;box-shadow:var(--shadow-xs);place-items:center;padding:0 12px;font-size:10px;font-weight:800;display:inline-grid}.patients-table-shell{padding:8px 14px 14px}.patients-table-shell .table-wrap{overflow-x:hidden}.patients-table-v2{border-collapse:separate;border-spacing:0 8px;table-layout:fixed;width:100%;min-width:900px}.patients-table-v2 thead th{height:32px;color:var(--text-muted);letter-spacing:.08em;background:0 0;border-bottom:0;padding:0 14px 4px;font-size:9px}.patients-table-v2 th:first-child,.patients-table-v2 td:first-child{width:28%}.patients-table-v2 th:nth-child(2),.patients-table-v2 td:nth-child(2){width:17%}.patients-table-v2 th:nth-child(3),.patients-table-v2 td:nth-child(3){width:8%}.patients-table-v2 th:nth-child(4),.patients-table-v2 td:nth-child(4){width:12%}.patients-table-v2 th:nth-child(5),.patients-table-v2 td:nth-child(5){width:13%}.patients-table-v2 th:nth-child(6),.patients-table-v2 td:nth-child(6){width:9%}.patients-table-v2 th:nth-child(7),.patients-table-v2 td:nth-child(7){width:13%}.patients-table-v2 tbody tr{background:var(--surface);box-shadow:inset 0 0 0 1px var(--border);transition:transform var(--transition), box-shadow var(--transition), background var(--transition)}.patients-table-v2 tbody tr:hover{background:var(--surface);box-shadow:inset 0 0 0 1px var(--border);transform:translateY(-1px)}.patients-table-v2 tbody td{vertical-align:middle;background:inherit;border-bottom:0;height:68px;padding:10px 14px}.patients-table-v2 tbody td:first-child{border-radius:var(--radius-md) 0 0 var(--radius-md)}.patients-table-v2 tbody td:last-child{border-radius:0 var(--radius-md) var(--radius-md) 0}.patients-table-v2 .table-primary--button{border-radius:var(--radius-md);grid-template-columns:42px minmax(0,1fr);gap:12px;padding:0}.patients-table-v2 .table-primary--button:hover{background:0 0}.patients-table-v2 .table-primary--button .initials{width:40px;height:40px;color:var(--brand-700);background:var(--brand-100);box-shadow:inset 0 0 0 1px var(--brand-500);border-radius:12px;font-size:11px}.patients-table-v2 .patient-cell-copy{gap:4px}.patients-table-v2 .patient-cell-copy strong{color:var(--text);font-size:13px;line-height:1.2}.patients-table-v2 .patient-cell-copy span,.patient-contact-cell .muted{color:var(--text-muted);font-size:10.5px}.patient-contact-cell strong,.patient-age-cell,.patient-date-cell,.patient-balance-cell{color:var(--text);white-space:nowrap;font-size:12.5px;font-weight:750}.patient-contact-cell strong,.patient-contact-cell .muted{display:block}.patient-contact-cell .muted{margin-top:3px}.patients-table-v2 td.patient-status-cell{display:table-cell}.patient-status-cell .badge{vertical-align:middle;margin:2px 4px 2px 0;display:inline-flex}.patients-table-v2 .patient-action-cell{padding-inline:10px}.patient-action-cell .btn{justify-content:center;width:100%;min-width:84px}@media (width<=980px){.patients-list-toolbar{grid-template-columns:1fr;align-items:stretch}.patient-filter-tabs{width:100%;overflow-x:auto}.patient-filter-tabs button{flex:1 0 auto}.patients-result-count{justify-self:start}}@media (width<=720px){.patients-list-card{border-radius:var(--radius-md)}.patients-list-toolbar,.patients-table-shell{padding:12px}.patients-table-shell .table-wrap{overflow-x:visible}.patients-table-v2{border-spacing:0;table-layout:auto;min-width:0}.patients-table-v2 tbody{gap:10px;display:grid}.patients-table-v2 tbody tr{border-radius:var(--radius-md);gap:8px;padding:12px;display:grid}.patients-table-v2 tbody tr:hover{transform:none}.patients-table-v2 tbody td{background:0 0;border:0;height:auto;min-height:0;padding:0}.patients-table-v2 tbody td:first-child,.patients-table-v2 tbody td:last-child{border-radius:0}.patients-table-v2 td[data-label]{grid-template-columns:92px minmax(0,1fr);align-items:center}.patients-table-v2 td[data-label=Paciente]{grid-template-columns:1fr}.patients-table-v2 td.patient-status-cell{display:flex}.patients-table-v2 .table-primary--button{grid-template-columns:38px minmax(0,1fr)}.patients-table-v2 .table-primary--button .initials{width:38px;height:38px}.patient-contact-cell strong,.patient-age-cell,.patient-date-cell,.patient-balance-cell{white-space:normal}.patient-action-cell .btn{min-width:0}}.tuty-card-table{border-collapse:separate;border-spacing:0 8px;width:100%}.tuty-card-table thead th{height:36px;color:var(--text-muted);letter-spacing:.08em;text-transform:uppercase;background:0 0;border-bottom:0;padding:0 16px 6px;font-size:10px;font-weight:700}.tuty-card-table tbody tr{background:var(--surface);box-shadow:inset 0 0 0 1px var(--border);transition:transform var(--transition), box-shadow var(--transition), background var(--transition)}.tuty-card-table tbody tr:hover{background:var(--surface);box-shadow:inset 0 0 0 1px var(--border);transform:translateY(-1px)}.tuty-card-table tbody td{vertical-align:middle;background:inherit;border-bottom:0;height:60px;padding:10px 16px}.tuty-card-table tbody td:first-child{border-radius:var(--radius-md) 0 0 var(--radius-md)}.tuty-card-table tbody td:last-child{border-radius:0 var(--radius-md) var(--radius-md) 0}.tuty-metric-strip--premium{grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin-bottom:24px;display:grid}.tuty-metric--premium{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface-muted);box-shadow:var(--shadow-sm);transition:box-shadow var(--transition), transform var(--transition);flex-direction:column;justify-content:center;gap:6px;padding:18px 20px;display:flex;position:relative}.tuty-metric--premium:hover{box-shadow:var(--shadow-md);transform:translateY(-1px)}.tuty-metric--premium:before{content:"";background:var(--metric-accent,var(--brand-500));border-radius:var(--radius-md) 0 0 var(--radius-md);width:4px;position:absolute;top:0;bottom:0;left:0}.tuty-metric--premium .metric__label{text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted);font-size:11px;font-weight:700}.tuty-metric--premium strong{color:var(--text);font-size:26px;font-weight:800;line-height:1.1}.tuty-metric--premium .metric__meta{color:var(--text-soft);font-size:11px}.team-card--premium{transition:transform var(--transition), box-shadow var(--transition), border-color var(--transition);position:relative;overflow:hidden}.team-card--premium:hover{box-shadow:var(--shadow-md);border-color:var(--brand-300);transform:translateY(-3px)}.team-card--premium:before{content:"";background:var(--user-color,var(--brand-500));height:4px;position:absolute;top:0;left:0;right:0}.team-card--premium .avatar{box-shadow:0 4px 10px #0000000d}.team-card--premium .team-card__stat{background:var(--surface-muted);border:1px solid var(--border)}@media (width<=980px){.tuty-metric-strip--premium{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=560px){.tuty-metric-strip--premium{grid-template-columns:1fr}}.cash-grid{grid-template-columns:minmax(0,1fr) 340px;align-items:start;gap:20px;display:grid}.invoice-summary{gap:12px;display:grid}.invoice-line{color:var(--text-soft);justify-content:space-between;align-items:center;font-size:12.5px;display:flex}.invoice-line strong{color:var(--text);font-weight:600}.invoice-line.total{border-top:1px solid var(--border);padding-top:12px;font-size:14px}.invoice-line.total span{color:var(--text);font-weight:700}.invoice-line.total strong{font-size:16px;font-weight:800}@media (width<=960px){.cash-grid{grid-template-columns:1fr}}.inline-alert--info{color:var(--brand-700);background:var(--brand-100);border:1px solid var(--border)}.agenda-notice-alert{align-items:flex-start;margin:0}.agenda-notice-alert div{gap:2px;display:grid}.agenda-notice-alert strong{color:var(--text);font-size:12px}.agenda-notice-alert span{color:var(--text-muted);font-size:11px;line-height:1.35}.agenda-detail-list .detail-row--stacked.active{border-radius:var(--radius-sm);background:var(--brand-50);box-shadow:inset 3px 0 0 var(--brand-500);padding-inline:8px}.agenda-focus-card__next{margin-top:4px;font-weight:600}.team-schedule-page{max-width:none}.schedule-planner-card,.schedule-summary-card{overflow:hidden}.schedule-planner-toolbar{border-bottom:1px solid var(--border);background:var(--surface);grid-template-columns:minmax(170px,.72fr) minmax(360px,1.1fr) auto;align-items:center;gap:14px;padding:16px;display:grid}.schedule-planner-toolbar h2{margin-top:3px;font-size:18px}.schedule-template-panel{border-bottom:1px solid var(--border);background:var(--surface);grid-template-columns:minmax(240px,1fr) repeat(4,minmax(104px,132px));align-items:end;gap:10px;padding:14px 16px;display:grid}.schedule-template-panel>div{min-width:0}.schedule-template-panel strong{color:var(--text);margin-top:4px;font-size:14px;display:block}.schedule-template-panel label{gap:5px;min-width:0;display:grid}.schedule-template-panel label span{color:var(--text-muted);letter-spacing:.07em;text-transform:uppercase;font-size:9px;font-weight:820}.schedule-mode-panel{gap:7px;min-width:0;display:grid}.schedule-mode-bar,.schedule-quick-actions{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface-muted);align-items:center;gap:6px;padding:4px;display:inline-flex}.schedule-mode-bar{grid-template-columns:repeat(3,minmax(0,1fr));width:100%;display:grid}.schedule-mode-bar button,.schedule-quick-actions button,.schedule-day-head button{border-radius:var(--radius-sm);min-height:34px;color:var(--text-muted);white-space:nowrap;transition:color var(--transition), background var(--transition), box-shadow var(--transition);background:0 0;border:0;justify-content:center;align-items:center;gap:6px;padding:0 10px;font-size:10px;font-weight:820;display:inline-flex}.schedule-mode-bar button:hover,.schedule-quick-actions button:hover,.schedule-day-head button:hover{color:var(--text);background:var(--surface)}.schedule-mode-bar button.active{color:var(--brand-700);background:var(--brand-100);box-shadow:inset 0 0 0 1px var(--brand-500)}.schedule-mode-bar button{text-align:left;grid-template-columns:auto minmax(0,1fr);grid-template-areas:"dot title""dot meta";place-content:center stretch;min-height:58px;padding:8px 10px;display:grid}.schedule-mode-bar button .schedule-mode-dot{grid-area:dot;align-self:center}.schedule-mode-bar button strong{color:inherit;grid-area:title;font-size:11px;line-height:1.1}.schedule-mode-bar button small{color:var(--text-muted);text-overflow:ellipsis;white-space:nowrap;grid-area:meta;font-size:8px;font-weight:780;line-height:1.1;overflow:hidden}.schedule-mode-bar button.active small{color:var(--brand-700)}.schedule-mode-hint{color:var(--text-muted);margin:0;font-size:11px;font-weight:720}.schedule-mode-hint strong{color:var(--text)}.schedule-mode-dot{border-radius:8px;width:11px;height:30px}.schedule-mode-dot--work{background:var(--brand-500)}.schedule-mode-dot--break{background:var(--amber-500)}.schedule-mode-dot--clear{background:var(--danger-500,#ef4444)}.schedule-planner-metrics{border-bottom:1px solid var(--border);background:var(--surface-muted);grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;padding:12px 16px;display:grid}.schedule-planner-metrics div{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface);min-width:0;padding:11px 12px}.schedule-planner-metrics span,.schedule-summary-day em{color:var(--text-muted);text-transform:uppercase;letter-spacing:.06em;font-size:9px;font-style:normal;font-weight:780;display:block}.schedule-planner-metrics strong{color:var(--text);text-overflow:ellipsis;white-space:nowrap;margin-top:3px;font-size:15px;display:block;overflow:hidden}.schedule-planner-scroll{background:var(--surface-muted);padding:14px;overflow-x:auto}.schedule-planner-grid{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface);-webkit-user-select:none;user-select:none;grid-template-columns:58px repeat(7,minmax(118px,1fr));min-width:990px;display:grid;overflow:hidden}.schedule-time-rail,.schedule-day-column{border-right:1px solid var(--border);min-width:0}.schedule-day-column:last-child{border-right:0}.schedule-time-head,.schedule-day-head{border-bottom:1px solid var(--border);background:var(--surface-muted);align-content:center;gap:4px;height:82px;padding:10px;display:grid}.schedule-time-head{color:var(--text-muted);text-align:center;text-transform:uppercase;letter-spacing:.07em;font-size:9px;font-weight:820}.schedule-day-head{text-align:center}.schedule-day-head span{color:var(--text-muted);text-transform:uppercase;letter-spacing:.07em;font-size:9px;font-weight:820}.schedule-day-head strong{color:var(--text);text-overflow:ellipsis;white-space:nowrap;font-size:12px;line-height:1.15;overflow:hidden}.schedule-day-title{border-radius:var(--radius-sm);cursor:pointer;background:0 0;border:0;gap:2px;min-height:38px;padding:4px 8px;display:grid}.schedule-day-title:hover{background:var(--surface);box-shadow:inset 0 0 0 1px var(--border)}.schedule-day-title small{color:var(--brand-600);letter-spacing:.04em;text-transform:uppercase;font-size:8px;font-weight:820}.schedule-day-head div{justify-content:center;gap:4px;display:flex}.schedule-day-head button{background:var(--surface);min-height:24px;box-shadow:inset 0 0 0 1px var(--border);padding:0 7px}.schedule-day-head button:last-child{width:26px;padding:0}.schedule-day-head .schedule-day-title{align-content:center;width:100%;min-height:40px;padding:4px 8px;display:grid}.schedule-time-mark,.schedule-slot-cell{border-bottom:1px solid var(--border);height:24px}.schedule-time-mark{color:#0000;background:var(--surface-muted);place-items:start center;padding-top:2px;font-size:9px;font-weight:760;display:grid}.schedule-time-mark.is-hour{color:var(--text-muted);border-bottom-color:var(--border)}.schedule-slot-stack{display:grid}.schedule-slot-cell{border:0;border-bottom:1px solid var(--border);background:var(--surface);color:#0000;cursor:pointer;touch-action:none;width:100%;transition:background var(--transition), box-shadow var(--transition);padding:0;position:relative}.schedule-planner-grid--work .schedule-slot-cell{cursor:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24'%3E%3Ccircle cx='12' cy='12' r='8' fill='%2314b8a6' fill-opacity='.9'/%3E%3Cpath d='M8 12.2l2.3 2.3L16.5 8' fill='none' stroke='white' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") 12 12,cell}.schedule-planner-grid--break .schedule-slot-cell{cursor:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24'%3E%3Ccircle cx='12' cy='12' r='8' fill='%23f59e0b' fill-opacity='.92'/%3E%3Cpath d='M8 13h8M9 10h6' fill='none' stroke='white' stroke-width='2.1' stroke-linecap='round'/%3E%3C/svg%3E") 12 12,cell}.schedule-planner-grid--clear .schedule-slot-cell{cursor:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24'%3E%3Ccircle cx='12' cy='12' r='8' fill='%23ef4444' fill-opacity='.92'/%3E%3Cpath d='M8.5 8.5l7 7M15.5 8.5l-7 7' fill='none' stroke='white' stroke-width='2.1' stroke-linecap='round'/%3E%3C/svg%3E") 12 12,cell}.schedule-slot-cell.is-hour{border-bottom-color:var(--border)}.schedule-slot-cell:hover{box-shadow:inset 0 0 0 2px var(--brand-500)}.schedule-planner-grid.is-painting .schedule-slot-cell{transition:none}.schedule-slot-cell.is-work{background:linear-gradient(90deg, var(--brand-600) 0 4px, color-mix(in srgb, var(--brand-500) 22%, var(--surface)) 4px 100%)}.schedule-slot-cell.is-break{background:linear-gradient(90deg, var(--amber-600) 0 4px, color-mix(in srgb, var(--amber-500) 24%, var(--surface)) 4px 100%)}[data-theme=dark] .schedule-slot-cell.is-work{background:linear-gradient(90deg, var(--brand-400) 0 4px, color-mix(in srgb, var(--brand-500) 34%, var(--surface)) 4px 100%)}[data-theme=dark] .schedule-slot-cell.is-break{background:linear-gradient(90deg, var(--amber-500) 0 4px, color-mix(in srgb, var(--amber-500) 34%, var(--surface)) 4px 100%)}.schedule-slot-cell.can-clear{cursor:inherit}.schedule-slot-cell span{display:none}.schedule-summary-list{grid-template-columns:repeat(7,minmax(120px,1fr));gap:10px;padding:14px;display:grid}.schedule-summary-day{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface-muted);min-width:0;padding:12px}.schedule-summary-day>strong{color:var(--text);margin-bottom:8px;font-size:12px;display:block}.schedule-summary-day div{flex-wrap:wrap;gap:5px;display:flex}.schedule-summary-day span{border-radius:var(--radius-sm);min-height:24px;color:var(--brand-700);background:var(--brand-100);align-items:center;padding:0 7px;font-size:9px;font-weight:780;display:inline-flex}.schedule-summary-day span.break{color:var(--amber-700);background:var(--amber-100)}@media (width<=1180px){.schedule-planner-toolbar,.schedule-template-panel{grid-template-columns:1fr 1fr;align-items:stretch}.schedule-template-panel>div{grid-column:1/-1}.schedule-mode-bar,.schedule-quick-actions{justify-content:flex-start;overflow-x:auto}.schedule-summary-list{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=640px){.schedule-template-panel,.schedule-planner-metrics,.schedule-summary-list{grid-template-columns:1fr}.schedule-planner-scroll{padding:10px}.schedule-planner-grid{grid-template-columns:52px repeat(7,minmax(112px,1fr));min-width:900px}.schedule-time-head,.schedule-day-head{height:86px}}.appointment-form-grid{grid-template-columns:minmax(340px,.88fr) minmax(0,1.12fr);gap:18px}.appointment-note-section,.appointment-summary-panel--compact{grid-column:1/-1}.appointment-summary-panel--compact{background:var(--surface);grid-template-columns:repeat(4,minmax(0,1fr))}.appointment-summary-panel--compact .appointment-summary-panel__row{align-content:center;min-height:76px}.appointment-summary-panel--compact .appointment-summary-panel__row:nth-child(2n){border-right:1px solid var(--border)}.appointment-summary-panel--compact .appointment-summary-panel__row:last-child{border-right:0}.appointment-summary-panel--compact .appointment-summary-panel__row:nth-last-child(-n+2){border-bottom:1px solid var(--border)}.appointment-note-section textarea.form-control{min-height:150px}.clinical-form-page .guided-form-container--clinical{max-width:none;margin-inline:auto}.clinical-form-page .guided-form-shell{border-radius:var(--radius-lg);background:var(--surface);box-shadow:var(--shadow-sm);padding:clamp(18px,1.8vw,26px)}.clinical-form-page .guided-stepper--clinical{border-bottom:1px solid var(--border);justify-content:flex-start;gap:10px;margin:0 0 20px;padding:0 0 18px;overflow-x:auto}.clinical-form-page .guided-form--clinical{gap:18px;display:grid}.clinical-form-page .guided-step{padding:0}.clinical-form-page .step{opacity:1;border-color:var(--border);background:var(--surface-muted);color:var(--text-muted);white-space:nowrap}.clinical-form-page .step:hover{color:var(--text);border-color:var(--border-strong)}.clinical-form-page .step__number{background:var(--surface);color:var(--text)}.clinical-form-page .step--active{border-color:var(--border);background:var(--brand-50);color:var(--brand-700);box-shadow:var(--ring)}.clinical-form-page .step--completed{border-color:var(--border);background:var(--green-100);color:var(--green-700)}.clinical-form-page .step__label{display:inline}.clinical-form-page .guided-actions{margin-top:2px}@media (width<=960px){.clinical-form-page .guided-stepper--clinical{grid-template-columns:repeat(2,minmax(0,1fr));display:grid;overflow:visible}.clinical-form-page .step{white-space:normal;justify-content:flex-start;width:100%;min-width:0}.clinical-form-page .step__label{line-height:1.2}}.team-admin-page{width:100%;max-width:none}.team-admin-layout{grid-template-columns:minmax(320px,380px) minmax(0,1fr);align-items:start;gap:18px;display:grid}.team-admin-metrics{margin-bottom:18px}.team-directory-panel,.team-editor-panel{padding:18px}.team-directory-panel{top:calc(var(--topbar-height) + 16px);gap:14px;display:grid;position:sticky}.team-directory-panel__header,.team-editor-section__header,.team-editor-panel__header{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.team-directory-panel__header h2,.team-editor-section__header h3,.team-editor-panel__header h2{margin:4px 0 0}.team-directory-panel__count,.team-editor-section__meta{border:1px solid var(--border);border-radius:var(--radius-pill);min-height:32px;color:var(--text-muted);background:var(--surface-muted);white-space:nowrap;place-items:center;padding:0 12px;font-size:11px;font-weight:800;display:inline-grid}.team-directory-list{gap:10px;display:grid}.team-directory-item{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface);width:100%;color:var(--text);text-align:left;transition:border-color var(--transition), background var(--transition), transform var(--transition), box-shadow var(--transition);grid-template-columns:42px minmax(0,1fr) auto;align-items:center;gap:12px;padding:12px;display:grid}.team-directory-item:hover,.team-directory-item.active{border-color:var(--border);background:var(--brand-50);transform:translateY(-1px)}.team-directory-item__avatar,.team-editor-panel__avatar{color:var(--avatar-ink,var(--brand-700));background:var(--avatar-bg,var(--brand-100));border-radius:12px;place-items:center;font-weight:800;display:grid}.team-directory-item__avatar{width:42px;height:42px;font-size:13px}.team-directory-item__copy{gap:3px;min-width:0;display:grid}.team-directory-item__copy strong,.team-directory-item__copy span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.team-directory-item__copy span,.team-editor-panel__identity p{color:var(--text-muted);font-size:11px}.team-editor-panel{gap:18px;display:grid}.team-editor-panel__identity{align-items:center;gap:14px;display:flex}.team-editor-panel__avatar{width:54px;height:54px;font-size:16px}.team-editor-panel__badges{flex-wrap:wrap;justify-content:flex-end;gap:8px;display:flex}.team-editor-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;display:grid}.team-color-input{width:100%;min-height:46px;padding:8px}.team-editor-section{border-top:1px solid var(--border);gap:14px;padding-top:16px;display:grid}.team-role-preset-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;display:grid}.team-role-preset{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface);color:var(--text);text-align:left;transition:border-color var(--transition), background var(--transition), transform var(--transition);gap:6px;padding:12px 14px;display:grid}.team-role-preset:hover,.team-role-preset.active{border-color:var(--border);background:var(--brand-50);transform:translateY(-1px)}.team-role-preset strong{font-size:12px}.team-role-preset span{color:var(--text-muted);font-size:10px;line-height:1.45}.team-clinic-grid{grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:10px;display:grid}.team-clinic-chip{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface);cursor:pointer;grid-template-columns:18px minmax(0,1fr);align-items:start;gap:10px;padding:12px 14px;display:grid}.team-clinic-chip.is-active{border-color:var(--border);background:var(--brand-50)}.team-clinic-chip input{margin-top:2px}.team-clinic-chip strong,.team-clinic-chip span{display:block}.team-clinic-chip span{color:var(--text-muted);margin-top:3px;font-size:10.5px}.team-permission-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.team-editor-section--actions{gap:16px}.team-editor-actions{flex-wrap:wrap;justify-content:flex-end;gap:10px;display:flex}[data-theme=dark] .clinical-form-page .step{color:var(--text-muted);background:var(--surface-muted)}[data-theme=dark] .clinical-form-page .step__number{background:var(--surface);color:var(--text)}[data-theme=dark] .clinical-form-page .step--active{color:#d9fffb;background:var(--brand-900)}[data-theme=dark] .clinical-form-page .step--completed{color:#dafce8;background:var(--green-900)}[data-theme=dark] .team-role-preset:hover,[data-theme=dark] .team-role-preset.active,[data-theme=dark] .team-directory-item:hover,[data-theme=dark] .team-directory-item.active,[data-theme=dark] .team-clinic-chip.is-active{background:var(--brand-900)}@media (width<=1280px){.appointment-summary-panel--compact{grid-template-columns:repeat(2,minmax(0,1fr))}.appointment-summary-panel--compact .appointment-summary-panel__row:nth-child(2n){border-right:0}.appointment-summary-panel--compact .appointment-summary-panel__row:nth-child(-n+2){border-bottom:1px solid var(--border)}.team-admin-layout{grid-template-columns:1fr}.team-directory-panel{position:static}.team-role-preset-grid,.team-permission-grid,.team-editor-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=760px){.appointment-form-grid,.appointment-time-section .appointment-fields-grid,.appointment-summary-panel--compact,.team-role-preset-grid,.team-permission-grid,.team-editor-grid{grid-template-columns:1fr}.team-editor-panel__header,.team-editor-section__header,.team-directory-panel__header{flex-direction:column}.team-editor-actions{justify-content:stretch}.team-editor-actions .btn{width:100%}}@media (width>=1280px){.treatment-admin-layout{grid-template-columns:minmax(380px,440px) minmax(0,1fr);gap:20px}.treatment-list-panel .card__body{min-height:520px}}@media (width<=720px){.agenda-layout{gap:12px}.agenda-page .page-header__actions,.patients-page .page-header__actions{width:100%}.agenda-page .page-header__actions .btn,.patients-page .page-header__actions .btn{justify-content:center;width:100%}.agenda-card--calendar{display:none}.agenda-focus-card{grid-template-columns:38px minmax(0,1fr);padding:14px}.patients-list-toolbar{gap:10px}.patient-filter-tabs{grid-template-columns:repeat(2,minmax(0,1fr));width:100%;display:grid;overflow:visible}.patient-filter-tabs button{width:100%}.patients-table-v2 tbody tr{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 14px;padding:14px}.patients-table-v2 td[data-label]{grid-template-columns:1fr;align-items:start;gap:5px;display:grid}.patients-table-v2 td[data-label=Paciente],.patients-table-v2 td[data-label=Accion],.patients-table-v2 td[data-label=Accion]{grid-column:1/-1}.patients-table-v2 td.patient-status-cell{display:grid}.patient-action-cell .btn{width:100%;min-height:40px}.treatment-admin-layout{gap:14px}.treatment-create-panel{padding:14px}.treatment-list-panel .table-wrap{overflow-x:auto}}@media (width<=520px){.patients-table-v2 tbody tr{grid-template-columns:1fr}.patients-result-count{justify-self:stretch;width:100%}}@media (width<=760px){.patients-table-v2 tbody tr{grid-template-columns:1fr;gap:10px}.patients-table-v2 td[data-label]{grid-template-columns:1fr;gap:6px}.patients-table-v2 .table-primary--button{align-items:flex-start}.patients-table-v2 .patient-cell-copy strong,.patients-table-v2 .patient-cell-copy span,.patients-table-v2 .patient-contact-cell strong,.patients-table-v2 .patient-contact-cell span{overflow-wrap:anywhere}.patients-table-v2 td.patient-status-cell{flex-wrap:wrap;align-items:flex-start;gap:8px;display:flex}.patients-table-v2 td.patient-balance-cell,.patients-table-v2 td.patient-action-cell{text-align:left!important}.patients-table-v2 .patient-action-cell .btn{justify-content:center;width:100%}}.treatment-list-toolbar{grid-template-columns:minmax(0,1fr) auto}.treatment-list-toolbar h2{color:var(--text);margin:2px 0 0;font-size:clamp(1.05rem,2vw,1.35rem)}.treatment-table-shell .table-wrap{overflow-x:hidden}.treatment-table-v2 th:first-child,.treatment-table-v2 td:first-child{width:27%}.treatment-table-v2 th:nth-child(2),.treatment-table-v2 td:nth-child(2){width:17%}.treatment-table-v2 th:nth-child(3),.treatment-table-v2 td:nth-child(3){width:14%}.treatment-table-v2 th:nth-child(4),.treatment-table-v2 td:nth-child(4){width:11%}.treatment-table-v2 th:nth-child(5),.treatment-table-v2 td:nth-child(5){width:14%}.treatment-table-v2 th:nth-child(6),.treatment-table-v2 td:nth-child(6){width:9%}.treatment-table-v2 th:nth-child(7),.treatment-table-v2 td:nth-child(7){width:8%}.treatment-table-v2 .treatment-initials{color:var(--amber-900);background:color-mix(in srgb, var(--amber-500) 18%, transparent);box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--amber-700) 55%, transparent)}.treatment-table-v2 .treatment-patient-cell strong,.treatment-table-v2 .treatment-date-cell,.treatment-table-v2 .treatment-total-cell{color:var(--text);font-size:12.5px;font-weight:750}.treatment-table-v2 .treatment-patient-cell strong,.treatment-table-v2 .treatment-patient-cell .muted{display:block}.treatment-table-v2 .treatment-patient-cell .muted{color:var(--text-muted);margin-top:3px;font-size:10.5px}.treatment-table-v2 .treatment-modality-cell .patient-status-stack{flex-wrap:wrap;gap:6px;display:flex}.treatment-table-v2 .treatment-progress-cell .progress-col{gap:6px;display:grid}.treatment-table-v2 .treatment-progress-cell .progress-track{background:color-mix(in srgb, var(--ink-200) 60%, transparent);height:7px}.treatment-table-v2 .progress-text{font-size:10.5px}.treatment-table-v2 .treatment-action-cell .btn{min-width:0}@media (width<=980px){.treatment-list-toolbar{grid-template-columns:1fr;align-items:stretch}}@media (width<=720px){.treatment-table-shell .table-wrap{overflow-x:visible}.treatment-table-v2 td[data-label=Plan]{grid-template-columns:1fr}.treatment-table-v2 td[data-label=Plan]:before{display:none}.treatment-table-v2 td[data-label=Paciente],.treatment-table-v2 td[data-label=Modalidad],.treatment-table-v2 td[data-label=Creado],.treatment-table-v2 td[data-label=Avance],.treatment-table-v2 td[data-label=Importe],.treatment-table-v2 td[data-label=Accion]{grid-template-columns:92px minmax(0,1fr);align-items:start;gap:8px;display:grid}.treatment-table-v2 td[data-label=Paciente]:before,.treatment-table-v2 td[data-label=Modalidad]:before,.treatment-table-v2 td[data-label=Creado]:before,.treatment-table-v2 td[data-label=Avance]:before,.treatment-table-v2 td[data-label=Importe]:before,.treatment-table-v2 td[data-label=Accion]:before{content:attr(data-label);color:var(--text-muted);letter-spacing:.06em;text-transform:uppercase;font-size:9px;font-weight:800;line-height:1.35}.treatment-table-v2 .treatment-progress-cell .progress-col,.treatment-table-v2 .treatment-patient-cell strong,.treatment-table-v2 .treatment-patient-cell .muted,.treatment-table-v2 .treatment-total-cell{white-space:normal;overflow-wrap:anywhere}}@media (width<=480px){.treatment-table-v2 td[data-label=Paciente],.treatment-table-v2 td[data-label=Modalidad],.treatment-table-v2 td[data-label=Creado],.treatment-table-v2 td[data-label=Avance],.treatment-table-v2 td[data-label=Importe],.treatment-table-v2 td[data-label=Accion]{grid-template-columns:1fr}}.billing-page{--billing-accent:var(--purple-600)}.demo-banner{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--amber-100);align-items:center;gap:14px;margin-bottom:20px;padding:15px 17px;display:flex}.demo-banner__icon{width:42px;height:42px;color:var(--amber-600);background:var(--amber-100);border-radius:12px;flex:none;place-items:center;display:grid}.demo-banner>div{flex:1;min-width:0}.demo-banner strong{font-size:13px;display:block}.demo-banner p{color:var(--text-muted);margin-top:3px;font-size:11px;line-height:1.55}.demo-banner--compact{margin:0 0 22px;padding-block:12px}.metric-grid{gap:16px;display:grid}.metric-grid--4{grid-template-columns:repeat(4,minmax(0,1fr))}.billing-page .metric-card{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface);min-height:122px;box-shadow:var(--shadow-xs);align-items:flex-start;gap:14px;padding:18px;display:flex}.billing-page .metric-card:after{display:none}.billing-page .metric-card>div{min-width:0}.billing-page .metric-card small,.billing-page .metric-card span{color:var(--text-muted);font-size:10px;line-height:1.4;display:block}.billing-page .metric-card strong{letter-spacing:-.035em;overflow-wrap:anywhere;margin:6px 0;font-size:clamp(20px,2vw,27px);line-height:1;display:block}.billing-page .metric-card__icon{flex:none;width:42px;height:42px}.metric-card__icon--brand{color:var(--brand-700);background:var(--brand-100)}.metric-card__icon--blue{color:var(--blue-600);background:var(--blue-100)}.metric-card__icon--green{color:var(--green-600);background:var(--green-100)}.metric-card__icon--amber{color:var(--amber-600);background:var(--amber-100)}.billing-issuer-card{margin-top:18px}.billing-issuer{justify-content:space-between;align-items:center;gap:24px;display:flex}.billing-issuer__identity{align-items:center;gap:13px;min-width:0;display:flex}.billing-issuer__identity>div{min-width:0}.billing-issuer__identity small,.billing-issuer__identity span{color:var(--text-muted);font-size:10px;display:block}.billing-issuer__identity strong{overflow-wrap:anywhere;margin:2px 0 4px;font-size:14px;display:block}.billing-issuer__series{align-items:stretch;gap:8px;display:flex}.billing-issuer__series>div{border:1px solid var(--border);background:var(--surface-muted);border-radius:11px;min-width:94px;padding:10px 12px}.billing-issuer__series small{color:var(--text-muted);font-size:9px;display:block}.billing-issuer__series strong{margin-top:4px;font-size:11px;display:block}.billing-toolbar{align-items:center;padding-bottom:18px}.toolbar-controls{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:8px;margin-left:auto;display:flex}.search-box--compact{width:min(290px,28vw)}.search-box--compact input{height:36px;font-size:11px}.form-control--compact{width:auto;min-width:150px;height:36px;padding-block:0;font-size:11px}.billing-table{min-width:970px}.document-code{color:var(--text);text-align:left;background:0 0;align-items:center;gap:10px;padding:0;display:inline-flex}.document-code:hover strong{color:var(--brand-600)}.document-code__icon{width:34px;height:34px;color:var(--purple-600);background:var(--purple-100);border-radius:10px;place-items:center;display:grid}.document-code strong,.document-code small{display:block}.document-code strong{font-family:var(--font-mono);font-size:11px}.document-code small{color:var(--text-muted);margin-top:2px;font-size:9px}.table-empty-filter{color:var(--text-muted);text-align:center;padding:24px;font-size:12px}.billing-help-grid{align-items:stretch;margin-top:22px}.process-list{gap:14px;padding:0;list-style:none;display:grid}.process-list li{gap:12px;display:flex}.process-list li>span{width:27px;height:27px;color:var(--brand-700);background:var(--brand-100);border-radius:50%;flex:none;place-items:center;font-size:10px;font-weight:800;display:grid}.process-list strong{font-size:11px;display:block}.process-list p{color:var(--text-muted);margin-top:3px;font-size:10px;line-height:1.5}.requirements-list{gap:14px;display:grid}.requirements-list p{color:var(--text-soft);align-items:flex-start;gap:9px;font-size:11px;line-height:1.55;display:flex}.requirements-list .icon{color:var(--brand-600);flex:none;margin-top:1px}.billing-form-intro{background:var(--surface-muted);border-radius:12px;align-items:center;gap:12px;margin-bottom:20px;padding:13px;display:flex}.billing-form-intro>.icon{color:var(--purple-600)}.billing-form-intro strong{font-size:12px;display:block}.billing-form-intro p{color:var(--text-muted);margin-top:3px;font-size:10px}.billing-items-heading{justify-content:space-between;align-items:center;gap:12px;margin:24px 0 10px;display:flex}.billing-items-heading strong,.billing-items-heading small{display:block}.billing-items-heading strong{font-size:12px}.billing-items-heading small{color:var(--text-muted);margin-top:2px;font-size:9px}.billing-items{gap:9px;display:grid}.billing-item-row{border:1px solid var(--border);background:var(--surface-muted);border-radius:12px;grid-template-columns:minmax(220px,1fr) 96px 132px 36px;align-items:end;gap:9px;padding:12px;display:grid}.billing-item-row .form-field{margin:0}.billing-item-row__remove{margin-bottom:2px}.billing-form-footer{grid-template-columns:minmax(0,1fr) 280px;align-items:end;gap:22px;margin-top:18px;display:grid}.billing-note{margin:0}.billing-totals{border:1px solid var(--border);background:var(--surface-muted);border-radius:12px;gap:8px;padding:14px;display:grid}.billing-totals>div{color:var(--text-muted);justify-content:space-between;align-items:center;gap:16px;font-size:10px;display:flex}.billing-totals strong{color:var(--text);font-size:11px}.billing-totals__grand{border-top:1px solid var(--border);margin-top:4px;padding-top:10px}.billing-totals__grand span,.billing-totals__grand strong{color:var(--text)!important;font-size:15px!important}.form-error{border:1px solid var(--border);color:var(--red-600);background:var(--red-100);border-radius:10px;margin-top:14px;padding:11px 13px;font-size:11px}.billing-detail-head{border-bottom:1px solid var(--border);justify-content:space-between;gap:22px;padding-bottom:18px;display:flex}.billing-detail-head small,.billing-detail-head span{color:var(--text-muted);font-size:10px;display:block}.billing-detail-head strong{margin:4px 0;font-size:15px;display:block}.billing-detail-status{text-align:right;flex-direction:column;align-items:flex-end;gap:8px;display:flex}.billing-detail-table{border:1px solid var(--border);border-radius:12px;margin-top:16px}.billing-detail-summary{gap:8px;width:min(330px,100%);margin:16px 0 0 auto;display:grid}.billing-detail-summary>div{color:var(--text-muted);justify-content:space-between;gap:18px;padding:3px 0;font-size:10px;display:flex}.billing-detail-summary>div:last-child{border-top:1px solid var(--border);color:var(--text);margin-top:4px;padding-top:10px;font-size:15px}.billing-related{color:var(--text-muted);margin-top:14px;font-size:10px}@media (width<=1240px){.metric-grid--4{grid-template-columns:repeat(2,minmax(0,1fr))}.billing-issuer{align-items:flex-start}.billing-issuer__series{flex-wrap:wrap;justify-content:flex-end}}@media (width<=760px){.billing-issuer{flex-direction:column}.billing-issuer__series{justify-content:stretch;width:100%}.billing-issuer__series>div{flex:110px}.billing-toolbar{align-items:stretch}.toolbar-controls{justify-content:stretch;width:100%;margin-left:0}.search-box--compact{flex:100%;width:100%}.form-control--compact{flex:150px}.billing-item-row{grid-template-columns:minmax(0,1fr) 90px}.billing-item-row>.form-field:first-child{grid-column:1/-1}.billing-item-row__remove{place-self:center end}.billing-form-footer{grid-template-columns:1fr}.billing-detail-head{flex-direction:column}.billing-detail-status{text-align:left;align-items:flex-start}}@media (width<=520px){.metric-grid--4{grid-template-columns:1fr}.demo-banner{align-items:flex-start}.demo-banner>.badge{display:none}.billing-page .metric-card{min-height:auto}.billing-issuer__series{grid-template-columns:1fr 1fr;display:grid}.billing-issuer__series>div:last-child{grid-column:1/-1}.billing-item-row{grid-template-columns:1fr 1fr}.billing-item-row__remove{grid-column:2}.billing-items-heading{align-items:flex-start}}.lab-table{min-width:940px}.login-page{isolation:isolate;background:var(--page);grid-template-columns:minmax(0,1.08fr) minmax(430px,.92fr);height:100dvh;max-height:100dvh;display:grid;position:relative;overflow:hidden}.login-visual{background-image:url(../../../assets/brand/login-clinic-hero.png);background-position:50%;background-size:cover;height:100%;position:relative;overflow:hidden}.login-visual:after{content:"";background:var(--surface-muted), var(--surface-muted);pointer-events:none;position:absolute;inset:0}.login-access{z-index:1;background:var(--surface);justify-content:center;align-items:center;height:100%;padding:clamp(26px,4.4vw,56px);display:flex;position:relative;overflow-y:auto}.login-access__inner{gap:22px;width:min(430px,100%);display:grid}.login-brand{align-items:center;gap:10px;min-width:0;display:inline-flex}.login-brand img{flex:none;width:36px;height:36px}.login-brand span{color:inherit;font-size:29px;font-weight:860;line-height:1}.login-brand--panel{color:var(--text)}.login-header{gap:14px;display:grid}.login-header .eyebrow{color:var(--brand-700);letter-spacing:0;text-transform:uppercase;margin:0 0 7px;font-size:11px;font-weight:840}.login-header h1{color:var(--text);margin:0;font-size:clamp(30px,3.3vw,40px);line-height:1.04}.login-copy{max-width:32ch;color:var(--text-soft);margin:8px 0 0;font-size:14px;line-height:1.55}.login-form{gap:15px;display:grid}.login-field{gap:7px;display:grid}.login-field>span{color:var(--text);font-size:12px;font-weight:780}.login-field small{color:var(--red-700);font-size:11px;font-weight:680}.login-control{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);min-height:50px;transition:border-color var(--transition), box-shadow var(--transition), background var(--transition);grid-template-columns:20px minmax(0,1fr);align-items:center;gap:10px;padding:0 14px;display:grid;box-shadow:0 1px #ffffffbf,0 16px 42px #1622200f}.login-control:focus-within{border-color:var(--brand-500);background:var(--surface);box-shadow:0 0 0 4px var(--brand-500), 0 16px 42px #16222014}.login-field.is-invalid .login-control{border-color:var(--red-500);box-shadow:0 0 0 4px var(--red-500)}.login-control .icon{color:var(--text-muted)}.login-control input{width:100%;min-width:0;color:var(--text);font:inherit;background:0 0;border:0;outline:0;font-size:14px;font-weight:650}.login-control--password{grid-template-columns:20px minmax(0,1fr) 40px;padding-right:8px}.login-password-toggle{border-radius:var(--radius-sm);width:40px;height:40px;color:var(--text-soft);cursor:pointer;transition:background var(--transition), color var(--transition);background:0 0;border:0;place-items:center;display:grid}.login-password-toggle:hover,.login-password-toggle:focus-visible{color:var(--brand-700);background:var(--brand-50);outline:0}.login-submit{border-radius:var(--radius-sm);justify-content:center;gap:9px;width:100%;min-height:48px;margin-top:3px;font-weight:820}.login-submit .icon{transition:transform var(--transition)}.login-submit:not(:disabled):hover .icon{transform:translate(2px)}.login-error{border:1px solid var(--border);border-radius:var(--radius-sm);min-height:44px;color:var(--red-700);background:var(--red-100);align-items:flex-start;gap:9px;margin:0;padding:11px 13px;font-size:12px;line-height:1.35;display:flex}.login-error .icon{flex:none;margin-top:1px}[data-theme=dark] .login-access{background:var(--surface)}[data-theme=dark] .login-page{background:var(--page)}[data-theme=dark] .login-control{background:var(--surface);box-shadow:0 16px 42px #0000002e}@media (width<=980px){.login-page{background:var(--page);grid-template-columns:1fr}.login-visual{background-position:50% 38%;min-height:auto;position:absolute;inset:0}.login-visual:after{background:var(--surface-raised), var(--surface-muted)}.login-access{background:0 0;align-items:center;height:100dvh;padding:30px 22px 40px;overflow-y:auto}.login-access__inner{border:1px solid var(--border);background:var(--surface-muted);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);border-radius:clamp(22px,4vw,28px);width:min(540px,100%);padding:clamp(24px,3.8vw,34px);box-shadow:0 28px 70px #06161438}[data-theme=dark] .login-access__inner{background:var(--surface-muted);border-color:var(--border-strong);box-shadow:0 28px 70px #0000006b}}@media (width<=560px){.login-access{padding:18px 14px 24px}.login-access__inner{border-radius:22px;gap:18px;padding:20px 18px}.login-header{gap:12px}.login-brand img{width:32px;height:32px}.login-brand span{font-size:26px}.login-header h1{font-size:29px}.login-copy{font-size:13px}.login-control,.login-submit{min-height:46px}}body:has(.login-page){padding-bottom:0!important}.treatment-stats-row{flex-wrap:wrap;gap:12px;margin-bottom:8px;padding:0 24px;display:flex}.treatment-stat-card{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface);min-width:120px;box-shadow:var(--shadow-xs);transition:transform var(--transition), box-shadow var(--transition);flex:1;gap:2px;padding:14px 16px;display:grid}.treatment-stat-card:hover{box-shadow:var(--shadow-sm);transform:translateY(-2px)}.treatment-stat-card__value{color:var(--text);font-size:18px;font-weight:800}.treatment-stat-card__label{color:var(--text-muted);font-size:11px;font-weight:600}.treatment-stat-card--brand{border-left:3px solid var(--brand-500)}.treatment-stat-card--success{border-left:3px solid var(--green-500)}.treatment-create-preview{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:14px;display:grid}.treatment-create-preview>div{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface-muted);padding:12px 14px}.treatment-create-preview span,.treatment-create-preview strong{display:block}.treatment-create-preview span{color:var(--text-muted);font-size:10px}.treatment-create-preview strong{color:var(--text);margin-top:4px;font-size:13px}.plan-name-label{font-size:12px}.plan-name-input{border-radius:var(--radius-sm);height:38px}.form-actions-align{justify-content:flex-end;display:flex}.plan-title-col{gap:3px;display:grid}.plan-title-text{color:var(--text);font-size:13px}.plan-procedures-count{color:var(--text-muted);font-size:11px}.patient-name-cell{color:var(--text);font-size:13px;font-weight:500}.progress-col{gap:4px;min-width:90px;display:grid}.progress-track{background:var(--ink-100);height:6px}.progress-bar-custom{background:var(--brand-600)}.progress-text{font-size:10px}.total-cell{color:var(--text);font-size:13px}.empty-icon-wrap{color:var(--text-muted);font-size:32px}.empty-title{font-size:14px}@media (width<=980px){.treatment-create-preview{grid-template-columns:1fr}}@media (width<=560px){.treatment-stats-row{padding:0 12px}.treatment-stat-card{flex:calc(50% - 6px)}}@media (width>=1280px){.treatment-create-preview>div{min-height:92px}.treatment-list-panel .compact-empty{place-content:center;min-height:360px;display:grid}}@media (width<=720px){.form-actions-align{justify-content:stretch}.form-actions-align .btn{width:100%}.plan-title-text,.patient-name-cell{white-space:normal}}.treatment-admin-layout--list-only{grid-template-columns:minmax(0,1fr)}.treatment-admin-layout--list-only .treatment-list-panel{min-width:0}.treatment-admin-layout--list-only .form-actions-align{justify-content:center}.report-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;display:grid}.report-card{min-height:160px;box-shadow:var(--shadow-sm);transition:transform var(--transition), box-shadow var(--transition);flex-direction:column;justify-content:space-between;display:flex;position:relative}.report-card:hover{box-shadow:var(--shadow-md);transform:translateY(-2px)}.report-card .card__body{flex-direction:column;justify-content:space-between;width:100%;height:100%;display:flex}.report-header-green{border-left:3px solid var(--green-600);padding-left:10px}.report-header-red{border-left:3px solid var(--red-600);padding-left:10px}.report-header-amber{border-left:3px solid var(--amber-600);padding-left:10px}.report-card h3{color:var(--text);margin:0;font-size:14px;font-weight:800}.report-card p{color:var(--text-muted);margin-top:2px;margin-bottom:0;font-size:11px}.big-number{color:var(--text);margin-top:14px;font-size:24px;font-weight:800;display:block}.mini-bars{opacity:.85;align-items:flex-end;gap:4px;height:30px;margin-top:10px;display:flex}.mini-bars i{border-radius:var(--radius-xs);width:6px;display:block}.mini-bars--green i{background:var(--green-500)}.mini-bars--red i{background:var(--red-500)}.badge-align-self{align-self:flex-start;margin-top:10px}.detail-list{gap:8px;display:grid}.detail-row{background:var(--surface-muted);border:1px solid var(--border);border-radius:var(--radius-sm);justify-content:space-between;align-items:center;padding:12px;display:flex}.detail-row-info{color:var(--text);font-size:12px}.detail-row-info strong{font-weight:700}.detail-row-info small{color:var(--text-muted);margin-top:2px;font-size:10px;display:inline-block}.detail-row-value{font-size:13px;font-weight:700}.detail-row-value--amber{color:var(--amber-700)}.detail-row-value--red{color:var(--red-700)}@media (width<=860px){.report-grid{grid-template-columns:1fr}}.treatment-flow-page{align-items:start}.treatment-flow-stack{min-width:0}.treatment-plan-manager,.treatment-entry-card,.treatment-plan-card--focus{overflow:visible}.treatment-plan-manager__header,.treatment-entry-card__header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:flex-start;gap:14px;padding:16px 18px 12px;display:flex}.treatment-plan-tabs{grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:10px;padding:14px 18px 0;display:grid}.treatment-plan-tab{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);text-align:left;transition:border-color var(--transition), background var(--transition), transform var(--transition);gap:4px;padding:11px 13px;display:grid}.treatment-plan-tab strong{color:var(--text);font-size:13px}.treatment-plan-tab small{color:var(--text-muted);font-size:10px}.treatment-plan-tab:hover,.treatment-plan-tab.active{border-color:var(--border);background:var(--brand-50);transform:translateY(-1px)}.treatment-plan-editor{grid-template-columns:minmax(220px,1.1fr) minmax(0,1fr);gap:14px;padding:14px 18px 18px;display:grid}.treatment-plan-editor__meta{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;display:grid}.treatment-plan-editor__meta>div{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface-muted);padding:11px 13px}.treatment-plan-editor__meta span,.treatment-plan-editor__meta strong{display:block}.treatment-plan-editor__meta span{color:var(--text-muted);font-size:10px}.treatment-plan-editor__meta strong{color:var(--text);margin-top:4px;font-size:12px}.treatment-plan-editor__actions{grid-column:1/-1;justify-content:flex-end}.treatment-entry-card__actions{justify-content:flex-end;padding:0 18px 18px}.treatment-plan-card__title{gap:4px;min-width:0;display:grid}.treatment-plan-card__title-row{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.treatment-plan-card__title-row h2{margin:0;font-size:15px}.treatment-plan-card__title p{color:var(--text-muted);margin:0;font-size:12px}.treatment-procedures{gap:10px;padding:16px 18px 18px;display:grid}.treatment-procedure-row,.treatment-procedure-editor{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface)}.treatment-procedure-row{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:14px;padding:12px 14px;display:grid}.treatment-procedure-row__main{align-items:center;gap:12px;min-width:0;display:flex}.treatment-procedure-row__aside{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:12px;display:flex}.treatment-procedure__tooth{border-radius:var(--radius-md);background:var(--surface-muted);width:34px;height:34px;color:var(--text);flex:none;place-items:center;font-size:12px;font-weight:800;display:grid}.treatment-procedure__info{gap:2px;min-width:0;display:grid}.treatment-procedure__info strong{color:var(--text);font-size:13px}.treatment-procedure__info small,.treatment-procedure__pct{color:var(--text-muted);font-size:11px}.treatment-procedure__progress{grid-template-columns:auto minmax(96px,1fr) auto;align-items:center;gap:8px;min-width:220px;display:grid}.treatment-procedure__price{color:var(--text);white-space:nowrap;font-size:13px;font-weight:800}.treatment-procedure__edit{white-space:nowrap}.treatment-procedure-editor{background:var(--brand-50);gap:14px;padding:14px;display:grid}.treatment-procedure-editor__grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.treatment-procedure-editor__progress{align-items:center;gap:10px;display:flex}.treatment-procedure-editor__progress input[type=range]{accent-color:var(--brand-600);flex:1}.treatment-procedure-editor__actions{justify-content:flex-end;gap:8px;display:flex}.treatment-odontogram-card{overflow:hidden}.treatment-secondary-grid{grid-template-columns:minmax(0,1fr) minmax(320px,.9fr);gap:18px;display:grid}.patient-history--compact{padding:0}.patient-history--compact:before{display:none}.patient-history--compact .patient-history-item{grid-template-columns:32px minmax(0,1fr);gap:10px;padding:10px 0}.patient-history--compact .patient-history-item__icon{border-width:3px;width:32px;height:32px}.odontogram-readonly-banner{margin:0 18px 14px}@media (width<=1280px){.treatment-plan-editor,.treatment-secondary-grid,.treatment-plan-editor__meta{grid-template-columns:1fr}}@media (width<=900px){.treatment-procedure-row{grid-template-columns:1fr}.treatment-procedure-row__aside,.treatment-plan-editor__actions,.treatment-entry-card__actions{justify-content:flex-start}.treatment-procedure__progress{min-width:0}}@media (width<=720px){.treatment-plan-manager__header,.treatment-entry-card__header{flex-direction:column}.treatment-plan-tabs,.treatment-entry-grid,.treatment-procedure-editor__grid,.treatment-procedure__progress{grid-template-columns:1fr}.treatment-procedure-row__aside{align-items:stretch}}.workspace-switch{border:1px solid var(--border);background:var(--surface);box-shadow:var(--shadow-xs);border-radius:14px;gap:6px;padding:6px;display:inline-flex}.workspace-switch__item{min-height:38px;color:var(--text-muted);font:inherit;background:0 0;border:0;border-radius:10px;align-items:center;gap:8px;padding:0 14px;font-weight:700;display:inline-flex}.workspace-switch__item.active{color:var(--text);background:var(--brand-50);box-shadow:inset 0 0 0 1px var(--border)}.treatment-page{gap:18px;display:grid}.treatment-editor-shell__title{gap:8px;min-width:0;display:grid}.treatment-editor-shell__title-row{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.treatment-editor-shell__title-row h2{margin:0;font-size:clamp(20px,2.2vw,28px);line-height:1.05}.treatment-editor-shell__meta{flex-wrap:wrap;gap:8px;display:flex}.treatment-editor-shell__meta span{border:1px solid var(--border);background:var(--surface-muted);color:var(--text-soft);border-radius:999px;padding:8px 11px;font-size:11px;font-weight:650}.treatment-editor-shell,.treatment-history-board{gap:16px;display:grid}.treatment-editor-shell__header,.treatment-history-board__header{justify-content:space-between;align-items:flex-start;gap:16px;padding:16px 18px 0;display:flex}.treatment-editor-shell__header h2,.treatment-history-board__header h2{margin:6px 0 4px}.treatment-editor-shell__header p{color:var(--text-muted);margin:0}.treatment-editor-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;padding:0 18px 18px;display:grid}.treatment-editor-grid--compact textarea{min-height:110px}.treatment-editor-grid__notes,.treatment-editor-grid__actions,.treatment-editor-grid__hint{grid-column:1/-1}.treatment-editor-grid__hint{border:1px dashed var(--border);color:var(--text-muted);background:var(--surface-muted);border-radius:14px;align-items:center;gap:10px;padding:12px 14px;font-size:12px;display:flex}.treatment-editor-metrics{grid-column:1/-1;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;display:grid}.treatment-editor-metrics>div,.treatment-history-card__metrics>div{border:1px solid var(--border);background:var(--surface-muted);border-radius:12px;gap:4px;padding:12px 14px;display:grid}.treatment-editor-metrics span,.treatment-history-card__metrics span{color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em;font-size:10px;font-weight:800}.treatment-editor-metrics strong,.treatment-history-card__metrics strong{color:var(--text);font-size:13px}.treatment-odontogram-card--wide{overflow:hidden}.treatment-history-grid{grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:14px;padding:0 18px 18px;display:grid}.treatment-history-card{border:1px solid var(--border);background:var(--surface);border-radius:16px;gap:14px;padding:16px;display:grid}.treatment-history-card__top,.treatment-history-card__actions{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.treatment-history-card__top h3,.treatment-history-card__top p,.treatment-history-card__notes{margin:0}.treatment-history-card__top p,.treatment-history-card__notes{color:var(--text-muted)}.treatment-history-card__metrics{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.treatment-support-grid{grid-template-columns:minmax(0,1fr) minmax(320px,.92fr);gap:18px;display:grid}.treatment-evolution-card{height:100%}[data-theme=dark] .workspace-switch,[data-theme=dark] .treatment-history-card,[data-theme=dark] .treatment-editor-grid__hint,[data-theme=dark] .treatment-editor-metrics>div,[data-theme=dark] .treatment-history-card__metrics>div,[data-theme=dark] .treatment-editor-shell__meta span{border-color:var(--border-strong);background:var(--surface-muted)}@media (width<=1100px){.treatment-editor-shell__header{flex-direction:column}.treatment-editor-grid,.treatment-editor-metrics,.treatment-support-grid{grid-template-columns:1fr}}@media (width<=720px){.workspace-switch{grid-template-columns:1fr 1fr;display:grid}.treatment-editor-shell__meta{scrollbar-width:none;flex-wrap:nowrap;padding-bottom:2px;display:flex;overflow-x:auto}.treatment-editor-shell__meta::-webkit-scrollbar{display:none}.treatment-editor-shell__meta span{flex:none}.treatment-history-grid,.treatment-history-card__metrics,.treatment-editor-grid,.treatment-support-grid{grid-template-columns:1fr}}.treatment-editor-shell__header--compact{align-items:center;padding-bottom:0}.treatment-editor-shell__meta--header{flex:auto;min-width:0}.treatment-editor-shell__pill--title{text-overflow:ellipsis;white-space:nowrap;max-width:min(100%,420px);color:var(--text);background:var(--brand-50);font-weight:800;overflow:hidden}.treatment-plan-card__header--compact{justify-content:space-between;align-items:center;gap:14px;padding:16px 18px 10px;display:flex}.treatment-plan-card__title-row--compact{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.treatment-plan-card__meta-pill{border:1px solid var(--border);background:var(--surface-muted);min-height:30px;color:var(--text-soft);border-radius:999px;align-items:center;padding:0 10px;font-size:11px;font-weight:700;display:inline-flex}.treatment-plan-card__stats{text-align:right;gap:2px;display:grid}.treatment-plan-card__stats span{color:var(--text-muted);font-size:11px}.treatment-plan-card__stats strong{color:var(--text);font-size:17px}.treatment-plan-card__progress{padding:0 18px 16px}.treatment-plan-card__progress .progress{width:100%}.treatment-odontogram-card--wide,.treatment-plan-card--focus,.treatment-support-grid,.treatment-entry-card,.treatment-evolution-card{width:100%;max-width:100%}.treatment-support-grid{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start}@media (width<=1380px){.treatment-support-grid{grid-template-columns:1fr}}@media (width<=980px){.treatment-editor-shell__header--compact,.treatment-plan-card__header--compact{flex-direction:column;align-items:flex-start}.treatment-plan-card__stats{text-align:left}}.treatment-entry-grid{grid-template-columns:repeat(2,minmax(0,1fr))}@media (width<=720px){.treatment-entry-grid{grid-template-columns:1fr}}.workspace-switch--sub{justify-self:start}.treatment-editor-card{overflow:hidden}.treatment-editor-toolbar{justify-content:space-between;align-items:center;gap:16px;display:flex}.treatment-plan-editor-body,.treatment-odontogram-shell,.treatment-evolution-shell{gap:18px;display:grid}.treatment-form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.treatment-form-grid__notes{grid-column:1/-1}.treatment-inline-metrics{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;display:grid}.treatment-inline-metrics>div{border:1px solid var(--border);background:var(--surface-muted);border-radius:12px;gap:4px;padding:12px 14px;display:grid}.treatment-inline-metrics span{color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em;font-size:10px;font-weight:800}.treatment-inline-metrics strong{color:var(--text);font-size:13px}.treatment-section-divider{background:var(--border);height:1px}.treatment-entry-form,.treatment-evolution-form-grid{gap:14px;display:grid}.treatment-entry-form{padding-top:4px}.treatment-entry-form__head,.treatment-entry-form__actions{flex-wrap:wrap;justify-content:flex-end;gap:8px;display:flex}.treatment-edit-grid{border:1px solid var(--border);background:var(--surface);border-radius:14px;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;padding:14px;display:grid}.treatment-odontogram-shell{padding-top:0}.treatment-evolution-toolbar{justify-content:space-between;align-items:center;gap:16px;display:flex}.treatment-search-box,.treatment-evolution-search{flex:320px}.treatment-evolution-form-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.treatment-evolution-form-grid__note,.treatment-evolution-form-grid__actions{grid-column:1/-1}.treatment-history-table-shell,.treatment-odontogram-shell{padding-top:0}@media (width<=1180px){.treatment-inline-metrics{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (width<=980px){.treatment-editor-toolbar,.treatment-evolution-toolbar{flex-direction:column;align-items:stretch}.treatment-evolution-search{flex:none;width:100%}.treatment-form-grid,.treatment-edit-grid,.treatment-evolution-form-grid{grid-template-columns:1fr}.treatment-inline-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=720px){.workspace-switch--sub{width:100%}.treatment-inline-metrics{grid-template-columns:1fr}.treatment-entry-form__head,.treatment-entry-form__actions{justify-content:stretch}.treatment-entry-form__actions .btn,.treatment-entry-form__head .btn{width:100%}}@media (width<=640px){.workspace-switch{grid-template-columns:repeat(2,minmax(0,1fr));width:100%}.workspace-switch--sub{width:100%;display:flex;overflow:auto hidden}.workspace-switch__item{white-space:nowrap;justify-content:center;min-width:0;padding-inline:10px;font-size:12px}.workspace-switch__item .icon{display:none}.treatment-editor-toolbar .page-toolbar-inline__actions,.treatment-evolution-toolbar .page-toolbar-inline__actions{width:100%}.treatment-editor-toolbar .page-toolbar-inline__actions .btn,.treatment-evolution-toolbar .page-toolbar-inline__actions .btn{flex:100%}}.treatment-procedures-toolbar{justify-content:space-between;align-items:center;gap:16px;padding:16px 0 12px;display:flex}.treatment-procedures-toolbar>div{gap:3px;display:grid}.treatment-procedures-toolbar strong{font-size:1rem}.treatment-procedure-modal{z-index:1000;background:#03080cad;place-items:center;padding:24px;display:grid;position:fixed;inset:0}.treatment-procedure-modal__dialog{border:1px solid var(--border-strong);background:var(--surface);border-radius:18px;width:min(720px,100%);max-height:min(780px,100vh - 48px);padding:22px;overflow:auto;box-shadow:0 24px 80px #00000059}.treatment-procedure-modal__header{justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:18px;display:flex}.treatment-procedure-modal__header h2{margin:5px 0 0}.treatment-procedure-modal__close{border:1px solid var(--border);background:var(--surface-muted);width:34px;height:34px;color:var(--text);cursor:pointer;border-radius:10px;font-size:1.35rem;line-height:1}.treatment-procedure-modal .treatment-entry-form{padding-top:0}@media (width<=720px){.treatment-procedures-toolbar{flex-direction:column;align-items:stretch}.treatment-procedures-toolbar .btn{width:100%}.treatment-procedure-modal{align-items:end;padding:10px}.treatment-procedure-modal__dialog{border-radius:16px;max-height:calc(100vh - 20px);padding:18px}}.treatment-schedule-panel{border:1px solid var(--border);background:var(--surface-muted);border-radius:16px;padding:16px}.treatment-schedule-panel__header{justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:16px;display:flex}.treatment-schedule-panel__header>div{gap:4px;display:grid}.treatment-schedule-panel__header strong{font-size:1rem}.treatment-schedule-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;display:grid}.treatment-schedule-check{align-content:start;gap:8px;display:grid}.checkbox-field{min-height:42px;color:var(--text);align-items:center;gap:8px;font-size:12px;font-weight:700;display:flex}.treatment-schedule-preview{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:16px;display:grid}.treatment-schedule-preview>div{border:1px solid var(--border);background:var(--surface);border-radius:12px;min-width:0;padding:12px}.treatment-schedule-preview ul{gap:7px;margin:10px 0 0;padding:0;list-style:none;display:grid}.treatment-schedule-preview li{justify-content:space-between;gap:12px;font-size:12px;display:flex}.treatment-schedule-preview li span{color:var(--text-muted);text-align:right}@media (width<=980px){.treatment-schedule-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=720px){.treatment-schedule-panel__header,.treatment-schedule-preview{flex-direction:column;grid-template-columns:1fr}.treatment-schedule-grid{grid-template-columns:1fr}.treatment-schedule-panel__header .btn{width:100%}.treatment-schedule-preview li{flex-direction:column;align-items:flex-start;gap:2px}.treatment-schedule-preview li span{text-align:left}}.treatment-section-mobile{display:none}.treatment-section-nav{border:1px solid var(--border);background:var(--surface);box-shadow:var(--shadow-xs);border-radius:14px;grid-template-columns:repeat(6,minmax(0,1fr));gap:5px;padding:5px;display:grid}.treatment-section-nav button{min-width:0;min-height:44px;color:var(--text-muted);font:inherit;cursor:pointer;background:0 0;border:1px solid #0000;border-radius:10px;justify-content:center;align-items:center;gap:8px;padding:0 12px;font-size:12px;font-weight:760;transition:background .16s,border-color .16s,color .16s;display:inline-flex}.treatment-section-nav button:hover:not(:disabled){background:var(--surface-muted);color:var(--text)}.treatment-section-nav button.active{border-color:color-mix(in srgb, var(--brand-500) 54%, var(--border));background:color-mix(in srgb, var(--brand-100) 58%, transparent);color:var(--brand-700)}.treatment-section-nav button:disabled{cursor:not-allowed;opacity:.46}.treatment-editor-heading,.treatment-history-heading{align-items:center;gap:10px;min-width:0;display:flex}.treatment-editor-heading h2,.treatment-history-heading h2{margin:0;font-size:clamp(18px,1.8vw,23px);line-height:1.12}.treatment-history-heading{flex-wrap:wrap}.treatment-history-heading .workspace-switch{box-shadow:none;border-radius:10px;padding:3px}.treatment-history-heading .workspace-switch__item{border-radius:8px;min-height:32px;padding-inline:11px;font-size:11px}.treatment-context-actions{flex:none}.treatment-save-state{border:1px solid color-mix(in srgb, var(--green-500) 36%, var(--border));background:color-mix(in srgb, var(--green-500) 9%, var(--surface));min-height:34px;color:var(--green-600);white-space:nowrap;border-radius:10px;align-items:center;gap:7px;padding:0 11px;font-size:11px;font-weight:760;display:inline-flex}.treatment-save-state--pending{border-color:color-mix(in srgb, var(--amber-500) 42%, var(--border));background:var(--amber-100);color:var(--amber-700)}.treatment-plan-overview{grid-template-columns:minmax(220px,1.45fr) repeat(3,minmax(120px,1fr));gap:10px;display:grid}.treatment-plan-overview>div{border:1px solid var(--border);background:var(--surface-muted);border-radius:13px;align-content:center;gap:5px;min-width:0;min-height:78px;padding:12px 14px;display:grid}.treatment-plan-overview span{color:var(--text-muted);letter-spacing:.04em;text-transform:uppercase;font-size:10px;font-weight:800}.treatment-plan-overview strong{color:var(--text);font-size:16px}.treatment-plan-overview__total{border-color:color-mix(in srgb, var(--brand-500) 45%, var(--border))!important;background:color-mix(in srgb, var(--brand-100) 48%, var(--surface))!important}.treatment-plan-overview__total strong{letter-spacing:-.025em;font-size:clamp(21px,2vw,27px)}.treatment-procedure-section,.treatment-plan-settings{border:1px solid var(--border);background:var(--surface);border-radius:14px;overflow:hidden}.treatment-procedure-section .treatment-procedures-toolbar{border-bottom:1px solid var(--border);padding:13px 14px}.treatment-procedures-toolbar h3{margin:0;font-size:16px}.treatment-procedure-table-wrap{border:0;border-radius:0}.treatment-procedure-table-wrap .data-table{border:0}.treatment-procedure-empty{border:0;border-radius:0;min-height:140px}.treatment-plan-settings summary{cursor:pointer;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px;min-height:58px;padding:11px 42px 11px 14px;list-style:none;display:grid;position:relative}.treatment-plan-settings summary::-webkit-details-marker{display:none}.treatment-plan-settings summary:after{content:"›";color:var(--text-muted);font-size:22px;transition:transform .16s;position:absolute;top:50%;right:16px;transform:translateY(-50%)rotate(90deg)}.treatment-plan-settings[open] summary:after{transform:translateY(-50%)rotate(-90deg)}.treatment-plan-settings summary span{color:var(--text);font-size:13px;font-weight:800}.treatment-plan-settings summary small{color:var(--text-muted);text-overflow:ellipsis;white-space:nowrap;font-size:11px;font-weight:650;overflow:hidden}.treatment-plan-settings__body{border-top:1px solid var(--border);background:var(--surface-muted);padding:14px}.treatment-schedule-sections{grid-template-columns:minmax(0,1.45fr) minmax(280px,.72fr);gap:14px;display:grid}.treatment-schedule-group{border:1px solid var(--border);background:var(--surface);border-radius:13px;min-width:0;margin:0;padding:14px}.treatment-schedule-group legend{color:var(--text);padding-inline:6px;font-size:13px;font-weight:820}.treatment-schedule-group .treatment-schedule-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.treatment-schedule-group .treatment-schedule-grid--payments{grid-template-columns:1fr}@media (width<=1100px){.treatment-plan-overview{grid-template-columns:repeat(3,minmax(0,1fr))}.treatment-plan-overview__total{grid-column:1/-1}.treatment-schedule-sections{grid-template-columns:1fr}}@media (width<=720px){.treatment-page{gap:10px}.treatment-section-mobile{display:block}.treatment-section-nav{display:none}.treatment-editor-toolbar--context{gap:10px;padding:12px 14px}.treatment-editor-heading{justify-content:space-between;width:100%}.treatment-context-actions{gap:8px;width:100%;display:flex}.treatment-editor-toolbar .treatment-context-actions .btn{flex:0 auto;width:auto;min-width:0}.treatment-save-state{margin-left:auto}.treatment-plan-editor-body{gap:12px;padding:12px}.treatment-plan-overview{grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}.treatment-plan-overview>div{text-align:center;min-height:66px;padding:9px}.treatment-plan-overview__total{grid-column:1/-1;text-align:left!important;min-height:74px!important}.treatment-plan-overview span{font-size:8.5px}.treatment-plan-overview strong{font-size:13px}.treatment-plan-overview__total strong{font-size:23px}.treatment-plan-settings summary{grid-template-columns:1fr;gap:3px;padding-block:10px}.treatment-plan-settings summary small{max-width:100%}.treatment-history-heading{flex-direction:column;align-items:flex-start;width:100%}.treatment-history-heading .workspace-switch{width:100%}.treatment-history-heading .workspace-switch__item{flex:50%}.treatment-schedule-panel{padding:12px}.treatment-schedule-sections,.treatment-schedule-group .treatment-schedule-grid,.treatment-schedule-group .treatment-schedule-grid--payments{grid-template-columns:1fr}.treatment-schedule-group{padding:11px}.treatment-procedure-table-wrap,.treatment-history-table-shell .table-wrap,.treatment-evolution-shell .table-wrap{border:0;overflow:visible}.treatment-procedure-table,.treatment-history-table-shell .data-table,.treatment-evolution-shell .data-table{background:0 0;border:0;min-width:0;display:block}.treatment-procedure-table thead,.treatment-history-table-shell .data-table thead,.treatment-evolution-shell .data-table thead{display:none}.treatment-procedure-table tbody,.treatment-history-table-shell .data-table tbody,.treatment-evolution-shell .data-table tbody{gap:10px;display:grid}.treatment-procedure-table tbody tr,.treatment-history-table-shell .data-table tbody tr,.treatment-evolution-shell .data-table tbody tr{border:1px solid var(--border);background:var(--surface);border-radius:12px;gap:0;padding:10px 12px;display:grid}.treatment-procedure-table tbody td,.treatment-history-table-shell .data-table tbody td,.treatment-evolution-shell .data-table tbody td{min-height:34px;color:var(--text);text-align:right;white-space:normal;border:0;justify-content:space-between;align-items:center;gap:14px;padding:7px 0;display:flex}.treatment-procedure-table tbody td+td,.treatment-history-table-shell .data-table tbody td+td,.treatment-evolution-shell .data-table tbody td+td{border-top:1px solid var(--border)}.treatment-procedure-table tbody td:before,.treatment-history-table-shell .data-table tbody td:before,.treatment-evolution-shell .data-table tbody td:before{content:attr(data-label);color:var(--text-muted);letter-spacing:.03em;text-align:left;text-transform:uppercase;flex:none;font-size:10px;font-weight:800}.treatment-procedure-table tbody td[colspan],.treatment-history-table-shell .data-table tbody td[colspan],.treatment-evolution-shell .data-table tbody td[colspan]{text-align:center;padding:0;display:block}.treatment-procedure-table tbody td[colspan]:before,.treatment-history-table-shell .data-table tbody td[colspan]:before,.treatment-evolution-shell .data-table tbody td[colspan]:before{display:none}.treatment-procedure-table .table-actions-inline,.treatment-history-table-shell .table-actions-inline,.treatment-evolution-shell .table-actions-inline{justify-content:flex-end}.treatment-evolution-shell .treatment-inline-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}}.prescription-page{gap:18px;display:grid}.prescription-workbench{grid-template-columns:minmax(320px,430px) minmax(0,1fr);align-items:start;gap:18px;display:grid}.prescription-compose,.prescription-preview-card{gap:16px;display:grid}.prescription-compose__header,.prescription-preview-card__header{justify-content:space-between;align-items:flex-start;gap:14px;display:flex}.prescription-compose__header h2,.prescription-preview-card__header h2{margin:6px 0 4px}.prescription-compose__header p{color:var(--text-muted);margin:0}.prescription-signature-callout{border-radius:var(--radius-lg);border:1px solid var(--border);background:var(--surface-muted);justify-content:space-between;align-items:center;gap:16px;padding:14px 16px;display:flex}.prescription-signature-callout strong,.prescription-signature-callout span{display:block}.prescription-signature-callout span{color:var(--text-muted);margin-top:4px}.prescription-signature-callout.is-ready{background:var(--surface)}.prescription-signature-callout.is-missing{background:var(--amber-100)}.prescription-meta-grid{grid-template-columns:minmax(0,1fr);gap:12px;display:grid}.prescription-meta-panel{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface-muted);gap:4px;padding:14px;display:grid}.prescription-meta-panel span,.prescription-meta-panel small{color:var(--text-muted);font-size:11px}.prescription-meta-panel strong{color:var(--text);font-size:13px}.prescription-template-row{gap:10px;display:grid}.prescription-template-row>span{color:var(--text-muted);font-size:.84rem;font-weight:700}.prescription-template-row>div{flex-wrap:wrap;gap:10px;display:flex}.prescription-chip{border:1px solid var(--border);background:var(--surface);color:var(--text);border-radius:var(--radius-pill);font:inherit;cursor:pointer;transition:transform var(--transition), border-color var(--transition), background var(--transition);align-items:center;gap:7px;padding:.62rem .88rem;display:inline-flex}.prescription-chip.is-active{border-color:var(--brand-500);background:var(--brand-100);color:var(--brand-700)}.prescription-chip:hover{border-color:var(--border);background:var(--surface);transform:translateY(-1px)}.prescription-compose__actions{flex-wrap:wrap;justify-content:flex-end;gap:10px;display:flex}.prescription-error{color:var(--red-500);margin:0;font-weight:600}.prescription-preview-card__meta{justify-content:flex-end}.prescription-history-strip{scrollbar-width:thin;gap:10px;padding-bottom:2px;display:flex;overflow-x:auto}.prescription-history-strip__item{text-align:left;border-radius:var(--radius-lg);border:1px solid var(--border);background:var(--surface);cursor:pointer;min-width:220px;transition:border-color var(--transition), background var(--transition);gap:4px;padding:12px 14px;display:grid}.prescription-history-strip__item strong{font-size:.95rem}.prescription-history-strip__item span,.prescription-history-strip__empty span{color:var(--text-muted);font-size:.84rem}.prescription-history-strip__item.is-active{border-color:var(--border);background:var(--surface)}.prescription-history-strip__empty{border-radius:var(--radius-lg);border:1px dashed var(--border);align-items:center;gap:10px;padding:16px;display:flex}.prescription-preview-frame-shell{border-radius:var(--radius-xl);background:var(--canvas);border:1px solid var(--border);padding:14px}.prescription-preview-frame{border-radius:var(--radius-lg);background:#fff;border:none;width:100%;min-height:700px}.table-subcopy--danger{color:var(--red-600);margin-top:4px}.prescription-correction-banner{border:1px solid color-mix(in srgb, var(--brand-500) 28%, var(--border));border-radius:var(--radius-md);background:color-mix(in srgb, var(--brand-500) 8%, var(--surface));color:var(--text);grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:10px;padding:10px 12px;display:grid}.prescription-correction-banner div{gap:2px;min-width:0;display:grid}.prescription-correction-banner strong,.prescription-correction-banner span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.prescription-correction-banner span{color:var(--text-muted);font-size:.78rem}.prescription-freeform{gap:12px;max-width:900px;display:grid}.prescription-template-picker{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface-muted);grid-template-columns:minmax(0,420px);padding:12px;display:grid}.prescription-annul-form{gap:12px;display:grid}.prescription-modal-actions{justify-content:flex-end;gap:8px;width:100%;display:flex}@media (width<=600px){.prescription-template-picker{grid-template-columns:1fr}.prescription-correction-banner{grid-template-columns:auto minmax(0,1fr)}.prescription-correction-banner .btn{grid-column:1/-1;width:100%}.prescription-modal-actions{grid-template-columns:1fr 1fr;display:grid}}@media (width<=1180px){.prescription-workbench{grid-template-columns:1fr}}@media (width<=720px){.prescription-compose__header,.prescription-preview-card__header,.prescription-signature-callout{grid-template-columns:1fr;display:grid}.prescription-compose__actions{flex-direction:column-reverse}.prescription-compose__actions .btn{width:100%}.prescription-preview-frame{min-height:620px}}.prescription-workbench--editor{grid-template-columns:minmax(0,1.05fr) minmax(360px,.95fr)}.prescription-compose--wide{padding:18px}.prescription-history-board{gap:16px;display:grid}.prescription-history-board__header{justify-content:space-between;align-items:flex-start;gap:16px;padding:16px 18px 0;display:flex}.prescription-history-grid{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:14px;padding:0 18px 18px;display:grid}.prescription-history-card{border:1px solid var(--border);background:var(--surface);border-radius:16px;gap:12px;padding:16px;display:grid}.prescription-history-card h3,.prescription-history-card p{margin:0}.prescription-history-card p{color:var(--text-muted)}.prescription-history-card__meta,.prescription-history-card__actions{flex-wrap:wrap;gap:8px;display:flex}.prescription-history-card__meta span{border:1px solid var(--border);background:var(--surface-muted);min-height:28px;color:var(--text-muted);border-radius:999px;align-items:center;padding:4px 10px;font-size:11px;display:inline-flex}[data-theme=dark] .prescription-history-card,[data-theme=dark] .prescription-history-card__meta span{border-color:var(--border-strong);background:var(--surface-muted)}@media (width<=1180px){.prescription-workbench--editor{grid-template-columns:1fr}}.prescription-editor-card .card__body{padding-top:16px}.prescription-editor-body{gap:16px;display:grid}.prescription-workbench--clean{gap:16px}.prescription-preview-card--inline{box-shadow:none;background:0 0;border:0;padding:0}.prescription-history-board.patient-table-card{overflow:hidden}.prescription-history-toolbar{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:12px;padding:16px 18px;display:flex}.prescription-history-search{flex:420px;max-width:620px}.prescription-history-toolbar .patient-filter-tabs{flex:none}@media (width<=720px){.prescription-history-toolbar{flex-direction:column;align-items:stretch;padding:12px}.prescription-history-search,.prescription-history-toolbar .patient-filter-tabs{width:100%;max-width:none}.prescription-editor-card .treatment-editor-toolbar{align-items:stretch}.prescription-editor-card .page-toolbar-inline__actions,.prescription-history-board .page-toolbar-inline__actions{width:100%}.prescription-editor-card .page-toolbar-inline__actions .btn,.prescription-history-board .page-toolbar-inline__actions .btn{flex:auto;justify-content:center}}.prescription-preview-card__actions{align-items:center;gap:8px;display:flex}.prescription-preview-toggle{display:none}@media (width<=720px){.prescription-page .workspace-switch__item{min-height:44px}.prescription-preview-card__header{align-items:center}.prescription-preview-card__header h2{margin:0}.prescription-preview-toggle{border:1px solid var(--border);background:var(--surface-muted);min-height:40px;color:var(--text);font:inherit;cursor:pointer;border-radius:10px;justify-content:center;align-items:center;padding:7px 12px;font-size:12px;font-weight:750;display:inline-flex}.prescription-preview-frame-shell--collapsed{display:none}.prescription-preview-frame-shell{padding:10px}}.settings-title{color:var(--text);margin-bottom:8px;font-size:15px;font-weight:700}.settings-description{color:var(--text-muted);margin-bottom:14px;font-size:12.5px}.info-summary-line{justify-content:space-between;align-items:center;font-size:12.5px;display:flex}.actions-wrap{gap:10px;display:flex}.info-cards-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.info-card{background:var(--surface-muted);border:1px solid var(--border);border-radius:var(--radius-sm);flex-direction:column;gap:4px;padding:12px 14px;display:flex}.info-card span{text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted);font-size:9px;font-weight:700}.info-card strong{color:var(--text);font-size:13px}.reminder-form{flex-direction:column;gap:16px;display:flex}.form-row{flex-direction:column;gap:6px;display:flex}.form-label{color:var(--text);font-size:13px;font-weight:600}.form-hint{color:var(--text-muted);font-size:11px}.form-control{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);color:var(--text);padding:8px 12px;font-size:13px}.checkbox-group{gap:16px;display:flex}.checkbox-label{cursor:pointer;color:var(--text);align-items:center;gap:6px;font-size:13px;display:flex}.info-box{background:var(--amber-100);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--amber-700);gap:10px;padding:12px;font-size:12px;display:flex}.info-box p{margin:0}.form-actions{justify-content:flex-end;display:flex}.settings-tabs{flex-wrap:wrap;width:100%;display:flex}.settings-panel{gap:20px;padding:22px;display:grid}.settings-panel__header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:14px;display:flex}.settings-panel__title{margin:2px 0 0;font-size:1rem}.settings-panel__actions{border-top:1px solid var(--border-subtle);padding-top:4px}.settings-form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px 16px;display:grid}.settings-form-grid__full{grid-column:1/-1}.settings-stack{gap:14px;display:grid}.settings-inline-options{flex-wrap:wrap;align-items:center;gap:16px;display:flex}.settings-inline-options label{color:var(--text);align-items:center;gap:8px;font-size:13px;display:inline-flex}.settings-signature-box{border:1px solid var(--border);background:var(--surface-muted);border-radius:14px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;padding:16px;display:flex}.settings-signature-box__image{object-fit:contain;background:var(--surface);border:1px solid var(--border-subtle);border-radius:12px;max-width:220px;max-height:78px;padding:8px}.settings-toggle-row{border-top:1px solid var(--border-subtle);padding-top:14px}.settings-split-panels{flex-wrap:wrap;gap:16px;display:flex}.settings-subpanel{flex:280px;padding:16px}.settings-subpanel--stack{gap:10px;display:grid}.settings-subpanel__actions{flex-wrap:wrap;gap:10px;display:flex}.how-it-works{border-top:1px solid var(--border);padding-top:16px}.how-title{color:var(--text);margin-bottom:12px;font-size:13px;font-weight:600}.steps-grid{grid-template-columns:repeat(4,1fr);gap:10px;display:grid}.step-card{text-align:center;background:var(--surface-muted);border-radius:var(--radius-sm);padding:12px 8px}.step-num{background:var(--brand-500);color:#fff;border-radius:50%;justify-content:center;align-items:center;width:24px;height:24px;margin-bottom:6px;font-size:12px;font-weight:700;display:inline-flex}.step-card p{color:var(--text-muted);margin:0;font-size:11px;line-height:1.3}.pending-reminders__header{border-top:1px solid var(--border);justify-content:space-between;align-items:center;margin-bottom:10px;padding-top:16px;display:flex}.reminders-list{flex-direction:column;gap:6px;display:flex}.reminder-row{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);justify-content:space-between;align-items:center;gap:10px;padding:10px 12px;display:flex}.reminder-row--sent{opacity:.5}.reminder-row__info{flex:1;min-width:0}.reminder-row__info strong{color:var(--text);font-size:13px;font-weight:600;display:block}.reminder-row__info small{color:var(--text-muted);font-size:11px}.reminder-row__actions{flex-shrink:0;gap:6px;display:flex}.text-muted{color:var(--text-muted)}@media (width<=860px){.settings-panel{gap:18px;padding:18px}.settings-form-grid{grid-template-columns:1fr}.settings-inline-options{flex-direction:column;align-items:flex-start;gap:10px}}@media (width<=640px){.info-cards-grid{grid-template-columns:1fr}.steps-grid{grid-template-columns:repeat(2,1fr)}.settings-panel{gap:16px;padding:14px}.settings-signature-box,.settings-subpanel{padding:14px}.settings-subpanel__actions,.settings-panel__header{align-items:stretch}.settings-panel__header .btn,.settings-panel__actions .btn,.settings-subpanel__actions .btn{justify-content:center;width:100%}}.communications-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;display:grid}.communications-card{gap:18px;padding:20px;display:grid}.communications-card h2{color:var(--text);margin:0;font-size:1rem}.communications-card__actions{border-top:1px solid var(--border-subtle);justify-content:flex-end;align-items:center;gap:10px;padding-top:16px;display:flex}.communications-secret-status{color:var(--text-muted);font-size:11px}.communications-danger-option{color:var(--text-muted);align-items:center;gap:8px;font-size:12px;display:inline-flex}.communications-danger-option input,.communications-preferences input{accent-color:var(--brand-500)}.communications-preferences{flex-wrap:wrap;gap:12px;display:flex}.communications-preferences label{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface-muted);min-width:150px;color:var(--text);align-items:center;gap:8px;padding:12px 14px;font-size:13px;display:inline-flex}.communications-reminder-days{max-width:220px}@media (width<=860px){.communications-grid{grid-template-columns:1fr}}@media (width<=640px){.communications-card{padding:16px}.communications-card__actions{flex-direction:column;align-items:stretch}.communications-card__actions .btn{justify-content:center;width:100%}.communications-reminder-days{max-width:none}}.confirm-page{background:var(--page,#f8fafc);min-height:100vh;font-family:var(--font-sans,system-ui, -apple-system, sans-serif);color:var(--text,#0f172a);padding:clamp(16px,3vw,42px)}.confirm-shell{gap:18px;width:min(1040px,100%);margin:0 auto;display:grid}.confirm-state{border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface);text-align:center;align-content:center;place-items:center;gap:14px;width:min(480px,100%);min-height:320px;margin:8vh auto 0;padding:28px;display:grid}.spinner{border:3px solid var(--border);border-top-color:var(--brand-600,#0f766e);border-radius:50%;width:36px;height:36px;animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.error-icon{background:var(--danger-100,#fee2e2);width:52px;height:52px;color:var(--danger-700,#b91c1c);border-radius:50%;place-items:center;font-size:24px;font-weight:800;display:grid}.confirm-state h1,.confirm-state p{margin:0}.confirm-state h1{color:var(--text);font-size:22px}.confirm-state p{color:var(--text-muted);font-size:14px}.confirm-hero{justify-content:space-between;align-items:flex-end;gap:16px;padding:clamp(14px,2vw,22px) 0 4px;display:flex}.hero-actions{flex-shrink:0;align-items:center;gap:10px;display:flex}.theme-toggle{appearance:none;border:1px solid var(--border,#e2e8f0);background:var(--surface-muted,#f1f5f9);width:34px;height:34px;color:var(--text-muted,#64748b);cursor:pointer;transition:border-color var(--transition,.15s ease), color var(--transition,.15s ease);border-radius:50%;place-items:center;padding:0;font-size:16px;display:grid}.theme-toggle:hover{border-color:var(--brand-600,#0f766e);color:var(--brand-600,#0f766e)}.confirm-brand{min-width:0}.confirm-kicker,.section-label{color:var(--brand-700,#0f766e);letter-spacing:.08em;text-transform:uppercase;font-size:10px;font-weight:850;display:block}.confirm-hero h1{color:var(--text);letter-spacing:-.035em;margin:7px 0 0;font-size:clamp(28px,3.2vw,40px);line-height:1.06}.status-badge{border-radius:var(--radius-pill);background:var(--status-color,var(--brand-600,#0f766e));color:#fff;white-space:nowrap;justify-content:center;align-items:center;min-height:38px;padding:0 18px;font-size:12px;font-weight:850;display:inline-flex}.notice-stack{gap:8px;display:grid}.notice-card{border-radius:var(--radius-md);padding:12px 14px;font-size:13px;font-weight:780}.notice-card--success{color:var(--success-700,#15803d);background:var(--success-100,#dcfce7);border:1px solid var(--border)}.notice-card--error{color:var(--danger-700,#b91c1c);background:var(--danger-100,#fee2e2);border:1px solid var(--border)}.notice-card--pending{color:var(--brand-800,#115e59);background:var(--brand-100,#ccfbf1);border:1px solid var(--border)}.confirm-layout{grid-template-columns:minmax(0,1fr) minmax(300px,.38fr);align-items:stretch;gap:18px;display:grid}.appointment-panel,.response-panel,.reschedule-panel{border:1px solid var(--border);border-radius:calc(var(--radius-lg) + 4px);background:var(--surface)}.appointment-panel{padding:clamp(24px,4vw,38px)}.appointment-panel__top{justify-content:space-between;align-items:center;gap:12px;display:flex}.appointment-chip{border-radius:var(--radius-pill);background:var(--surface-muted);min-height:30px;color:var(--text-muted);align-items:center;padding:0 12px;font-size:12px;font-weight:850;display:inline-flex}.appointment-date{max-width:720px;color:var(--text);letter-spacing:-.045em;margin-top:14px;font-size:clamp(28px,3.8vw,44px);line-height:1.08;display:block}.appointment-facts{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:clamp(24px,3vw,34px);display:grid}.appointment-facts div,.selected-time{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface-muted);min-width:0;padding:15px}.appointment-facts span,.selected-time span,.field-block span,.slot-grid-head span{color:var(--text-muted);letter-spacing:.06em;text-transform:uppercase;font-size:10px;font-weight:820;display:block}.appointment-facts strong,.selected-time strong,.selected-time b{color:var(--text);text-overflow:ellipsis;white-space:nowrap;margin-top:6px;font-size:14px;display:block;overflow:hidden}.response-panel{align-content:start;gap:16px;padding:20px;display:grid}.response-panel__head{gap:6px;display:grid}.response-panel__head strong{color:var(--text);letter-spacing:-.02em;font-size:20px}.response-actions,.reschedule-actions{gap:10px;display:grid}.btn-confirm,.btn-secondary,.btn-cancel,.quick-chip{appearance:none;border-radius:var(--radius-md);cursor:pointer;min-height:48px;transition:background var(--transition), border-color var(--transition), color var(--transition);padding:0 16px;font-size:14px;font-weight:850}.btn-confirm{background:var(--brand-600,#0f766e);color:#fff;border:0}.btn-secondary{border:1px solid var(--border);background:var(--brand-50,#f0fdfa);color:var(--brand-700,#0f766e)}.btn-cancel{border:1px solid var(--border);background:var(--surface);color:var(--danger-700,#b91c1c)}.btn-confirm:hover,.btn-secondary:hover,.btn-cancel:hover,.quick-chip:hover{transform:translateY(-1px)}.btn-confirm:disabled,.btn-secondary:disabled,.btn-cancel:disabled{cursor:not-allowed;opacity:.55}.response-locked{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--brand-50,#f0fdfa);gap:8px;padding:18px;display:grid}.response-locked strong{color:var(--text);font-size:16px}.response-locked--confirmed strong{color:var(--brand-700,#0f766e);align-items:center;gap:7px;display:flex}.response-locked span,.status-copy{color:var(--text-muted);font-size:13px;line-height:1.4}.status-copy{margin:0}.status-reason,.cancel-form{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface-muted);margin:0;padding:14px}.status-reason{color:var(--text);font-size:13px;line-height:1.45}.cancel-form{gap:12px;display:grid}.cancel-form textarea{resize:vertical;border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface);width:100%;min-height:84px;color:var(--text);font:inherit;padding:11px 12px}.cancel-form textarea:focus{outline:2px solid color-mix(in srgb, var(--brand-600) 28%, transparent);border-color:var(--brand-600)}.cancel-form__actions{grid-template-columns:.7fr 1.3fr;gap:8px;display:grid}.cancel-form__actions button{min-height:42px}.btn-cancel--solid{border-color:var(--danger-700,#b91c1c);background:var(--danger-700,#b91c1c);color:#fff}.reschedule-panel{padding:clamp(20px,3vw,28px)}.reschedule-head{justify-content:space-between;align-items:flex-start;gap:18px;margin-bottom:18px;display:flex}.reschedule-head h2{color:var(--text);letter-spacing:-.035em;margin:5px 0 0;font-size:clamp(22px,2.6vw,30px)}.quick-chip{border:1px solid var(--border);background:var(--surface-muted);min-width:min(260px,100%);color:var(--brand-700,#0f766e);text-align:left;align-content:center;gap:2px;display:grid}.quick-chip span{font-size:14px}.quick-chip small{color:var(--text-muted);font-size:11px;font-weight:760}.reschedule-layout{grid-template-columns:minmax(230px,.28fr) minmax(0,.72fr);align-items:stretch;gap:16px;display:grid}.date-column,.slot-column{gap:12px;display:grid}.date-column{align-content:start}.field-block{gap:8px;display:grid}.field-block input,.field-block textarea{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface);width:100%;color:var(--text);font:inherit;padding:13px 14px}.field-block textarea{resize:vertical;min-height:94px}.field-block input:focus,.field-block textarea:focus{border-color:var(--border);outline:0}.selected-time{background:var(--surface);gap:4px;display:grid}.selected-time b{letter-spacing:-.04em;font-size:30px;line-height:1}.slot-column{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface-muted);padding:16px}.slot-grid-head{justify-content:space-between;align-items:center;gap:10px;display:flex}.slot-grid-head small,.slot-grid-empty{color:var(--text-muted);font-size:12px}.slot-grid-empty{margin:0;padding:16px 0}.slot-grid{grid-template-columns:repeat(auto-fill,minmax(88px,1fr));gap:8px;display:grid}.slot-grid__item{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface);min-height:58px;color:var(--text);cursor:pointer;text-align:left;transition:border-color var(--transition), background var(--transition);gap:2px;padding:10px;display:grid}.slot-grid__item:hover:not(:disabled){border-color:var(--border);transform:translateY(-1px)}.slot-grid__item span{font-size:14px;font-weight:880}.slot-grid__item small{color:var(--text-muted);font-size:11px}.slot-grid__item.selected{border-color:var(--brand-600,#0f766e);background:var(--brand-50,#f0fdfa)}.slot-grid__item--busy{background:var(--surface-muted);color:var(--text-muted);cursor:not-allowed;opacity:.62}.reschedule-bottom{grid-template-columns:minmax(0,1fr) minmax(260px,.38fr);align-items:end;gap:16px;margin-top:16px;display:grid}.reschedule-actions{grid-template-columns:1fr}@media (width<=920px){.confirm-layout,.reschedule-layout,.reschedule-bottom{grid-template-columns:1fr}.confirm-hero,.reschedule-head{flex-direction:column;align-items:stretch}.status-badge,.quick-chip{width:fit-content}}@media (width<=560px){.confirm-page{--page:#f8fafc;--surface:#fff;--surface-muted:#f1f5f9;--border:#e2e8f0;--text:#0f172a;--text-muted:#64748b;--brand-50:#f0fdfa;--brand-600:#0f766e;--brand-700:#115e59;--brand-800:#0c4a44;--danger-100:#fee2e2;--danger-700:#b91c1c;--success-100:#dcfce7;--success-700:#15803d;--warning-600:#d97706;--info-600:#0284c7;--purple-600:#7c3aed;--ink-500:#6b7280;--radius-sm:6px;--radius-md:8px;--radius-lg:12px;--radius-pill:999px;--transition:.15s ease}[data-theme=dark] .confirm-page{--page:#111827;--surface:#1f2937;--surface-muted:#374151;--border:#4b5563;--text:#f9fafb;--text-muted:#9ca3af;--brand-50:#134e4a;--brand-600:#14b8a6;--brand-700:#2dd4bf;--brand-800:#5eead4;--danger-100:#7f1d1d;--danger-700:#fca5a5;--success-100:#14532d;--success-700:#86efac;--warning-600:#fbbf24;--info-600:#38bdf8;--purple-600:#a78bfa;--ink-500:#9ca3af}.confirm-page{padding:14px}.confirm-hero h1{font-size:29px}.appointment-panel,.response-panel,.reschedule-panel{border-radius:var(--radius-lg)}.appointment-panel{padding:20px}.appointment-date{font-size:30px}.appointment-facts,.reschedule-actions{grid-template-columns:1fr}.status-badge,.quick-chip{width:100%}.slot-column{padding:12px}.slot-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}.page-shell--patient{--patient-accent:#11a8aa;--patient-accent-strong:#087f9e;--patient-blue:#168bc7;width:min(100%,2800px);max-width:2800px;padding-top:22px}.patient-hero{isolation:isolate;border:1px solid var(--patient-blue);background:var(--surface-muted), var(--surface-muted), var(--surface-muted);color:#fff;border-radius:26px;position:relative;overflow:hidden;box-shadow:0 18px 48px #055e8b2e}.patient-hero:after{content:"";z-index:-1;border:1px solid #fff3;border-radius:50%;width:350px;height:350px;position:absolute;top:-250px;right:18%;box-shadow:0 0 0 42px #ffffff09,0 0 0 92px #ffffff06}.patient-hero__main{grid-template-columns:44px auto minmax(0,1fr) auto;align-items:center;gap:18px;min-height:154px;padding:26px 28px 18px;display:grid}.patient-hero__back{color:#fff;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#03315429;border:1px solid #ffffff3d;border-radius:13px;align-self:start;place-items:center;width:42px;height:42px;display:grid}.patient-hero__back:hover{background:#ffffff2b}.patient-hero__avatar{color:#075d80;background:var(--surface-muted);border:4px solid #ffffffeb;border-radius:24px;width:84px;height:84px;box-shadow:0 12px 28px #0136533d}.patient-hero__identity{min-width:0}.patient-hero__eyebrow{color:#ffffffb8;letter-spacing:.13em;text-transform:uppercase;margin-bottom:5px;font-size:10px;font-weight:800;display:inline-flex}.patient-hero__identity>p{color:#ffffffbd;margin-top:8px;font-size:12px}.patient-hero__meta{color:#ffffffe6;flex-wrap:wrap;align-items:center;gap:8px 16px;margin-top:9px;font-size:12px;display:flex}.patient-hero__meta>span{align-items:center;gap:6px;display:inline-flex}.patient-hero__status{background:#043a4d2b;border:1px solid #ffffff3d;border-radius:999px;padding:4px 9px;font-weight:720}.patient-hero__status i{background:#7bf2bd;border-radius:50%;width:7px;height:7px;box-shadow:0 0 0 3px #7bf2bd29}.patient-hero__actions{flex-wrap:wrap;justify-content:flex-end;gap:10px;display:flex}.btn--glass,.btn--patient-primary{color:#fff;border-color:#ffffff40;min-height:44px}.btn--glass{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffff1a}.btn--glass:hover{color:#fff;background:#ffffff2e;border-color:#ffffff6b}.btn--patient-primary{color:#08617b;background:#fff;border-color:#ffffffe6;box-shadow:0 10px 24px #02406033}.patient-hero__alerts{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;padding:0 28px 20px 172px;display:grid}.patient-alert-card{color:#fff;text-align:left;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);min-width:0;min-height:62px;transition:transform var(--transition), background var(--transition), border-color var(--transition);background:#02385629;border:1px solid #ffffff2e;border-radius:15px;grid-template-columns:34px minmax(0,1fr) 18px;align-items:center;gap:10px;padding:10px 12px;display:grid}.patient-alert-card:hover{background:#ffffff24;border-color:#ffffff57;transform:translateY(-1px)}.patient-alert-card__icon{color:#fff;background:#ffffff24;border-radius:11px;place-items:center;width:34px;height:34px;display:grid}.patient-alert-card--danger .patient-alert-card__icon{background:#ff6d7a4d}.patient-alert-card--warning .patient-alert-card__icon{background:#ffc75145}.patient-alert-card--info .patient-alert-card__icon{background:#68cbff42}.patient-alert-card--success .patient-alert-card__icon{background:#72efb13d}.patient-alert-card__copy{min-width:0}.patient-alert-card__copy strong,.patient-alert-card__copy small{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.patient-alert-card__copy strong{color:#fff;font-size:11px}.patient-alert-card__copy small{color:#ffffffb3;margin-top:3px;font-size:10px}.patient-alert-card__arrow{opacity:.64}.patient-primary-tabs{z-index:2;border-top:1px solid var(--border);background:var(--surface);min-height:62px;box-shadow:0 -1px 0 var(--border);scrollbar-width:none;align-items:stretch;gap:4px;padding:7px 18px 0 154px;display:flex;position:relative;overflow-x:auto}.patient-primary-tabs::-webkit-scrollbar{display:none}.patient-subtabs::-webkit-scrollbar{display:none}.patient-primary-tab{min-width:max-content;min-height:52px;color:var(--text-muted);background:0 0;border-radius:12px 12px 0 0;justify-content:center;align-items:center;gap:8px;padding:0 18px;font-size:12px;font-weight:720;display:inline-flex;position:relative}.patient-primary-tab:hover{color:var(--text);background:var(--surface-muted)}.patient-primary-tab.active:after{content:"";background:var(--blue-100);border-radius:3px 3px 0 0;height:3px;position:absolute;inset:auto 16px 0}.patient-subtabs{border:1px solid var(--border);background:var(--surface);min-height:55px;box-shadow:var(--shadow-xs);scrollbar-width:none;border-radius:16px;align-items:center;gap:6px;margin-top:14px;padding:7px;display:flex;overflow-x:auto}.patient-subtab{min-width:max-content;min-height:40px;color:var(--text-muted);border-radius:11px;justify-content:center;align-items:center;gap:8px;padding:8px 14px;font-size:12px;font-weight:700;display:inline-flex}.patient-subtab:hover{color:var(--text);background:var(--surface-muted)}.patient-subtab.active{color:var(--brand-700);background:var(--brand-100);box-shadow:inset 0 0 0 1px var(--brand-500)}.section-kicker{color:var(--brand-600);letter-spacing:.12em;text-transform:uppercase;margin-bottom:5px;font-size:9px;font-weight:840;display:block}.patient-profile-layout{grid-template-columns:minmax(0,1fr) minmax(280px,340px);align-items:start;gap:18px;display:grid}.patient-profile-main,.patient-profile-aside,.patient-treatment-layout>main,.patient-finance-layout>main{min-width:0}.patient-section-card,.patient-next-card,.patient-last-note,.patient-table-card{overflow:hidden}.patient-data-grid{border:1px solid var(--border);border-radius:15px;grid-template-columns:repeat(2,minmax(0,1fr));gap:0;display:grid;overflow:hidden}.patient-data-grid>div{border-bottom:1px solid var(--border);background:var(--surface);min-width:0;padding:15px 16px}.patient-data-grid>div:nth-child(odd){border-right:1px solid var(--border)}.patient-data-grid>div:nth-last-child(-n+2){border-bottom:0}.patient-data-grid>.patient-data-grid__wide{border-right:0;grid-column:1/-1}.patient-data-grid>.patient-data-grid__wide+.patient-data-grid__wide{border-top:0}.patient-data-grid dt{color:var(--text-muted);font-size:10px;font-weight:680}.patient-data-grid dd{overflow-wrap:anywhere;color:var(--text);margin-top:5px;font-size:12px;font-weight:680}.patient-data-grid a{color:var(--brand-700);text-decoration:underline;-webkit-text-decoration-color:var(--brand-500);text-decoration-color:var(--brand-500);text-underline-offset:3px}.medical-summary-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;display:grid}.medical-summary{border:1px solid var(--border);background:var(--surface-muted);border-radius:14px;grid-template-columns:38px minmax(0,1fr);align-items:center;gap:11px;min-width:0;padding:14px;display:grid}.medical-summary>span{border-radius:12px;place-items:center;width:38px;height:38px;display:grid}.medical-summary--danger>span{color:var(--red-600);background:var(--red-100)}.medical-summary--warning>span{color:var(--amber-600);background:var(--amber-100)}.medical-summary--info>span{color:var(--blue-600);background:var(--blue-100)}.medical-summary small,.medical-summary strong{display:block}.medical-summary small{color:var(--text-muted);font-size:9px}.medical-summary strong{text-overflow:ellipsis;white-space:nowrap;margin-top:3px;font-size:11px;overflow:hidden}.patient-note-panel{border:1px solid var(--border);color:var(--text-soft);background:var(--blue-50);border-radius:13px;align-items:flex-start;gap:10px;margin-top:12px;padding:13px 14px;display:flex}.patient-note-panel>.icon{color:var(--blue-600);flex:none}.patient-note-panel strong{color:var(--text);font-size:11px;display:block}.patient-note-panel p{margin-top:3px;font-size:11px}.next-appointment{grid-template-columns:58px minmax(0,1fr);align-items:center;gap:13px;margin-bottom:14px;display:grid}.next-appointment__date{min-height:64px;color:var(--brand-700);background:var(--brand-100);border-radius:15px;align-content:center;place-items:center;display:grid}.next-appointment__date strong{font-size:24px;line-height:1}.next-appointment__date span{text-transform:uppercase;margin-top:4px;font-size:10px;font-weight:760}.next-appointment h4{font-size:13px}.next-appointment p{color:var(--text-muted);margin:4px 0 7px;font-size:10px}.patient-stat-card{padding:4px 18px}.patient-stat-card__row{border-bottom:1px solid var(--border);align-items:center;gap:12px;min-height:67px;display:flex}.patient-stat-card__row:last-child{border-bottom:0}.patient-stat-card__icon{border-radius:12px;flex:none;place-items:center;width:39px;height:39px;display:grid}.patient-stat-card__icon--brand{color:var(--brand-700);background:var(--brand-100)}.patient-stat-card__icon--warning{color:var(--amber-600);background:var(--amber-100)}.patient-stat-card__icon--info{color:var(--blue-600);background:var(--blue-100)}.patient-stat-card__row small,.patient-stat-card__row strong{display:block}.patient-stat-card__row small{color:var(--text-muted);font-size:9px}.patient-stat-card__row strong{margin-top:3px;font-size:13px}.patient-last-note .card__body p{-webkit-line-clamp:4;color:var(--text-soft);-webkit-box-orient:vertical;font-size:11px;line-height:1.6;display:-webkit-box;overflow:hidden}.patient-last-note .card__body small{margin-top:12px;font-size:9px;display:block}.compact-empty{text-align:center;justify-items:center;padding:8px 0;display:grid}.compact-empty>span{width:48px;height:48px;color:var(--brand-700);background:var(--brand-100);border-radius:15px;place-items:center;margin-bottom:9px;display:grid}.compact-empty h3,.compact-empty h4{margin:0}.compact-empty p{max-width:420px;color:var(--text-muted);margin:6px 0 14px;font-size:11px}.compact-empty--large{align-content:center;min-height:230px;padding:28px}.patient-clinical-toolbar{justify-content:space-between;align-items:center;gap:18px;padding:18px 20px;display:flex}.patient-clinical-toolbar p{color:var(--text-muted);margin-top:5px;font-size:11px}.history-filters{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.filter-chip{border:1px solid var(--border);min-height:36px;color:var(--text-muted);background:var(--surface);border-radius:999px;padding:7px 11px;font-size:10px;font-weight:720}.filter-chip:hover{color:var(--text);border-color:var(--border-strong)}.filter-chip.active{color:var(--brand-700);border-color:var(--border);background:var(--brand-100)}.patient-timeline-card{overflow:hidden}.patient-history{padding:7px 20px 20px;position:relative}.patient-history:before{content:"";background:var(--border);width:1px;position:absolute;top:17px;bottom:30px;left:40px}.patient-history-item{z-index:1;grid-template-columns:42px minmax(0,1fr);gap:14px;padding:13px 0;display:grid;position:relative}.patient-history-item__icon{border:5px solid var(--surface);width:42px;height:42px;color:var(--brand-700);background:var(--brand-100);box-shadow:0 0 0 1px var(--border);border-radius:50%;place-items:center;display:grid}.patient-history-item__icon--info{color:var(--blue-600);background:var(--blue-100)}.patient-history-item__icon--success{color:var(--green-600);background:var(--green-100)}.patient-history-item__icon--warning{color:var(--amber-600);background:var(--amber-100)}.patient-history-item__icon--purple{color:var(--purple-600);background:var(--purple-100)}.patient-history-item__content{border:1px solid var(--border);background:var(--surface-muted);border-radius:14px;min-width:0;padding:13px 14px}.patient-history-item__header{justify-content:space-between;align-items:flex-start;gap:14px;display:flex}.patient-history-item__header strong{font-size:12px}.patient-history-item__header time{color:var(--text-muted);flex:none;font-size:9px}.patient-history-item__content small{margin-top:7px;font-size:9px;display:block}.responsive-record-list{padding:0 20px 20px}.record-row{border-bottom:1px solid var(--border);grid-template-columns:56px minmax(180px,1.3fr) minmax(130px,.8fr) auto;align-items:center;gap:14px;min-height:70px;padding:10px 0;display:grid}.record-row:last-child{border-bottom:0}.record-row__date{text-align:center}.record-row__date strong,.record-row__date span{display:block}.record-row__date strong{font-size:18px}.record-row__date span{color:var(--text-muted);font-size:9px}.record-row__main{min-width:0}.record-row__main strong,.record-row__main span{display:block}.record-row__main strong{text-overflow:ellipsis;white-space:nowrap;font-size:12px;overflow:hidden}.record-row__main span{color:var(--text-muted);margin-top:3px;font-size:10px}.record-row__professional{min-width:0;color:var(--text-soft);align-items:center;gap:8px;font-size:10px;display:flex}.record-row__professional span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.record-row__status,.record-row__amount{justify-self:end}.record-row__amount{font-size:13px}.patient-treatment-layout,.patient-finance-layout{grid-template-columns:minmax(250px,285px) minmax(0,1fr);align-items:start;gap:18px;display:grid}.patient-budget-card{top:calc(var(--topbar-height) + 18px);padding:19px;position:sticky;overflow:hidden}.patient-budget-card__accent{background:var(--brand-600);height:6px;margin:-19px -19px 18px}.patient-budget-card__header{grid-template-columns:42px minmax(0,1fr);align-items:center;gap:11px;display:grid}.patient-budget-card__icon{width:42px;height:42px;color:var(--brand-700);background:var(--brand-100);border-radius:13px;place-items:center;display:grid}.patient-budget-card__header span,.patient-budget-card__header strong{display:block}.patient-budget-card__header span{color:var(--text-muted);font-size:9px}.patient-budget-card__header strong{text-overflow:ellipsis;white-space:nowrap;margin-top:3px;font-size:12px;overflow:hidden}.patient-budget-card__total{background:var(--blue-100);text-align:center;border-radius:14px;margin-top:18px;padding:16px}.patient-budget-card__total span,.patient-budget-card__total strong{display:block}.patient-budget-card__total span{color:var(--text-muted);font-size:10px}.patient-budget-card__total strong{color:var(--brand-700);margin-top:6px;font-size:25px}.patient-budget-card__list{margin:13px 0}.patient-budget-card__list>div{border-bottom:1px dashed var(--border);justify-content:space-between;gap:12px;padding:8px 0;font-size:10px;display:flex}.patient-budget-card__list dt{color:var(--text-muted)}.patient-budget-card__list dd{font-weight:720}.patient-budget-card__balance{border-top:1px solid var(--border);border-bottom:1px solid var(--border);justify-content:space-between;gap:12px;padding:12px 0;font-size:11px;display:flex}.patient-budget-card__balance strong{color:var(--amber-600)}.patient-budget-card__progress{margin:15px 0}.patient-budget-card__progress>div:first-child{justify-content:space-between;margin-bottom:7px;font-size:10px;display:flex}.treatment-plan-card{overflow:hidden}.treatment-plan-card__header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:flex-start;gap:16px;padding:20px;display:flex}.treatment-plan-card__header p{color:var(--text-muted);margin-top:5px;font-size:10px}.treatment-plan-card__amount{text-align:right}.treatment-plan-card__amount strong,.treatment-plan-card__amount small{display:block}.treatment-plan-card__amount strong{font-size:18px}.treatment-plan-card__amount small{margin-top:3px;font-size:9px}.treatment-plan-card__progress{border-bottom:1px solid var(--border);background:var(--surface-muted);padding:14px 20px}.treatment-plan-card__progress>div:first-child{justify-content:space-between;margin-bottom:7px;font-size:10px;display:flex}.treatment-procedures{padding:0 20px 10px}.treatment-procedure{border-bottom:1px solid var(--border);grid-template-columns:42px minmax(170px,1fr) minmax(120px,180px) 90px;align-items:center;gap:12px;min-height:72px;display:grid}.treatment-procedure:last-child{border-bottom:0}.treatment-procedure__tooth{width:38px;height:38px;color:var(--brand-700);background:var(--brand-100);border-radius:11px;place-items:center;font-size:11px;font-weight:800;display:grid}.treatment-procedure>div:nth-child(2) strong,.treatment-procedure>div:nth-child(2) small{display:block}.treatment-procedure>div:nth-child(2) strong{font-size:11px}.treatment-procedure>div:nth-child(2) small{margin-top:3px;font-size:9px}.treatment-procedure__progress>span{color:var(--text-muted);margin-bottom:5px;font-size:9px;display:block}.treatment-procedure>strong{text-align:right;font-size:11px}.finance-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.finance-summary-grid article{border:1px solid var(--border);background:var(--surface);box-shadow:var(--shadow-xs);border-radius:16px;padding:17px 18px}.finance-summary-grid span,.finance-summary-grid strong,.finance-summary-grid small{display:block}.finance-summary-grid span{color:var(--text-muted);font-size:10px}.finance-summary-grid strong{margin-top:6px;font-size:23px}.finance-summary-grid small{margin-top:5px;font-size:9px}.document-upload-panel{border:1px solid var(--border);background:var(--surface-muted);border-radius:16px;grid-template-columns:minmax(0,1fr) minmax(260px,.45fr);align-items:stretch;gap:14px;padding:16px;display:grid}.document-upload-panel__fields{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.document-upload-panel__fields .form-field--full{grid-column:1/-1}.document-upload-dropzone{border:1px dashed var(--border);background:var(--surface);min-height:150px;color:var(--text);text-align:center;cursor:pointer;transition:border-color var(--transition), background var(--transition), box-shadow var(--transition);border-radius:16px;align-content:center;place-items:center;gap:7px;padding:18px;display:grid}.document-upload-dropzone:hover{border-color:var(--brand-500);background:var(--surface);box-shadow:var(--shadow-xs)}.document-upload-dropzone input{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.document-upload-dropzone__icon{width:42px;height:42px;color:var(--brand-700);background:var(--brand-100);border-radius:13px;place-items:center;display:grid}.document-upload-dropzone strong{font-size:13px}.document-upload-dropzone small{max-width:100%;color:var(--text-muted);text-overflow:ellipsis;white-space:nowrap;font-size:11px;font-weight:700;overflow:hidden}.document-upload-panel__actions{grid-column:1/-1;justify-content:flex-end;display:flex}.document-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:11px;padding:20px;display:grid}.document-card{border:1px solid var(--border);background:var(--surface-muted);border-radius:14px;grid-template-columns:42px minmax(0,1fr) auto 40px;align-items:center;gap:11px;min-width:0;padding:13px;display:grid}.document-card__icon{width:42px;height:42px;color:var(--blue-600);background:var(--blue-100);border-radius:12px;place-items:center;display:grid}.document-card>div{min-width:0}.document-card>div strong,.document-card>div span,.document-card>div small{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.document-card>div strong{font-size:11px}.document-card>div span{color:var(--text-soft);margin-top:3px;font-size:9px}.document-card>div small{margin-top:3px;font-size:8px}.form-helper-card{border:1px solid var(--border);min-height:42px;color:var(--text-soft);background:var(--surface-muted);border-radius:11px;align-items:center;padding:10px 12px;font-size:10px;display:flex}.medical-modal{grid-template-columns:50px minmax(0,1fr);align-items:start;gap:14px;display:grid}.medical-modal>span{border-radius:15px;place-items:center;width:50px;height:50px;display:grid}.medical-modal--danger>span{color:var(--red-600);background:var(--red-100)}.medical-modal--warning>span{color:var(--amber-600);background:var(--amber-100)}.medical-modal--info>span{color:var(--blue-600);background:var(--blue-100)}.medical-modal ul{margin:0;padding-left:18px}.medical-modal li{color:var(--text-soft);margin:7px 0;font-size:12px}.page-shell--odontogram{max-width:1840px}.odontogram-page-toolbar{justify-content:space-between;align-items:center;gap:18px;min-height:78px;padding:13px 16px;display:flex}.odontogram-page-toolbar__intro,.odontogram-page-toolbar__actions,.odontogram-version{align-items:center;display:flex}.odontogram-page-toolbar__intro{gap:12px;min-width:0}.odontogram-page-toolbar__icon{width:45px;height:45px;color:var(--brand-700);background:var(--blue-100);border-radius:14px;flex:none;place-items:center;display:grid}.odontogram-page-toolbar__intro h2{font-size:18px}.odontogram-page-toolbar__intro p{color:var(--text-muted);margin-top:3px;font-size:10px}.odontogram-page-toolbar__actions{flex-wrap:wrap;justify-content:flex-end;gap:9px}.select-compact--patient{border:1px solid var(--border);background:var(--surface);border-radius:11px;min-height:40px;padding:0 9px}.select-compact--patient select{max-width:190px}.select-compact--patient>.icon:last-child{pointer-events:none}.odontogram-version{border:1px solid var(--border);min-height:40px;color:var(--text-soft);background:var(--surface-muted);border-radius:11px;gap:8px;padding:0 11px}.odontogram-version>span{font-size:10px;font-weight:720;line-height:1.1;display:grid}.odontogram-version small{margin-top:3px;font-size:8px;font-weight:500}.odontogram-demo-note{color:var(--text-muted);align-items:center;gap:8px;margin:10px 2px 0;font-size:9px;display:flex}.odontogram-workspace{grid-template-columns:minmax(220px,255px) minmax(640px,1fr) minmax(270px,310px);align-items:start;gap:16px;margin-top:14px;display:grid}.odontogram-workspace__summary,.odontogram-workspace__editor{min-width:0}.odontogram-workspace__summary{flex-direction:column;gap:14px;display:flex}.odontogram-plan-card,.odontogram-stats-card,.selected-tooth-card,.odontogram-history-card{overflow:hidden}.odontogram-plan-card__total{color:var(--brand-700);background:var(--brand-50);text-align:center;border-radius:12px;padding:13px}.odontogram-plan-card__total span,.odontogram-plan-card__total strong{display:block}.odontogram-plan-card__total span{color:var(--text-muted);font-size:9px}.odontogram-plan-card__total strong{margin-top:4px;font-size:21px}.treatment-progress{margin:15px 0}.treatment-progress>span{justify-content:space-between;gap:10px;margin-bottom:7px;display:flex}.treatment-progress>span strong{font-size:10px}.treatment-progress>span small{font-size:9px}.odontogram-plan-card__list{margin-bottom:13px}.odontogram-plan-card__list>div{border-bottom:1px dashed var(--border);justify-content:space-between;align-items:center;gap:8px;padding:7px 0;font-size:9px;display:flex}.odontogram-plan-card__list>div span{text-overflow:ellipsis;white-space:nowrap;align-items:center;gap:6px;min-width:0;display:flex;overflow:hidden}.odontogram-plan-card__list b{width:26px;height:26px;color:var(--brand-700);background:var(--brand-100);border-radius:8px;flex:none;place-items:center;display:grid}.odontogram-plan-card__list>div strong{flex:none}.odontogram-mini-stats{grid-template-columns:repeat(2,1fr);gap:8px;margin-bottom:12px;display:grid}.odontogram-mini-stats>div{border:1px solid var(--border);background:var(--surface-muted);text-align:center;border-radius:12px;padding:11px 8px}.odontogram-mini-stats strong,.odontogram-mini-stats span{display:block}.odontogram-mini-stats strong{font-size:18px}.odontogram-mini-stats span{color:var(--text-muted);margin-top:3px;font-size:8px}.odontogram-main-card{min-width:0;overflow:hidden;box-shadow:0 14px 38px #0d567314}.odontogram-main-card__header{justify-content:space-between;align-items:flex-start;gap:18px;padding:18px 20px 13px;display:flex}.odontogram-main-card__header h2{margin-top:6px;font-size:19px}.odontogram-main-card__header p{color:var(--text-muted);margin-top:5px;font-size:10px}.odontogram-main-card__meta{flex:none;gap:6px;display:flex}.step-label{color:var(--brand-700);letter-spacing:.03em;align-items:center;gap:7px;font-size:9px;font-weight:790;display:inline-flex}.step-label b,.odontogram-instruction b{color:#fff;background:var(--brand-600);border-radius:50%;place-items:center;width:22px;height:22px;font-size:9px;display:inline-grid}.diagnosis-palette{scrollbar-width:thin;gap:11px;padding:0 20px 15px;display:flex;overflow-x:auto}.diagnosis-palette__group{border-right:1px solid var(--border);flex:none;padding-right:11px}.diagnosis-palette__group:last-child{border-right:0;padding-right:0}.diagnosis-palette__group>span{color:var(--text-muted);letter-spacing:.08em;text-transform:uppercase;margin-bottom:6px;font-size:8px;font-weight:760;display:block}.diagnosis-palette__group>div{gap:6px;display:flex}.odontogram-main-card .diagnosis-option{--diag:var(--ink-500);border:1px solid var(--border);min-height:40px;color:var(--text-soft);background:var(--surface);white-space:nowrap;border-radius:11px;align-items:center;gap:7px;padding:8px 10px;display:inline-flex}.odontogram-main-card .diagnosis-option:before{display:none}.odontogram-main-card .diagnosis-option i{width:25px;height:25px;color:var(--diag);background:var(--surface);border-radius:8px;place-items:center;display:grid}.odontogram-main-card .diagnosis-option b{font-size:9px}.odontogram-main-card .diagnosis-option:hover,.odontogram-main-card .diagnosis-option.active{color:var(--text);border-color:var(--diag);background:var(--surface);box-shadow:0 0 0 3px var(--diag)}.odontogram-instruction{border:1px solid var(--border);color:var(--text-soft);background:var(--blue-50);border-radius:11px;align-items:center;gap:8px;margin:0 20px 10px;padding:9px 11px;font-size:9px;display:flex}.odontogram-instruction>.icon{display:none}.odontogram-stage{--tooth-fill:#fff;overscroll-behavior-inline:contain;border-top:1px solid var(--border);border-bottom:1px solid var(--border);background:var(--surface-muted), var(--surface-muted), var(--surface-muted);padding:20px 18px 24px;position:relative;overflow-x:auto}.odontogram-stage:focus-visible{outline-offset:-4px}.odontogram-arch{min-width:900px}.odontogram-quadrant-labels{color:var(--text-muted);text-transform:uppercase;letter-spacing:.06em;justify-content:space-between;padding:0 10px 6px;font-size:8px;font-weight:730;display:flex}.odontogram-row{grid-template-columns:repeat(16,minmax(48px,1fr));align-items:end;gap:4px;display:grid}.odontogram-row--lower{align-items:start;margin-top:12px}.odontogram-midline{color:var(--text-muted);text-transform:uppercase;letter-spacing:.08em;grid-template-columns:1fr auto 1fr;align-items:center;gap:10px;margin:10px 0;font-size:8px;display:grid}.odontogram-midline span:last-child{text-align:right}.odontogram-midline i{background:var(--border-strong);width:1px;height:22px}.tooth-unit{text-align:center;justify-items:center;gap:3px;min-width:0;display:grid}.tooth-anatomy{width:48px;height:66px;overflow:visible}.tooth-anatomy__missing{fill:none;stroke:var(--diagnosis-missing);stroke-width:3px;stroke-linecap:round}.tooth-anatomy__crown{fill:var(--diagnosis-crown);stroke:var(--diagnosis-crown);stroke-width:2px}.tooth-anatomy__endo{fill:none;stroke:var(--diagnosis-endodontics);stroke-width:2.4px;stroke-linecap:round}.tooth-anatomy__implant{fill:none;stroke:var(--diagnosis-implant);stroke-width:2px;stroke-linecap:round}.tooth-number{color:var(--text-muted);margin:0;font-size:8px;font-weight:780}.tooth-button{background:0 0;border:1px solid #0000;border-radius:12px;place-items:center;width:48px;height:56px;margin:0;display:grid;position:relative}.tooth-button:hover{border-color:var(--border);background:var(--surface)}.tooth-button.selected{border-color:var(--brand-500);background:var(--brand-50);box-shadow:0 0 0 3px var(--brand-500)}.tooth-svg{width:42px;height:50px}.tooth-surface{stroke-width:1.25px}.tooth-status-dot{width:8px;height:8px;margin:0;position:absolute;top:3px;right:3px}.odontogram-legend{background:var(--surface);border-top:0;flex-wrap:wrap;align-items:center;gap:10px 14px;padding:11px 18px;display:flex}.odontogram-legend__title{color:var(--text);font-size:9px;font-weight:760}.odontogram-legend__item{font-size:8px}.odontogram-legend__swatch{flex:none}.odontogram-workspace__editor{top:calc(var(--topbar-height) + 16px);position:sticky}.selected-tooth-card{padding:18px}.selected-tooth-card__header{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.selected-tooth-card__header h2{font-size:27px}.selected-tooth-card__header p{color:var(--text-muted);margin-top:4px;font-size:9px}.selected-tooth-card__nav{gap:4px;display:flex}.selected-tooth-card__nav .icon-button{width:34px;height:34px}.selected-tooth-card__visual{border:1px solid var(--border);background:var(--surface-muted);border-radius:14px;grid-template-columns:repeat(2,minmax(0,1fr));place-items:center;gap:8px;min-height:112px;margin:14px 0;display:grid}.selected-tooth-card__visual>div{place-items:center;min-height:90px;display:grid}.selected-tooth-card__visual .tooth-anatomy{width:62px;height:86px}.selected-tooth-card__visual .tooth-svg{width:64px;height:76px}.selected-tooth-card__selection{border:1px solid var(--border);background:var(--surface-muted);border-radius:11px;grid-template-columns:12px minmax(0,1fr);align-items:center;gap:9px;margin-bottom:13px;padding:10px 11px;display:grid}.selected-tooth-card__selection small,.selected-tooth-card__selection strong{display:block}.selected-tooth-card__selection small{color:var(--text-muted);font-size:8px}.selected-tooth-card__selection strong{margin-top:2px;font-size:10px}.surface-selector{grid-template-columns:repeat(5,minmax(0,1fr));gap:5px;margin-top:7px;display:grid}.surface-chip{border:1px solid var(--border);min-width:0;min-height:42px;color:var(--text-soft);background:var(--surface);border-radius:10px;place-items:center;padding:5px 2px;font-size:10px;font-weight:820;display:grid}.surface-chip span{display:none}.surface-chip:hover{border-color:var(--border-strong)}.surface-selector.is-disabled{opacity:.55}.odontogram-history-card .card__body{padding-top:12px}.odontogram-history-empty{text-align:center;min-height:130px;color:var(--text-muted);align-content:center;place-items:center;display:grid}.odontogram-history-empty>.icon{width:28px;height:28px;color:var(--ink-400);margin-bottom:8px}.odontogram-history-empty strong,.odontogram-history-empty span{display:block}.odontogram-history-empty strong{color:var(--text);font-size:10px}.odontogram-history-empty span{margin-top:4px;font-size:8px}.odontogram-history{flex-direction:column;gap:11px;display:flex}.odontogram-history__item{grid-template-columns:10px minmax(0,1fr);gap:9px;display:grid}.odontogram-history__dot{background:var(--dot);width:9px;height:9px;box-shadow:0 0 0 3px var(--dot);border-radius:50%;margin-top:4px}.odontogram-history__item small,.odontogram-history__item strong,.odontogram-history__item p{display:block}.odontogram-history__item small{color:var(--text-muted);font-size:7px}.odontogram-history__item strong{margin-top:3px;font-size:9px}.odontogram-history__item p{color:var(--text-soft);margin-top:2px;font-size:8px;line-height:1.4}.workflow-hint{border:1px solid var(--border);background:var(--surface-muted);border-radius:13px;grid-template-columns:34px minmax(0,1fr);align-items:center;gap:10px;padding:11px 12px;display:grid}.workflow-hint__step{color:#fff;background:var(--brand-600);border-radius:50%;place-items:center;width:32px;height:32px;font-weight:800;display:grid}.workflow-hint strong{font-size:10px}.workflow-hint p{color:var(--text-muted);margin-top:2px;font-size:9px}@media (width<=1470px){.odontogram-workspace{grid-template-columns:230px minmax(590px,1fr)}.odontogram-workspace__editor{grid-column:2;grid-template-columns:minmax(280px,.8fr) minmax(300px,1.2fr);align-items:start;gap:14px;display:grid;position:static}}@media (width<=1180px){.patient-hero__main{grid-template-columns:42px auto minmax(0,1fr)}.patient-hero__actions{grid-column:3;justify-content:flex-start}.patient-hero__alerts{padding-left:28px}.patient-primary-tabs{padding-left:18px}.patient-profile-layout{grid-template-columns:minmax(0,1fr) 300px}.medical-summary-grid{grid-template-columns:1fr}.odontogram-workspace{grid-template-columns:210px minmax(560px,1fr)}}@media (width<=960px){.patient-hero__main{grid-template-columns:42px 72px minmax(0,1fr);padding:22px 20px 16px}.patient-hero__avatar{border-radius:20px;width:72px;height:72px}.patient-hero__actions{grid-column:1/-1;padding-left:114px}.patient-hero__alerts{grid-template-columns:1fr;padding:0 20px 16px}.patient-alert-card{min-height:54px}.patient-profile-layout,.patient-treatment-layout,.patient-finance-layout{grid-template-columns:1fr}.patient-profile-aside{grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.patient-profile-aside>:last-child:nth-child(odd){grid-column:1/-1}.patient-budget-card{position:static}.patient-treatment-layout>.patient-budget-card,.patient-finance-layout>.patient-budget-card{grid-template-columns:minmax(180px,.8fr) minmax(200px,1fr);gap:0 18px;display:grid}.patient-budget-card__accent{grid-column:1/-1}.patient-budget-card__header,.patient-budget-card__total{grid-column:1}.patient-budget-card__list,.patient-budget-card__balance,.patient-budget-card__progress,.patient-budget-card>.btn{grid-column:2}.patient-budget-card__list{grid-row:2/span 2}.patient-budget-card__balance{align-self:end}.odontogram-page-toolbar{align-items:flex-start}.odontogram-workspace{grid-template-columns:1fr}.odontogram-workspace__summary{grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.odontogram-main-card{grid-column:1}.odontogram-workspace__editor{grid-column:1;grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=720px){.page-shell--patient{padding:14px 12px 94px}.patient-hero{border-radius:20px}.patient-hero__main{grid-template-columns:38px 60px minmax(0,1fr);gap:11px;padding:16px 14px 13px}.patient-hero__back{border-radius:11px;width:38px;height:38px}.patient-hero__avatar{border-width:3px;border-radius:17px;width:60px;height:60px}.patient-hero__identity h1{font-size:23px}.patient-hero__identity>p{display:none}.patient-hero__meta{gap:5px 9px;margin-top:6px;font-size:9px}.patient-hero__meta>span:nth-child(3){display:none}.patient-hero__actions{grid-column:1/-1;padding-left:0}.patient-hero__actions .btn{flex:1;min-width:130px}.patient-hero__alerts{padding:0 14px 12px}.patient-alert-card{border-radius:12px;grid-template-columns:31px minmax(0,1fr) 16px;min-height:50px;padding:8px 9px}.patient-alert-card__icon{border-radius:9px;width:31px;height:31px}.patient-primary-tabs{min-height:56px;padding:6px 8px 0}.patient-primary-tab{min-height:49px;padding:0 12px;font-size:10px}.patient-primary-tab .icon{display:none}.patient-subtabs{border-radius:14px;margin-top:10px}.patient-workspace-content{margin-top:12px}.patient-profile-aside{grid-template-columns:1fr}.patient-profile-aside>:last-child:nth-child(odd){grid-column:auto}.patient-data-grid{grid-template-columns:1fr}.patient-data-grid>div,.patient-data-grid>div:nth-child(odd){border-right:0;border-bottom:1px solid var(--border)}.patient-data-grid>div:last-child{border-bottom:0}.patient-data-grid>.patient-data-grid__wide{grid-column:auto}.patient-clinical-toolbar{flex-direction:column;align-items:flex-start}.history-filters{flex-wrap:nowrap;width:100%;padding-bottom:2px;overflow-x:auto}.patient-history{padding-inline:13px}.patient-history:before{left:33px}.patient-history-item{grid-template-columns:39px minmax(0,1fr);gap:9px}.patient-history-item__icon{border-width:4px;width:39px;height:39px}.record-row{grid-template-columns:48px minmax(0,1fr) auto;gap:10px}.record-row__professional{grid-column:2}.record-row__status,.record-row__amount{grid-area:1/3/span 2;align-self:center}.patient-treatment-layout>.patient-budget-card,.patient-finance-layout>.patient-budget-card{display:block}.document-grid{grid-template-columns:1fr;padding:14px}.treatment-procedure{grid-template-columns:38px minmax(0,1fr) auto;gap:9px;padding:10px 0}.treatment-procedure__progress{grid-column:2/-1}.finance-summary-grid{grid-template-columns:1fr}.odontogram-page-toolbar{flex-direction:column;align-items:stretch;padding:13px}.odontogram-page-toolbar__actions{justify-content:flex-start}.select-compact--patient{flex:1;min-width:190px}.odontogram-version{display:none}.odontogram-demo-note{align-items:flex-start;padding-inline:2px}.odontogram-workspace__summary,.odontogram-workspace__editor{grid-template-columns:1fr}.odontogram-main-card__header{padding:15px 14px 11px}.odontogram-main-card__meta{display:none}.diagnosis-palette{padding:0 14px 12px}.odontogram-instruction{margin-inline:14px}.odontogram-stage{padding-inline:10px}.odontogram-legend{padding-inline:14px}.selected-tooth-card{padding:15px}}@media (width<=430px){.patient-hero__main{grid-template-columns:36px 54px minmax(0,1fr)}.patient-hero__back{width:36px;height:36px}.patient-hero__avatar{width:54px;height:54px}.patient-hero__identity h1{font-size:20px}.patient-hero__eyebrow{font-size:8px}.patient-hero__meta>span:nth-child(2){display:none}.patient-hero__actions{gap:7px}.patient-hero__actions .btn{min-width:0;padding-inline:10px;font-size:10px}.patient-alert-card:nth-child(n+3){display:none}.patient-primary-tab{padding-inline:10px}.patient-clinical-toolbar{padding:15px}.patient-history-item__header{flex-direction:column;gap:4px}.document-card{grid-template-columns:38px minmax(0,1fr) 38px}.document-card>.badge,.odontogram-page-toolbar__intro p,.odontogram-page-toolbar__actions .btn span{display:none}.odontogram-page-toolbar__actions .btn{width:40px;padding:0}}[data-theme=dark] .patient-hero{border-color:var(--border);background:var(--surface-muted), var(--surface-muted), var(--surface-muted);box-shadow:0 18px 48px #00000059}[data-theme=dark] .patient-primary-tab.active,[data-theme=dark] .patient-subtab.active,[data-theme=dark] .tooth-button.selected{color:var(--brand-300)}[data-theme=dark] .patient-hero__avatar{color:var(--text);background:var(--surface-muted)}[data-theme=dark] .odontogram-stage,[data-theme=dark] .selected-tooth-card{--tooth-fill:#f4f7f8}[data-theme=dark] .tooth-anatomy__shape{fill:#e8edf0;stroke:#8ca1ad}.page-shell--patient{--patient-accent:var(--brand-600);--patient-accent-strong:var(--brand-700);width:min(100%,2800px);max-width:2800px}.patient-hero,[data-theme=dark] .patient-hero{color:var(--text);border-color:var(--border);border-radius:var(--radius-md);background:var(--surface);box-shadow:var(--shadow-sm)}.patient-hero:after{display:none}.patient-hero__main{min-height:132px;padding:20px 22px 16px}.patient-hero__back{border-color:var(--border);border-radius:var(--radius-sm);color:var(--text-soft);background:var(--surface-muted);-webkit-backdrop-filter:none;backdrop-filter:none}.patient-hero__back:hover{color:var(--text);background:var(--brand-50)}.patient-hero__avatar,[data-theme=dark] .patient-hero__avatar{border:1px solid var(--border);border-radius:var(--radius-md);width:76px;height:76px;box-shadow:none;color:var(--brand-700);background:var(--brand-100)}.patient-hero__eyebrow{color:var(--brand-700);letter-spacing:.11em;font-weight:700}.patient-hero__identity h1{color:var(--text);letter-spacing:0;font-size:28px}.patient-hero__identity>p,.patient-hero__meta{color:var(--text-muted)}.patient-hero__status{border-color:var(--border);border-radius:var(--radius-xs);background:var(--surface-muted)}.patient-hero__status i{background:var(--green-700);box-shadow:none;border-radius:2px}.btn--glass,.btn--patient-primary{min-height:38px;color:var(--text);border-color:var(--border-strong);background:var(--surface);box-shadow:var(--shadow-sm);-webkit-backdrop-filter:none;backdrop-filter:none}.btn--patient-primary{color:#fff;border-color:var(--brand-600);background:var(--brand-600)}.btn--glass:hover{color:var(--text);background:var(--surface-muted)}.btn--patient-primary:hover{color:#fff;background:var(--brand-700)}.patient-hero__alerts{padding:0 22px 18px 142px}.patient-alert-card{border-color:var(--border);border-radius:var(--radius-sm);color:var(--text);background:var(--surface-muted);-webkit-backdrop-filter:none;backdrop-filter:none}.patient-alert-card:hover{border-color:var(--border-strong);background:var(--brand-50);transform:none}.patient-alert-card__copy strong{color:var(--text)}.patient-alert-card__copy small{color:var(--text-muted)}.patient-alert-card__icon{color:var(--brand-700);background:var(--brand-100);border-radius:var(--radius-sm)}.patient-alert-card--danger .patient-alert-card__icon{color:var(--red-700);background:var(--red-100)}.patient-alert-card--warning .patient-alert-card__icon{color:var(--amber-700);background:var(--amber-100)}.patient-alert-card--info .patient-alert-card__icon{color:var(--blue-600);background:var(--blue-100)}.patient-alert-card--success .patient-alert-card__icon{color:var(--green-700);background:var(--green-100)}.patient-primary-tabs{border-top-color:var(--border);box-shadow:none}.patient-primary-tab{border-radius:var(--radius-sm) var(--radius-sm) 0 0;font-weight:700}.patient-primary-tab.active{color:var(--brand-700);background:var(--brand-50)}.patient-primary-tab.active:after{background:var(--brand-600)}.patient-subtabs{border-radius:var(--radius-md);box-shadow:var(--shadow-sm)}.patient-subtab{border-radius:var(--radius-sm)}.patient-subtab.active{background:var(--brand-50);box-shadow:inset 0 0 0 1px var(--brand-100)}.filter-chip{border-radius:var(--radius-sm)}.patient-budget-card__accent{background:var(--brand-600)}.patient-budget-card__total,.selected-tooth-card__visual{background:var(--surface-muted);border:1px solid var(--border)}.step-label b,.odontogram-instruction b,.workflow-hint__step{background:var(--brand-600);border-radius:var(--radius-xs)}.odontogram-main-card{box-shadow:var(--shadow-sm)}.odontogram-stage,[data-theme=dark] .odontogram-stage{background:var(--surface-muted)}.odontogram-main-card .diagnosis-option,.surface-chip,.selected-tooth-card__selection,.workflow-hint{border-radius:var(--radius-sm)}.odontogram-main-card .diagnosis-option:hover,.odontogram-main-card .diagnosis-option.active{box-shadow:var(--ring)}.tooth-button{border-radius:var(--radius-sm)}.tooth-button.selected,[data-theme=dark] .tooth-button.selected{box-shadow:0 0 0 2px var(--brand-600);color:var(--brand-700)}.selected-tooth-card__visual{border-radius:var(--radius-md)}.patient-history-item__icon,.patient-history-item__content,.medical-summary,.patient-note-panel,.next-appointment__date,.patient-stat-card__icon,.compact-empty>span{border-radius:var(--radius-sm)}@media (width<=720px){.patient-hero{border-radius:var(--radius-md)}.patient-hero__identity h1{font-size:22px}.patient-hero__alerts{padding:0 14px 12px}}.compact-list{padding:6px 18px 18px}.record-row .btn{justify-self:end}.patient-history-item__header span{color:var(--text-muted);white-space:nowrap;font-size:9px}.patient-history-item__content p{color:var(--text-soft);margin-top:7px;font-size:11px;line-height:1.55}.mt-3{margin-top:12px}.selected-tooth-card .badge{text-overflow:ellipsis;white-space:nowrap;max-width:120px;overflow:hidden}.document-card .btn{width:38px;min-width:38px;padding-inline:0}@media (width<=720px){.patient-profile-layout,.patient-treatment-layout,.patient-finance-layout,.odontogram-workspace{grid-template-columns:1fr}.patient-budget-card,.odontogram-workspace__editor{position:static}.medical-summary-grid,.finance-summary-grid{grid-template-columns:1fr}.record-row{grid-template-columns:42px minmax(0,1fr)}.record-row .btn,.record-row__amount,.record-row .badge{grid-column:2;justify-self:start}}.patient-data-grid a{align-items:center;min-height:28px;display:inline-flex}.odontogram-page-toolbar__actions .btn{white-space:nowrap;min-width:max-content}@media (width<=520px){.odontogram-page-toolbar{flex-direction:column;align-items:flex-start}.odontogram-page-toolbar__actions{justify-content:flex-start;width:100%}.odontogram-page-toolbar__actions .btn{flex:none}}.checkbox-inline{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);min-height:36px;color:var(--text-soft);align-items:center;gap:8px;padding:3px 9px 3px 3px;font-size:10px;font-weight:700;display:inline-flex}.checkbox-inline input{width:30px;height:30px;accent-color:var(--brand-600);margin:0}.patient-workflow-card{overflow:hidden}.patient-workflow-card__header{align-items:center}.patient-workflow-steps{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;display:grid}.patient-workflow-steps button{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);min-width:0;min-height:74px;color:var(--text);text-align:left;grid-template-columns:38px minmax(0,1fr);align-items:center;gap:10px;padding:12px;display:grid}.patient-workflow-steps button:hover{border-color:var(--border-strong);background:var(--surface-muted)}.patient-workflow-steps button.current{border-color:var(--brand-500);background:var(--brand-50);box-shadow:var(--ring)}.patient-workflow-steps button.done{border-color:var(--border);background:var(--green-50)}.patient-workflow-steps button>span{border-radius:var(--radius-sm);width:38px;height:38px;color:var(--brand-700);background:var(--brand-100);place-items:center;display:grid}.patient-workflow-steps button.done>span{color:var(--green-700);background:var(--green-100)}.patient-workflow-steps small,.patient-workflow-steps strong{text-overflow:ellipsis;white-space:nowrap;min-width:0;display:block;overflow:hidden}.patient-workflow-steps small{color:var(--text-muted);font-size:9px}.patient-workflow-steps strong{margin-top:3px;font-size:12px}.clinical-next-step{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--brand-50);justify-content:space-between;align-items:center;gap:12px;min-height:58px;margin:0 20px 16px;padding:12px 14px;display:flex}.clinical-next-step strong{font-size:13px;display:block}.appointment-clinical-actions{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface-muted);flex-wrap:wrap;gap:10px;margin-top:14px;padding:12px;display:flex}.odontogram-page-toolbar--clinical{grid-template-columns:minmax(230px,.8fr) minmax(340px,1.1fr) auto;display:grid}.odontogram-flow-strip{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface-muted);align-items:center;gap:6px;min-width:0;padding:5px;display:flex;overflow-x:auto}.odontogram-flow-strip button{border-radius:var(--radius-sm);min-width:max-content;min-height:34px;color:var(--text-muted);background:0 0;border:0;align-items:center;gap:7px;padding:7px 10px;font-size:11px;font-weight:720;display:inline-flex}.odontogram-flow-strip button:hover,.odontogram-flow-strip button.active{color:var(--brand-700);background:var(--surface);box-shadow:var(--shadow-xs)}.odontogram-workspace--clinical{grid-template-columns:minmax(230px,280px) minmax(620px,1fr) minmax(300px,340px)}.odontogram-diagnosis-panel{top:calc(var(--topbar-height) + 16px);position:sticky}.diagnosis-panel-list{gap:7px;display:grid}.diagnosis-tile{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);width:100%;min-height:58px;color:var(--text);text-align:left;grid-template-columns:38px minmax(0,1fr);align-items:center;gap:10px;padding:9px;display:grid}.diagnosis-tile:hover,.diagnosis-tile.active{border-color:var(--border);background:var(--brand-50)}.diagnosis-tile i{border-radius:var(--radius-sm);width:38px;height:38px;color:var(--brand-700);background:var(--brand-100);place-items:center;font-size:12px;font-style:normal;font-weight:860;display:grid}.diagnosis-tile--danger i{color:var(--red-700);background:var(--red-100)}.diagnosis-tile--warning i{color:var(--amber-700);background:var(--amber-100)}.diagnosis-tile--success i{color:var(--green-700);background:var(--green-100)}.diagnosis-tile--info i{color:var(--blue-700);background:var(--blue-100)}.diagnosis-tile--purple i{color:var(--purple-700);background:var(--purple-100)}.diagnosis-tile strong,.diagnosis-tile small{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.diagnosis-tile strong{font-size:11px}.diagnosis-tile small{color:var(--text-muted);margin-top:3px;font-size:9px}.odontogram-main-card--board .odontogram-stage{border-bottom:0}.odontogram-main-card--board .tooth-button{border-radius:var(--radius-sm);border:1px solid #0000;align-content:center;justify-items:center;gap:4px;width:100%;height:auto;min-height:104px;padding:6px 2px;display:grid}.tooth-glyph{--mark:var(--brand-600);align-content:center;justify-items:center;width:38px;height:58px;display:grid;position:relative}.tooth-root{border:1.5px solid var(--ink-300);background:var(--surface-muted);clip-path:polygon(12% 0,88% 0,68% 100%,50% 72%,32% 100%);border-top:0;border-radius:0 0 17px 17px;width:30px;height:31px}.tooth-crown{border:1.5px solid var(--ink-300);background:var(--surface);width:34px;height:25px;box-shadow:inset 0 -3px 0 var(--ink-50);border-radius:13px 13px 10px 10px;grid-template-columns:repeat(2,1fr);gap:2px;padding:4px;display:grid}.tooth-crown span{border:1px solid var(--ink-200);background:var(--surface);border-radius:50%}.tooth-glyph--lower .tooth-crown{border-radius:10px 10px 13px 13px}.tooth-button--caries .tooth-crown span:first-child,.tooth-button--caries .tooth-crown span:nth-child(4){background:var(--red-100);border-color:var(--red-500)}.tooth-button--restoration .tooth-crown span{background:var(--blue-100);border-color:var(--blue-500)}.tooth-button--observation .tooth-crown span:nth-child(2){background:var(--amber-100);border-color:var(--amber-500)}.tooth-button--missing .tooth-glyph:after{content:"";background:var(--red-100), var(--red-100);position:absolute;inset:6px 0}.tooth-button--crown .tooth-crown{border-color:var(--purple-600);background:var(--purple-100)}.tooth-button--endodontics .tooth-root{border-color:var(--blue-600);background:var(--blue-100)}.tooth-button--implant .tooth-root{border-color:var(--green-700);background:var(--green-100)}.odontogram-main-card--board .tooth-number{color:var(--text);font-size:10px}.odontogram-main-card--board .tooth-button small{text-overflow:ellipsis;white-space:nowrap;max-width:42px;color:var(--text-muted);font-size:8px;overflow:hidden}.odontogram-main-card--board .tooth-status-dot{background:var(--brand-600);top:7px;right:7px}.odontogram-legend--clinical{border-top:1px solid var(--border)}.diagnosis-dot{color:var(--text-soft);align-items:center;gap:6px;display:inline-flex}.diagnosis-dot i,i.diagnosis-dot{background:var(--brand-600);border-radius:3px;width:9px;height:9px;display:inline-block}.diagnosis-dot--danger i,i.diagnosis-dot--danger{background:var(--red-600)}.diagnosis-dot--warning i,i.diagnosis-dot--warning{background:var(--amber-600)}.diagnosis-dot--success i,i.diagnosis-dot--success{background:var(--green-600)}.diagnosis-dot--info i,i.diagnosis-dot--info{background:var(--blue-600)}.diagnosis-dot--purple i,i.diagnosis-dot--purple{background:var(--purple-600)}.selected-tooth-card--clinical .selected-tooth-card__selection{grid-template-columns:14px minmax(0,1fr);margin-top:14px}.selected-tooth-card__actions{grid-template-columns:1fr auto;gap:8px;display:grid}.patient-treatment-layout--clinical{grid-template-columns:minmax(260px,300px) minmax(0,1fr)}.treatment-entry-card{overflow:visible}.treatment-entry-card__header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:flex-start;gap:16px;padding:18px 20px 12px;display:flex}.treatment-entry-card__header .autocomplete-field{max-width:320px}.treatment-entry-grid{grid-template-columns:minmax(240px,1.4fr) minmax(180px,.8fr) minmax(140px,.6fr) minmax(140px,.6fr) minmax(120px,.5fr) minmax(120px,.5fr);gap:12px;padding:16px 20px;display:grid}.treatment-entry-card__actions{padding:0 20px 18px}@media (width<=1280px){.odontogram-page-toolbar--clinical{grid-template-columns:1fr;align-items:stretch}.odontogram-workspace--clinical{grid-template-columns:minmax(210px,250px) minmax(0,1fr)}.odontogram-workspace--clinical .odontogram-workspace__editor{grid-column:1/-1;grid-template-columns:minmax(280px,.8fr) minmax(320px,1.2fr)}.treatment-entry-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (width<=860px){.patient-workflow-steps,.odontogram-workspace--clinical,.odontogram-workspace--clinical .odontogram-workspace__editor,.treatment-entry-grid{grid-template-columns:1fr}.odontogram-diagnosis-panel{position:static}.diagnosis-panel-list{grid-template-columns:repeat(2,minmax(0,1fr))}.treatment-entry-card__header{flex-direction:column}.treatment-entry-card__header .autocomplete-field{width:100%;max-width:none}}@media (width<=560px){.diagnosis-panel-list{grid-template-columns:1fr}.odontogram-main-card--board .odontogram-arch{min-width:650px}.clinical-next-step,.patient-workflow-card__header{flex-direction:column;align-items:flex-start}.appointment-clinical-actions .btn{flex:160px}}.treatment-entry-grid{grid-template-columns:minmax(210px,1.25fr) minmax(145px,.8fr) minmax(105px,.6fr) minmax(105px,.6fr) minmax(96px,.5fr) minmax(96px,.5fr);gap:10px;padding-inline:16px}@media (width<=860px){.treatment-entry-grid{grid-template-columns:1fr;padding-inline:14px}.page-shell--patient{overflow-x:clip}.patient-primary-tabs{contain:inline-size;max-width:100%}.treatment-entry-card__header{min-width:0}}.page-shell--patient{width:min(100%,2800px);max-width:2800px;padding-top:18px}.patient-clinical-header,[data-theme=dark] .patient-clinical-header{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface);box-shadow:var(--shadow-sm);overflow:hidden}.patient-clinical-header__main{grid-template-columns:42px 72px minmax(0,1fr) auto;gap:16px;min-height:118px;padding:18px 20px 14px}.patient-clinical-header .patient-hero__avatar{border-radius:18px;width:72px;height:72px;font-size:20px}.patient-clinical-header .patient-hero__identity h1{font-size:clamp(24px,2.1vw,32px);line-height:1.04}.patient-clinical-header__chips{gap:7px}.patient-clinical-header__chips>span{border:1px solid var(--border);border-radius:var(--radius-sm);min-height:28px;color:var(--text-soft);background:var(--surface-muted);padding:5px 8px}.patient-clinical-header__chips .icon{width:14px;height:14px}.patient-clinical-header__summary{border-top:1px solid var(--border);background:var(--surface-muted);grid-template-columns:repeat(3,minmax(0,1fr));gap:0;padding:0}.patient-clinical-header__summary .patient-alert-card{border:0;border-right:1px solid var(--border);background:0 0;border-radius:0;min-height:66px}.patient-clinical-header__summary .patient-alert-card:last-child{border-right:0}.patient-clinical-header__summary .patient-alert-card:hover{background:var(--brand-50)}.patient-primary-tabs{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface);min-height:58px;box-shadow:var(--shadow-xs);gap:6px;margin-top:12px;padding:6px}.patient-primary-tab{border-radius:var(--radius-sm);min-height:44px;color:var(--text-muted);gap:8px;padding:0 13px;font-size:11px}.patient-primary-tab.active{color:var(--brand-700);background:var(--brand-50);box-shadow:inset 0 0 0 1px var(--brand-100)}.patient-primary-tab .icon{width:16px;height:16px}.patient-profile-layout,.clinical-workspace,.patient-treatment-layout,.patient-finance-layout{gap:16px}.patient-workflow-card,.patient-section-card,.patient-next-card,.patient-table-card,.patient-budget-card,.treatment-entry-card,.treatment-plan-card{border-radius:var(--radius-md);box-shadow:var(--shadow-xs)}.odontogram-clinic-screen{max-width:none}.odontogram-clinic-toolbar{border-radius:var(--radius-md);grid-template-columns:minmax(260px,.9fr) minmax(260px,.9fr) auto;min-height:74px;padding:12px 14px}.odontogram-clinic-toolbar__metrics{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;min-width:0;display:grid}.odontogram-clinic-toolbar__metrics span{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface-muted);align-content:center;min-height:46px;padding:8px 10px;display:grid}.odontogram-clinic-toolbar__metrics strong{font-size:16px;line-height:1}.odontogram-clinic-toolbar__metrics small{color:var(--text-muted);text-transform:uppercase;margin-top:4px;font-size:8px;font-weight:760}.odontogram-clinic-layout{grid-template-columns:minmax(250px,286px) minmax(760px,1fr) minmax(300px,340px);gap:14px;margin-top:14px}.odontogram-diagnosis-panel,.odontogram-action-column{top:calc(var(--topbar-height) + 14px);position:sticky}.diagnosis-panel-card--clinical,.odontogram-board-card,.selected-tooth-card--clinical,.odontogram-history-card--clinical{border-radius:var(--radius-md);box-shadow:var(--shadow-xs)}.diagnosis-panel-card--clinical .card__header,.selected-tooth-card--clinical,.odontogram-history-card--clinical .card__body{padding:14px}.diagnosis-panel-list{gap:8px;padding:0 14px 14px}.diagnosis-tile{grid-template-columns:40px minmax(0,1fr);min-height:56px;padding:8px}.odontogram-board-card__header{border-bottom:1px solid var(--border);padding:15px 18px 12px}.odontogram-main-card--board .odontogram-stage{background:var(--surface-muted);border:0;padding:18px 16px 20px}.odontogram-main-card--board .odontogram-arch{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface);min-width:900px;padding:10px 12px 14px}.odontogram-main-card--board .odontogram-row{grid-template-columns:repeat(16,minmax(48px,1fr));gap:7px}.odontogram-main-card--board .tooth-button{border-color:var(--border);background:var(--surface);min-height:112px}.odontogram-main-card--board .tooth-button:hover{border-color:var(--brand-500);background:var(--brand-50)}.odontogram-main-card--board .tooth-button.selected{border-color:var(--brand-600);background:var(--brand-50);box-shadow:inset 0 0 0 2px var(--brand-600)}.tooth-glyph{width:42px;height:62px}.tooth-root{width:32px;height:33px}.tooth-crown{width:36px;height:27px}.odontogram-main-card--board .tooth-number{font-size:11px;font-weight:850}.odontogram-legend--clinical{background:var(--surface);padding:10px 16px 13px}.selected-tooth-card--clinical .selected-tooth-card__header h2{font-size:34px}.surface-selector{grid-template-columns:repeat(4,minmax(0,1fr));gap:7px}.surface-chip{min-height:42px}.surface-chip:first-child,.surface-chip:last-child{grid-column:span 2}.odontogram-action-column{gap:14px;display:grid}.odontogram-history-card--clinical .card__header{padding:14px 14px 0}.odontogram-history__item strong{font-size:10px}.odontogram-history__item p{font-size:9px}@media (width<=1360px){.odontogram-clinic-toolbar{grid-template-columns:1fr}.odontogram-clinic-layout{grid-template-columns:minmax(220px,250px) minmax(0,1fr)}.odontogram-action-column{grid-column:1/-1;grid-template-columns:minmax(300px,.8fr) minmax(320px,1.2fr);position:static}.diagnosis-panel-list{grid-template-columns:1fr}}@media (width<=900px){.odontogram-clinic-layout{grid-template-columns:1fr}.odontogram-diagnosis-panel{position:static}.diagnosis-panel-list{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=860px){.patient-clinical-header__main{grid-template-columns:40px 62px minmax(0,1fr)}.patient-clinical-header .patient-hero__actions{grid-column:1/-1;padding-left:0}.patient-clinical-header__summary,.diagnosis-panel-list,.odontogram-action-column{grid-template-columns:1fr}.patient-clinical-header__summary .patient-alert-card{border-right:0;border-bottom:1px solid var(--border)}.patient-clinical-header__summary .patient-alert-card:last-child{border-bottom:0}.patient-primary-tabs{align-items:center}.patient-primary-tab{padding-inline:11px}.odontogram-clinic-toolbar__metrics{grid-template-columns:1fr 1fr}}@media (width<=560px){.patient-primary-tab .icon,.patient-clinical-header__chips>span:nth-child(n+3){display:none}.odontogram-clinic-toolbar__metrics{grid-template-columns:1fr}.odontogram-main-card--board .odontogram-arch{min-width:760px}}@media (width<=1360px) and (width>=901px){.odontogram-main-card--board .odontogram-arch{min-width:680px}.odontogram-main-card--board .odontogram-row{grid-template-columns:repeat(16,minmax(36px,1fr));gap:5px}.odontogram-main-card--board .tooth-button{min-height:102px;padding-inline:1px}.tooth-glyph{width:36px;height:58px}.tooth-root{width:29px;height:31px}.tooth-crown{width:32px;height:25px}}.odontogram-clinic-screen{--diagnosis-caries:#dc2626;--diagnosis-restoration:#2563eb;--diagnosis-endodontics:#be185d;--diagnosis-crown:#7c3aed;--diagnosis-implant:#059669;--diagnosis-missing:#64748b;--diagnosis-observation:#d97706;--diagnosis-healthy:#0f766e;--odonto-drawer-width:392px;max-width:100%;overflow-x:clip}.odontogram-clinic-layout{margin-top:14px;display:block;position:relative}.odontogram-workspace.has-drawer-open{padding-right:calc(var(--odonto-drawer-width) + 16px)}.odontogram-main-container{min-width:0;max-width:100%;overflow:hidden}.diagnosis-drawer{z-index:42;top:calc(var(--topbar-height) + 8px);width:min(var(--odonto-drawer-width), calc(100vw - 24px));border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface);opacity:0;pointer-events:none;grid-template-rows:auto minmax(0,1fr) auto;transition:opacity .18s,transform .22s;display:grid;position:fixed;bottom:12px;right:12px;overflow:hidden;transform:translate(calc(100% + 20px));box-shadow:0 24px 70px #0f172a47}.diagnosis-drawer.is-open{opacity:1;pointer-events:auto;transform:translate(0)}.diagnosis-drawer__header,.diagnosis-drawer__footer{border-bottom:1px solid var(--border);background:var(--surface);padding:16px 18px}.diagnosis-drawer__footer{border-top:1px solid var(--border);border-bottom:0}.diagnosis-drawer__header{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.diagnosis-drawer__header h2{margin:2px 0 0;font-size:20px;line-height:1.15}.diagnosis-drawer__body{min-height:0;padding:16px 18px 18px;overflow-y:auto}.drawer-close-btn{border:1px solid var(--border);border-radius:var(--radius-sm);width:38px;height:38px;color:var(--text-soft);background:var(--surface-muted);place-items:center;display:grid}.drawer-close-btn:hover{color:var(--text);border-color:var(--border-strong);background:var(--surface)}.diagnosis-drawer__hero{--tone-accent:var(--brand-600);border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface);box-shadow:inset 4px 0 0 var(--tone-accent);gap:7px;padding:14px;display:grid}.diagnosis-drawer__hero-pill{color:#fff;background:var(--tone-accent);text-transform:uppercase;border-radius:999px;align-items:center;width:fit-content;min-height:24px;padding:0 9px;font-size:10px;font-weight:820;display:inline-flex}.diagnosis-drawer__hero p,.diagnosis-drawer__current-card p,.surface-picker-section__header small{color:var(--text-muted)}.teeth-badges-list{flex-wrap:wrap;gap:7px;display:flex}.tooth-badge{border:1px solid var(--border);min-height:28px;color:var(--text);background:var(--surface);border-radius:999px;align-items:center;padding:0 10px;font-size:11px;font-weight:820;display:inline-flex}.surface-picker-section__header{gap:3px;display:grid}.surface-selector{--surface-accent:var(--tone-accent,var(--brand-600))}.surface-chip.active{color:#fff;border-color:var(--surface-accent);background:var(--surface-accent);box-shadow:0 0 0 3px var(--surface-accent)}.surface-chip.active span{color:#ffffffd1}.diagnosis-tile,.diagnosis-drawer__hero,.diagnosis-drawer__hero-pill,.surface-selector,.tooth-badge,.diagnosis-dot{--tone-accent:var(--brand-600)}.diagnosis-tile--danger,.diagnosis-drawer__hero--danger,.diagnosis-drawer__hero-pill--danger,.surface-selector--danger,.tooth-badge--danger,.diagnosis-dot--danger{--tone-accent:var(--diagnosis-caries)}.diagnosis-tile--brand,.diagnosis-drawer__hero--brand,.diagnosis-drawer__hero-pill--brand,.surface-selector--brand,.tooth-badge--brand,.diagnosis-dot--brand{--tone-accent:var(--diagnosis-restoration)}.diagnosis-tile--info,.diagnosis-drawer__hero--info,.diagnosis-drawer__hero-pill--info,.surface-selector--info,.tooth-badge--info,.diagnosis-dot--info{--tone-accent:var(--diagnosis-endodontics)}.diagnosis-tile--purple,.diagnosis-drawer__hero--purple,.diagnosis-drawer__hero-pill--purple,.surface-selector--purple,.tooth-badge--purple,.diagnosis-dot--purple{--tone-accent:var(--diagnosis-crown)}.diagnosis-tile--success,.diagnosis-drawer__hero--success,.diagnosis-drawer__hero-pill--success,.surface-selector--success,.tooth-badge--success,.diagnosis-dot--success{--tone-accent:var(--diagnosis-implant)}.diagnosis-tile--warning,.diagnosis-drawer__hero--warning,.diagnosis-drawer__hero-pill--warning,.surface-selector--warning,.tooth-badge--warning,.diagnosis-dot--warning{--tone-accent:var(--diagnosis-missing)}.diagnosis-tile--neutral,.diagnosis-drawer__hero--neutral,.diagnosis-drawer__hero-pill--neutral,.surface-selector--neutral,.tooth-badge--neutral,.diagnosis-dot--neutral{--tone-accent:var(--diagnosis-observation)}.diagnosis-tile--healthy,.diagnosis-drawer__hero--healthy,.diagnosis-drawer__hero-pill--healthy,.surface-selector--healthy,.tooth-badge--healthy,.diagnosis-dot--healthy{--tone-accent:var(--diagnosis-healthy)}.diagnosis-tile i{color:#fff;background:var(--tone-accent)}.diagnosis-tile.active{border-color:var(--tone-accent);background:var(--surface);box-shadow:inset 4px 0 0 var(--tone-accent)}.odontogram-legend--clinical{background:var(--surface);gap:8px 10px}.odontogram-legend__item{border:1px solid var(--border);min-height:28px;color:var(--text-soft);background:var(--surface);border-radius:999px;padding:0 9px}.odontogram-legend__item i,.diagnosis-dot i{background:var(--tone-accent,var(--brand-600))}.odontogram-main-card--board .odontogram-stage{background:var(--surface-muted)}.odontogram-main-card--board .odontogram-arch{border:1px solid var(--border);background:var(--surface)}.odontogram-main-card--board .tooth-button{place-items:center;min-height:104px;display:grid}.tooth-svg{width:58px;height:76px;overflow:visible}.tooth-shell__shadow{fill:#0f172a24;transform:translateY(3px)}.tooth-shell__plate{fill:#f8fbff;stroke:#dbe7f4;stroke-width:.8px}.tooth-surface{stroke:var(--surface-fill,#fff);stroke-width:1.2px;transition:filter .16s,stroke .16s}.tooth-button:hover .tooth-surface,.tooth-button.selected .tooth-surface{filter:saturate(1.18)brightness(1.02)}.tooth-outline,.tooth-ridge{fill:none;pointer-events:none}.tooth-outline{stroke:#64748b;stroke-width:1.15px}.tooth-ridge{stroke:#64748b8c;stroke-linecap:round}.tooth-surface-label{text-anchor:middle;fill:#0f172a;pointer-events:none;font-size:7.6px;font-weight:850}.tooth-anatomy__shape{fill:#f8fbff;stroke:#bfd0e4;stroke-width:1.05px}.tooth-anatomy__crown-shape{fill:#f8fbff}.tooth-anatomy__root{fill:#f2f7fc}.diagnosis-drawer__current-card{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface-muted);padding:12px}.table-history tr.is-annulled{opacity:.58;text-decoration:line-through}.btn-annul{border:1px solid var(--border);min-height:32px;color:var(--red-700);background:var(--red-50);border-radius:999px;padding:0 12px}@media (width<=1180px){.odontogram-workspace.has-drawer-open{padding-right:0}.diagnosis-drawer{width:min(380px,100vw - 24px)}}@media (width<=760px){.diagnosis-drawer{border-radius:var(--radius-md) var(--radius-md) 0 0;width:100%;max-height:min(78vh,720px);inset:auto 0 0;transform:translateY(calc(100% + 20px))}.diagnosis-drawer.is-open{transform:translateY(0)}.diagnosis-drawer__header,.diagnosis-drawer__body,.diagnosis-drawer__footer{padding-inline:14px}}.odontogram-subnav{border:1px solid var(--border);background:var(--surface);width:fit-content;box-shadow:var(--shadow-xs);border-radius:16px;align-items:center;gap:6px;margin:14px 0 0;padding:5px;display:inline-flex}.odontogram-subnav__item{min-height:38px;color:var(--text-soft);font:inherit;cursor:default;background:0 0;border:0;border-radius:12px;justify-content:center;align-items:center;gap:8px;padding:0 14px;font-size:11px;font-weight:780;text-decoration:none;display:inline-flex}button.odontogram-subnav__item{cursor:pointer}button.odontogram-subnav__item:hover{color:var(--brand-700);background:var(--brand-50)}.odontogram-subnav__item.active{color:var(--brand-800);background:var(--brand-50);box-shadow:inset 0 0 0 1px var(--brand-500)}.odontogram-subnav__item .icon{width:16px;height:16px}.odontogram-board-card{overflow:hidden}.odontogram-board-card__header{justify-content:space-between;align-items:center;gap:18px;display:flex}.odontogram-main-card__meta{flex-wrap:wrap;justify-content:flex-end;gap:7px;display:flex}.odontogram-main-card--board .odontogram-stage{background:var(--surface-muted), var(--surface-muted);padding:0;overflow-x:auto}.odontogram-stage__intro{border-bottom:1px solid var(--border);background:var(--surface);justify-content:space-between;align-items:center;gap:18px;padding:16px 18px;display:flex}.odontogram-stage__intro>div:first-child{gap:3px;min-width:0;display:grid}.odontogram-stage__intro strong{color:var(--text);font-size:16px;line-height:1.2}.odontogram-stage__badges{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:8px;display:flex}.odontogram-stage__badges span{border:1px solid var(--border);min-height:32px;color:var(--text-soft);background:var(--surface);white-space:nowrap;box-shadow:var(--shadow-xs);border-radius:999px;align-items:center;gap:7px;padding:0 10px;font-size:11px;font-weight:780;display:inline-flex}.odontogram-stage__badges .icon{width:14px;height:14px;color:var(--brand-700)}.odontogram-main-card--board .odontogram-arch{border-color:var(--brand-200);background:var(--surface-muted), var(--surface);box-shadow:0 22px 52px var(--ink-900);margin:18px;padding:16px 12px 18px}.odontogram-regions{border-top:1px solid var(--border);background:var(--surface);padding:16px 18px 18px}.odontogram-regions__header{justify-content:space-between;align-items:center;gap:14px;display:flex}.odontogram-regions__header>div{gap:2px;display:grid}.odontogram-regions__header strong{color:var(--text);font-size:14px}.regions-toggle-btn{border:1px solid var(--border);min-height:34px;color:var(--text-soft);background:var(--surface-muted);font:inherit;border-radius:999px;justify-content:center;align-items:center;gap:7px;padding:0 11px;font-size:10px;font-weight:780;display:inline-flex}.regions-toggle-btn:hover{color:var(--brand-700);border-color:var(--border);background:var(--brand-50)}.regions-panel{margin-top:12px}.regions-grid{grid-template-columns:repeat(8,minmax(106px,1fr));gap:8px;display:grid}.region-chip{border:1px solid var(--border);min-height:64px;color:var(--text-soft);background:var(--surface-muted);font:inherit;box-shadow:var(--shadow-xs);border-radius:14px;place-items:center;gap:6px;padding:9px 8px;font-size:11px;font-weight:780;display:grid}.region-chip:hover{color:var(--brand-800);border-color:var(--border);background:var(--brand-50);box-shadow:0 14px 28px var(--brand-800);transform:translateY(-1px)}.region-svg{width:48px;height:24px;color:var(--brand-700)}.region-chip--large .region-svg{width:58px}.odontogram-history-page-card{margin-top:14px;overflow:hidden}.odontogram-history-page-card__header{border-bottom:1px solid var(--border);background:var(--surface);padding:18px}.odontogram-history-table-wrap{max-height:none}.odontogram-history-table td,.odontogram-history-table th{vertical-align:middle}@media (width<=1100px){.odontogram-stage__panel{min-width:860px}.regions-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}@media (width<=900px){.odontogram-subnav{width:100%}.odontogram-subnav__item{flex:1}.odontogram-board-card__header,.odontogram-stage__intro{flex-direction:column;align-items:flex-start}.odontogram-main-card__meta,.odontogram-stage__badges{justify-content:flex-start}.regions-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=560px){.odontogram-subnav{grid-template-columns:1fr;display:grid}.odontogram-stage__panel{min-width:760px}.odontogram-main-card--board .odontogram-arch{margin:12px}.regions-grid{grid-template-columns:1fr}}.odontogram-stage__panel{min-width:0}.odontogram-main-card--board .odontogram-arch{min-width:940px}@media (width<=1100px){.odontogram-stage__panel{min-width:0}.odontogram-main-card--board .odontogram-arch{min-width:860px}}@media (width<=560px){.odontogram-stage__panel{min-width:0}.odontogram-main-card--board .odontogram-arch{min-width:760px}}.patient-flow-lock-banner{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--amber-50,#fffbeb);justify-content:space-between;align-items:center;gap:14px;margin-top:12px;padding:14px 16px;display:flex}.patient-flow-lock-banner__copy{gap:4px;display:grid}.patient-flow-lock-banner__copy strong{font-size:14px;line-height:1.2}.patient-flow-lock-banner__copy p{color:var(--text-soft);margin:0;font-size:12px;line-height:1.45}.clinical-flow-panel{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface);gap:14px;margin:0 20px 18px;padding:16px;display:grid}.clinical-flow-panel__intro{grid-template-columns:minmax(0,1fr) auto;align-items:flex-start;gap:14px;display:grid}.clinical-flow-panel__intro h3{margin:4px 0 0;font-size:18px;line-height:1.15}.clinical-flow-panel__intro p{color:var(--text-soft);margin:8px 0 0;font-size:12.5px;line-height:1.5}.clinical-flow-panel__actions{flex-wrap:wrap;justify-content:flex-end;gap:8px;display:flex}.clinical-flow-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;display:grid}.clinical-flow-step{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface);text-align:left;gap:8px;min-width:0;padding:14px;transition:border-color .15s,background .15s,box-shadow .15s;display:grid}.clinical-flow-step:not(:disabled):hover{border-color:var(--brand-400,var(--brand-600));background:var(--brand-50);box-shadow:var(--shadow-xs)}.clinical-flow-step:disabled{cursor:not-allowed;opacity:.82}.clinical-flow-step--done{background:var(--green-50,#f0fdf4);border-color:var(--border)}.clinical-flow-step--active{background:var(--brand-50);border-color:var(--border)}.clinical-flow-step--next{background:var(--surface-muted)}.clinical-flow-step--locked{background:var(--surface-muted);border-style:dashed}.clinical-flow-step__index{color:var(--text-muted);letter-spacing:.08em;text-transform:uppercase;font-size:9px;font-weight:800}.clinical-flow-step__body{grid-template-columns:34px minmax(0,1fr);align-items:flex-start;gap:10px;display:grid}.clinical-flow-step__icon{border-radius:var(--radius-sm);width:34px;height:34px;color:var(--brand-700);background:var(--surface-alt);place-items:center;display:grid}.clinical-flow-step__body strong{font-size:13px;line-height:1.2;display:block}.clinical-flow-step__body p{color:var(--text-soft);margin:4px 0 0;font-size:11.5px;line-height:1.45}.clinical-next-step{align-items:flex-start}.clinical-next-step small{color:var(--text-soft);margin-top:4px;font-size:11.5px;line-height:1.45;display:block}.clinical-next-step__actions{flex-wrap:wrap;gap:8px;display:flex}.treatment-workflow-banner{border:1px solid var(--border);background:var(--surface);gap:14px;padding:18px;display:grid}.treatment-workflow-banner__intro{grid-template-columns:minmax(0,1fr) auto;align-items:flex-start;gap:16px;display:grid}.treatment-workflow-banner__intro h2{margin:4px 0 0;font-size:20px;line-height:1.15}.treatment-workflow-banner__intro p{color:var(--text-soft);margin:8px 0 0;font-size:12.5px;line-height:1.5}.treatment-workflow-banner__actions{flex-wrap:wrap;justify-content:flex-end;gap:8px;display:flex}.treatment-flow-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;display:grid}.treatment-flow-step{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface);text-align:left;gap:6px;padding:14px;display:grid}.treatment-flow-step span{color:var(--text-muted);text-transform:uppercase;letter-spacing:.08em;font-size:9px;font-weight:800}.treatment-flow-step strong{font-size:13px;line-height:1.2}.treatment-flow-step small{color:var(--text-soft);font-size:11.5px;line-height:1.45}.treatment-flow-step--done{background:var(--green-50,#f0fdf4);border-color:var(--border)}.treatment-flow-step--active{background:var(--brand-50);border-color:var(--border)}@media (width<=860px){.patient-flow-lock-banner,.clinical-flow-panel__intro,.treatment-workflow-banner__intro,.clinical-flow-grid,.treatment-flow-grid{grid-template-columns:1fr}.clinical-flow-panel__actions,.treatment-workflow-banner__actions{justify-content:flex-start}}[data-theme=dark] .patient-flow-lock-banner{background:var(--amber-100);border-color:var(--border)}[data-theme=dark] .clinical-flow-panel,[data-theme=dark] .treatment-workflow-banner{background:var(--surface);border-color:var(--border);box-shadow:0 14px 30px #0000002e}[data-theme=dark] .patient-flow-lock-banner__copy p,[data-theme=dark] .clinical-flow-panel__intro p,[data-theme=dark] .clinical-flow-step__body p,[data-theme=dark] .clinical-next-step small,[data-theme=dark] .treatment-workflow-banner__intro p,[data-theme=dark] .treatment-flow-step small{color:var(--text-muted)}[data-theme=dark] .clinical-flow-step,[data-theme=dark] .treatment-flow-step{background:var(--surface-muted)}[data-theme=dark] .clinical-flow-step--done,[data-theme=dark] .treatment-flow-step--done{background:var(--green-100);border-color:var(--border)}[data-theme=dark] .clinical-flow-step--active,[data-theme=dark] .treatment-flow-step--active,[data-theme=dark] .clinical-next-step{background:var(--surface);border-color:var(--border)}[data-theme=dark] .clinical-flow-step--locked{background:var(--surface-muted)}[data-theme=dark] .clinical-flow-step__icon{background:var(--surface)}.patient-note-panel{border-color:var(--border);color:var(--text-soft);background:var(--blue-100)}.patient-note-panel>.icon{color:var(--blue-700)}.patient-note-panel strong{color:var(--text)}.record-row__actions{flex-wrap:wrap;justify-content:flex-end;gap:8px;display:flex}.care-bridge-card{border:1px solid var(--border);background:var(--surface)}.care-bridge-card__header{padding-bottom:10px}.care-bridge-card__header h2{margin:4px 0 0;font-size:20px;line-height:1.15}.care-bridge-card__header p{color:var(--text-soft);margin:8px 0 0;font-size:12.5px;line-height:1.55}.care-bridge-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.care-bridge-item{border:1px solid var(--border);border-radius:var(--radius-md);min-width:0;color:inherit;background:var(--surface);text-align:left;gap:10px;padding:16px;transition:transform .15s,border-color .15s,background .15s,box-shadow .15s;display:grid}.care-bridge-item:hover{border-color:var(--border);background:var(--brand-50);box-shadow:var(--shadow-sm);transform:translateY(-1px)}.care-bridge-item__meta{justify-content:space-between;align-items:center;gap:10px;display:flex}.care-bridge-item__meta small{color:var(--text-muted);font-size:10px;font-weight:720}.care-bridge-item__icon{width:36px;height:36px;color:var(--brand-700);background:var(--brand-100);border-radius:12px;place-items:center;display:grid}.care-bridge-item strong{font-size:13px;line-height:1.2}.care-bridge-item p{color:var(--text-soft);margin:0;font-size:11.5px;line-height:1.5}.care-bridge-actions{padding-top:0}.care-bridge-history{gap:10px;display:grid}.care-bridge-history>strong{font-size:12px}.care-bridge-history__list{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:10px;display:grid}.care-bridge-history__item{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface);grid-template-columns:auto minmax(0,1fr);align-items:center;gap:10px;padding:12px;display:grid}.care-bridge-history__item strong,.care-bridge-history__item small{display:block}.care-bridge-history__item small{color:var(--text-muted);margin-top:4px;font-size:10px}[data-theme=dark] .patient-note-panel{border-color:var(--border);color:var(--text-soft);background:var(--blue-100)}[data-theme=dark] .patient-note-panel strong{color:var(--text)}[data-theme=dark] .care-bridge-card{border-color:var(--border);background:var(--surface);box-shadow:0 14px 30px #0000002e}[data-theme=dark] .care-bridge-item,[data-theme=dark] .care-bridge-history__item{border-color:var(--border);background:var(--surface-muted)}[data-theme=dark] .care-bridge-item:hover{background:var(--surface);box-shadow:0 14px 28px #00000038}[data-theme=dark] .care-bridge-item__icon{color:var(--brand-800);background:var(--brand-100)}@media (width<=980px){.care-bridge-grid{grid-template-columns:1fr}}.clinical-inline-flow{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface);gap:12px;padding:16px 18px;display:grid}.clinical-inline-flow__summary{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:14px;display:grid}.clinical-inline-flow__summary h3{margin:4px 0 0;font-size:16px;line-height:1.2}.clinical-inline-flow__metrics{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.clinical-inline-flow__metrics span{border:1px solid var(--border);background:var(--surface);text-align:center;border-radius:12px;gap:2px;min-width:92px;padding:10px 12px;display:grid}.clinical-inline-flow__metrics strong{font-size:16px;line-height:1}.clinical-inline-flow__metrics small{color:var(--text-muted);text-transform:uppercase;font-size:9px;font-weight:780}.clinical-inline-flow__steps{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;display:grid}.clinical-inline-flow__step{border:1px solid var(--border);background:var(--surface);border-radius:12px;gap:4px;padding:12px 14px;display:grid}.clinical-inline-flow__step strong{font-size:12px;line-height:1.2}.clinical-inline-flow__step small{color:var(--text-muted);font-size:10px;line-height:1.4}.clinical-inline-flow__step.is-active{border-color:var(--border);background:var(--brand-50)}[data-theme=dark] .clinical-inline-flow{border-color:var(--border);background:var(--surface-muted)}[data-theme=dark] .clinical-inline-flow__metrics span,[data-theme=dark] .clinical-inline-flow__step,[data-theme=dark] .clinical-inline-flow__step.is-active{border-color:var(--border);background:var(--surface)}@media (width<=980px){.clinical-inline-flow__summary,.clinical-inline-flow__steps{grid-template-columns:1fr}}.patient-clinical-header--compact{box-shadow:var(--shadow-xs)}.patient-clinical-header--compact .patient-clinical-header__main{grid-template-columns:42px 64px minmax(0,1fr) auto;gap:14px;min-height:auto;padding:16px 18px}.patient-clinical-header--compact .patient-hero__avatar{border-radius:18px;width:64px;height:64px;font-size:18px}.patient-clinical-header--compact .patient-hero__eyebrow{margin-bottom:4px}.patient-clinical-header--compact .patient-hero__identity h1{font-size:clamp(22px,2vw,30px)}.patient-clinical-header__stats{flex-wrap:wrap;gap:8px;margin-top:10px;display:flex}.patient-stat-pill{border:1px solid var(--border);min-height:30px;color:var(--text-soft);background:var(--surface-muted);border-radius:999px;align-items:center;gap:8px;padding:6px 10px;display:inline-flex}.patient-stat-pill strong,.patient-stat-pill small{display:block}.patient-stat-pill strong{font-size:10px;line-height:1}.patient-stat-pill small{color:var(--text-muted);font-size:9px;line-height:1.2}.patient-clinical-header__actions-compact{align-items:flex-start}.patient-alerts-inline{margin-top:10px;padding:0 4px}.patient-alerts-inline .inline-wrap{flex-wrap:wrap;gap:8px;display:flex}.odontogram-page-toolbar--compact{min-height:auto;padding:12px 16px}.odontogram-page-toolbar--compact .odontogram-page-toolbar__intro h2{font-size:17px}.odontogram-page-toolbar--compact .odontogram-page-toolbar__actions .btn{min-height:36px;padding-inline:11px}.odontogram-page-toolbar--compact .odontogram-flow-strip,.odontogram-main-card__header p{display:none}[data-theme=dark] .patient-stat-pill{border-color:var(--border-strong);background:var(--surface-raised)}@media (width<=980px){.patient-clinical-header--compact .patient-clinical-header__main{grid-template-columns:42px 56px minmax(0,1fr)}.patient-clinical-header__actions-compact{grid-column:1/-1;justify-content:flex-start}}@media (width<=640px){.patient-clinical-header__stats{flex-direction:column}}.patient-compact-header{border:1px solid var(--border);background:var(--surface);box-shadow:var(--shadow-xs);border-radius:18px;grid-template-columns:44px 56px minmax(0,1fr);align-items:center;gap:14px;padding:16px 18px;display:grid}.patient-compact-header__back{border:1px solid var(--border);width:42px;height:42px;color:var(--text);background:var(--surface-muted);border-radius:12px;place-items:center;display:grid}.patient-compact-header__back:hover{border-color:var(--border-strong);background:var(--surface-alt)}.patient-compact-header__avatar{width:56px;height:56px;color:var(--brand-700);background:var(--brand-100);border-radius:16px;font-size:18px}.patient-photo-shell{position:relative}.patient-photo-input{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.patient-photo-button{border:1px solid var(--border);cursor:pointer;transition:border-color var(--transition), box-shadow var(--transition), transform var(--transition);position:relative;overflow:hidden}.patient-photo-button:hover{border-color:var(--brand-500);box-shadow:var(--shadow-sm);transform:translateY(-1px)}.patient-photo-button:disabled{cursor:progress;opacity:.7;transform:none}.patient-photo-button img{object-fit:cover;width:100%;height:100%}.patient-photo-button>span{place-items:center;width:100%;height:100%;display:grid}.patient-photo-button small{inset-inline:5px;background:var(--ink-950,#020617);color:#fff;letter-spacing:.04em;text-transform:uppercase;border-radius:999px;place-items:center;min-height:17px;font-size:8px;font-weight:850;display:grid;position:absolute;bottom:5px}.patient-photo-error{color:var(--danger-700,#b91c1c);margin-top:4px;font-size:11px;font-weight:750;display:block}.patient-compact-header__body{gap:10px;min-width:0;display:grid}.patient-compact-header__title-row{justify-content:space-between;align-items:flex-start;gap:14px;display:flex}.patient-compact-header__title h1{margin:0;font-size:clamp(22px,2vw,30px);line-height:1.08}.patient-compact-header__actions{flex-wrap:wrap;justify-content:flex-end;gap:8px;display:flex}.patient-compact-header__meta{flex-wrap:wrap;gap:8px;display:flex}.patient-compact-chip{border:1px solid var(--border);min-height:30px;color:var(--text-soft);background:var(--surface-muted);border-radius:999px;align-items:center;gap:6px;padding:6px 10px;font-size:11px;font-weight:650;display:inline-flex}.patient-compact-chip--status{color:var(--text);font-weight:720}.patient-compact-chip--status i{background:var(--green-500);border-radius:50%;width:7px;height:7px}.patient-primary-tabs{border:1px solid var(--border);background:var(--surface);min-height:auto;box-shadow:var(--shadow-xs);border-radius:16px;gap:6px;margin-top:10px;padding:8px}.patient-primary-tab{border-radius:11px;min-height:42px;padding:0 14px}.patient-primary-tab.active:after{display:none}.patient-primary-tab.active{box-shadow:inset 0 0 0 1px var(--brand-500)}.patient-flow-lock-banner--compact{margin-top:12px;padding:12px 14px}.patient-summary-layout{grid-template-columns:minmax(0,1fr) minmax(300px,360px);align-items:start;gap:18px;display:grid}.patient-summary-main,.patient-summary-aside{min-width:0}.patient-summary-card{overflow:hidden}.summary-metric-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.summary-metric-item,.summary-link-item{text-align:left}.summary-metric-item{border:1px solid var(--border);background:var(--surface-muted);border-radius:14px;gap:4px;padding:14px;display:grid}.summary-metric-item:hover,.summary-link-item:hover{border-color:var(--border);background:var(--brand-50)}.summary-metric-item strong{font-size:15px;line-height:1.1}.summary-metric-item span{color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em;font-size:10px;font-weight:700}.summary-inline-list{gap:12px;display:grid}.summary-inline-list>div{border-bottom:1px solid var(--border);gap:4px;padding-bottom:12px;display:grid}.summary-inline-list>div:last-child{border-bottom:0;padding-bottom:0}.summary-inline-list dt{color:var(--text-muted);font-size:10px;font-weight:700}.summary-inline-list dd{color:var(--text);margin:0;font-size:12px;font-weight:650}.summary-link-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.summary-link-item{border:1px solid var(--border);min-height:44px;color:var(--text);background:var(--surface-muted);border-radius:12px;justify-content:center;align-items:center;gap:8px;padding:0 12px;font-size:12px;font-weight:700;display:inline-flex}.page-toolbar-inline{grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:14px;padding:16px 18px;display:grid}.page-toolbar-inline__copy h2{margin:0;font-size:20px;line-height:1.15}.page-toolbar-inline__meta{flex-wrap:wrap;justify-content:flex-end;gap:8px;display:flex}.page-toolbar-inline__meta span{border:1px solid var(--border);min-height:30px;color:var(--text-muted);background:var(--surface-muted);border-radius:999px;align-items:center;padding:6px 10px;font-size:11px;font-weight:650;display:inline-flex}.page-toolbar-inline__actions{flex-wrap:wrap;justify-content:flex-end;gap:8px;display:flex}.page-toolbar-inline__actions .badge{align-self:center}.treatment-plan-editor .patient-note-panel{display:none}[data-theme=dark] .patient-compact-header{border-color:var(--border-strong);background:var(--surface-raised)}[data-theme=dark] .patient-compact-header__back,[data-theme=dark] .patient-compact-chip,[data-theme=dark] .patient-primary-tabs,[data-theme=dark] .summary-metric-item,[data-theme=dark] .summary-link-item,[data-theme=dark] .page-toolbar-inline__meta span{border-color:var(--border-strong);background:var(--surface-muted)}[data-theme=dark] .patient-compact-header__back,[data-theme=dark] .patient-compact-chip,[data-theme=dark] .summary-link-item,[data-theme=dark] .page-toolbar-inline__meta span,[data-theme=dark] .patient-compact-header__title h1,[data-theme=dark] .page-toolbar-inline__copy h2{color:var(--text)}[data-theme=dark] .summary-metric-item span,[data-theme=dark] .summary-inline-list dt{color:var(--text-muted)}@media (width<=1100px){.patient-summary-layout,.page-toolbar-inline{grid-template-columns:1fr}.page-toolbar-inline__meta,.page-toolbar-inline__actions{justify-content:flex-start}}@media (width<=820px){.patient-compact-header{grid-template-columns:42px 52px minmax(0,1fr)}.patient-compact-header__title-row{flex-direction:column}.patient-compact-header__actions{justify-content:flex-start}}@media (width<=640px){.patient-compact-header{border-radius:16px;grid-template-columns:38px 42px minmax(0,1fr);gap:10px;padding:14px}.patient-compact-header__avatar{border-radius:12px;width:42px;height:42px;font-size:14px;display:grid}.patient-compact-header__body{gap:8px}.patient-compact-header__title-row{gap:10px}.patient-compact-header__title h1{font-size:clamp(20px,7vw,28px)}.patient-compact-header__meta{scrollbar-width:none;flex-wrap:nowrap;gap:6px;padding-bottom:2px;display:flex;overflow-x:auto}.patient-compact-header__meta::-webkit-scrollbar{display:none}.patient-primary-tabs::-webkit-scrollbar{display:none}.patient-compact-chip{flex:none;justify-content:flex-start;min-width:max-content;padding-inline:9px;font-size:10px}.patient-compact-header__actions{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;width:100%;display:grid}.patient-compact-header__actions .btn{justify-content:center;width:100%;min-width:0;padding-inline:10px}.patient-primary-tabs{gap:6px;padding:6px;display:flex;overflow:auto hidden}.patient-primary-tab{flex:none;justify-content:center;width:auto;min-width:max-content;padding-inline:12px}.summary-metric-list,.summary-link-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=480px){.patient-compact-header{grid-template-columns:38px minmax(0,1fr)}.patient-compact-header__avatar{display:none}.patient-compact-header__actions{grid-template-columns:repeat(2,minmax(0,1fr))}.patient-primary-tabs{padding-inline:4px}.summary-metric-list,.summary-link-grid{grid-template-columns:1fr}}.page-toolbar-inline{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;display:flex}.page-toolbar-inline__copy{flex:260px;min-width:0}.page-toolbar-inline__meta{flex:100%;order:3;justify-content:flex-start}.page-toolbar-inline__actions{flex:0 auto}.payment-page,.payment-workbench,.payment-register-card,.payment-content-grid{gap:18px;display:grid}.payment-register-card__header{justify-content:space-between;align-items:flex-start;gap:14px;display:flex}.payment-register-card__header h2{margin:6px 0 4px}.payment-register-card__header p{color:var(--text-muted);margin:0}.payment-summary-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;display:grid}.payment-summary-grid>div{border:1px solid var(--border);background:var(--surface-muted);border-radius:14px;gap:4px;padding:14px;display:grid}.payment-summary-grid span{color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em;font-size:10px;font-weight:700}.payment-summary-grid strong{color:var(--text);font-size:18px;line-height:1.1}.payment-form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.payment-register-card__actions{justify-content:flex-end}.payment-content-grid{grid-template-columns:repeat(2,minmax(0,1fr))}@media (width<=980px){.payment-summary-grid,.payment-form-grid,.payment-content-grid{grid-template-columns:1fr}}@media (width<=720px){.payment-register-card__header{flex-direction:column}.payment-register-card__actions{justify-content:stretch}.payment-register-card__actions .btn{width:100%}}.page-toolbar-inline{padding:14px 16px}.odontogram-page-toolbar--compact{padding:10px 14px}.odontogram-main-card__header--clinical{padding-bottom:14px}.odontogram-main-card__header--actions-only{flex-wrap:wrap;justify-content:flex-end;align-items:center}.odontogram-main-card__meta--stacked{gap:6px}.odontogram-inline-actions .btn{min-height:34px;padding-inline:10px}.odontogram-inline-notice,.odontogram-selection-hint{margin:0 18px 14px}.odontogram-map-guide{border:1px solid var(--border);background:var(--surface-muted);border-radius:14px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;margin:0 18px 14px;padding:10px 12px;display:flex}.odontogram-map-guide__item{background:var(--surface);min-height:34px;color:var(--text);border-radius:999px;align-items:center;gap:6px;padding:0 11px;font-size:11px;font-weight:700;display:inline-flex}.odontogram-map-guide__item--muted{color:var(--text-muted);font-weight:600}.odontogram-selection-hint{border:1px dashed var(--border);background:var(--surface-muted);color:var(--text-muted);border-radius:14px;justify-content:space-between;align-items:center;gap:12px;padding:12px 14px;font-size:12px;display:flex}.odontogram-selection-hint small{color:var(--text-muted)}.diagnosis-drawer__header p{color:var(--text-muted);margin:6px 0 0;font-size:12px}.diagnosis-drawer__hero{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:14px;display:grid}.diagnosis-drawer__hero-copy{gap:6px;display:grid}.diagnosis-preview{text-align:center;background:#ffffff24;border:1px solid;border-radius:20px;place-items:center;width:84px;height:84px;display:grid}.diagnosis-preview span,.diagnosis-choice__preview i{font-size:20px;font-style:normal;font-weight:800}.diagnosis-preview small,.diagnosis-choice__preview small{text-transform:uppercase;letter-spacing:.05em;font-size:10px;display:block}.diagnosis-picker-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.diagnosis-choice{border:1px solid var(--border);background:var(--surface);text-align:left;border-radius:14px;grid-template-columns:56px minmax(0,1fr);align-items:center;gap:10px;padding:10px 12px;display:grid}.diagnosis-choice__preview{background:var(--surface-muted);border-radius:14px;place-items:center;height:56px;display:grid}.diagnosis-choice__copy{gap:2px;display:grid}.diagnosis-choice__copy strong{color:var(--text);font-size:12px}.diagnosis-choice__copy small{color:var(--text-muted);font-size:10px}.diagnosis-choice.active{border-color:var(--border);background:var(--brand-50)}.odontogram-history-editor,.odontogram-history-board{gap:16px;display:grid}.odontogram-history-editor__header,.odontogram-history-board__header{justify-content:space-between;align-items:flex-start;gap:16px;padding:16px 18px 0;display:flex}.odontogram-history-editor__grid{grid-template-columns:minmax(280px,.8fr) minmax(0,1fr);gap:14px;padding:0 18px;display:grid}.odontogram-history-editor__note{height:100%}.odontogram-history-editor .surface-selector,.odontogram-history-editor .form-actions{margin:0 18px 18px}.odontogram-history-grid{gap:12px;padding:0 18px 18px;display:grid}.odontogram-history-item{border:1px solid var(--border);background:var(--surface);border-radius:16px;grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:14px;padding:14px 16px;display:grid}.odontogram-history-item.is-annulled{opacity:.68}.odontogram-history-item__identity{align-items:center;gap:12px;display:flex}.odontogram-history-item__identity p,.odontogram-history-item__note{color:var(--text-muted);margin:0}.odontogram-history-item__meta,.odontogram-history-item__actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:8px;display:flex}[data-theme=dark] .odontogram-map-guide,[data-theme=dark] .odontogram-selection-hint,[data-theme=dark] .diagnosis-choice,[data-theme=dark] .diagnosis-choice__preview,[data-theme=dark] .odontogram-history-item{border-color:var(--border-strong);background:var(--surface-muted)}[data-theme=dark] .odontogram-map-guide__item{background:var(--surface)}@media (width<=980px){.odontogram-map-guide{padding:10px}.odontogram-map-guide__item{justify-content:center;width:100%}.diagnosis-picker-grid,.odontogram-history-editor__grid,.odontogram-history-item{grid-template-columns:1fr}}.odontogram-workspace--clinical,.odontogram-workspace--embedded{grid-template-columns:minmax(0,1fr);margin-top:0;display:block}.odontogram-workspace--clinical .odontogram-main-container,.odontogram-workspace--embedded .odontogram-main-container,.odontogram-workspace--clinical .odontogram-board-card,.odontogram-workspace--embedded .odontogram-board-card{width:100%;max-width:100%}.odontogram-workspace--clinical .odontogram-stage,.odontogram-workspace--embedded .odontogram-stage{width:100%;max-width:100%;overflow:auto hidden}.odontogram-workspace--clinical .odontogram-main-card__header--clinical,.odontogram-workspace--embedded .odontogram-main-card__header--clinical{padding:14px 16px 12px}.odontogram-workspace--clinical .odontogram-main-card__meta,.odontogram-workspace--embedded .odontogram-main-card__meta{flex:auto;justify-content:flex-start}.odontogram-workspace--clinical .page-toolbar-inline__actions,.odontogram-workspace--embedded .page-toolbar-inline__actions{margin-left:auto}.odontogram-workspace--clinical .odontogram-map-guide,.odontogram-workspace--embedded .odontogram-map-guide{gap:8px;margin:0 16px 10px;padding:8px 10px}.odontogram-workspace--clinical .odontogram-map-guide__item,.odontogram-workspace--embedded .odontogram-map-guide__item{min-height:30px;padding:0 10px;font-size:10px}.odontogram-workspace--clinical .odontogram-map-guide__item--muted,.odontogram-workspace--embedded .odontogram-map-guide__item--muted{text-overflow:ellipsis;white-space:nowrap;max-width:100%;overflow:hidden}@media (width<=980px){.odontogram-workspace--clinical .odontogram-main-card__header--clinical,.odontogram-workspace--embedded .odontogram-main-card__header--clinical{flex-direction:column;align-items:flex-start}.odontogram-workspace--clinical .page-toolbar-inline__actions,.odontogram-workspace--embedded .page-toolbar-inline__actions{justify-content:flex-start;width:100%;margin-left:0}}.diagnosis-drawer{visibility:hidden}.diagnosis-drawer.is-open{visibility:visible}.treatment-entry-grid{grid-template-columns:repeat(2,minmax(0,1fr));padding-inline:16px}@media (width<=720px){.treatment-entry-grid{grid-template-columns:1fr}}.table-actions-inline{flex-wrap:wrap;justify-content:flex-end;gap:8px;display:flex}.table-subcopy{color:var(--text-muted);margin-top:4px;font-size:11px;line-height:1.45}.patient-history-table-shell{padding-top:0}.payment-summary-inline{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;display:grid}.payment-summary-inline>div{border:1px solid var(--border);background:var(--surface-muted);border-radius:14px;gap:4px;padding:12px 14px;display:grid}.payment-summary-inline span{color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em;font-size:10px;font-weight:700}.payment-summary-inline strong{color:var(--text);font-size:16px;line-height:1.1}.payment-register-body{gap:16px;display:grid}@media (width<=980px){.payment-summary-inline{grid-template-columns:1fr}}@media (width<=860px){.document-upload-panel,.document-upload-panel__fields{grid-template-columns:1fr}.document-upload-panel__actions,.document-upload-panel__actions .btn{width:100%}}.patient-compact-header{grid-template-columns:56px minmax(0,1fr)}.patient-compact-header__return{border:1px solid var(--border);min-height:28px;color:var(--text-muted);background:var(--surface-muted);border-radius:999px;grid-column:1/-1;justify-self:start;padding:0 10px;font-size:10px;font-weight:760;line-height:1}.patient-compact-header__return:hover{color:var(--text);border-color:var(--border-strong);background:var(--surface-alt)}.patient-compact-header__title,.patient-compact-header__body{min-width:0}.patient-compact-header__title h1{overflow-wrap:anywhere;max-width:100%}[data-theme=dark] .patient-compact-header__return{border-color:var(--border-strong);background:var(--surface-muted);color:var(--text)}@media (width<=820px){.patient-compact-header{grid-template-columns:52px minmax(0,1fr)}}@media (width<=640px){.patient-compact-header{grid-template-columns:42px minmax(0,1fr)}.patient-compact-header__meta{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid;overflow:visible}.patient-compact-chip{white-space:normal;overflow-wrap:anywhere;justify-content:flex-start;width:100%;min-width:0}}@media (width<=480px){.patient-compact-header{grid-template-columns:1fr}.patient-photo-shell{display:none}.patient-compact-header__actions,.patient-compact-header__meta{grid-template-columns:1fr}}.patient-photo-crop{gap:16px;display:grid}.patient-photo-crop__stage{aspect-ratio:1;border:1px solid var(--border-strong);background:var(--surface-muted), var(--surface-muted), var(--surface-muted), var(--surface-muted), #050706;touch-action:none;background-position:0 0,0 10px,10px -10px,-10px 0;background-size:20px 20px;border-radius:18px;width:min(400px,100%);margin-inline:auto;position:relative;overflow:hidden;box-shadow:inset 0 0 0 1px #fff}.patient-photo-crop__canvas{cursor:grab;touch-action:none;width:100%;height:100%;display:block}.patient-photo-crop__canvas:active{cursor:grabbing}.patient-photo-crop__frame{pointer-events:none;border:2px solid #fffffff0;position:absolute;inset:0;box-shadow:inset 0 0 0 1px #00000061,0 0 0 999px #0000000f}.patient-photo-crop__frame:before,.patient-photo-crop__frame:after{content:"";background:#ffffff73;height:1px;position:absolute;inset:33.333% 0 auto;box-shadow:0 133px #ffffff73}.patient-photo-crop__frame:after{width:1px;height:auto;inset:0 auto 0 33.333%;box-shadow:133px 0 #ffffff73}.patient-photo-crop__controls{gap:8px;width:min(400px,100%);margin-inline:auto;display:grid}.patient-photo-crop__controls label{color:var(--text);gap:8px;font-size:11px;font-weight:760;display:grid}.patient-photo-crop__controls input[type=range]{width:100%;accent-color:var(--brand-500)}.patient-photo-crop__controls p,.patient-photo-crop__error{color:var(--text-muted);text-align:center;margin:0;font-size:11px;line-height:1.5}.patient-photo-crop__error{color:var(--red-600)}.patient-photo-crop__actions{flex-wrap:wrap;justify-content:flex-end;gap:10px;width:100%;display:flex}@media (width<=520px){.patient-photo-crop__actions{grid-template-columns:1fr;display:grid}.patient-photo-crop__actions .btn{justify-content:center;width:100%}}.patient-photo-button small{background:var(--brand-700);grid-auto-flow:column;gap:3px;padding-inline:6px;box-shadow:0 6px 16px #0000002e}.patient-photo-button img{background:var(--surface-muted)}@media (width<=480px){.patient-compact-header{grid-template-columns:48px minmax(0,1fr);align-items:start}.patient-photo-shell{grid-row:2;display:block}.patient-compact-header__avatar{border-radius:14px;width:48px;height:48px;font-size:15px}.patient-photo-button small{inset-inline:4px;min-height:15px;font-size:0;bottom:4px}.patient-photo-button small .icon{width:10px;height:10px}}.patient-photo-crop__stage{box-shadow:var(--shadow-lg), inset 0 0 0 1px #fff;border-radius:20px}.patient-photo-crop__frame{border-radius:18px}.patient-photo-crop__error{border:1px solid var(--border);background:var(--red-100);border-radius:12px;max-width:400px;margin-inline:auto;padding:9px 11px}.patient-compact-header{grid-template-columns:86px minmax(0,1fr);align-items:center;gap:16px}.patient-photo-shell{align-self:center}.patient-compact-header__avatar,.patient-compact-header--clinical .patient-compact-header__avatar{border-radius:20px;width:78px;height:78px;font-size:22px;box-shadow:inset 0 0 0 1px #fff,0 12px 28px #0000002e}.patient-photo-button small{background:var(--brand-600);letter-spacing:0;border:1px solid #fff;border-radius:999px;place-items:center;width:26px;height:26px;min-height:0;padding:0;font-size:0;display:grid;inset:auto 6px 6px auto;box-shadow:0 8px 20px #00000047}.patient-photo-button small .icon{width:14px;height:14px}.patient-compact-header--clinical{gap:16px;padding:16px 18px}.patient-compact-header--clinical .patient-compact-header__title h1{font-size:clamp(24px,2.1vw,32px)}@media (width<=640px){.patient-compact-header,.patient-compact-header--clinical{grid-template-columns:72px minmax(0,1fr);align-items:start;gap:12px;padding:14px}.patient-compact-header__return{grid-area:1/1/auto/-1}.patient-photo-shell{grid-area:2/1;display:block}.patient-compact-header__body{display:contents}.patient-compact-header__title-row{grid-area:2/2;align-self:center}.patient-compact-header__title h1,.patient-compact-header--clinical .patient-compact-header__title h1{font-size:clamp(20px,6vw,25px);line-height:1.08}.patient-compact-header__meta{grid-area:3/1/auto/-1;grid-template-columns:1fr;gap:8px;width:100%;display:grid}.patient-compact-header__avatar,.patient-compact-header--clinical .patient-compact-header__avatar{border-radius:18px;width:64px;height:64px;font-size:18px}.patient-photo-button small{width:24px;height:24px;bottom:5px;right:5px}.patient-photo-button small .icon{width:13px;height:13px}.patient-compact-header,.patient-compact-header--clinical{grid-template-columns:70px minmax(0,1fr);grid-auto-rows:auto}.patient-photo-shell{grid-area:2/1;align-self:start;display:block!important}.patient-compact-header__avatar,.patient-compact-header--clinical .patient-compact-header__avatar{border-radius:18px;width:64px;min-width:64px;height:64px;display:inline-grid!important}.patient-compact-header__body{grid-area:2/2;gap:10px;display:grid!important}.patient-compact-header__title-row{grid-area:auto;display:block}.patient-compact-header__meta{grid-area:auto;grid-template-columns:1fr;gap:8px;display:grid}}@media (width<=390px){.patient-compact-header,.patient-compact-header--clinical{grid-template-columns:62px minmax(0,1fr)}.patient-compact-header__avatar,.patient-compact-header--clinical .patient-compact-header__avatar{border-radius:16px;width:56px;min-width:56px;height:56px}}.document-page{gap:18px}.document-hero-card{grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:18px;padding:18px;display:grid}.document-hero-card__copy{gap:5px;display:grid}.document-hero-card__copy h2,.document-panel__header h2{margin:0;font-size:22px;line-height:1.12}.document-hero-card__copy p{max-width:620px;color:var(--text-muted);margin:0;font-size:13px;line-height:1.5}.document-hero-card__metrics{flex-wrap:wrap;justify-content:flex-end;gap:8px;display:flex}.document-hero-card__metrics span,.document-panel__hint{border:1px solid var(--border);background:var(--surface-muted);min-height:32px;color:var(--text-muted);border-radius:999px;align-items:center;gap:6px;padding:6px 10px;font-size:11px;font-weight:720;display:inline-flex}.document-hero-card__metrics strong{color:var(--text);font-size:13px}.document-layout-grid,.document-list-grid{grid-template-columns:minmax(0,1.04fr) minmax(380px,.96fr);align-items:start;gap:18px;display:grid}.document-panel{overflow:hidden}.document-panel__header{justify-content:space-between;align-items:flex-start;gap:14px;padding:18px 18px 0;display:flex}.document-format-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;padding:18px;display:grid}.document-format-card{border:1px solid var(--border);background:var(--surface-muted);min-height:118px;color:var(--text);text-align:left;cursor:pointer;transition:transform var(--transition), border-color var(--transition), background var(--transition), box-shadow var(--transition);border-radius:16px;align-content:start;gap:8px;padding:14px;display:grid}.document-format-card:hover:not(:disabled){border-color:var(--border-strong);background:var(--surface);box-shadow:var(--shadow-sm);transform:translateY(-1px)}.document-format-card:disabled{cursor:not-allowed;opacity:.48}.document-format-card>span,.document-list-item__icon,.document-upload-dropzone--clean .document-upload-dropzone__icon{background:var(--brand-100);width:38px;height:38px;color:var(--brand-700);border-radius:12px;place-items:center;display:grid}.document-format-card strong{font-size:13px;line-height:1.2}.document-format-card small{color:var(--text-muted);font-size:11px;line-height:1.35}.document-selector-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;padding:0 18px 18px;display:grid}.document-upload-workspace{grid-template-columns:minmax(0,1fr) 260px;gap:14px;padding:18px;display:grid}.document-upload-fields{grid-template-columns:repeat(2,minmax(0,1fr));align-content:start;gap:12px;display:grid}.document-upload-fields .form-field--full{grid-column:1/-1}.document-upload-dropzone--clean{border-color:var(--border-strong);background:var(--surface-muted);min-height:178px}.document-upload-dropzone--clean:hover{background:var(--surface)}.document-upload-footer{justify-content:space-between;align-items:center;gap:12px;padding:0 18px 18px;display:flex}.document-upload-footer .inline-alert{flex:auto;margin:0}.document-list{gap:10px;padding:18px;display:grid}.document-list-item{border:1px solid var(--border);background:var(--surface-muted);border-radius:16px;grid-template-columns:48px minmax(0,1fr) auto;align-items:center;gap:12px;min-width:0;padding:12px;display:grid}.document-list-item__thumb{object-fit:cover;border:1px solid var(--border);background:var(--surface);border-radius:14px;width:48px;height:48px}.document-list-item__icon{background:var(--blue-100);width:48px;height:48px;color:var(--blue-700)}.document-list-item__icon--prescription{background:var(--brand-100);color:var(--brand-700)}.document-list-item__body{gap:3px;min-width:0;display:grid}.document-list-item__body strong,.document-list-item__body span,.document-list-item__body small{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.document-list-item__body strong{color:var(--text);font-size:13px;line-height:1.25}.document-list-item__body span{color:var(--text-soft);font-size:11px;font-weight:650}.document-list-item__body small{color:var(--text-muted);font-size:10px}[data-theme=dark] .document-format-card,[data-theme=dark] .document-list-item,[data-theme=dark] .document-upload-dropzone--clean,[data-theme=dark] .document-hero-card__metrics span,[data-theme=dark] .document-panel__hint{border-color:var(--border-strong);background:var(--surface-muted)}@media (width<=1180px){.document-layout-grid,.document-list-grid,.document-hero-card{grid-template-columns:1fr}.document-hero-card__metrics,.document-hero-card .btn{justify-self:start}}@media (width<=760px){.document-format-grid,.document-selector-grid,.document-upload-workspace,.document-upload-fields{grid-template-columns:1fr}.document-panel__header,.document-upload-footer{flex-direction:column;align-items:stretch}.document-upload-footer .btn,.document-hero-card .btn{justify-content:center;width:100%}.document-list-item{grid-template-columns:44px minmax(0,1fr)}.document-list-item .btn{grid-column:1/-1;justify-content:center;width:100%}}.odontogram-v2{--diagnosis-caries:#7c3aed;--diagnosis-restoration:#2563eb;--diagnosis-endodontics:#dc2626;--diagnosis-crown:#f2b705;--diagnosis-implant:#475569;--diagnosis-missing:#ef4444;--diagnosis-observation:#64748b;--diagnosis-healthy:#0f766e;--odonto-drawer-width:360px}.odontogram-v2 .odontogram-board-card{background:#f8fbfa;border:1px solid #dbe7e3;border-radius:24px;overflow:hidden;box-shadow:0 22px 60px #0f2e2a14}.odontogram-v2 .odontogram-main-card__header--clinical{background:#ffffffeb;border-bottom:1px solid #e4ece9;align-items:center;gap:12px;padding:12px 14px}.odontogram-v2 .odontogram-main-card__header--clinical h2{margin:2px 0 0;font-size:16px}.odontogram-v2 .odontogram-main-card__header--clinical p{margin-top:3px;font-size:10px}.odontogram-v2 .odontogram-main-card__meta .badge{min-height:26px;padding-inline:9px;font-size:10px}.odontogram-tool-strip{background:#fff;border-bottom:1px solid #e2ebe8;justify-content:space-between;align-items:center;gap:12px;padding:10px 14px;display:flex}.odontogram-tool-strip__group{scrollbar-width:thin;align-items:center;gap:7px;min-width:0;display:flex;overflow-x:auto}.odontogram-tool{--tool-accent:#0f766e;color:#263c39;min-height:42px;font:inherit;white-space:nowrap;background:#fbfdfc;border:1px solid #dbe5e2;border-radius:13px;align-items:center;gap:7px;padding:0 10px;font-size:11px;font-weight:800;transition:border-color .16s,background .16s,box-shadow .16s,transform .16s;display:inline-flex}.odontogram-tool:hover{border-color:var(--tool-accent);background:#fff;transform:translateY(-1px);box-shadow:0 8px 20px #0f2e2a14}.odontogram-tool.active{border-color:var(--tool-accent);box-shadow:inset 0 -3px 0 var(--tool-accent), 0 8px 20px #0f2e2a14;background:#fff;transform:translateY(-1px)}.odontogram-tool__icon{color:#fff;background:var(--tool-accent);border-radius:9px;place-items:center;width:24px;height:24px;font-size:10px;font-weight:900;display:inline-grid}.odontogram-tool--danger{--tool-accent:var(--diagnosis-caries)}.odontogram-tool--brand{--tool-accent:var(--diagnosis-restoration)}.odontogram-tool--info{--tool-accent:var(--diagnosis-endodontics)}.odontogram-tool--purple{--tool-accent:var(--diagnosis-crown)}.odontogram-tool--success{--tool-accent:var(--diagnosis-implant)}.odontogram-tool--warning{--tool-accent:var(--diagnosis-missing)}.odontogram-tool--neutral{--tool-accent:var(--diagnosis-observation)}.odontogram-tool--healthy{--tool-accent:var(--diagnosis-healthy)}.odontogram-tool-strip__meta{flex:none;align-items:center;gap:6px;display:inline-flex}.odontogram-tool-strip__meta span{color:#0f766e;background:#e9f6f3;border-radius:999px;align-items:center;min-height:30px;padding:0 10px;font-size:11px;font-weight:850;display:inline-flex}.odontogram-v2 .odontogram-main-card--board .odontogram-stage{background:#f6faf8;border:0;padding:0}.odontogram-v2 .odontogram-stage__panel{min-width:0}.odontogram-stage__bar{background:#fbfdfc;border-bottom:1px solid #e4ece9;justify-content:space-between;align-items:center;gap:12px;padding:9px 14px;display:flex}.odontogram-stage__bar-main{align-items:center;gap:8px;min-width:0;display:inline-flex}.odontogram-stage__bar-main span,.odontogram-stage__bar-main strong{border-radius:999px;align-items:center;min-height:28px;padding:0 10px;font-size:10px;font-weight:860;display:inline-flex}.odontogram-stage__bar-main span{color:#5f6f6b;background:#eef4f2}.odontogram-stage__bar-main strong{color:#0f766e;background:#e5f5f2}.odontogram-v2 .regions-toggle-btn{color:#0f4f49;background:#fff;border-color:#cfe0dc;min-height:30px;padding-inline:12px;font-size:10px}.odontogram-v2 .odontogram-main-card--board .odontogram-arch{min-width:1080px;box-shadow:none;background:radial-gradient(circle at 50% 48%,#0f766e12,#0000 34%),linear-gradient(#fff 0%,#fbfdfc 100%);border:0;border-radius:0;margin:0;padding:24px 42px 26px;position:relative}.odontogram-arch-title{text-align:center;color:#152b28;letter-spacing:.01em;margin-bottom:14px;font-size:12px;font-weight:900}.odontogram-arch-title span{color:#425350;margin-left:4px;font-weight:700}.odontogram-arch-title--lower{margin-top:22px;margin-bottom:6px}.odontogram-v2 .odontogram-midline{letter-spacing:.12em;margin:12px 0 16px;font-size:9px}.odontogram-v2 .odontogram-midline span{background:#e1e8e5;height:1px}.odontogram-v2 .odontogram-midline strong{color:#8b9895;padding:0 8px;font-size:9px;font-weight:800}.odontogram-v2 .odontogram-midline--lower{margin:0 0 8px}.odontogram-side-label,.odontogram-vestibular-bottom{color:#8a9693;letter-spacing:.12em;text-transform:uppercase;font-size:8px;font-weight:900;position:absolute}.odontogram-side-label--left{transform-origin:0;top:232px;left:13px;transform:rotate(-90deg)}.odontogram-side-label--right{transform-origin:100%;top:232px;right:13px;transform:rotate(90deg)}.odontogram-vestibular-bottom{bottom:10px;left:50%;transform:translate(-50%)}.odontogram-v2 .tooth-unit{justify-items:center;gap:4px}.odontogram-v2 .tooth-anatomy{filter:drop-shadow(0 7px 8px #392a141f);width:54px;height:80px}.odontogram-v2 .tooth-anatomy__shape,.odontogram-v2 .tooth-anatomy__crown-shape,.odontogram-v2 .tooth-anatomy__root{fill:#f5e3c3;stroke:#a88b63;stroke-width:.95px}.odontogram-v2 .tooth-anatomy__root{fill:#edd5a9}.odontogram-v2 .odontogram-main-card--board .tooth-button{background:0 0;border:1px solid #0000;border-radius:16px;width:64px;height:60px;min-height:60px;padding:0}.odontogram-v2 .odontogram-main-card--board .tooth-button:hover{background:#f6faf8;border-color:#cfe0dc}.odontogram-v2 .odontogram-main-card--board .tooth-button.selected{background:#0f766e14;border-color:#0f766e;box-shadow:0 0 0 3px #0f766e29}.odontogram-v2 .tooth-svg{width:60px;height:74px;overflow:visible}.odontogram-v2 .tooth-shell__shadow{fill:#4c371e24}.odontogram-v2 .tooth-shell__plate{fill:#fffdf9;stroke:#cbbca8;stroke-width:.9px}.odontogram-v2 .tooth-surface{stroke:#bead9a;stroke-width:1.05px;cursor:pointer}.odontogram-v2 .tooth-outline{stroke:#87776a;stroke-width:1.1px}.odontogram-v2 .tooth-ridge{stroke:#78655494;stroke-width:.9px}.odontogram-v2 .tooth-surface-label{fill:#5f5044;opacity:.8;font-size:7px}.odontogram-v2 .odontogram-main-card--board .tooth-number{color:#123f5f;font-size:11px;font-weight:850}.odontogram-v2 .tooth-unit.selected .tooth-number{color:#0f766e}.odontogram-v2 .tooth-status-dot{border:2px solid #fff;width:7px;height:7px;top:2px;right:2px;box-shadow:0 2px 6px #0f172a2e}.odontogram-v2 .tooth-overlay{pointer-events:none}.odontogram-v2 .tooth-overlay--endo,.odontogram-v2 .tooth-anatomy__endo{fill:none;stroke:var(--diagnosis-endodontics);stroke-width:3px;stroke-linecap:round}.odontogram-v2 .tooth-overlay--implant,.odontogram-v2 .tooth-anatomy__implant{fill:none;stroke:var(--diagnosis-implant);stroke-width:2.3px;stroke-linecap:round}.odontogram-v2 .tooth-overlay--crown,.odontogram-v2 .tooth-anatomy__crown{fill:#f2b7055c;stroke:#b7791f;stroke-width:1.6px}.odontogram-v2 .tooth-overlay--missing,.odontogram-v2 .tooth-anatomy__missing{fill:none;stroke:var(--diagnosis-missing);stroke-width:2.4px;stroke-linecap:round}.odontogram-v2 .tooth-unit[data-status=missing] .tooth-surface{stroke:var(--diagnosis-missing);stroke-dasharray:4 3;fill:#ffffff59!important}.odontogram-v2 .tooth-unit[data-status=missing] .tooth-outline{stroke:var(--diagnosis-missing);stroke-dasharray:4 3}.odontogram-v2 .odontogram-legend--clinical{background:#fff;border-top:1px solid #e2ebe8;gap:7px;padding:10px 14px}.odontogram-v2 .odontogram-legend__title{font-size:10px}.odontogram-v2 .odontogram-legend__item{min-height:26px;padding:0 8px;font-size:10px}.odontogram-v2 .diagnosis-drawer{background:#fff;border-color:#d8e6e2;border-radius:22px;box-shadow:0 24px 70px #0f2e2a33}.odontogram-v2 .diagnosis-drawer__header,.odontogram-v2 .diagnosis-drawer__footer{padding:12px 14px}.odontogram-v2 .diagnosis-drawer__header h2{margin-top:2px;font-size:18px}.odontogram-v2 .diagnosis-drawer__header p{margin-top:3px;font-size:11px}.odontogram-v2 .drawer-close-btn{border-radius:12px;width:34px;height:34px}.odontogram-v2 .diagnosis-drawer__body{gap:12px;padding:12px 14px 14px;display:grid}.odontogram-v2 .diagnosis-drawer__hero{box-shadow:inset 4px 0 0 var(--tone-accent);background:#f8fbfa;border-radius:17px;grid-template-columns:minmax(0,1fr) auto;gap:10px;padding:12px}.odontogram-v2 .diagnosis-drawer__hero-copy{gap:5px}.odontogram-v2 .diagnosis-drawer__hero-copy strong{color:#152b28;font-size:24px;line-height:1}.odontogram-v2 .diagnosis-drawer__hero-pill{min-height:22px;padding:0 8px;font-size:9px}.diagnosis-drawer__tokens{flex-wrap:wrap;gap:6px;display:flex}.diagnosis-drawer__tokens span{color:#45524f;background:#eef4f2;border-radius:999px;align-items:center;min-height:24px;padding:0 8px;font-size:10px;font-weight:800;display:inline-flex}.odontogram-v2 .diagnosis-preview{width:54px;height:54px;color:var(--tone-accent);background:#fff;border-radius:16px}.odontogram-v2 .diagnosis-preview span{font-size:18px}.odontogram-v2 .selected-teeth-summary,.odontogram-v2 .surface-picker-section,.odontogram-v2 .diagnosis-picker-section,.odontogram-v2 .note-section{gap:8px;display:grid}.odontogram-v2 .step-label{color:#596965;letter-spacing:.08em;text-transform:uppercase;font-size:9px;font-weight:900}.odontogram-v2 .teeth-badges-list{gap:6px}.odontogram-v2 .tooth-badge{min-height:26px;padding-inline:9px;font-size:11px}.odontogram-v2 .surface-selector{grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;display:grid}.odontogram-v2 .surface-chip{border-radius:12px;justify-content:center;min-height:38px;padding:0}.odontogram-v2 .surface-chip strong{font-size:11px}.odontogram-v2 .diagnosis-picker-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}.odontogram-v2 .diagnosis-choice{border-radius:13px;grid-template-columns:36px minmax(0,1fr);gap:7px;padding:7px}.odontogram-v2 .note-section textarea{border-radius:13px;min-height:72px}.odontogram-v2 .odontogram-regions{background:#fff;padding:10px 14px 14px}.odontogram-v2 .regions-grid{grid-template-columns:repeat(8,minmax(72px,1fr));gap:7px}.odontogram-v2 .region-chip{min-height:38px;box-shadow:none;border-radius:12px;padding:0 8px;font-size:10px}@media (width<=1180px){.odontogram-v2 .odontogram-main-card--board .odontogram-arch{min-width:980px}}@media (width<=760px){.odontogram-tool-strip{flex-direction:column;align-items:stretch}.odontogram-tool-strip__meta{justify-content:flex-start}.odontogram-v2 .odontogram-main-card--board .odontogram-arch{min-width:860px;padding-inline:34px}.odontogram-v2 .regions-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}.odontogram-v2{--diagnosis-caries:#7043b8;--diagnosis-restoration:#1f73d2;--diagnosis-endodontics:#d82222;--diagnosis-crown:#dda31a;--diagnosis-implant:#2f4050;--diagnosis-missing:#ff3b3b;--diagnosis-observation:#4b6075;--diagnosis-healthy:#0b7a75;--diagnosis-sealant:#3f9b55;--diagnosis-fracture:#1f7ae0;--diagnosis-periodontal:#f06a9a;--odonto-page:color-mix(in srgb, var(--surface-alt) 76%, #fff);--odonto-card:var(--surface);--odonto-card-soft:color-mix(in srgb, var(--surface-muted) 72%, var(--surface));--odonto-canvas:#fff;--odonto-border:var(--border);--odonto-line:color-mix(in srgb, var(--border) 78%, transparent);--odonto-text:var(--text);--odonto-muted:var(--text-muted);--odonto-shadow:none;--odonto-side-width:332px;--tooth-fill:#fffdf8}[data-theme=dark] .odontogram-v2{--diagnosis-caries:#9b6ae5;--diagnosis-restoration:#5b9dff;--diagnosis-endodontics:#ff6b6b;--diagnosis-crown:#f4bd35;--diagnosis-implant:#92a4b7;--diagnosis-missing:#f77;--diagnosis-observation:#a5b4c3;--diagnosis-healthy:#4db8a8;--diagnosis-sealant:#69c47f;--diagnosis-fracture:#72aaff;--diagnosis-periodontal:#ff8fba;--odonto-page:#111615;--odonto-card:#181c1b;--odonto-card-soft:#202625;--odonto-canvas:#151918;--odonto-border:#2d3634;--odonto-line:#293230;--odonto-text:#f2f7f5;--odonto-muted:#aebbb7;--odonto-shadow:none;--tooth-fill:#fbfaf6}.odontogram-workspace--clinical.odontogram-v2{grid-template-columns:minmax(0,1fr);align-items:start;gap:18px;margin-top:14px;display:grid;padding-right:0!important}.odontogram-v2.odontogram-workspace--embedded{grid-template-columns:minmax(0,1fr)}.odontogram-v2.odontogram-workspace--embedded.has-drawer-open{grid-template-columns:minmax(0, 1fr) var(--odonto-side-width)}.odontogram-v2 .odontogram-main-container{min-width:0;max-width:100%;overflow:auto clip}.odontogram-v2 .odonto-side-panel{z-index:4;top:calc(var(--topbar-height) + 14px);width:auto;max-height:calc(100vh - var(--topbar-height) - 28px);box-shadow:none;opacity:1;pointer-events:auto;scrollbar-width:thin;background:0 0;border:0;border-radius:0;order:2;grid-template-rows:none;gap:12px;padding:0 2px 2px;transition:none;display:grid;bottom:auto;right:auto;overflow:auto;transform:none;position:sticky!important}.odontogram-v2 .odontogram-board-card{border:1px solid var(--odonto-border);background:var(--odonto-card);box-shadow:var(--odonto-shadow);border-radius:18px;overflow:hidden}.odontogram-v2 .odontogram-main-card__header--clinical{border-bottom:1px solid var(--odonto-line);background:var(--odonto-card);color:var(--odonto-text);gap:14px;padding:14px 18px}.odontogram-v2 .odontogram-main-card__header--clinical h2{color:var(--odonto-text);font-size:18px}.odontogram-v2 .odontogram-main-card__header--clinical p,.odontogram-v2 .section-kicker{color:var(--odonto-muted)}.odontogram-v2 .odontogram-tool-strip{border-bottom:1px solid var(--odonto-line);background:var(--odonto-card);min-height:78px;padding:0 16px}.odontogram-v2 .odontogram-tool{--tool-accent:var(--brand-600);border:0;border-left:1px solid var(--odonto-line);min-width:76px;min-height:78px;color:var(--odonto-text);box-shadow:none;background:0 0;border-radius:0;flex-direction:column;justify-content:center;gap:7px;padding:0 11px;font-size:11px;font-weight:720}.odontogram-v2 .odontogram-tool:hover{background:var(--odonto-card-soft);box-shadow:none;transform:none}.odontogram-v2 .odontogram-tool.active{color:#fff;background:linear-gradient(180deg, var(--tool-accent), color-mix(in srgb, var(--tool-accent) 76%, #003b37));box-shadow:0 12px 24px color-mix(in srgb, var(--tool-accent) 24%, transparent);transform:none}.odontogram-v2 .odontogram-tool__icon{width:30px;height:30px;color:var(--tool-accent);background:0 0;border-radius:10px;font-size:11px}.odontogram-v2 .odontogram-tool.active .odontogram-tool__icon{color:#fff;background:#ffffff21}.odontogram-v2 .odontogram-tool--cursor,.odontogram-v2 .odontogram-tool--eraser{--tool-accent:var(--brand-700)}.odontogram-v2 .odontogram-tool--sealant{--tool-accent:var(--diagnosis-sealant)}.odontogram-v2 .odontogram-tool--fracture{--tool-accent:var(--diagnosis-fracture)}.odontogram-v2 .odontogram-tool--periodontal{--tool-accent:var(--diagnosis-periodontal)}.odontogram-v2 .odontogram-tool-strip__meta{justify-content:flex-end;min-width:72px}.odontogram-v2 .odontogram-tool-strip__meta span{color:var(--brand-700);background:color-mix(in srgb, var(--brand-100) 52%, transparent)}.odontogram-v2 .odontogram-stage__bar{display:none}.odontogram-v2 .odontogram-main-card--board .odontogram-stage{background:var(--odonto-canvas)}.odontogram-v2 .odontogram-main-card--board .odontogram-arch{background:var(--odonto-canvas);min-width:1010px;padding:24px 36px 30px}.odontogram-v2 .odontogram-arch-title{color:var(--odonto-text);letter-spacing:.01em;font-size:14px}.odontogram-v2 .odontogram-arch-title span,.odontogram-v2 .odontogram-midline strong,.odontogram-v2 .odontogram-side-label,.odontogram-v2 .odontogram-vestibular-bottom{color:var(--odonto-muted)}.odontogram-v2 .odontogram-midline span{background:var(--odonto-line)}.odontogram-v2 .tooth-anatomy__shape,.odontogram-v2 .tooth-anatomy__crown-shape,.odontogram-v2 .tooth-anatomy__root{fill:#f4dfba;stroke:#a98a62}[data-theme=dark] .odontogram-v2 .tooth-anatomy__shape,[data-theme=dark] .odontogram-v2 .tooth-anatomy__crown-shape,[data-theme=dark] .odontogram-v2 .tooth-anatomy__root{filter:brightness(.96)}.odontogram-v2 .tooth-shell__plate{fill:var(--tooth-fill);stroke:#c8b9a4}.odontogram-v2 .tooth-outline,.odontogram-v2 .tooth-ridge,.odontogram-v2 .tooth-surface{stroke:#9d9084}.odontogram-v2 .tooth-unit.selected .tooth-button{border-color:var(--brand-600);background:color-mix(in srgb, var(--brand-100) 45%, transparent);box-shadow:0 0 0 2px var(--brand-600), 0 0 0 9px color-mix(in srgb, var(--brand-600) 14%, transparent)}.odontogram-v2 .tooth-unit.selected .tooth-number{color:var(--brand-700);font-size:13px}.odontogram-v2 .tooth-overlay--fracture{fill:none;stroke:var(--diagnosis-fracture);stroke-width:2.4px;stroke-linecap:round;stroke-linejoin:round}.odontogram-v2 .odontogram-legend--clinical{border-top:1px solid var(--odonto-line);background:var(--odonto-card);padding:14px 18px}.odontogram-v2 .odontogram-legend__title{display:none}.odontogram-v2 .odontogram-legend__item{color:var(--odonto-text);background:0 0}.odontogram-v2 .odonto-side-card{border:1px solid var(--odonto-border);background:var(--odonto-card);box-shadow:var(--odonto-shadow);color:var(--odonto-text);border-radius:16px}.odontogram-v2 .odonto-card-title{border-bottom:1px solid var(--odonto-line);justify-content:space-between;align-items:center;gap:10px;padding:13px 14px;display:flex}.odontogram-v2 .odonto-card-title h3{color:var(--odonto-text);margin:0;font-size:15px;font-weight:830}.odontogram-v2 .odonto-card-title span{color:var(--odonto-muted);font-size:11px;font-weight:760}.odontogram-v2 .odonto-icon-button{border:1px solid var(--odonto-border);width:32px;height:32px;color:var(--odonto-text);background:var(--odonto-card-soft);border-radius:10px;place-items:center;display:grid}.odontogram-v2 .odonto-change-list{display:grid}.odontogram-v2 .odonto-change-row,.odontogram-v2 .odonto-empty-line{border-bottom:1px solid var(--odonto-line);min-height:48px;color:var(--odonto-muted);grid-template-columns:16px 38px minmax(0,1fr);align-items:center;gap:8px;padding:0 14px;font-size:13px;display:grid}.odontogram-v2 .odonto-change-row:last-child{border-bottom:0}.odontogram-v2 .odonto-change-row strong{color:#0f4f91;font-size:14px}[data-theme=dark] .odontogram-v2 .odonto-change-row strong{color:#8bbcff}.odontogram-v2 .odonto-change-dot{background:var(--tone-accent,var(--brand-600));border-radius:999px;width:11px;height:11px}.odontogram-v2 .odonto-change-dot--danger{--tone-accent:var(--diagnosis-caries)}.odontogram-v2 .odonto-change-dot--brand{--tone-accent:var(--diagnosis-restoration)}.odontogram-v2 .odonto-change-dot--info{--tone-accent:var(--diagnosis-endodontics)}.odontogram-v2 .odonto-change-dot--purple{--tone-accent:var(--diagnosis-crown)}.odontogram-v2 .odonto-change-dot--success{--tone-accent:var(--diagnosis-implant)}.odontogram-v2 .odonto-change-dot--warning{--tone-accent:var(--diagnosis-missing)}.odontogram-v2 .odonto-change-dot--neutral{--tone-accent:var(--diagnosis-observation)}.odontogram-v2 .odonto-change-dot--healthy{--tone-accent:var(--diagnosis-healthy)}.odontogram-v2 .odonto-change-dot--sealant{--tone-accent:var(--diagnosis-sealant)}.odontogram-v2 .odonto-change-dot--fracture{--tone-accent:var(--diagnosis-fracture)}.odontogram-v2 .odonto-change-dot--periodontal{--tone-accent:var(--diagnosis-periodontal)}.odontogram-v2 .odonto-tooth-card{grid-template-columns:58px minmax(0,1fr) 104px;align-items:center;gap:12px;padding:14px;display:grid}.odontogram-v2 .odonto-tooth-card>strong{color:var(--odonto-text);font-size:40px;line-height:1}.odontogram-v2 .odonto-tooth-preview{place-items:center;min-height:110px;display:grid;overflow:hidden}.odontogram-v2 .odonto-tooth-preview .tooth-button,.odontogram-v2 .odonto-tooth-preview .tooth-number{display:none}.odontogram-v2 .odonto-surface-pad{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;display:grid}.odontogram-v2 .odonto-surface-pad button{border:1px solid var(--odonto-border);min-height:36px;color:var(--odonto-text);background:var(--odonto-card-soft);font:inherit;border-radius:9px;font-weight:780}.odontogram-v2 .odonto-surface-pad button.active{border-color:var(--brand-600);color:#fff;background:var(--brand-700)}.odontogram-v2 .odonto-surface-pad.is-disabled{opacity:.55;pointer-events:none}.odontogram-v2 .odonto-scope-pill{border:1px solid var(--odonto-border);background:var(--odonto-card-soft);min-height:42px;color:var(--odonto-text);border-radius:10px;justify-content:center;align-items:center;margin:0 12px 12px;font-size:12px;font-weight:820;display:flex}.odontogram-v2 .diagnosis-choice{border-color:var(--odonto-border);background:var(--odonto-card-soft);min-height:50px;color:var(--odonto-text)}.odontogram-v2 .diagnosis-choice__preview{color:var(--tone-accent);background:color-mix(in srgb, var(--tone-accent) 10%, transparent)}.odontogram-v2 .diagnosis-choice.active{border-color:var(--tone-accent);background:color-mix(in srgb, var(--tone-accent) 12%, var(--odonto-card));box-shadow:inset 4px 0 0 var(--tone-accent)}.odontogram-v2 .diagnosis-choice--sealant,.odontogram-v2 .diagnosis-dot--sealant{--tone-accent:var(--diagnosis-sealant)}.odontogram-v2 .diagnosis-choice--fracture,.odontogram-v2 .diagnosis-dot--fracture{--tone-accent:var(--diagnosis-fracture)}.odontogram-v2 .diagnosis-choice--periodontal,.odontogram-v2 .diagnosis-dot--periodontal{--tone-accent:var(--diagnosis-periodontal)}.odontogram-v2 .odonto-detail-list{padding:0 14px 14px;display:grid}.odontogram-v2 .odonto-detail-list div{border-bottom:1px solid var(--odonto-line);min-height:42px;color:var(--odonto-muted);justify-content:space-between;align-items:center;gap:12px;font-size:13px;display:flex}.odontogram-v2 .odonto-detail-list div:last-child{border-bottom:0}.odontogram-v2 .odonto-detail-list strong{color:var(--odonto-text);font-size:13px}.odontogram-v2 .odonto-side-card--note textarea{border-color:var(--odonto-border);background:var(--odonto-card-soft);width:calc(100% - 24px);min-height:68px;color:var(--odonto-text);resize:vertical;margin:12px}.odontogram-v2 .odonto-side-actions{background:linear-gradient(180deg, transparent, var(--odonto-page) 22%);grid-template-columns:1fr 1fr;gap:10px;padding:12px 0 0;display:grid;position:sticky;bottom:0}.odontogram-v2 .odonto-side-actions .btn{border-radius:12px;min-height:52px}.odontogram-v2 .diagnosis-drawer__tokens,.odontogram-v2 .diagnosis-drawer__header,.odontogram-v2 .diagnosis-drawer__body,.odontogram-v2 .diagnosis-drawer__footer{display:contents}@media (width<=1280px){.odontogram-workspace--clinical.odontogram-v2{grid-template-columns:minmax(0,1fr) 310px;gap:14px}.odontogram-v2 .odontogram-main-card--board .odontogram-arch{min-width:960px}.odontogram-v2 .odontogram-tool{min-width:68px}}@media (width<=980px){.odontogram-workspace--clinical.odontogram-v2{grid-template-columns:minmax(0,1fr)}.odontogram-v2 .odonto-side-panel{order:3;max-height:none;position:static!important}}@media (width<=760px){.odontogram-v2 .odontogram-tool-strip{min-height:0;padding:8px}.odontogram-v2 .odontogram-tool{min-width:66px;min-height:62px}.odontogram-v2 .odontogram-main-card--board .odontogram-arch{min-width:850px;padding-inline:28px}.odontogram-v2 .odonto-tooth-card{grid-template-columns:52px minmax(0,1fr)}.odontogram-v2 .odonto-surface-pad{grid-column:1/-1}}.odontogram-v2{--odonto-side-width:306px}.odontogram-v2 .odontogram-tool{min-width:56px;padding:0 7px;font-size:10px}.odontogram-v2 .odontogram-main-card--board .odontogram-arch{width:100%;min-width:0;padding:22px 22px 28px}.odontogram-v2 .tooth-unit{min-width:0}.odontogram-v2 .tooth-anatomy{width:44px;height:66px}.odontogram-v2 .odontogram-main-card--board .tooth-button{border-radius:14px;width:44px;height:42px;min-height:42px}.odontogram-v2 .tooth-svg{width:44px;height:54px}.odontogram-v2 .tooth-surface-label{font-size:6px}.odontogram-v2 .odontogram-main-card--board .tooth-number{font-size:10px}.odontogram-v2 .tooth-unit.selected .tooth-number{font-size:11px}.odontogram-v2 .odontogram-arch-title{margin-bottom:10px}.odontogram-v2 .odontogram-arch-title--lower{margin-top:18px}.odontogram-v2 .odontogram-midline{margin:9px 0 12px}.odontogram-v2 .diagnosis-choice{min-height:46px}.odontogram-v2 .odonto-tooth-card{grid-template-columns:50px minmax(0,1fr) 94px;gap:10px}.odontogram-v2 .odonto-tooth-preview .tooth-anatomy{width:70px;height:106px}@media (width<=1280px){.odontogram-workspace--clinical.odontogram-v2{grid-template-columns:minmax(0,1fr) 292px}.odontogram-v2 .odontogram-tool{min-width:52px;font-size:9.5px}}@media (width<=980px){.odontogram-v2 .odontogram-main-card--board .odontogram-arch{min-width:820px}}[data-theme=dark] .odontogram-v2 .odontogram-main-card--board .tooth-number{color:#8bbcff}[data-theme=dark] .odontogram-v2 .tooth-unit.selected .tooth-number{color:#5eead4}.odontogram-workspace--clinical.odontogram-v2{grid-template-columns:minmax(0,1fr)!important}.odontogram-v2 .odonto-side-panel:not(.is-open){display:none}.odontogram-v2:not(.has-drawer-open) .odontogram-main-card--board .odontogram-arch{padding-inline:34px}.odontogram-v2:not(.has-drawer-open) .tooth-anatomy{width:52px;height:78px}.odontogram-v2:not(.has-drawer-open) .odontogram-main-card--board .tooth-button{width:52px;height:50px;min-height:50px}.odontogram-v2:not(.has-drawer-open) .tooth-svg{width:52px;height:64px}@media (width<=1280px){.odontogram-workspace--clinical.odontogram-v2.has-drawer-open{grid-template-columns:minmax(0,1fr) 292px!important}}@media (width<=980px){.odontogram-workspace--clinical.odontogram-v2.has-drawer-open{grid-template-columns:minmax(0,1fr)!important}}.patient-compact-header--clinical{grid-template-columns:54px minmax(0,1fr);gap:12px;min-height:78px;padding:10px 14px 10px 58px;position:relative}.patient-compact-header--clinical .patient-compact-header__avatar{border-radius:16px;width:52px;height:52px;font-size:16px}.patient-compact-header--clinical .patient-compact-header__body{gap:6px}.patient-compact-header--clinical .patient-compact-header__title-row{align-items:center;min-height:26px}.patient-compact-header--clinical .section-kicker{display:none}.patient-compact-header--clinical .patient-compact-header__meta{gap:6px}.patient-compact-header--clinical .patient-compact-chip{min-height:24px;padding:4px 8px;font-size:10px}.patient-compact-header--clinical .patient-compact-header__return{color:#0000;width:32px;min-width:32px;height:32px;min-height:32px;padding:0;position:absolute;top:50%;left:14px;overflow:hidden;transform:translateY(-50%)}.patient-compact-header--clinical .patient-compact-header__return:before{content:"<";color:var(--text);font-size:18px;font-weight:900;line-height:1}.patient-compact-header__return{min-height:26px;padding:0 9px;font-size:10px}.patient-primary-tabs{margin-top:6px;padding:5px}.patient-primary-tab{min-height:36px;padding:0 10px}.odontogram-v2 .odontogram-main-container{overflow:auto visible}.odontogram-v2 .odontogram-main-card__header--clinical{min-height:52px;padding:9px 12px}.odontogram-v2 .odontogram-main-card__header--clinical h2,.odontogram-v2 .odontogram-main-card__header--clinical p,.odontogram-v2 .section-kicker{display:none}.odontogram-v2 .odontogram-main-card__meta--stacked{flex-flow:wrap;gap:6px}.odontogram-v2 .odontogram-main-card__meta--stacked .badge{min-height:26px;padding:0 9px;font-size:10px}.odontogram-v2 .odontogram-inline-actions .btn{min-height:32px;padding-inline:10px}.odontogram-v2 .odontogram-tool-strip{gap:10px;min-height:54px;padding:7px 12px}.odontogram-v2 .odontogram-tool-strip__group{align-self:center;gap:8px}.odontogram-v2 .odontogram-tool{border:1px solid var(--odonto-line);border-radius:12px;flex-direction:row;gap:7px;min-width:0;min-height:38px;padding:0 11px;font-size:10.5px}.odontogram-v2 .odontogram-tool:last-child{border-right:1px solid var(--odonto-line)}.odontogram-v2 .odontogram-tool__icon{border-radius:8px;width:23px;height:23px}.odontogram-v2 .odontogram-tool:disabled{opacity:.45;cursor:not-allowed}.odontogram-v2 .odontogram-tool-strip__meta{gap:6px;min-width:0;overflow-x:auto}.odontogram-v2 .odontogram-tool-strip__meta span{white-space:nowrap;min-height:26px;padding:0 9px}.odontogram-v2 .odonto-side-panel{max-height:calc(100dvh - var(--topbar-height) - 18px);scrollbar-width:thin;padding-right:4px;overflow:hidden auto}.odontogram-v2 .odonto-side-card{border-radius:14px}.odontogram-v2 .odonto-card-title{padding:10px 12px}.odontogram-v2 .odonto-card-title h3{font-size:14px}.odontogram-v2 .odonto-change-row,.odontogram-v2 .odonto-empty-line{min-height:42px;padding:0 12px}.odontogram-v2 .odonto-preview-card{grid-template-columns:92px minmax(0,1fr);align-items:center;gap:10px;padding:12px;display:grid}.odontogram-v2 .odonto-preview-card .odonto-tooth-preview{border:1px solid var(--odonto-line);background:var(--odonto-card-soft);border-radius:14px;min-height:104px}.odontogram-v2 .odonto-preview-copy span{color:var(--odonto-muted);font-size:12px;font-weight:760}.odontogram-v2 .odonto-selection-chips{flex-wrap:wrap;gap:5px;display:flex}.odontogram-v2 .odonto-selection-chips button{border:1px solid var(--odonto-border);min-width:34px;min-height:28px;color:var(--odonto-text);background:var(--odonto-card-soft);font:inherit;border-radius:9px;font-size:11px;font-weight:800}.odontogram-v2 .odonto-selection-chips button.active{border-color:var(--brand-600);color:#fff;background:var(--brand-700)}.odontogram-v2 .odonto-side-card--tooth .odonto-surface-pad{padding:0 12px 12px}.odontogram-v2 .diagnosis-picker-grid--side{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;padding:10px}.odontogram-v2 .diagnosis-choice{grid-template-columns:30px minmax(0,1fr);min-height:42px;padding:6px}.odontogram-v2 .diagnosis-choice__preview{border-radius:9px;height:30px}.odontogram-v2 .diagnosis-choice__copy strong{font-size:10.5px}.odontogram-v2 .odonto-detail-list{padding:0 12px 10px}.odontogram-v2 .odonto-detail-list div{min-height:34px;font-size:12px}.odontogram-v2 .odonto-side-card--note textarea{width:calc(100% - 20px);min-height:56px;margin:10px}.odontogram-v2 .odonto-side-actions{z-index:4;background:linear-gradient(180deg, transparent, var(--odonto-page) 18%, var(--odonto-page));grid-template-columns:1fr 1.2fr;margin-top:0;padding:10px 0 0;position:sticky;bottom:0}.treatment-odontogram-shell .odontogram-workspace--clinical.odontogram-v2{margin-top:0}.treatment-odontogram-shell .odontogram-v2 .odontogram-main-card__header--clinical{display:none}@media (width<=760px){.patient-compact-header--clinical{grid-template-columns:50px minmax(0,1fr);padding:10px 10px 10px 52px}.patient-compact-header--clinical .patient-compact-header__avatar{width:48px;height:48px}.odontogram-v2 .odontogram-tool-strip{align-items:stretch}.odontogram-v2 .odontogram-tool-strip__meta{justify-content:flex-start}}.odontogram-v2{--diagnosis-active:#dc2626;--diagnosis-completed:#2563eb}[data-theme=dark] .odontogram-v2{--diagnosis-active:#ff6b6b;--diagnosis-completed:#6aa7ff}.odontogram-v2 .odontogram-arch-title{grid-template-columns:1fr auto 1fr;align-items:center;gap:12px;display:grid}.odontogram-v2 .odontogram-arch-title strong{font-size:12px;font-weight:900}.odontogram-v2 .odontogram-arch-title span{color:#6b7c78;margin:0;font-size:9px;font-weight:800}.odontogram-v2 .odontogram-arch-title span:first-child{text-align:right}.odontogram-v2 .odontogram-arch-title span:last-child{text-align:left}.odontogram-v2 .tooth-unit{isolation:isolate;position:relative}.odontogram-v2 .tooth-anatomy--asset{cursor:pointer;width:62px;height:104px;overflow:visible}.odontogram-v2 .tooth-anatomy__endo,.odontogram-v2 .tooth-overlay--endo{stroke:var(--anatomy-status,var(--diagnosis-active));stroke-width:6px;stroke-linecap:round;fill:none;filter:drop-shadow(0 2px 2px #00000024)}.odontogram-v2 .tooth-overlay--endo{stroke-width:3.2px}.odontogram-v2 .tooth-anatomy__bridge,.odontogram-v2 .tooth-overlay--bridge{stroke:var(--anatomy-status,var(--diagnosis-active));stroke-width:7px;stroke-linecap:round;fill:none}.odontogram-v2 .tooth-overlay--bridge{stroke-width:3.4px}.odontogram-v2 .tooth-bridge-link{z-index:2;background:var(--diagnosis-active);pointer-events:none;width:calc(50% + 8px);height:5px;display:none;position:absolute;top:46px;left:50%;box-shadow:0 1px #ffffff8c,0 5px 12px #0f172a29}.odontogram-v2 .tooth-unit[data-clinical-state=completed] .tooth-bridge-link{background:var(--diagnosis-completed)}.odontogram-v2 .tooth-unit--lower .tooth-bridge-link{top:134px}.odontogram-v2 .tooth-bridge-link--before{border-radius:999px 0 0 999px;left:auto;right:50%}.odontogram-v2 .tooth-bridge-link--after{border-radius:0 999px 999px 0}.odontogram-v2 .tooth-bridge-link.is-visible{display:block}.odontogram-v2 .tooth-unit[data-clinical-state=active] .tooth-status-dot,.odontogram-v2 .diagnosis-dot--danger i,.odontogram-v2 .diagnosis-choice--danger .diagnosis-choice__preview{background:var(--diagnosis-active)}.odontogram-v2 .tooth-unit[data-clinical-state=completed] .tooth-status-dot,.odontogram-v2 .diagnosis-dot--brand i,.odontogram-v2 .diagnosis-choice--brand .diagnosis-choice__preview{background:var(--diagnosis-completed)}.odontogram-v2 .tooth-unit[data-status=bridge] .tooth-outline,.odontogram-v2 .tooth-unit[data-status=bridge_done] .tooth-outline{stroke:var(--anatomy-status,currentColor);stroke-width:1.5px}.odontogram-v2 .tooth-unit[data-status=missing] .tooth-anatomy--asset image{opacity:.32;filter:grayscale(.4)drop-shadow(0 8px 8px #392a1414)}[data-theme=dark] .odontogram-v2 .odontogram-main-card--board .odontogram-arch{background:radial-gradient(circle at 50% 48%,#22b8ad1c,#0000 34%),linear-gradient(#0f2429 0%,#0b1f24 100%)}[data-theme=dark] .odontogram-v2 .odontogram-arch-title strong{color:#e8fbf8}[data-theme=dark] .odontogram-v2 .odontogram-arch-title span,[data-theme=dark] .odontogram-v2 .odontogram-midline strong,[data-theme=dark] .odontogram-v2 .odontogram-side-label,[data-theme=dark] .odontogram-v2 .odontogram-vestibular-bottom{color:#9dc9c4}[data-theme=dark] .odontogram-v2 .tooth-shell__plate{fill:#fffaf0}[data-theme=dark] .odontogram-v2 .tooth-surface-label{fill:#3d3024}.patient-compact-header--clinical{grid-template-columns:56px minmax(0,1fr);align-items:center;gap:12px;min-height:74px;padding:10px 14px}.patient-compact-header--clinical .patient-compact-header__return{display:none}.patient-compact-header--clinical .patient-photo-shell{grid-area:auto/1}.patient-compact-header--clinical .patient-compact-header__avatar{border-radius:16px;width:52px;min-width:52px;height:52px;font-size:16px}.patient-compact-header--clinical .patient-compact-header__body{grid-column:2;gap:6px;min-width:0;display:grid}.patient-compact-header--clinical .patient-compact-header__title-row{align-items:center;min-height:0;display:flex}.patient-compact-header--clinical .patient-compact-header__title h1{font-size:clamp(20px,1.55vw,26px);line-height:1.04}.patient-compact-header--clinical .patient-compact-header__meta{scrollbar-width:none;grid-column:auto;gap:6px;padding-bottom:1px;display:flex;overflow:auto hidden}.patient-compact-header--clinical .patient-compact-header__meta::-webkit-scrollbar{display:none}.patient-compact-header--clinical .patient-compact-chip{white-space:nowrap;width:auto;min-height:24px;padding:4px 8px;font-size:10px}.odontogram-workspace--clinical.odontogram-v2{--odonto-side-width:clamp(306px, 19.5vw, 348px);--odonto-editor-top:calc(var(--topbar-height) + 12px);align-items:start;gap:16px}.odontogram-workspace--clinical.odontogram-v2.has-drawer-open,.odontogram-v2.odontogram-workspace--embedded.has-drawer-open{grid-template-columns:minmax(0, 1fr) var(--odonto-side-width)!important}.odontogram-v2 .odontogram-main-container{grid-area:1/1;min-width:0;max-width:100%;overflow:auto clip}.odontogram-v2 .odonto-side-panel{top:var(--odonto-editor-top,calc(var(--topbar-height,60px) + 12px));height:calc(100dvh - var(--odonto-editor-top,calc(var(--topbar-height,60px) + 12px)) - 12px);max-height:calc(100dvh - var(--odonto-editor-top,calc(var(--topbar-height,60px) + 12px)) - 12px);overscroll-behavior:contain;scrollbar-gutter:stable;flex-direction:column;grid-area:1/2;gap:12px;min-height:0;padding:0 6px 8px 0;display:none;overflow:hidden auto;position:sticky!important}.odontogram-v2 .odonto-side-panel.is-open{display:flex!important}.odontogram-v2 .odonto-side-panel::-webkit-scrollbar{width:8px}.odontogram-v2 .odonto-side-panel::-webkit-scrollbar-thumb{background:color-mix(in srgb, var(--brand-600) 38%, transparent);border-radius:999px}.odontogram-v2 .odonto-side-card--tooth{z-index:3;box-shadow:var(--odonto-shadow);position:sticky;top:0}.odontogram-v2 .odonto-tooth-finding-row{border:1px solid var(--odonto-line);background:var(--odonto-card-soft);min-height:32px;color:var(--odonto-text);border-radius:10px;grid-template-columns:12px minmax(0,1fr) auto;align-items:center;gap:8px;padding:7px 9px;display:grid}.odontogram-v2 .odonto-tooth-finding-row strong{text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:11px;overflow:hidden}.odontogram-v2 .odonto-tooth-finding-row small{color:var(--odonto-muted);font-size:10px;font-weight:780}.odontogram-v2 .odonto-side-card--compact .odonto-card-title{padding-block:9px}.odontogram-v2 .odonto-side-card--compact .odonto-change-row,.odontogram-v2 .odonto-side-card--compact .odonto-empty-line{min-height:36px;font-size:12px}.odontogram-v2 .odonto-side-actions{z-index:5;background:linear-gradient(180deg, transparent, var(--odonto-page) 28%, var(--odonto-page));margin-top:auto;padding:12px 0 0;position:sticky;bottom:0}@media (width>=981px){.odontogram-workspace--clinical.odontogram-v2:not(.has-drawer-open) .odonto-side-panel,.odontogram-workspace--embedded.odontogram-v2:not(.has-drawer-open) .odonto-side-panel{display:none!important}}@media (width<=1320px){.odontogram-workspace--clinical.odontogram-v2{--odonto-side-width:300px;gap:12px}.odontogram-v2 .odonto-preview-card{grid-template-columns:82px minmax(0,1fr)}.odontogram-v2 .diagnosis-picker-grid--side{gap:6px}}@media (width<=980px){.odontogram-workspace--clinical.odontogram-v2.has-drawer-open{grid-template-columns:minmax(0,1fr)!important}.odontogram-v2 .odonto-side-panel{top:calc(var(--topbar-height) + 10px);z-index:42;width:min(380px,100vw - 20px);height:calc(100dvh - var(--topbar-height) - 20px);max-height:calc(100dvh - var(--topbar-height) - 20px);padding:0 6px 8px 0;bottom:10px;left:auto;right:10px;position:fixed!important}.odontogram-v2 .odonto-side-panel:not(.is-open){display:none}.odontogram-v2 .odontogram-main-container{overflow-x:auto}}@media (width<=720px){.patient-compact-header--clinical{grid-template-columns:48px minmax(0,1fr);gap:10px;min-height:66px;padding:9px 10px}.patient-compact-header--clinical .patient-compact-header__avatar{border-radius:14px;width:46px;min-width:46px;height:46px}.patient-compact-header--clinical .patient-compact-header__title h1{font-size:clamp(18px,5.2vw,22px)}.odontogram-v2 .odonto-side-panel{background:var(--odonto-page);border-radius:20px 20px 0 0;width:100vw;height:min(78dvh,100dvh - 16px);max-height:min(78dvh,100dvh - 16px);padding:10px 10px 12px;inset:auto 0 0;box-shadow:0 -24px 60px #00000038}.odontogram-v2 .odonto-side-card--tooth{position:static}.odontogram-v2 .odonto-preview-card{grid-template-columns:76px minmax(0,1fr);padding:10px}.odontogram-v2 .odonto-preview-copy strong{font-size:30px}.odontogram-v2 .diagnosis-picker-grid--side{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=420px){.patient-compact-header--clinical{grid-template-columns:42px minmax(0,1fr)}.patient-compact-header--clinical .patient-compact-header__avatar{border-radius:12px;width:40px;min-width:40px;height:40px}.odontogram-v2 .diagnosis-picker-grid--side{grid-template-columns:1fr}}@supports selector(body:has(.odontogram-v2.has-drawer-open)){body:has(.odontogram-v2.has-drawer-open){overflow-y:hidden}}.odontogram-v2 .odonto-side-panel{--odonto-panel-height:min(calc(100dvh - var(--odonto-editor-top) - 12px), calc(100dvh - 246px));height:var(--odonto-panel-height);max-height:var(--odonto-panel-height)}@media (width<=980px){.odontogram-v2 .odonto-side-panel{height:calc(100dvh - var(--topbar-height) - 20px);max-height:calc(100dvh - var(--topbar-height) - 20px)}}@media (width<=720px){.odontogram-v2 .odonto-side-panel{height:min(78dvh,100dvh - 16px);max-height:min(78dvh,100dvh - 16px)}}.page-shell--patient{padding-top:14px}.patient-record-strip{border:1px solid var(--border);background:color-mix(in srgb, var(--surface-card) 92%, transparent);width:100%;min-height:84px;box-shadow:var(--shadow-sm);border-radius:18px;grid-template-columns:minmax(340px,max-content) minmax(0,1fr);align-items:center;gap:18px;padding:10px 14px;display:grid}.patient-record-strip .patient-compact-header,.patient-record-strip .patient-compact-header--clinical,.patient-record-strip .patient-compact-header--record{min-height:62px;box-shadow:none;background:0 0;border:0;border-radius:0;grid-template-columns:64px minmax(0,auto);align-items:center;gap:12px;padding:0;display:grid}.patient-record-strip .patient-photo-shell,.patient-record-strip .patient-photo-shell--static{grid-area:auto/1;align-self:center;display:block!important}.patient-photo-input{display:none}.patient-record-strip .patient-compact-header__avatar,.patient-record-strip .patient-compact-header--clinical .patient-compact-header__avatar{width:62px;min-width:62px;height:62px;box-shadow:none;background:linear-gradient(145deg, color-mix(in srgb, var(--brand-700) 88%, #052c2e), var(--brand-600));color:#fff;cursor:pointer;border:0;border-radius:999px;justify-content:center;align-items:center;padding:0;font-size:19px;font-weight:900;display:inline-flex;position:relative;overflow:hidden}.patient-record-strip .patient-compact-header__avatar:disabled{cursor:wait;opacity:.76}.patient-record-strip .patient-compact-header__avatar img{object-fit:cover;border-radius:inherit;background:0 0;width:100%;height:100%}.patient-record-strip .patient-photo-hover{color:#fff;opacity:0;pointer-events:none;background:#03252894;place-items:center;transition:opacity .16s;display:grid;position:absolute;inset:0}.patient-record-strip .patient-photo-button:hover .patient-photo-hover,.patient-record-strip .patient-photo-button:focus-visible .patient-photo-hover{opacity:1}.patient-record-strip .patient-compact-header__avatar small,.patient-record-strip .patient-photo-button small,.patient-record-strip .patient-compact-header__return,.patient-record-strip .section-kicker,.patient-record-strip .patient-compact-header__actions{display:none!important}.patient-record-strip .patient-compact-header__body{grid-area:auto/2;gap:6px;min-width:0;display:grid!important}.patient-record-strip .patient-compact-header__title-row{align-items:center;min-height:0;display:flex}.patient-record-strip .patient-compact-header__title h1,.patient-record-strip .patient-compact-header--clinical .patient-compact-header__title h1{color:var(--text);letter-spacing:-.035em;margin:0;font-size:clamp(20px,1.6vw,27px);line-height:1}.patient-record-strip .patient-photo-error{color:var(--red-600);margin-top:4px;font-size:11px;font-weight:700;display:block}.patient-compact-header__facts{min-width:0;color:var(--text-muted);scrollbar-width:none;align-items:center;gap:0;font-size:11.5px;font-weight:720;display:flex;overflow:auto hidden}.patient-compact-header__facts::-webkit-scrollbar{display:none}.patient-compact-header__facts>span{white-space:nowrap;flex:none;position:relative}.patient-compact-header__facts>span+span{margin-left:10px;padding-left:12px}.patient-compact-header__facts>span+span:before{content:"";opacity:.55;background:currentColor;border-radius:999px;width:3px;height:3px;position:absolute;top:50%;left:0;transform:translateY(-50%)}.patient-compact-fact--status{color:var(--text);align-items:center;gap:5px;display:inline-flex}.patient-compact-fact--status i{background:var(--green-500);width:7px;height:7px;box-shadow:0 0 0 3px color-mix(in srgb, var(--green-500) 14%, transparent);border-radius:999px}.patient-record-strip .patient-primary-tabs,.patient-record-strip .patient-primary-tabs--record{min-width:0;min-height:42px;box-shadow:none;scrollbar-width:none;background:0 0;border:0;border-radius:0;justify-content:flex-start;align-items:center;gap:6px;margin:0;padding:0;display:flex;overflow:auto hidden}.patient-record-strip .patient-primary-tab{background:0 0;border:1px solid #0000;border-radius:11px;flex:none;gap:7px;min-height:34px;padding:0 10px;font-size:11px;font-weight:800}.patient-record-strip .patient-primary-tab.active{border-color:var(--brand-500);color:var(--brand-700);background:color-mix(in srgb, var(--brand-100) 54%, transparent);box-shadow:none}.patient-record-strip .patient-primary-tab.active:after{display:none}[data-theme=dark] .patient-record-strip{background:color-mix(in srgb, var(--surface-card) 88%, #050706);border-color:var(--border-strong)}[data-theme=dark] .patient-record-strip .patient-primary-tab.active{color:#5eead4;background:#14b8a61f}[data-theme=dark] .patient-record-strip .patient-photo-hover{background:#0000008f}.patient-workspace-content{margin-top:10px}@media (width<=1180px){.patient-record-strip{grid-template-columns:1fr;gap:8px}.patient-record-strip .patient-primary-tabs,.patient-record-strip .patient-primary-tabs--record{width:100%}}@media (width<=720px){.page-shell--patient{padding-top:10px}.patient-record-strip{border-radius:16px;min-height:0;padding:9px 10px}.patient-record-strip .patient-compact-header,.patient-record-strip .patient-compact-header--record{grid-template-columns:54px minmax(0,1fr);min-height:54px}.patient-record-strip .patient-compact-header__avatar,.patient-record-strip .patient-compact-header--clinical .patient-compact-header__avatar{width:52px;min-width:52px;height:52px;font-size:16px}.patient-record-strip .patient-compact-header__title h1,.patient-record-strip .patient-compact-header--clinical .patient-compact-header__title h1{font-size:clamp(18px,5.2vw,22px)}.patient-record-strip .patient-primary-tab{min-height:32px;padding:0 9px}}.odontogram-v2 .odontogram-view-toggle{border:1px solid var(--line);background:var(--surface);border-radius:999px;align-items:center;gap:4px;padding:4px;display:inline-flex}.odontogram-v2 .odontogram-view-toggle button{color:var(--muted);font:inherit;cursor:pointer;background:0 0;border:0;border-radius:999px;padding:7px 12px;font-weight:800}.odontogram-v2 .odontogram-view-toggle button.active{background:var(--brand-600);color:#fff}.odontogram-v2 .official-odontogram{background:var(--surface);border-top:1px solid var(--line);gap:22px;padding:clamp(18px,2vw,28px);display:grid}.odontogram-v2 .official-odontogram__header{color:var(--muted);text-transform:uppercase;letter-spacing:.08em;justify-content:center;align-items:center;gap:14px;font-size:.78rem;font-weight:800;display:flex}.odontogram-v2 .official-odontogram__header span{color:var(--brand-700)}.odontogram-v2 .official-odontogram__arch{gap:10px;min-width:0;display:grid}.odontogram-v2 .official-odontogram__title,.odontogram-v2 .official-odontogram__axis{color:var(--muted);letter-spacing:.06em;text-align:center;grid-template-columns:1fr auto 1fr;align-items:center;gap:12px;font-size:.72rem;font-weight:900;display:grid}.odontogram-v2 .official-odontogram__title strong,.odontogram-v2 .official-odontogram__axis{color:var(--ink)}.odontogram-v2 .official-odontogram__axis:before,.odontogram-v2 .official-odontogram__axis:after,.odontogram-v2 .official-odontogram__title:before,.odontogram-v2 .official-odontogram__title:after{content:"";background:var(--line);height:1px}.odontogram-v2 .official-odontogram__row{grid-template-columns:repeat(16,minmax(58px,1fr));align-items:start;gap:clamp(4px,.7vw,10px);padding:4px 2px 8px;display:grid;overflow-x:auto}.odontogram-v2 .official-tooth{min-width:58px;color:var(--ink);cursor:pointer;background:0 0;border:1px solid #0000;border-radius:14px;justify-items:center;gap:4px;padding:4px 2px;display:grid;position:relative}.odontogram-v2 .official-tooth:hover,.odontogram-v2 .official-tooth.selected{border-color:var(--brand-500);background:color-mix(in srgb, var(--brand-500) 10%, transparent)}.odontogram-v2 .official-tooth__number{color:var(--brand-800);font-size:.82rem;font-weight:900}.odontogram-v2 .official-tooth__svg{width:clamp(54px,4.8vw,74px);height:auto;overflow:visible}.odontogram-v2 .official-tooth__root,.odontogram-v2 .official-tooth__box,.odontogram-v2 .official-tooth__box-outline{fill:none;stroke:var(--ink);stroke-width:1.8px;stroke-linecap:round;stroke-linejoin:round}.odontogram-v2 .official-tooth__surface{fill:color-mix(in srgb, var(--official-fill) 82%, transparent);stroke:var(--ink);stroke-width:.9px;cursor:cell}.odontogram-v2 .official-symbol--fracture{stroke:#e02020}.odontogram-v2 .official-symbol--bridge{stroke-width:5px}.odontogram-v2 .official-symbol--bridge-pillar{stroke-width:4px}.odontogram-v2 .official-symbol-text,.odontogram-v2 .tooth-overlay-code{fill:var(--official-fill,var(--anatomy-status,#1f65d6));font-family:var(--font-sans);text-anchor:middle;paint-order:stroke;stroke:var(--surface);stroke-width:3px;font-size:14px;font-weight:950}.odontogram-v2 .tooth-overlay-code{stroke-width:2.5px;pointer-events:none;font-size:13px}@media (width<=900px){.odontogram-v2 .official-odontogram__header{flex-direction:column;align-items:flex-start;gap:4px}.odontogram-v2 .official-odontogram__row{grid-template-columns:repeat(16,58px)}}.odontogram-v2 .tooth-unit{gap:5px}.odontogram-v2 .tooth-anatomy__surface-mark{fill:color-mix(in srgb, var(--anatomy-status,#ef4444) 70%, transparent);stroke:var(--anatomy-status,#ef4444);stroke-width:2.4px;stroke-linejoin:round;paint-order:stroke fill;filter:drop-shadow(0 2px 2px #0f172a38)}.odontogram-v2 .tooth-anatomy__status-code{text-anchor:middle;fill:var(--anatomy-status,var(--diagnosis-completed));stroke:var(--surface,#fff);stroke-width:3px;paint-order:stroke fill;font-size:18px;font-weight:900}.odontogram-v2 .official-odontogram--v3{background:var(--surface);min-width:1120px;color:var(--ink);gap:12px;padding:18px 18px 20px;display:grid;position:relative}.odontogram-v2 .official-odontogram__header--compact{text-transform:uppercase;letter-spacing:.11em;border:0;justify-content:center;gap:16px;padding-block:0 6px;font-size:12px}.odontogram-v2 .official-template-boxes{justify-items:center;gap:6px;display:grid}.odontogram-v2 .official-box-row{grid-template-columns:repeat(16,34px);justify-content:center;gap:0;display:grid}.odontogram-v2 .official-chart-grid{gap:8px;padding:4px 10px;display:grid;position:relative}.odontogram-v2 .official-chart-grid__midline{inset-block:0;z-index:0;background:color-mix(in srgb, var(--ink) 82%, transparent);width:2px;position:absolute;left:50%;transform:translate(-1px)}.odontogram-v2 .official-chart-grid__row{z-index:1;grid-template-columns:repeat(16,minmax(56px,1fr));align-items:center;gap:4px;display:grid;position:relative}.odontogram-v2 .official-chart-grid__axis{z-index:1;color:color-mix(in srgb, var(--ink) 80%, transparent);letter-spacing:.11em;grid-template-columns:1fr auto 1fr;align-items:center;gap:10px;font-size:11px;font-weight:900;display:grid;position:relative}.odontogram-v2 .official-chart-grid__axis span{background:color-mix(in srgb, var(--ink) 18%, transparent);height:1px}.odontogram-v2 .official-tooth-v3{min-width:0;color:var(--ink);cursor:pointer;background:0 0;border:1px solid #0000;border-radius:12px;justify-items:center;gap:2px;padding:2px 1px;display:grid;position:relative}.odontogram-v2 .official-tooth-v3:hover,.odontogram-v2 .official-tooth-v3.selected{border-color:var(--brand-500);background:color-mix(in srgb, var(--brand-500) 10%, transparent)}.odontogram-v2 .official-tooth-v3--primary{cursor:default;opacity:.92}.odontogram-v2 .official-tooth-v3--primary:hover{background:0 0;border-color:#0000}.odontogram-v2 .official-tooth-v3__number{color:var(--brand-700);font-size:12px;font-weight:900;line-height:1}.odontogram-v2 .official-tooth-v3--primary .official-tooth-v3__number{color:color-mix(in srgb, var(--ink) 70%, transparent);font-size:10px}.odontogram-v2 .official-tooth-v3__svg{width:clamp(54px,4.4vw,72px);height:auto;overflow:visible}.odontogram-v2 .official-tooth-v3__root,.odontogram-v2 .official-tooth-v3__crown,.odontogram-v2 .official-tooth-v3__surface-outline{fill:var(--surface);stroke:var(--ink);stroke-width:2px;stroke-linejoin:round}.odontogram-v2 .official-tooth-v3__groove{fill:none;stroke:color-mix(in srgb, var(--ink) 62%, transparent);stroke-width:1.35px;stroke-linecap:round}.odontogram-v2 .official-tooth-v3__surface{fill:var(--official-fill,transparent);fill-opacity:.82;stroke:var(--ink);stroke-width:1.35px;cursor:crosshair}.odontogram-v2 .official-tooth-v3--primary .official-tooth-v3__surface{cursor:default}.odontogram-v2 .official-symbol{fill:none;stroke:var(--official-stroke,#1f65d6);stroke-width:4px;stroke-linecap:round;stroke-linejoin:round}.odontogram-v2 .official-symbol--fracture,.odontogram-v2 .official-symbol--missing{stroke:#e02020}.odontogram-v2 .official-symbol-text{text-anchor:middle;fill:var(--official-fill,#1f65d6);stroke:var(--surface);stroke-width:3px;paint-order:stroke fill;font-size:13px;font-weight:900}[data-theme=dark] .odontogram-v2 .official-odontogram--v3{background:var(--surface)}[data-theme=dark] .odontogram-v2 .official-box-row span,[data-theme=dark] .odontogram-v2 .official-tooth-v3__root,[data-theme=dark] .odontogram-v2 .official-tooth-v3__crown,[data-theme=dark] .odontogram-v2 .official-tooth-v3__surface-outline{background:var(--surface);fill:var(--surface)}@media (width<=1200px){.odontogram-v2 .odontogram-main-card--board .odontogram-row{grid-template-columns:repeat(16,68px)}.odontogram-v2 .official-odontogram--v3{min-width:1080px}}@media (width<=720px){.odontogram-v2 .tooth-anatomy--asset,.odontogram-v2:not(.has-drawer-open) .tooth-anatomy--asset{width:62px;height:108px}}.odontogram-v2 .official-chart-grid__arch-label{z-index:1;color:var(--brand-700);letter-spacing:.08em;text-transform:uppercase;grid-template-columns:1fr auto 1fr;align-items:center;gap:10px;font-size:11px;font-weight:900;display:grid;position:relative}.odontogram-v2 .official-chart-grid__arch-label strong{color:var(--ink)}.odontogram-v2 .official-chart-grid__arch-label span:first-child{text-align:right}.odontogram-v2 .official-chart-grid__arch-label span:last-child{text-align:left}[data-theme=dark] .odontogram-v2{--official-paper:#141615;--official-line:#f4f7f5;--official-muted:#b9c3bf;--official-accent:#5eead4}.odontogram-v2 .odontogram-main-card--board,.odontogram-v2 .odonto-side-card,.odontogram-v2 .diagnosis-choice,.odontogram-v2 .odonto-preview-card{box-shadow:none!important}.odontogram-v2 .odonto-side-panel{scrollbar-gutter:stable}@media (width>=981px){.odontogram-workspace--clinical.odontogram-v2.has-drawer-open .odonto-side-panel.is-open{top:var(--topbar-height)!important;height:calc(100dvh - var(--topbar-height))!important;max-height:calc(100dvh - var(--topbar-height))!important}}.odontogram-v2 .odonto-finding-select{border:1px solid var(--odonto-line,var(--border));background:var(--odonto-card-soft,var(--surface-muted));width:100%;min-height:42px;color:var(--odonto-text,var(--text));border-radius:12px;outline:none;padding:0 12px;font-size:12px;font-weight:800}.odontogram-v2 .odonto-finding-select:focus{border-color:var(--brand-500);box-shadow:0 0 0 3px color-mix(in srgb, var(--brand-500) 14%, transparent)}.odontogram-v2 .diagnosis-picker-grid--quick{grid-template-columns:repeat(2,minmax(0,1fr));max-height:min(32dvh,320px);padding-right:2px;overflow-y:auto}.odontogram-v2 .diagnosis-picker-grid--quick .diagnosis-choice{border-radius:12px;min-height:42px;padding:8px 9px}.odontogram-v2 .diagnosis-picker-grid--quick .diagnosis-choice__copy strong{font-size:11px;line-height:1.15}.odontogram-v2 .odonto-surface-pad{grid-template-columns:repeat(5,minmax(0,1fr))}.odontogram-v2 .odonto-surface-pad button{min-width:0;font-size:11px}.odontogram-v2 .odontogram-legend--compact{scrollbar-width:thin;flex-wrap:nowrap;gap:6px;min-height:0;max-height:48px;padding:8px 12px;overflow:auto hidden}.odontogram-v2 .odontogram-legend--compact .odontogram-legend__title,.odontogram-v2 .odontogram-legend--compact .odontogram-legend__item{white-space:nowrap;flex:none}.odontogram-v2 .odontogram-legend--compact .odontogram-legend__item{min-height:24px;padding-inline:8px;font-size:10px}.odontogram-v2 .odontogram-tool-strip{align-items:center;gap:10px}.odontogram-v2 .odontogram-tool-strip__group{flex:none}.odontogram-v2 .odontogram-view-toggle{margin-inline:auto}.odontogram-v2 .tooth-anatomy--asset,.odontogram-v2:not(.has-drawer-open) .tooth-anatomy--asset{width:clamp(78px,5.9vw,102px);height:clamp(132px,9.5vw,172px)}.odontogram-v2 .official-odontogram--v3{gap:7px;min-width:1020px;padding:14px 16px 16px;background:var(--official-paper)!important;color:var(--official-line)!important}.odontogram-v2 .official-odontogram__header--compact{letter-spacing:.08em;min-height:18px;color:var(--official-muted);padding:0;font-size:10px}.odontogram-v2 .official-odontogram__header--compact span{color:var(--official-accent)}.odontogram-v2 .official-box-row span{width:30px;height:21px;border-color:var(--official-line)!important;background:0 0!important}.odontogram-v2 .official-chart-grid{gap:3px;padding:2px 6px}.odontogram-v2 .official-chart-grid__row{grid-template-columns:repeat(16,minmax(50px,1fr));gap:1px}.odontogram-v2 .official-chart-grid__row--primary{grid-template-columns:repeat(16,minmax(40px,1fr));padding-inline:72px}.odontogram-v2 .official-chart-grid__arch-label,.odontogram-v2 .official-chart-grid__axis{color:var(--official-muted);letter-spacing:.06em;font-size:10px}.odontogram-v2 .official-tooth-v3{color:var(--official-line);border-radius:8px;padding:0}.odontogram-v2 .official-tooth-v3__number{color:var(--official-line);font-size:11px}.odontogram-v2 .official-tooth-v3__svg{width:54px}.odontogram-v2 .official-tooth-v3__root,.odontogram-v2 .official-tooth-v3__crown,.odontogram-v2 .official-tooth-v3__surface-outline{stroke-width:2.1px;fill:#0000!important;stroke:var(--official-line)!important}.odontogram-v2 .official-tooth-v3__surface{fill-opacity:.9}@media (width<=1200px){.odontogram-v2 .odontogram-main-card--board .odontogram-row{grid-template-columns:repeat(16,76px)}.odontogram-v2 .official-odontogram--v3{min-width:980px}}@media (width<=720px){.odontogram-v2 .tooth-anatomy--asset,.odontogram-v2:not(.has-drawer-open) .tooth-anatomy--asset{width:70px;height:120px}.odontogram-v2 .diagnosis-picker-grid--quick{grid-template-columns:repeat(2,minmax(0,1fr));max-height:30dvh}.odontogram-v2 .odontogram-legend--compact{max-height:44px}}.odontogram-v2 .official-symbol--missing{stroke:#1f65d6!important}.odontogram-v2,[data-theme=dark] .odontogram-v2{--official-paper:#fff;--official-line:#111827;--official-muted:#374151;--official-accent:#0f766e}.odontogram-v2 .tooth-anatomy--asset image{filter:none!important}.odontogram-v2 .odontogram-main-card--board .odontogram-row{grid-template-columns:repeat(16,minmax(72px,1fr));gap:clamp(3px,.42vw,7px)}.odontogram-v2 .official-odontogram--v3{gap:4px;width:760px;min-width:760px;max-width:760px;margin:0 auto;padding:8px 14px 12px;background:var(--official-paper)!important;color:var(--official-line)!important;box-shadow:none!important;border:0!important}.odontogram-v2 .official-odontogram__sheet-title{color:var(--official-line);letter-spacing:.02em;text-align:center;margin:0 0 4px;font-size:23px;font-weight:900;line-height:1}.odontogram-v2 .official-template-boxes{gap:3px;margin:0}.odontogram-v2 .official-box-row{grid-template-columns:repeat(16,24px)!important}.odontogram-v2 .official-box-row--compact{grid-template-columns:repeat(10,24px)!important}.odontogram-v2 .official-chart-grid__midline{width:2px;background:var(--official-line)!important}.odontogram-v2 .official-chart-grid__row{justify-content:center;gap:2px;grid-template-columns:repeat(16,42px)!important}.odontogram-v2 .official-chart-grid__row--primary{justify-content:center;margin-block:-4px 0;grid-template-columns:repeat(10,36px)!important;padding-inline:0!important}.odontogram-v2 .official-chart-grid__arch-label,.odontogram-v2 .official-chart-grid__axis{gap:6px;min-height:16px;font-weight:900;line-height:1;color:var(--official-muted)!important;letter-spacing:.05em!important;font-size:9px!important}.odontogram-v2 .official-tooth-v3{border-radius:6px;gap:0;padding:0;color:var(--official-line)!important}.odontogram-v2 .official-tooth-v3__number{font-weight:900;color:var(--official-line)!important;font-size:8.5px!important}.odontogram-v2 .official-tooth-v3__svg{height:auto;width:39px!important}.odontogram-v2 .official-symbol-text{stroke:var(--official-paper)!important}.odontogram-v2 .official-specifications-line{color:var(--official-line);letter-spacing:.03em;grid-template-columns:auto 1fr;align-items:end;gap:8px;margin-top:4px;font-size:8px;font-weight:900;display:grid}.odontogram-v2 .odontogram-legend--compact{max-height:38px!important;padding-block:6px!important}@media (width<=900px){.odontogram-v2 .official-odontogram--v3{width:720px;min-width:720px;max-width:720px}.odontogram-v2 .official-chart-grid{width:690px;max-width:690px}.odontogram-v2 .official-chart-grid__row{grid-template-columns:repeat(16,40px)!important}}.odontogram-v2{--official-paper:transparent;--official-line:#111827;--official-muted:#334155;--official-accent:#0f766e;--official-axis:#11182738;--official-text-backdrop:var(--odonto-page,var(--surface))}[data-theme=dark] .odontogram-v2{--official-paper:transparent;--official-line:#f8fafc;--official-muted:#d4dee7;--official-accent:#5eead4;--official-axis:#f8fafc47;--official-text-backdrop:var(--odonto-page,#111413)}.odontogram-v2 .odontogram-main-container{scrollbar-width:thin;overscroll-behavior-x:contain;width:100%;max-width:100%;overflow:auto clip}.odontogram-v2 .odontogram-board-card{overflow:hidden}.odontogram-v2 .official-odontogram--v3{width:100%!important;min-width:1080px!important;max-width:none!important;box-shadow:none!important;color:var(--official-line)!important;background:0 0!important;border:0!important;margin:0!important;padding:clamp(10px,1vw,16px) clamp(12px,1.4vw,22px) clamp(12px,1vw,18px)!important}.odontogram-v2 .official-odontogram__sheet-title{display:none!important}.odontogram-v2 .official-template-boxes{justify-self:center;width:100%;max-width:720px;gap:2px!important;margin:0 auto 3px!important}.odontogram-v2 .official-template-boxes--bottom{margin:3px auto 0!important}.odontogram-v2 .official-box-row{width:100%;grid-template-columns:repeat(16,minmax(22px,1fr))!important}.odontogram-v2 .official-box-row--compact{max-width:450px;grid-template-columns:repeat(10,minmax(22px,1fr))!important}.odontogram-v2 .official-box-row span{border:1.6px solid var(--official-line)!important;background:0 0!important;border-left-width:0!important;width:100%!important;height:clamp(15px,1.2vw,19px)!important}.odontogram-v2 .official-box-row span:first-child{border-left-width:1.6px!important}.odontogram-v2 .official-chart-grid{gap:1px!important;width:100%!important;max-width:none!important;margin:0!important;padding:0 clamp(8px,1vw,18px)!important}.odontogram-v2 .official-chart-grid__midline{background:var(--official-line)!important;width:2px!important}.odontogram-v2 .official-chart-grid__row{grid-template-columns:repeat(16,minmax(50px,1fr))!important;justify-content:stretch!important;gap:clamp(2px,.42vw,7px)!important}.odontogram-v2 .official-chart-grid__row--primary{grid-template-columns:repeat(10,minmax(42px,66px))!important;justify-content:center!important;margin-block:-2px 1px!important;padding-inline:0!important}.odontogram-v2 .official-chart-grid__arch-label,.odontogram-v2 .official-chart-grid__axis{min-height:16px!important;color:var(--official-muted)!important;letter-spacing:.05em!important;gap:8px!important;font-size:clamp(8px,.62vw,10px)!important;font-weight:900!important;line-height:1!important}.odontogram-v2 .official-chart-grid__arch-label strong,.odontogram-v2 .official-chart-grid__axis strong{color:var(--official-line)!important}.odontogram-v2 .official-chart-grid__axis span{background:var(--official-axis)!important}.odontogram-v2 .official-tooth-v3{color:var(--official-line)!important;border-radius:8px!important;gap:0!important;padding:0!important}.odontogram-v2 .official-tooth-v3:hover,.odontogram-v2 .official-tooth-v3.selected{background:color-mix(in srgb, var(--brand-500) 12%, transparent)!important;outline:1px solid color-mix(in srgb, var(--brand-500) 58%, transparent)!important}.odontogram-v2 .official-tooth-v3__number{color:var(--official-line)!important;font-size:clamp(8px,.68vw,10px)!important;font-weight:900!important}.odontogram-v2 .official-tooth-v3--primary .official-tooth-v3__number{font-size:clamp(7px,.58vw,8px)!important}.odontogram-v2 .official-tooth-v3__svg{width:clamp(42px,4.2vw,58px)!important;height:auto!important}.odontogram-v2 .official-tooth-v3--primary .official-tooth-v3__svg{width:clamp(32px,3.2vw,43px)!important}.odontogram-v2 .official-tooth-v3__root,.odontogram-v2 .official-tooth-v3__crown,.odontogram-v2 .official-tooth-v3__surface-outline,[data-theme=dark] .odontogram-v2 .official-tooth-v3__root,[data-theme=dark] .odontogram-v2 .official-tooth-v3__crown,[data-theme=dark] .odontogram-v2 .official-tooth-v3__surface-outline{fill:#0000!important;stroke:var(--official-line)!important;stroke-width:2px!important}.odontogram-v2 .official-tooth-v3__groove,.odontogram-v2 .official-tooth-v3__surface{stroke:var(--official-line)!important}.odontogram-v2 .official-symbol{stroke:var(--official-stroke,#1f65d6)!important}.odontogram-v2 .official-symbol-text{fill:var(--official-fill,#1f65d6)!important;stroke:var(--official-text-backdrop)!important}.odontogram-v2 .official-specifications-line{color:var(--official-line)!important;margin-top:5px!important}.odontogram-v2 .official-specifications-line span{background:var(--official-line)!important}.odontogram-v2 .odonto-side-card--finding{min-height:0}.odontogram-v2 .diagnosis-picker-grid--quick{scrollbar-width:thin;max-height:min(44dvh,430px)!important;padding-right:4px!important}.odontogram-v2 .diagnosis-picker-grid--quick .diagnosis-choice{min-height:40px!important}.odontogram-v2 .diagnosis-picker-grid--quick .diagnosis-choice__copy strong{font-size:10.5px!important}.odontogram-v2 .odonto-side-panel,.odontogram-v2 .odonto-side-card--tooth{box-shadow:none!important}@media (width>=981px){.odontogram-workspace--clinical.odontogram-v2.has-drawer-open .odonto-side-panel.is-open{top:var(--topbar-height)!important;height:calc(100dvh - var(--topbar-height))!important;max-height:calc(100dvh - var(--topbar-height))!important}}@media (width<=1180px){.odontogram-v2 .official-odontogram--v3{min-width:980px!important}.odontogram-v2 .official-chart-grid__row{grid-template-columns:repeat(16,minmax(46px,1fr))!important}}@media (width<=720px){.odontogram-v2 .official-odontogram--v3{min-width:880px!important}.odontogram-v2 .official-chart-grid__row{grid-template-columns:repeat(16,48px)!important}.odontogram-v2 .official-chart-grid__row--primary{grid-template-columns:repeat(10,38px)!important}.odontogram-v2 .diagnosis-picker-grid--quick{max-height:38dvh!important}}.odontogram-v2 .odontogram-legend,.odontogram-v2 .odontogram-legend--clinical,.odontogram-v2 .odontogram-legend--compact{display:none!important}.odontogram-workspace--clinical.odontogram-v2{--odonto-side-width:clamp(360px, 24vw, 440px)}.odontogram-v2 .odonto-side-panel{grid-template-rows:minmax(0,1fr) auto;gap:10px;box-shadow:none!important;padding:12px 8px 12px 0!important;display:grid!important;overflow:hidden!important}.odontogram-v2 .odonto-side-scroll{scrollbar-width:thin;overscroll-behavior:contain;align-content:start;gap:12px;min-height:0;padding:0 6px 0 0;display:grid;overflow:hidden auto}.odontogram-v2 .odonto-side-scroll::-webkit-scrollbar{width:8px}.odontogram-v2 .odonto-side-scroll::-webkit-scrollbar-thumb{background:color-mix(in srgb, var(--brand-500) 34%, transparent);border-radius:999px}.odontogram-v2 .odonto-side-card,.odontogram-v2 .odonto-side-card--tooth,.odontogram-v2 .odonto-side-card--changes{min-width:0;box-shadow:none!important;position:static!important}.odontogram-v2 .odonto-side-actions{z-index:2;border-top:1px solid var(--odonto-line,var(--border));background:var(--odonto-page,var(--surface));grid-template-columns:minmax(0,1fr) minmax(0,1.28fr);gap:10px;display:grid;box-shadow:none!important;margin:0!important;padding:10px 0 0!important;position:static!important}.odontogram-v2 .odonto-side-actions .btn{min-height:48px;box-shadow:none!important}.odontogram-v2 .diagnosis-picker-grid--quick,.odontogram-v2 .diagnosis-picker-grid--side{max-height:none!important;padding-right:0!important;overflow:visible!important}.odontogram-v2 .diagnosis-picker-grid--side{grid-template-columns:repeat(2,minmax(0,1fr))!important}.odontogram-v2 .diagnosis-choice{min-width:0;box-shadow:none!important}.odontogram-v2 .diagnosis-choice__copy strong{white-space:normal}.odontogram-v2 .official-odontogram--image{color:var(--official-line,var(--text));width:100%!important;min-width:1080px!important;max-width:none!important;box-shadow:none!important;background:0 0!important;border:0!important;margin:0!important;padding:clamp(10px,1vw,16px) clamp(12px,1.4vw,22px)!important}.odontogram-v2 .official-image-board{isolation:isolate;width:min(100%,1460px);min-width:1030px;margin-inline:auto;position:relative}.odontogram-v2 .official-image-board__template{-webkit-user-select:none;user-select:none;pointer-events:none;filter:none;opacity:.98;width:100%;height:auto;display:block}[data-theme=dark] .odontogram-v2 .official-image-board__template{filter:invert()brightness(1.85)contrast(.94);opacity:.94}.odontogram-v2 .official-image-board__overlay,.odontogram-v2 .official-image-board__hit-area{width:100%;height:100%;position:absolute;inset:0}.odontogram-v2 .official-image-board__overlay{z-index:2;pointer-events:none;overflow:visible}.odontogram-v2 .official-image-board__hit-area{z-index:3}.odontogram-v2 .official-image-board__tooth-hit{left:var(--x);top:var(--y);width:var(--w);height:var(--h);cursor:pointer;background:0 0;border:1.5px solid #0000;border-radius:10px;outline:none;padding:0;transition:background .16s,border-color .16s;position:absolute}.odontogram-v2 .official-image-board__tooth-hit:hover,.odontogram-v2 .official-image-board__tooth-hit:focus-visible,.odontogram-v2 .official-image-board__tooth-hit.selected{border-color:color-mix(in srgb, var(--brand-500) 78%, transparent);background:color-mix(in srgb, var(--brand-500) 15%, transparent)}.odontogram-v2 .official-image-board__tooth-hit:disabled{cursor:default;pointer-events:none}.odontogram-v2 .official-image-board__surface-hit{pointer-events:auto;position:absolute}.odontogram-v2 .official-image-board__surface-hit--o{width:36%;height:32%;top:34%;left:32%}.odontogram-v2 .official-image-board__surface-hit--m{width:34%;height:40%;top:30%;left:0}.odontogram-v2 .official-image-board__surface-hit--d{width:34%;height:40%;top:30%;right:0}.odontogram-v2 .official-image-board__surface-hit--v{width:52%;height:36%;top:0;left:24%}.odontogram-v2 .official-image-board__surface-hit--l{width:52%;height:36%;bottom:0;left:24%}.odontogram-v2 .official-mark{fill:none;stroke:var(--official-stroke,#1f65d6);stroke-width:7px;stroke-linecap:round;stroke-linejoin:round;vector-effect:non-scaling-stroke}.odontogram-v2 .official-mark--surface{fill:color-mix(in srgb, var(--official-fill,#1f65d6) 88%, transparent);stroke-width:3px}.odontogram-v2 .official-mark--bridge,.odontogram-v2 .official-mark--bridge-pillar,.odontogram-v2 .official-mark--endo{stroke-width:8px}.odontogram-v2 .official-mark--missing,.odontogram-v2 .official-mark--fracture,.odontogram-v2 .official-mark--arrow{stroke-width:6px}.odontogram-v2 .official-mark-text{fill:var(--official-fill,#1f65d6);stroke:var(--odonto-page,var(--surface));stroke-width:4px;paint-order:stroke fill;letter-spacing:.02em;text-anchor:middle;vector-effect:non-scaling-stroke;font-size:22px;font-weight:900}.odontogram-v2 .odontogram-main-container{overscroll-behavior:contain;overflow:auto}@media (width>=981px){.odontogram-workspace--clinical.odontogram-v2.has-drawer-open .odonto-side-panel.is-open{top:var(--topbar-height,0px)!important;height:calc(100dvh - var(--topbar-height,0px))!important;max-height:calc(100dvh - var(--topbar-height,0px))!important}}@media (width<=1180px){.odontogram-workspace--clinical.odontogram-v2{--odonto-side-width:clamp(340px, 32vw, 410px)}.odontogram-v2 .official-odontogram--image{min-width:980px!important}.odontogram-v2 .official-image-board{min-width:940px}}@media (width<=720px){.odontogram-v2 .odonto-side-panel{grid-template-rows:minmax(0,1fr) auto;padding:10px!important}.odontogram-v2 .odonto-side-actions{grid-template-columns:1fr 1fr}.odontogram-v2 .diagnosis-picker-grid--side{grid-template-columns:1fr!important}.odontogram-v2 .official-odontogram--image{min-width:900px!important}.odontogram-v2 .official-image-board{min-width:860px}}.odontogram-v2 .official-odontogram--pieces{color:var(--official-line,var(--text));width:100%!important;min-width:1120px!important;max-width:none!important;box-shadow:none!important;background:0 0!important;border:0!important;margin:0!important;padding:clamp(10px,1vw,16px) clamp(12px,1.4vw,22px)!important}.odontogram-v2 .official-format-boxes{justify-items:center;gap:3px;max-width:880px;margin-inline:auto;display:grid}.odontogram-v2 .official-format-boxes--bottom{margin-top:8px}.odontogram-v2 .official-format-box-row{grid-template-columns:repeat(16,minmax(28px,1fr));width:100%;display:grid}.odontogram-v2 .official-format-box-row--compact{grid-template-columns:repeat(10,minmax(30px,1fr));max-width:520px}.odontogram-v2 .official-format-box-row span{border:1.4px solid var(--official-line,currentColor);background:color-mix(in srgb, var(--odonto-card,var(--surface)) 18%, transparent);border-left-width:0;height:clamp(16px,1.1vw,20px)}.odontogram-v2 .official-format-box-row span:first-child{border-left-width:1.4px}.odontogram-v2 .official-piece-chart{gap:2px;margin-top:8px;padding-inline:clamp(8px,1vw,18px);display:grid;position:relative}.odontogram-v2 .official-piece-chart__midline{background:color-mix(in srgb, var(--official-line,currentColor) 70%, transparent);pointer-events:none;width:2px;position:absolute;top:0;bottom:0;left:50%;translate:-50%}.odontogram-v2 .official-piece-chart__arch-label{z-index:1;min-height:18px;color:var(--official-muted,var(--muted));letter-spacing:.06em;text-transform:uppercase;grid-template-columns:1fr auto 1fr;align-items:center;gap:10px;font-size:clamp(8px,.62vw,10px);font-weight:900;line-height:1;display:grid;position:relative}.odontogram-v2 .official-piece-chart__arch-label strong{color:var(--official-line,var(--text))}.odontogram-v2 .official-piece-chart__arch-label span:first-child{text-align:right}.odontogram-v2 .official-piece-chart__arch-label span:last-child{text-align:left}.odontogram-v2 .official-piece-chart__axis{min-height:17px;color:var(--official-muted,var(--muted));letter-spacing:.08em;text-transform:uppercase;grid-template-columns:1fr auto 1fr;align-items:center;gap:10px;font-size:10px;font-weight:900;line-height:1;display:grid}.odontogram-v2 .official-piece-chart__axis span{background:color-mix(in srgb, var(--official-line,currentColor) 22%, transparent);height:1px}.odontogram-v2 .official-piece-row{z-index:1;justify-content:stretch;align-items:end;display:grid;position:relative}.odontogram-v2 .official-piece-row--primary{grid-template-columns:repeat(10,minmax(46px,66px));justify-content:center;gap:clamp(4px,.46vw,8px);margin-block:-2px 0}.odontogram-v2 .official-piece-row--lower,.odontogram-v2 .official-piece-row--primary-lower{align-items:start}.odontogram-v2 .official-piece-tooth{min-width:0;min-height:0;color:var(--official-line,var(--text));cursor:pointer;background:0 0;border:1.5px solid #0000;border-radius:10px;outline:none;align-content:center;justify-items:center;gap:0;padding:0;transition:border-color .16s,background .16s;display:grid;position:relative}.odontogram-v2 .official-piece-tooth:hover,.odontogram-v2 .official-piece-tooth:focus-visible,.odontogram-v2 .official-piece-tooth.selected{border-color:color-mix(in srgb, var(--brand-500) 72%, transparent);background:color-mix(in srgb, var(--brand-500) 12%, transparent)}.odontogram-v2 .official-piece-tooth:disabled{cursor:default;pointer-events:none}.odontogram-v2 .official-piece-tooth__number{z-index:4;color:var(--official-line,var(--text));text-shadow:0 1px 0 color-mix(in srgb, var(--odonto-page,var(--surface)) 82%, transparent);font-size:clamp(8px,.66vw,10px);font-weight:900;line-height:1;position:relative}.odontogram-v2 .official-piece-tooth--primary .official-piece-tooth__number{font-size:clamp(7px,.58vw,8px)}.odontogram-v2 .official-piece-tooth__visual{aspect-ratio:180/320;place-items:center;width:clamp(50px,4.7vw,72px);display:grid;position:relative}.odontogram-v2 .official-piece-tooth__visual img{object-fit:contain;-webkit-user-select:none;user-select:none;pointer-events:none;filter:none;width:100%;height:100%;display:block}[data-theme=dark] .odontogram-v2 .official-piece-tooth__visual img{filter:invert()brightness(1.35)contrast(.95)}.odontogram-v2 .official-piece-tooth__marks{z-index:2;pointer-events:none;width:100%;height:100%;position:absolute;inset:0;overflow:visible}.odontogram-v2 .official-piece-mark{fill:none;stroke:var(--official-stroke,#1f65d6);stroke-width:5px;stroke-linecap:round;stroke-linejoin:round;vector-effect:non-scaling-stroke}.odontogram-v2 .official-piece-mark--surface{fill:color-mix(in srgb, var(--official-fill,#1f65d6) 82%, transparent);stroke-width:2px}.odontogram-v2 .official-piece-mark--surface-o{x:40px;y:108px;rx:4px;width:20px;height:18px}.odontogram-v2 .official-piece-tooth--lower .official-piece-mark--surface-o{y:29px}.odontogram-v2 .official-piece-mark--surface-m{x:27px;y:107px;rx:3px;width:14px;height:20px}.odontogram-v2 .official-piece-tooth--lower .official-piece-mark--surface-m{y:28px}.odontogram-v2 .official-piece-mark--surface-d{x:59px;y:107px;rx:3px;width:14px;height:20px}.odontogram-v2 .official-piece-tooth--lower .official-piece-mark--surface-d{y:28px}.odontogram-v2 .official-piece-mark--surface-v{x:39px;y:95px;rx:3px;width:22px;height:13px}.odontogram-v2 .official-piece-tooth--lower .official-piece-mark--surface-v{y:16px}.odontogram-v2 .official-piece-mark--surface-l{x:39px;y:127px;rx:3px;width:22px;height:13px}.odontogram-v2 .official-piece-tooth--lower .official-piece-mark--surface-l{y:48px}.odontogram-v2 .official-piece-mark--endo,.odontogram-v2 .official-piece-mark--range,.odontogram-v2 .official-piece-mark--bridge-pillar{stroke-width:6px}.odontogram-v2 .official-piece-mark-text{fill:var(--official-fill,#1f65d6);stroke:var(--odonto-page,var(--surface));stroke-width:4px;paint-order:stroke fill;letter-spacing:.01em;text-anchor:middle;vector-effect:non-scaling-stroke;font-size:16px;font-weight:900}.odontogram-v2 .official-piece-bridge{z-index:3;background:var(--official-stroke,#1f65d6);pointer-events:none;border-radius:999px;height:5px;position:absolute;top:18%;left:50%;right:auto}.odontogram-v2 .official-piece-tooth--lower .official-piece-bridge{top:auto;bottom:18%}.odontogram-v2 .official-piece-bridge--before{width:100%;left:-50%}.odontogram-v2 .official-piece-bridge--after{width:100%;left:50%}.odontogram-v2 .official-piece-surface-hit{z-index:5;pointer-events:auto;position:absolute}.odontogram-v2 .official-piece-surface-hit--o{width:32%;height:22%;top:38%;left:34%}.odontogram-v2 .official-piece-surface-hit--m{width:31%;height:30%;top:34%;left:5%}.odontogram-v2 .official-piece-surface-hit--d{width:31%;height:30%;top:34%;right:5%}.odontogram-v2 .official-piece-surface-hit--v{width:50%;height:24%;top:18%;left:25%}.odontogram-v2 .official-piece-surface-hit--l{width:50%;height:24%;bottom:18%;left:25%}.odontogram-v2 .official-specifications-line{max-width:880px;color:var(--official-line,var(--text));letter-spacing:.04em;grid-template-columns:auto 1fr;align-items:end;gap:8px;margin:8px auto 0;font-size:8px;font-weight:900;display:grid}.odontogram-v2 .official-specifications-line span{background:color-mix(in srgb, var(--official-line,currentColor) 70%, transparent);height:1px}@media (width<=1180px){.odontogram-v2 .official-odontogram--pieces{min-width:1000px!important}.odontogram-v2 .official-piece-tooth__visual{width:54px}}@media (width<=720px){.odontogram-v2 .official-odontogram--pieces{min-width:920px!important}.odontogram-v2 .official-piece-tooth__visual{width:48px}}.odontogram-v2 .diagnosis-drawer{opacity:1!important;pointer-events:auto!important;visibility:visible!important;width:auto!important;max-width:none!important;box-shadow:none!important;z-index:auto!important;background:0 0!important;border:none!important;position:static!important;transform:none!important}.odontogram-v2 .diagnosis-drawer.is-open{opacity:1!important;transform:none!important}.page-shell--odontogram{overflow-x:hidden}.odontogram-workspace--clinical.odontogram-v2,.odontogram-workspace--embedded.odontogram-v2,.odontogram-workspace--clinical.odontogram-v2 .odontogram-main-container,.odontogram-workspace--embedded.odontogram-v2 .odontogram-main-container{min-width:0;max-width:100%}.odontogram-main-card--board .odontogram-arch{max-width:fit-content;margin:18px auto!important}.odontogram-v2 .official-odontogram--pieces{min-width:1000px!important}.odonto-drawer-close-btn{border:1px solid var(--border);border-radius:var(--radius-sm,6px);width:28px;height:28px;color:var(--text-soft);background:var(--surface-muted);cursor:pointer;flex-shrink:0;place-items:center;margin-left:auto;font-size:11px;transition:all .16s;display:grid}.odonto-drawer-close-btn:hover{color:var(--text);border-color:var(--border-strong);background:var(--surface)}@supports selector(body:has(.odontogram-v2.has-drawer-open)){body:has(.odontogram-v2.has-drawer-open){overflow-y:auto!important}}.treatment-odontogram-shell{padding:10px!important;overflow:visible!important}.treatment-editor-card>.card__body.treatment-odontogram-shell{overscroll-behavior-x:contain;overflow-x:auto!important}.treatment-editor-card:has(.treatment-odontogram-shell)>.card__header{min-height:46px!important;padding:8px 12px!important}.odontogram-workspace--clinical.odontogram-v2,.odontogram-workspace--embedded.odontogram-v2{--odonto-side-width:clamp(340px, 23vw, 420px);--odonto-tooth-h:clamp(74px, 9.2dvh, 104px);--odonto-occlusal-h:clamp(38px, 4.2dvh, 48px);--odonto-board-min:1040px;align-items:start!important;gap:10px!important;margin-top:8px!important}.odontogram-v2 .odontogram-main-container{overscroll-behavior-x:contain;scrollbar-gutter:stable;min-width:0!important;max-width:100%!important;overflow:auto visible!important}.odontogram-v2 .odontogram-board-card{box-shadow:none!important;overflow:visible!important}.odontogram-v2 .odontogram-main-card__header--clinical{gap:8px!important;min-height:44px!important;padding:8px 12px!important}.odontogram-v2 .odontogram-main-card__meta{gap:5px!important}.odontogram-v2 .odontogram-main-card__meta .badge{min-height:24px!important;padding:0 8px!important;font-size:9.5px!important}.odontogram-v2 .odontogram-inline-actions .btn,.odontogram-v2 .page-toolbar-inline__actions .btn{min-height:32px!important;padding-inline:9px!important}.odontogram-v2 .odontogram-inline-notice,.odontogram-v2 .odontogram-readonly-banner{min-height:34px!important;margin:8px 12px 0!important;padding:8px 10px!important}.odontogram-v2 .odontogram-tool-strip{grid-template-columns:minmax(220px,1fr) auto minmax(220px,1fr);align-items:center!important;gap:8px!important;min-height:54px!important;padding:7px 12px!important;display:grid!important}.odontogram-v2 .odontogram-tool-strip__group{justify-self:start;max-width:100%;flex-wrap:nowrap!important;gap:6px!important;overflow-x:auto!important}.odontogram-v2 .odontogram-view-toggle{justify-self:center!important;margin:0!important}.odontogram-v2 .odontogram-tool-strip__meta{justify-self:end;max-width:100%;justify-content:flex-end!important;gap:5px!important;overflow-x:auto!important}.odontogram-v2 .odontogram-tool{white-space:nowrap;min-height:36px!important;padding:0 10px!important}.odontogram-v2 .odontogram-tool__icon{width:22px!important;height:22px!important}.odontogram-v2 .odontogram-stage__bar{min-height:34px!important;padding:5px 12px!important}.odontogram-v2 .odontogram-stage__bar-main span,.odontogram-v2 .odontogram-stage__bar-main strong,.odontogram-v2 .regions-toggle-btn{min-height:24px!important;padding-inline:8px!important;font-size:9px!important}.odontogram-main-card--board .odontogram-arch,.odontogram-v2 .odontogram-main-card--board .odontogram-arch{width:100%!important;min-width:var(--odonto-board-min)!important;max-width:none!important;margin:0 auto!important;padding:12px 28px 14px!important}.odontogram-v2 .odontogram-arch-title{gap:8px!important;margin-bottom:7px!important;font-size:10px!important;line-height:1!important}.odontogram-v2 .odontogram-arch-title strong{font-size:11px!important}.odontogram-v2 .odontogram-arch-title span{font-size:8px!important}.odontogram-v2 .odontogram-arch-title--lower{margin-top:10px!important;margin-bottom:4px!important}.odontogram-v2 .odontogram-midline{margin:7px 0 8px!important;font-size:8px!important;line-height:1!important}.odontogram-v2 .odontogram-main-card--board .odontogram-row{grid-template-columns:repeat(16,minmax(48px,1fr))!important;align-items:end!important;gap:clamp(2px,.28vw,5px)!important}.odontogram-v2 .odontogram-main-card--board .odontogram-row--lower{align-items:start!important;margin-top:2px!important}.odontogram-v2 .tooth-unit{grid-template-rows:var(--odonto-tooth-h) var(--odonto-occlusal-h) 14px!important;min-height:calc(var(--odonto-tooth-h) + var(--odonto-occlusal-h) + 18px)!important;place-items:end center!important;gap:2px!important;display:grid!important;overflow:visible!important}.odontogram-v2 .tooth-unit--lower{grid-template-rows:var(--odonto-occlusal-h) 14px var(--odonto-tooth-h)!important;align-items:start!important}.odontogram-v2 .tooth-anatomy--asset,.odontogram-v2:not(.has-drawer-open) .tooth-anatomy--asset{width:calc(var(--odonto-tooth-h) * .545)!important;height:var(--odonto-tooth-h)!important;max-width:100%!important;overflow:visible!important}.odontogram-v2 .odontogram-main-card--board .tooth-button,.odontogram-v2:not(.has-drawer-open) .odontogram-main-card--board .tooth-button{width:calc(var(--odonto-occlusal-h) * 1.12)!important;height:var(--odonto-occlusal-h)!important;min-height:var(--odonto-occlusal-h)!important;border-radius:12px!important}.odontogram-v2 .tooth-svg,.odontogram-v2:not(.has-drawer-open) .tooth-svg{width:calc(var(--odonto-occlusal-h) * 1.12)!important;height:calc(var(--odonto-occlusal-h) * 1.24)!important}.odontogram-v2 .odontogram-main-card--board .tooth-number{font-size:10px!important;line-height:1!important}.odontogram-v2 .odontogram-side-label--left,.odontogram-v2 .odontogram-side-label--right{top:43%!important}.odontogram-v2 .odontogram-vestibular-bottom{margin-top:4px!important;font-size:8px!important;line-height:1!important}.odontogram-v2 .official-odontogram--pieces{min-width:1040px!important;padding:8px 12px 10px!important}.odontogram-v2 .official-format-boxes{gap:2px!important;margin-block:0 4px!important}.odontogram-v2 .official-piece-chart{gap:0!important;margin-top:4px!important;padding-inline:8px!important}.odontogram-v2 .official-piece-row--primary{grid-template-columns:repeat(10,minmax(36px,52px))!important;gap:3px!important;margin-block:-4px 0!important}.odontogram-v2 .official-piece-tooth{border-radius:8px!important}.odontogram-v2 .official-piece-tooth__visual{width:clamp(42px,3.5vw,56px)!important}.odontogram-v2 .official-piece-tooth--primary .official-piece-tooth__visual{width:clamp(34px,2.8vw,46px)!important}.odontogram-v2 .official-piece-chart__arch-label,.odontogram-v2 .official-piece-chart__axis{min-height:15px!important;font-size:8px!important}.odontogram-v2 .official-specifications-line{margin-top:4px!important}@media (width>=981px){.odontogram-workspace--clinical.odontogram-v2.has-drawer-open,.odontogram-workspace--embedded.odontogram-v2.has-drawer-open{padding-right:calc(var(--odonto-side-width) + 12px)!important;display:block!important}.odontogram-workspace--clinical.odontogram-v2.has-drawer-open>.diagnosis-drawer.odonto-side-panel.is-open,.odontogram-workspace--embedded.odontogram-v2.has-drawer-open>.diagnosis-drawer.odonto-side-panel.is-open{top:calc(var(--topbar-height,64px) + 8px)!important;z-index:44!important;width:var(--odonto-side-width)!important;height:calc(100dvh - var(--topbar-height,64px) - 16px)!important;max-height:calc(100dvh - var(--topbar-height,64px) - 16px)!important;border:1px solid var(--odonto-line,var(--border))!important;background:var(--odonto-page,var(--surface))!important;min-height:0!important;box-shadow:none!important;border-radius:14px!important;grid-template-rows:minmax(0,1fr) auto!important;padding:8px!important;display:grid!important;position:fixed!important;bottom:8px!important;left:auto!important;right:10px!important;overflow:hidden!important}.odontogram-v2 .odonto-side-panel:not(.is-open){display:none!important}}.odontogram-v2 .odonto-side-scroll{scrollbar-gutter:stable;overscroll-behavior:contain;min-height:0!important;max-height:100%!important;padding-right:4px!important;overflow:hidden auto!important}.odontogram-v2 .odonto-side-card,.odontogram-v2 .odonto-side-card--tooth,.odontogram-v2 .odonto-side-card--changes{box-shadow:none!important}.odontogram-v2 .odonto-preview-card{grid-template-columns:78px minmax(0,1fr)!important;gap:8px!important;padding:9px 10px!important}.odontogram-v2 .odonto-preview-card .odonto-tooth-preview{min-height:88px!important}.odontogram-v2 .odonto-preview-copy strong{font-size:34px!important}.odontogram-v2 .odonto-surface-pad,.odontogram-v2 .odonto-scope-pill,.odontogram-v2 .odonto-detail-list,.odontogram-v2 .odonto-finding-select,.odontogram-v2 .odonto-side-card textarea.form-control{min-height:38px!important}.odontogram-v2 .diagnosis-picker-grid--side{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:6px!important}.odontogram-v2 .diagnosis-picker-grid--quick,.odontogram-v2 .diagnosis-picker-grid--side{max-height:none!important;overflow:visible!important}.odontogram-v2 .diagnosis-choice{min-height:42px!important;padding:7px 8px!important}.odontogram-v2 .odonto-side-actions .btn{min-height:42px!important}@media (width>=1600px){.odontogram-workspace--clinical.odontogram-v2,.odontogram-workspace--embedded.odontogram-v2{--odonto-tooth-h:clamp(82px, 9dvh, 116px);--odonto-occlusal-h:clamp(40px, 4dvh, 52px)}}@media (width<=1360px){.odontogram-workspace--clinical.odontogram-v2,.odontogram-workspace--embedded.odontogram-v2{--odonto-side-width:clamp(320px, 30vw, 380px);--odonto-tooth-h:clamp(66px, 8.6dvh, 92px);--odonto-occlusal-h:clamp(34px, 3.8dvh, 44px);--odonto-board-min:960px}.odontogram-v2 .odontogram-tool-strip{grid-template-columns:minmax(180px,1fr) auto minmax(150px,1fr)}}@media (width<=1180px){.odontogram-workspace--clinical.odontogram-v2,.odontogram-workspace--embedded.odontogram-v2{--odonto-side-width:min(360px, calc(100vw - 28px));--odonto-board-min:900px}.odontogram-v2 .odontogram-main-card__header--clinical{flex-wrap:wrap}.odontogram-v2 .odontogram-tool-strip{grid-template-columns:1fr auto}.odontogram-v2 .odontogram-tool-strip__meta{grid-column:1/-1;justify-self:stretch;justify-content:flex-start!important}.odontogram-v2 .official-odontogram--pieces{min-width:930px!important}}@media (width<=980px){.odontogram-workspace--clinical.odontogram-v2.has-drawer-open,.odontogram-workspace--embedded.odontogram-v2.has-drawer-open{padding-right:0!important}.odontogram-workspace--clinical.odontogram-v2.has-drawer-open>.diagnosis-drawer.odonto-side-panel.is-open,.odontogram-workspace--embedded.odontogram-v2.has-drawer-open>.diagnosis-drawer.odonto-side-panel.is-open{z-index:44!important;width:auto!important;height:min(72dvh, calc(100dvh - var(--topbar-height,64px) - 16px))!important;max-height:min(72dvh, calc(100dvh - var(--topbar-height,64px) - 16px))!important;background:var(--odonto-page,var(--surface))!important;box-shadow:none!important;border-radius:16px!important;grid-template-rows:minmax(0,1fr) auto!important;padding:8px!important;display:grid!important;position:fixed!important;inset:auto 8px 8px!important;overflow:hidden!important}.odontogram-v2 .odontogram-tool-strip{grid-template-columns:1fr;min-height:0!important}.odontogram-v2 .odontogram-view-toggle,.odontogram-v2 .odontogram-tool-strip__group,.odontogram-v2 .odontogram-tool-strip__meta{justify-content:flex-start!important;justify-self:stretch!important}}@media (height<=820px) and (width>=981px){.odontogram-workspace--clinical.odontogram-v2,.odontogram-workspace--embedded.odontogram-v2{--odonto-tooth-h:clamp(60px, 8dvh, 82px);--odonto-occlusal-h:clamp(32px, 3.5dvh, 40px);--odonto-board-min:940px}.odontogram-v2 .odontogram-main-card__header--clinical{padding-block:6px!important}.odontogram-v2 .odontogram-tool-strip{min-height:46px!important;padding-block:5px!important}.odontogram-main-card--board .odontogram-arch,.odontogram-v2 .odontogram-main-card--board .odontogram-arch{padding-block:8px 10px!important}}@media (width>=981px){.odontogram-workspace--clinical.odontogram-v2.has-drawer-open,.odontogram-workspace--embedded.odontogram-v2.has-drawer-open{grid-template-columns:minmax(0, 1fr) minmax(318px, var(--odonto-side-width))!important;align-items:start!important;column-gap:12px!important;padding-right:0!important;display:grid!important;overflow:visible!important}.odontogram-workspace--clinical.odontogram-v2.has-drawer-open>.odontogram-main-container,.odontogram-workspace--embedded.odontogram-v2.has-drawer-open>.odontogram-main-container{grid-area:1/1!important;min-width:0!important}.odontogram-workspace--clinical.odontogram-v2.has-drawer-open>.diagnosis-drawer.odonto-side-panel.is-open,.odontogram-workspace--embedded.odontogram-v2.has-drawer-open>.diagnosis-drawer.odonto-side-panel.is-open{inset:auto!important;top:calc(var(--topbar-height,64px) + 10px)!important;z-index:12!important;width:auto!important;min-width:0!important;height:calc(100dvh - var(--topbar-height,64px) - 20px)!important;max-height:calc(100dvh - var(--topbar-height,64px) - 20px)!important;border:1px solid var(--odonto-line,var(--border))!important;background:var(--odonto-page,var(--surface))!important;min-height:0!important;box-shadow:none!important;opacity:1!important;border-radius:16px!important;grid-area:1/2!important;grid-template-rows:minmax(0,1fr) auto!important;align-self:start!important;padding:10px!important;display:grid!important;position:sticky!important;overflow:hidden!important;transform:none!important}.odontogram-workspace--clinical.odontogram-v2:not(.has-drawer-open)>.diagnosis-drawer.odonto-side-panel,.odontogram-workspace--embedded.odontogram-v2:not(.has-drawer-open)>.diagnosis-drawer.odonto-side-panel{display:none!important}}.odontogram-v2 .odonto-side-panel{color:var(--text-primary)!important}.odontogram-v2 .odonto-side-scroll{scrollbar-gutter:stable;overscroll-behavior:contain;flex-direction:column!important;gap:10px!important;min-height:0!important;max-height:none!important;padding:0 4px 2px 0!important;display:flex!important;overflow:hidden auto!important}.odontogram-v2 .odonto-side-card{border:1px solid var(--odonto-line,var(--border))!important;background:color-mix(in srgb, var(--surface) 92%, var(--brand-50,transparent))!important;min-width:0!important;box-shadow:none!important;border-radius:14px!important;flex-shrink:0!important;display:block!important;overflow:hidden!important}[data-theme=dark] .odontogram-v2 .odonto-side-card{background:color-mix(in srgb, var(--surface) 88%, #0f766e 12%)!important}.odontogram-v2 .odonto-side-card--tooth{position:static!important}.odontogram-v2 .odonto-card-title{border-bottom:1px solid var(--odonto-line,var(--border))!important;grid-template-columns:minmax(0,1fr) auto auto!important;align-items:center!important;gap:8px!important;min-height:40px!important;padding:9px 11px!important;display:grid!important}.odontogram-v2 .odonto-card-title h3{white-space:nowrap!important;text-overflow:ellipsis!important;min-width:0!important;margin:0!important;font-size:14px!important;line-height:1.1!important;overflow:hidden!important}.odontogram-v2 .odonto-card-title span{max-width:100px!important;color:var(--odonto-muted,var(--text-muted))!important;white-space:nowrap!important;text-overflow:ellipsis!important;font-size:11px!important;font-weight:700!important;overflow:hidden!important}.odontogram-v2 .odonto-drawer-close-btn{border-radius:10px!important;width:30px!important;height:30px!important;min-height:30px!important}.odontogram-v2 .odonto-preview-card{border-bottom:1px solid var(--odonto-line,var(--border))!important;grid-template-columns:76px minmax(0,1fr)!important;align-items:center!important;gap:10px!important;padding:10px 11px!important;display:grid!important}.odontogram-v2 .odonto-preview-card .odonto-tooth-preview{border:1px solid var(--odonto-line,var(--border))!important;background:var(--surface-elevated,var(--surface))!important;border-radius:12px!important;place-items:center!important;min-height:90px!important;display:grid!important;overflow:hidden!important}.odontogram-v2 .odonto-preview-card .odonto-tooth-preview .tooth-anatomy{width:54px!important;height:86px!important}.odontogram-v2 .odonto-preview-card .tooth-button,.odontogram-v2 .odonto-preview-card .tooth-number{display:none!important}.odontogram-v2 .odonto-preview-copy{gap:4px!important;min-width:0!important;display:grid!important}.odontogram-v2 .odonto-preview-copy strong{color:var(--brand-700,var(--brand-600))!important;font-size:34px!important;line-height:1!important}[data-theme=dark] .odontogram-v2 .odonto-preview-copy strong{color:#5eead4!important}.odontogram-v2 .odonto-preview-copy span{color:var(--text-secondary,var(--text-muted))!important;overflow-wrap:anywhere!important;font-size:12px!important;font-weight:700!important;line-height:1.25!important}.odontogram-v2 .odonto-selection-chips{flex-wrap:wrap!important;gap:5px!important;margin-top:3px!important;display:flex!important}.odontogram-v2 .odonto-selection-chips button{border-radius:9px!important;min-width:32px!important;min-height:28px!important;padding-inline:8px!important}.odontogram-v2 .odonto-surface-pad{border-bottom:1px solid var(--odonto-line,var(--border))!important;grid-template-columns:repeat(5,minmax(0,1fr))!important;gap:6px!important;padding:10px 11px!important;display:grid!important}.odontogram-v2 .odonto-surface-pad button{border-radius:10px!important;min-width:0!important;min-height:36px!important;padding:0!important;font-size:12px!important;font-weight:800!important}.odontogram-v2 .odonto-surface-pad button:first-child{grid-column:auto!important}.odontogram-v2 .odonto-scope-pill{border-radius:10px!important;justify-content:center!important;align-items:center!important;min-height:38px!important;margin:10px 11px!important;font-size:12px!important;font-weight:800!important;display:flex!important}.odontogram-v2 .odonto-tooth-finding-list{gap:0!important;padding:0 11px 10px!important;display:grid!important}.odontogram-v2 .odonto-tooth-finding-row{border-top:1px solid var(--odonto-line,var(--border))!important;grid-template-columns:auto minmax(0,1fr) auto!important;align-items:center!important;gap:8px!important;min-height:34px!important;display:grid!important}.odontogram-v2 .odonto-tooth-finding-row strong,.odontogram-v2 .odonto-tooth-finding-row small{white-space:nowrap!important;text-overflow:ellipsis!important;min-width:0!important;overflow:hidden!important}.odontogram-v2 .odonto-finding-select{border-radius:10px!important;width:calc(100% - 22px)!important;min-height:40px!important;margin:10px 11px!important;font-weight:800!important}.odontogram-v2 .diagnosis-picker-grid--side{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:7px!important;max-height:none!important;padding:0 11px 11px!important;display:grid!important;overflow:visible!important}.odontogram-v2 .diagnosis-choice{min-width:0!important;min-height:42px!important;box-shadow:none!important;border-radius:11px!important;padding:7px 8px!important}.odontogram-v2 .diagnosis-choice__copy,.odontogram-v2 .diagnosis-choice__copy strong{white-space:nowrap!important;text-overflow:ellipsis!important;min-width:0!important;overflow:hidden!important}.odontogram-v2 .odonto-detail-list{gap:0!important;padding:0 11px 8px!important;display:grid!important}.odontogram-v2 .odonto-detail-list>div{border-bottom:1px solid var(--odonto-line,var(--border))!important;grid-template-columns:minmax(0,1fr) auto!important;align-items:center!important;gap:10px!important;min-height:38px!important;display:grid!important}.odontogram-v2 .odonto-detail-list>div:last-child{border-bottom:0!important}.odontogram-v2 .odonto-detail-list span,.odontogram-v2 .odonto-detail-list strong{white-space:nowrap!important;text-overflow:ellipsis!important;min-width:0!important;overflow:hidden!important}.odontogram-v2 .odonto-side-card--note textarea.form-control{resize:vertical!important;width:calc(100% - 22px)!important;min-height:76px!important;max-height:128px!important;margin:10px 11px!important}.odontogram-v2 .odonto-change-list{gap:0!important;padding:0 11px 8px!important;display:grid!important}.odontogram-v2 .odonto-change-row{border-bottom:1px solid var(--odonto-line,var(--border))!important;grid-template-columns:auto 44px minmax(0,1fr)!important;align-items:center!important;gap:8px!important;min-height:34px!important;display:grid!important}.odontogram-v2 .odonto-change-row span:last-child{white-space:nowrap!important;text-overflow:ellipsis!important;min-width:0!important;overflow:hidden!important}.odontogram-v2 .odonto-empty-line{min-height:36px!important;color:var(--odonto-muted,var(--text-muted))!important;place-items:center!important;display:grid!important}.odontogram-v2 .odonto-side-actions{border-top:1px solid var(--odonto-line,var(--border))!important;background:var(--odonto-page,var(--surface))!important;box-shadow:none!important;grid-template-columns:minmax(0,1fr) minmax(0,1.15fr)!important;gap:8px!important;margin:0!important;padding:10px 0 0!important;display:grid!important;position:static!important}.odontogram-v2 .odonto-side-actions .btn{min-width:0!important;min-height:44px!important;box-shadow:none!important;border-radius:12px!important}@media (width<=1240px) and (width>=981px){.odontogram-workspace--clinical.odontogram-v2.has-drawer-open,.odontogram-workspace--embedded.odontogram-v2.has-drawer-open{grid-template-columns:minmax(0,1fr) minmax(300px,340px)!important;column-gap:10px!important}.odontogram-v2 .diagnosis-picker-grid--side{grid-template-columns:1fr!important}}@media (width<=980px){.odontogram-workspace--clinical.odontogram-v2.has-drawer-open,.odontogram-workspace--embedded.odontogram-v2.has-drawer-open{padding-right:0!important;display:block!important}.odontogram-workspace--clinical.odontogram-v2.has-drawer-open>.diagnosis-drawer.odonto-side-panel.is-open,.odontogram-workspace--embedded.odontogram-v2.has-drawer-open>.diagnosis-drawer.odonto-side-panel.is-open{z-index:80!important;width:auto!important;height:min(78dvh,100dvh - 18px)!important;min-height:0!important;max-height:min(78dvh,100dvh - 18px)!important;box-shadow:none!important;border-radius:18px!important;grid-template-rows:minmax(0,1fr) auto!important;padding:10px!important;display:grid!important;position:fixed!important;inset:auto 8px 8px!important;overflow:hidden!important;transform:none!important}}@media (width<=640px){.odontogram-workspace--clinical.odontogram-v2.has-drawer-open>.diagnosis-drawer.odonto-side-panel.is-open,.odontogram-workspace--embedded.odontogram-v2.has-drawer-open>.diagnosis-drawer.odonto-side-panel.is-open{inset-inline:6px!important;border-radius:16px!important;height:min(82dvh,100dvh - 12px)!important;max-height:min(82dvh,100dvh - 12px)!important;padding:8px!important;bottom:6px!important}.odontogram-v2 .odonto-preview-card{grid-template-columns:64px minmax(0,1fr)!important}.odontogram-v2 .odonto-preview-copy strong{font-size:28px!important}.odontogram-v2 .diagnosis-picker-grid--side{grid-template-columns:1fr!important}}@media (width>=981px){.odontogram-workspace--clinical.odontogram-v2.has-drawer-open,.odontogram-workspace--embedded.odontogram-v2.has-drawer-open{padding-right:calc(var(--odonto-side-width) + 14px)!important;display:block!important;overflow:visible!important}.odontogram-workspace--clinical.odontogram-v2.has-drawer-open>.odontogram-main-container,.odontogram-workspace--embedded.odontogram-v2.has-drawer-open>.odontogram-main-container{width:100%!important;min-width:0!important}.odontogram-workspace--clinical.odontogram-v2.has-drawer-open>.diagnosis-drawer.odonto-side-panel.is-open,.odontogram-workspace--embedded.odontogram-v2.has-drawer-open>.diagnosis-drawer.odonto-side-panel.is-open{inset:calc(var(--topbar-height,64px) + 8px) 10px 8px auto!important;z-index:48!important;width:var(--odonto-side-width)!important;border:1px solid var(--odonto-line,var(--border))!important;background:var(--odonto-page,var(--surface))!important;height:auto!important;min-height:0!important;max-height:none!important;box-shadow:none!important;opacity:1!important;border-radius:16px!important;grid-template-rows:minmax(0,1fr) auto!important;padding:10px!important;display:grid!important;position:fixed!important;overflow:hidden!important;transform:none!important}}@media (width<=1240px) and (width>=981px){.odontogram-workspace--clinical.odontogram-v2,.odontogram-workspace--embedded.odontogram-v2{--odonto-side-width:min(340px, calc(100vw - 30px))}}.odontogram-v2 .official-piece-tooth__visual img.official-piece-tooth__base{z-index:1!important;position:relative!important}.odontogram-v2 .official-piece-tooth__marks--raster{display:block!important}.odontogram-v2 .official-piece-mark-img{z-index:2!important;object-fit:contain!important;pointer-events:none!important;-webkit-user-select:none!important;user-select:none!important;filter:none!important;width:100%!important;height:100%!important;display:block!important;position:absolute!important;inset:0!important}[data-theme=dark] .odontogram-v2 .official-piece-tooth__visual img.official-piece-mark-img{filter:none!important}@media (width>=981px){.odontogram-workspace--clinical.odontogram-v2.has-drawer-open>.diagnosis-drawer.odonto-side-panel.is-open,.odontogram-workspace--embedded.odontogram-v2.has-drawer-open>.diagnosis-drawer.odonto-side-panel.is-open{top:calc(var(--topbar-height,64px) + 8px)!important;height:calc(100dvh - var(--topbar-height,64px) - 16px)!important;max-height:calc(100dvh - var(--topbar-height,64px) - 16px)!important;grid-template-rows:minmax(0,1fr) auto!important;position:fixed!important;bottom:8px!important;left:auto!important;right:10px!important;overflow:hidden!important}}@media (width<=980px){.odontogram-workspace--clinical.odontogram-v2.has-drawer-open>.diagnosis-drawer.odonto-side-panel.is-open,.odontogram-workspace--embedded.odontogram-v2.has-drawer-open>.diagnosis-drawer.odonto-side-panel.is-open{top:calc(var(--topbar-height,62px) + 6px)!important;height:calc(100dvh - var(--topbar-height,62px) - 12px)!important;max-height:calc(100dvh - var(--topbar-height,62px) - 12px)!important;grid-template-rows:minmax(0,1fr) auto!important;position:fixed!important;bottom:6px!important;left:6px!important;right:6px!important;overflow:hidden!important}}.patient-tabs-scroller{align-items:center;gap:6px;width:100%;min-width:0;display:flex}.patient-record-strip .patient-primary-tabs,.patient-record-strip .patient-primary-tabs--record{scroll-behavior:smooth!important;scrollbar-width:none!important;flex-wrap:nowrap!important;flex:1!important;min-width:0!important;display:flex!important;overflow:auto hidden!important}.patient-record-strip .patient-primary-tabs::-webkit-scrollbar{display:none!important}.scroll-arrow-btn{border:1px solid var(--border)!important;background:var(--surface-card)!important;width:30px!important;height:30px!important;color:var(--text-soft)!important;cursor:pointer!important;box-shadow:var(--shadow-sm)!important;border-radius:50%!important;flex:none!important;justify-content:center!important;align-items:center!important;padding:0!important;transition:all .2s ease-in-out!important;display:inline-flex!important}.scroll-arrow-btn:hover{transform:scale(1.05);background:var(--surface-hover)!important;color:var(--text)!important;border-color:var(--border-hover)!important}.scroll-arrow-btn:active{transform:scale(.95)}[data-theme=dark] .scroll-arrow-btn{border-color:var(--border-strong)!important;color:var(--text-muted)!important;background:#ffffff0d!important}[data-theme=dark] .scroll-arrow-btn:hover{color:var(--text)!important;border-color:var(--border)!important;background:#ffffff1a!important}.odontogram-v2 .odontogram-main-card--board .odontogram-row--primary{grid-template-columns:repeat(10,minmax(48px,1fr))!important;align-items:end!important;gap:clamp(2px,.28vw,5px)!important;width:65.625%!important;margin-inline:auto!important}.odontogram-v2 .odontogram-main-card--board .odontogram-row--upper-primary{margin-block:0 6px!important}.odontogram-v2 .odontogram-main-card--board .odontogram-row--primary-lower{align-items:start!important;margin-block:0 2px!important}.odontogram-v2 .odontogram-main-container{overscroll-behavior:auto;scrollbar-gutter:auto!important;min-width:0!important;max-width:100%!important;max-height:none!important;overflow:visible!important}.odontogram-v2 .odontogram-board-card{min-width:0!important}.odontogram-v2 .official-odontogram--pieces{width:100%!important;min-width:600px!important;max-width:none!important;padding:10px 12px 14px!important}.odontogram-v2 .official-piece-chart{width:100%!important;min-width:0!important;padding-inline:4px!important}.odontogram-v2 .official-piece-row--permanent{grid-template-columns:repeat(16,minmax(0,1fr))!important;gap:clamp(1px,.25vw,4px)!important}.odontogram-v2 .official-piece-row--primary{grid-template-columns:repeat(10,minmax(0,1fr))!important;gap:clamp(1px,.3vw,4px)!important;width:66%!important;margin-inline:auto!important}.odontogram-v2 .official-piece-tooth__visual{width:clamp(28px,3.4vw,52px)!important;max-width:100%!important}.odontogram-v2 .official-piece-tooth--primary .official-piece-tooth__visual{width:clamp(24px,2.8vw,42px)!important;max-width:100%!important}.odontogram-v2 .official-piece-tooth__number{font-size:clamp(7px,.65vw,10px)!important}.odontogram-v2 .official-piece-chart__arch-label,.odontogram-v2 .official-piece-chart__axis{font-size:clamp(7px,.7vw,9px)!important}@media (width>=981px){.odontogram-workspace--clinical.odontogram-v2.has-drawer-open,.odontogram-workspace--embedded.odontogram-v2.has-drawer-open{padding-right:calc(var(--odonto-side-width) + 14px)!important}}@media (width<=980px){.odontogram-v2 .official-odontogram--pieces{min-width:590px!important}.odontogram-v2 .official-piece-tooth__visual{width:31px!important}.odontogram-v2 .official-piece-tooth--primary .official-piece-tooth__visual{width:26px!important}}@media (width<=640px){.odontogram-v2 .odontogram-tool-strip{z-index:4;position:sticky;left:0}.odontogram-v2 .official-odontogram--pieces{min-width:570px!important;padding-inline:8px!important}}.odontogram-v2 .official-piece-sheet-title{color:var(--official-line,var(--text));letter-spacing:.06em;text-align:center;margin:0 auto 4px;font-size:clamp(11px,1.1vw,16px);font-weight:900;line-height:1;display:block}.odontogram-v2 .official-piece-specifications{width:min(100%,760px);color:var(--official-line,var(--text));letter-spacing:.04em;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:8px;margin:5px auto 0;font-size:clamp(7px,.62vw,9px);font-weight:900;display:grid}.odontogram-v2 .official-piece-specifications span{background:var(--official-line,currentColor);height:1px}@media (width<=640px){.odontogram-v2 .official-piece-sheet-title{font-size:11px}.odontogram-v2 .official-piece-specifications{font-size:7px}}@media (width<=980px){.odontogram-workspace--clinical.odontogram-v2,.odontogram-workspace--embedded.odontogram-v2{grid-template-columns:minmax(0,1fr)!important;width:100%!important;max-width:100%!important;display:block!important}.odontogram-workspace--clinical.odontogram-v2:not(.has-drawer-open)>.diagnosis-drawer.odonto-side-panel,.odontogram-workspace--embedded.odontogram-v2:not(.has-drawer-open)>.diagnosis-drawer.odonto-side-panel{display:none!important}.odontogram-workspace--clinical.odontogram-v2>.odontogram-main-container,.odontogram-workspace--embedded.odontogram-v2>.odontogram-main-container{width:100%!important;max-width:100%!important}.odontogram-workspace--clinical.odontogram-v2.has-drawer-open>.diagnosis-drawer.odonto-side-panel.is-open,.odontogram-workspace--embedded.odontogram-v2.has-drawer-open>.diagnosis-drawer.odonto-side-panel.is-open{top:calc(var(--topbar-height,62px) + 6px)!important;z-index:80!important;width:auto!important;height:auto!important;max-height:calc(100dvh - var(--topbar-height,62px) - 12px)!important;display:grid!important;position:fixed!important;bottom:6px!important;left:6px!important;right:6px!important}.odontogram-v2 .odontogram-inline-actions .btn,.odontogram-v2 .odontogram-tool,.odontogram-v2 .odontogram-view-toggle button{min-height:40px!important}.odontogram-v2 .odonto-drawer-close-btn,.odontogram-v2 .odonto-mini-icon{width:40px!important;height:40px!important}.odontogram-v2 .surface-picker button{min-height:40px!important}}.patient-tabs-scroller{position:relative}.patient-record-strip .patient-primary-tabs,.patient-record-strip .patient-primary-tabs--record{scroll-padding-inline:12px}.patient-record-strip .patient-primary-tab{min-height:40px;padding-inline:10px;font-size:11.5px;transition:background .16s,border-color .16s,color .16s}.patient-record-strip .patient-primary-tab:focus-visible{outline:2px solid var(--brand-500);outline-offset:2px}:is(.patient-workspace-content .card__header div:has(>.section-kicker+h2)>.section-kicker,.patient-workspace-content .document-panel__header div:has(>.section-kicker+h2)>.section-kicker,.patient-workspace-content .patient-clinical-toolbar div:has(>.section-kicker+h2)>.section-kicker){display:none}@media (width<=1440px){.patient-record-strip{grid-template-columns:minmax(0,1fr);gap:8px}.patient-record-strip .patient-primary-tabs,.patient-record-strip .patient-primary-tabs--record{width:100%}}@media (width<=720px){.page-shell--patient{gap:10px;padding-top:8px}.patient-record-strip{border-radius:15px;gap:10px;padding:10px 11px 8px}.patient-record-strip .patient-compact-header,.patient-record-strip .patient-compact-header--clinical,.patient-record-strip .patient-compact-header--record{grid-template-columns:48px minmax(0,1fr);gap:10px;min-height:48px}.patient-record-strip .patient-compact-header__avatar,.patient-record-strip .patient-compact-header--clinical .patient-compact-header__avatar{width:46px;min-width:46px;height:46px}.patient-record-strip .patient-compact-header__body{gap:5px}.patient-record-strip .patient-compact-header__title h1,.patient-record-strip .patient-compact-header--clinical .patient-compact-header__title h1{font-size:clamp(17px,5vw,21px);line-height:1.12}.patient-compact-header__facts{flex-wrap:wrap;gap:4px 10px;font-size:10.5px;line-height:1.25;overflow:visible}.patient-compact-header__facts>span+span{margin-left:0;padding-left:0}.patient-compact-header__facts>span+span:before{display:none}.patient-tabs-scroller{width:calc(100% + 4px);margin-inline:-2px}.patient-tabs-scroller .scroll-arrow-btn{display:none!important}.patient-record-strip .patient-primary-tabs,.patient-record-strip .patient-primary-tabs--record{grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;width:100%;min-height:0;padding:2px!important;display:grid!important;overflow:visible!important}.patient-record-strip .patient-primary-tab{text-align:center;white-space:normal;justify-content:center;width:100%;min-width:0;min-height:42px;padding-inline:5px;line-height:1.12}.patient-record-strip .patient-primary-tab .icon{display:none}.patient-workspace-content{margin-top:0}}.patient-contact-actions{border-top:1px solid var(--border);flex-wrap:wrap;align-items:center;gap:8px;margin-top:14px;padding-top:14px;display:flex}.patient-contact-actions .btn{min-height:40px;text-decoration:none}.patient-appointments-header{justify-content:space-between;align-items:center;gap:16px;display:flex}.patient-appointments-header__copy{gap:8px;min-width:0;display:grid}.patient-appointments-header__copy h2{margin:0}.patient-appointments-header__copy .page-toolbar-inline__meta{justify-content:flex-start}.patient-appointment-row{grid-template-columns:56px minmax(180px,1fr) auto auto}.patient-appointment-status{justify-items:start;gap:5px;min-width:155px;display:grid}.patient-appointment-confirmation{color:var(--brand-700);white-space:nowrap;align-items:center;gap:4px;font-size:10.5px;font-weight:700;display:inline-flex}.patient-appointment-confirmation--staff{color:var(--text-muted)}@media (width<=720px){.patient-contact-actions{grid-template-columns:repeat(auto-fit,minmax(86px,1fr));display:grid}.patient-contact-actions .btn{justify-content:center;width:100%}.patient-summary-card .card__header{flex-direction:column;align-items:stretch}.patient-summary-card .card__header .page-toolbar-inline__actions{grid-template-columns:repeat(2,minmax(0,1fr));width:100%;display:grid}.patient-summary-card .card__header .page-toolbar-inline__actions .btn{width:100%}.patient-appointments-header{flex-direction:column;align-items:stretch}.patient-appointments-header>.btn{width:100%}.patient-appointment-row{grid-template-columns:46px minmax(0,1fr);gap:8px 10px;padding-block:12px}.patient-appointment-row .patient-appointment-status,.patient-appointment-row .record-row__actions{grid-column:2;justify-self:start}.patient-appointment-row .record-row__actions{justify-content:flex-start;width:100%}}.document-format-card{align-content:center;gap:6px;min-height:88px}@media (width<=720px){.document-page{gap:12px}.document-hero-card{gap:12px;padding:16px}.document-hero-card__metrics{grid-template-columns:repeat(3,minmax(0,1fr));width:100%;display:grid}.document-hero-card__metrics span{text-align:center;flex-direction:column;justify-content:center;gap:1px;min-height:44px;padding:6px 4px;line-height:1.15}.document-format-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;padding:0 14px 14px}.document-format-card{min-height:90px;padding:12px}.document-format-card>span{width:34px;height:34px}.document-panel__header{padding:15px 14px 12px}.document-upload-workspace{gap:12px;padding:14px}.document-upload-dropzone--clean{min-height:126px}.document-upload-footer{padding:0 14px 14px}}.payment-register-title,.payment-page .card__header-copy h2{margin:0}.payment-register-title{grid-column:1/-1}.payment-page .card__header-copy:has(.search-box){gap:10px;width:100%;display:grid}:is(.payment-page .patient-table-card:has(.payment-records-table .compact-empty) .search-box,.payment-page .patient-table-card:has(.payment-bills-table .compact-empty) .search-box){display:none}.payment-page .table-wrap:has(.compact-empty){overflow:visible}.payment-responsive-table:has(.compact-empty){width:100%;min-width:0}.payment-responsive-table:has(.compact-empty) thead{display:none}:is(.payment-responsive-table:has(.compact-empty) tbody,.payment-responsive-table:has(.compact-empty) tr,.payment-responsive-table:has(.compact-empty) td){width:100%;display:block}.payment-responsive-table:has(.compact-empty) td{border:0;padding:0}.payment-page .compact-empty{min-height:104px;padding:18px}@media (width<=720px){.payment-page,.payment-content-grid{gap:12px}.payment-page .treatment-table-toolbar,.payment-schedule-header{grid-template-columns:1fr;align-items:stretch;display:grid}.payment-page .payment-summary-inline{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;width:100%}.payment-page .payment-summary-inline>div{min-width:0;padding:9px 7px}.payment-page .payment-summary-inline span{font-size:9px;line-height:1.2}.payment-page .payment-summary-inline strong{font-size:14px}.payment-page .treatment-table-toolbar .page-toolbar-inline__actions{grid-template-columns:repeat(3,minmax(0,1fr));width:100%;display:grid}.payment-page .treatment-table-toolbar .page-toolbar-inline__actions .btn{width:100%;min-width:0;padding-inline:7px;font-size:11px}.payment-page .card__body{padding:14px}.payment-responsive-table:not(:has(.compact-empty)){width:100%;min-width:0;display:block}.payment-responsive-table:not(:has(.compact-empty)) thead{display:none}.payment-responsive-table:not(:has(.compact-empty)) tbody{gap:10px;display:grid}.payment-responsive-table:not(:has(.compact-empty)) tr{border:1px solid var(--border);background:var(--surface-muted);border-radius:12px;grid-template-columns:repeat(2,minmax(0,1fr));gap:0;padding:8px;display:grid}.payment-responsive-table:not(:has(.compact-empty)) td{white-space:normal;border:0;align-content:start;gap:4px;min-width:0;padding:8px;display:grid}.payment-responsive-table:not(:has(.compact-empty)) td:before{color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em;font-size:9px;font-weight:750}.payment-schedule-table td:first-child:before{content:"Cuota"}.payment-schedule-table td:nth-child(2):before{content:"Vencimiento"}.payment-schedule-table td:nth-child(3):before{content:"Monto"}.payment-schedule-table td:nth-child(4):before{content:"Pagado"}.payment-schedule-table td:nth-child(5):before{content:"Saldo"}.payment-schedule-table td:nth-child(6):before{content:"Estado"}.payment-records-table td:first-child:before{content:"Fecha"}.payment-records-table td:nth-child(2):before{content:"Plan"}.payment-records-table td:nth-child(3):before{content:"Referencia"}.payment-records-table td:nth-child(4):before{content:"Medio"}.payment-records-table td:nth-child(5):before{content:"Estado"}.payment-records-table td:nth-child(6):before{content:"Monto"}.payment-records-table td:nth-child(7):before{content:"Nota"}.payment-bills-table td:first-child:before{content:"Documento"}.payment-bills-table td:nth-child(2):before{content:"Tipo"}.payment-bills-table td:nth-child(3):before{content:"Estado"}.payment-bills-table td:nth-child(4):before{content:"Total"}.payment-bills-table td:nth-child(5):before{content:"PDF"}.payment-records-table td:nth-child(7),.payment-bills-table td:nth-child(5){grid-column:1/-1}.payment-responsive-table .btn{width:100%}}.payment-responsive-table:has(.compact-empty) td:before{display:none}.odontogram-v2 .odonto-control-rail{border:1px solid color-mix(in srgb, var(--brand-500) 24%, var(--border));background:color-mix(in srgb, var(--brand-500) 6%, var(--surface));border-radius:14px;align-items:center;gap:14px;margin:0 18px 12px;padding:10px 12px;display:flex}.odontogram-v2 .odonto-control-rail--signed{border-color:color-mix(in srgb, var(--success-500) 28%, var(--border));background:color-mix(in srgb, var(--success-500) 5%, var(--surface))}.odontogram-v2 .odonto-control-rail__status{align-items:center;gap:9px;min-width:145px;display:flex}.odontogram-v2 .odonto-control-rail__icon{width:34px;height:34px;color:var(--brand-600);background:color-mix(in srgb, var(--brand-500) 13%, var(--surface));border-radius:10px;place-items:center;display:grid}.odontogram-v2 .odonto-control-rail__status div{gap:1px;display:grid}.odontogram-v2 .odonto-control-rail__status strong{font-size:13px}.odontogram-v2 .odonto-control-rail__status span,.odontogram-v2 .odonto-control-rail__meta span{color:var(--text-muted);font-size:11px}.odontogram-v2 .odonto-control-rail__meta{flex:1;align-items:center;gap:8px;min-width:0;display:flex}.odontogram-v2 .odonto-control-rail__meta span{border:1px solid var(--border);background:var(--surface);white-space:nowrap;border-radius:999px;padding:5px 8px}.odontogram-v2 .odonto-control-rail__actions{gap:7px;margin-left:auto;display:flex}.odontogram-v2 .odonto-compliance-list{gap:6px;margin:-4px 18px 12px;display:grid}.odontogram-v2 .odonto-compliance-list button,.odonto-dialog-issues button{border:1px solid color-mix(in srgb, var(--warning-500) 34%, var(--border));width:100%;color:var(--text);background:color-mix(in srgb, var(--warning-500) 7%, var(--surface));font:inherit;text-align:left;cursor:pointer;border-radius:11px;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:8px;padding:9px 11px;font-size:12px;display:grid}.odontogram-v2 .odonto-condition-toggle{border:1px solid var(--border);background:var(--surface-muted);border-radius:11px;grid-template-columns:1fr 1fr;gap:4px;padding:4px;display:grid}.odontogram-v2 .odonto-condition-toggle button{min-height:34px;color:var(--text-muted);font:inherit;cursor:pointer;background:0 0;border:0;border-radius:8px;font-size:12px;font-weight:700}.odontogram-v2 .odonto-condition-toggle button:first-child.active{color:#1f65d6;background:color-mix(in srgb, #1f65d6 13%, var(--surface))}.odontogram-v2 .odonto-condition-toggle button:last-child.active{color:#d71920;background:color-mix(in srgb, #d71920 12%, var(--surface))}.odontogram-v2 .odonto-fixed-condition{border:1px solid var(--border);border-radius:10px;justify-content:space-between;align-items:center;padding:9px 10px;font-size:12px;display:flex}.odontogram-v2 .odonto-fixed-condition span{color:var(--text-muted)}.odonto-control-form{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.odonto-control-form>:nth-child(n+3){grid-column:1/-1}.odonto-control-error{justify-content:space-between;align-items:center;gap:10px;display:flex}.odonto-control-error .inline-alert{flex:1;margin:0}.odonto-dialog-issues{gap:6px;display:grid}.odonto-signature-proof{border:1px solid var(--border);background:var(--surface-muted);border-radius:12px;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;padding:11px;display:grid}.odonto-signature-proof div{gap:2px;display:grid}.odonto-signature-proof span{color:var(--text-muted);font-size:11px}.odonto-signature-proof strong{font-size:12px}.odonto-signature-proof code{color:var(--text-muted);text-overflow:ellipsis;grid-column:1/-1;font-size:10px;overflow:hidden}.odontogram-v2 .official-piece-mark-img--mask{-webkit-mask:var(--official-mark-image) center / contain no-repeat;-webkit-mask:var(--official-mark-image) center / contain no-repeat;mask:var(--official-mark-image) center / contain no-repeat;background:var(--official-mark-color,#1f65d6)!important}.odontogram-v2 .official-piece-code{z-index:3;color:var(--official-stroke,#1f65d6);font-size:9px;font-weight:800;line-height:1;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}@media (width<=860px){.odontogram-v2 .odonto-control-rail{flex-wrap:wrap;align-items:stretch;margin-inline:10px}.odontogram-v2 .odonto-control-rail__meta{order:3;width:100%;overflow-x:auto}.odontogram-v2 .odonto-control-rail__actions{margin-left:auto}.odontogram-v2 .odonto-compliance-list{margin-inline:10px}}@media (width<=560px){.odontogram-v2 .odonto-control-rail__status{flex:1}.odontogram-v2 .odonto-control-rail__actions{width:100%}.odontogram-v2 .odonto-control-rail__actions .btn{flex:1}.odonto-control-form,.odonto-signature-proof{grid-template-columns:1fr}.odonto-control-form>:nth-child(n+1),.odonto-signature-proof code{grid-column:1}}.page-shell--patient:has(.odontogram-v2){min-width:0;max-width:100%;overflow-x:hidden}.page-shell--patient:has(.odontogram-v2) .patient-workspace-content{min-width:0;max-width:100%;overflow-x:hidden}.odontogram-workspace--clinical.odontogram-v2,.odontogram-workspace--embedded.odontogram-v2,.odontogram-workspace--clinical.odontogram-v2.has-drawer-open,.odontogram-workspace--embedded.odontogram-v2.has-drawer-open{width:100%!important;min-width:0!important;max-width:100%!important;padding-right:0!important;display:block!important;overflow:hidden!important}.odontogram-v2>.odontogram-main-container,.odontogram-v2 .odontogram-main-card--board,.odontogram-v2 .odontogram-board-card{width:100%!important;min-width:0!important;max-width:100%!important;overflow:hidden!important}.odontogram-v2 .odontogram-stage{overscroll-behavior-inline:contain;scrollbar-width:none;touch-action:pan-y;width:100%!important;min-width:0!important;max-width:100%!important;overflow:auto hidden!important}.odontogram-v2 .odontogram-stage::-webkit-scrollbar{display:none}.odontogram-v2 .odontogram-stage[data-drag-scroll=true],.odontogram-v2 .odontogram-stage[data-drag-scroll=true] button{cursor:grab!important}.odontogram-v2 .odontogram-stage[data-drag-scroll=true].is-pointer-down{-webkit-user-select:none;user-select:none}.odontogram-v2 .odontogram-stage[data-drag-scroll=true].is-dragging,.odontogram-v2 .odontogram-stage[data-drag-scroll=true].is-dragging *{cursor:grabbing!important}.odontogram-v2 .odontogram-stage--official{padding:0!important}.odontogram-v2 .odontogram-stage--official>.official-odontogram--pieces{width:max(100%, var(--odonto-board-min,940px))!important;min-width:var(--odonto-board-min,940px)!important;max-width:none!important}.odontogram-v2 .odontogram-stage__panel{width:max(100%,940px)!important;min-width:940px!important;max-width:none!important}.odontogram-v2 .tooth-anatomy--asset image{image-rendering:auto;filter:saturate(1.08)contrast(1.06)drop-shadow(0 7px 7px #3d2a112e)!important}[data-theme=dark] .odontogram-v2 .tooth-anatomy--asset image{filter:brightness(1.08)saturate(1.12)contrast(1.08)drop-shadow(0 8px 9px #00000052)!important}.odontogram-v2 .odonto-side-scroll{gap:12px!important;min-width:0!important;padding:2px 7px 4px 2px!important}.odontogram-v2 .odonto-side-card{border-radius:16px!important;min-width:0!important;box-shadow:0 8px 24px #0d27280f!important}.odontogram-v2 .odonto-card-title{min-height:44px!important;padding:10px 12px!important}.odontogram-v2 .odonto-preview-card{gap:12px!important;min-width:0!important;padding:12px!important}.odontogram-v2 .odonto-side-actions{gap:10px!important;padding:12px 2px 2px!important}.odontogram-v2 .odonto-preview-copy,.odontogram-v2 .diagnosis-picker-grid--side,.odontogram-v2 .diagnosis-choice{min-width:0!important}.odontogram-v2 .odonto-preview-copy span,.odontogram-v2 .diagnosis-choice span{overflow-wrap:anywhere}.treatment-editor-card>.card__body.treatment-odontogram-shell{min-width:0;overflow-x:hidden!important}@media (width>=981px){.odontogram-workspace--clinical.odontogram-v2,.odontogram-workspace--embedded.odontogram-v2{--odonto-side-width:clamp(350px, 28vw, 400px)}.odontogram-workspace--clinical.odontogram-v2.has-drawer-open,.odontogram-workspace--embedded.odontogram-v2.has-drawer-open{grid-template-columns:minmax(0, 1fr) var(--odonto-side-width)!important;align-items:start!important;gap:12px!important;display:grid!important;overflow:visible!important}.odontogram-workspace--clinical.odontogram-v2.has-drawer-open>.odontogram-main-container,.odontogram-workspace--embedded.odontogram-v2.has-drawer-open>.odontogram-main-container{grid-column:1;min-width:0!important}.odontogram-workspace--clinical.odontogram-v2.has-drawer-open>.diagnosis-drawer.odonto-side-panel.is-open,.odontogram-workspace--embedded.odontogram-v2.has-drawer-open>.diagnosis-drawer.odonto-side-panel.is-open{grid-column:2;inset:auto!important;top:calc(var(--topbar-height,64px) + 10px)!important;z-index:12!important;width:var(--odonto-side-width)!important;height:calc(100dvh - var(--topbar-height,64px) - 24px)!important;min-height:0!important;max-height:calc(100dvh - var(--topbar-height,64px) - 24px)!important;box-sizing:border-box!important;opacity:1!important;border-radius:18px!important;grid-template-rows:minmax(0,1fr) auto!important;padding:14px!important;display:grid!important;position:sticky!important;overflow:hidden!important;transform:none!important;box-shadow:0 24px 64px #03141747!important}}@media (width<=980px){.odontogram-v2 .odontogram-stage__panel{width:820px!important;min-width:820px!important}.odontogram-workspace--clinical.odontogram-v2.has-drawer-open>.diagnosis-drawer.odonto-side-panel.is-open,.odontogram-workspace--embedded.odontogram-v2.has-drawer-open>.diagnosis-drawer.odonto-side-panel.is-open{inset:calc(var(--topbar-height,62px) + 8px) 8px 8px!important;width:auto!important;height:calc(100dvh - var(--topbar-height,62px) - 16px)!important;min-height:0!important;max-height:calc(100dvh - var(--topbar-height,62px) - 16px)!important;box-sizing:border-box!important;border-radius:18px!important;padding:12px!important;box-shadow:0 22px 60px #03141752!important}}@media (width<=640px){.odontogram-v2 .odontogram-stage__panel{width:760px!important;min-width:760px!important}.odontogram-v2 .odonto-side-scroll{padding-right:4px!important}.odontogram-v2 .odonto-side-actions{grid-template-columns:1fr 1.15fr!important}}html{background:var(--page);min-width:320px}body{overflow-x:hidden}body.nav-open{overflow:hidden}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button:disabled,input:disabled,select:disabled{cursor:not-allowed;opacity:.62}.sidebar__top{border-bottom:1px solid #ffffff12;align-items:center;display:flex}.sidebar__top .sidebar__brand{border-bottom:0;flex:1}.sidebar__close{color:#d6e5ed;background:#ffffff12;margin-right:10px;display:none}.sidebar-backdrop{border:0;border-radius:0;padding:0}.topbar__mobile-search{display:none}.topbar__actions{min-width:0}.topbar__actions>*{flex:none}.topbar__theme{color:var(--text-soft);background:var(--surface-muted)}.topbar__theme:hover{color:var(--text);background:var(--surface-raised)}.dropdown-menu__label{color:var(--text-muted);letter-spacing:.08em;text-transform:uppercase;padding:7px 10px 4px;font-size:9px;font-weight:800}.dropdown-menu__empty{color:var(--text-muted);text-align:center;padding:18px 10px;font-size:11px}.theme-menu{border-bottom:1px solid var(--border);grid-template-columns:repeat(3,1fr);gap:5px;margin:0 3px 7px;padding-bottom:7px;display:grid}.theme-menu__item{min-width:0;min-height:58px;color:var(--text-muted);background:var(--surface-muted);border:1px solid #0000;border-radius:9px;flex-direction:column;justify-content:center;align-items:center;gap:4px;padding:7px 4px;font-size:9px;display:flex}.theme-menu__item:hover{color:var(--text);border-color:var(--border)}.theme-menu__item.active{color:var(--brand-700);border-color:var(--brand-500);background:var(--brand-50)}.theme-menu__item .icon:last-child{width:12px;height:12px}.global-search-results{width:min(520px,90vw);max-height:min(560px,70vh);left:0;right:auto;overflow-y:auto}.notifications-menu{width:min(390px,100vw - 28px);max-height:min(620px,75vh);overflow-y:auto}.profile-dropdown .dropdown-menu{width:270px}.page-shell{min-width:0}.page-header__copy h1{overflow-wrap:anywhere}.page-header__actions>*,.card{min-width:0}.card__header{justify-content:space-between}.card__header>div:first-child{flex:1;min-width:0}.card__body{min-width:0}.table-wrap{overscroll-behavior-inline:contain;scrollbar-width:thin}.data-table{width:100%}.data-table th,.data-table td{vertical-align:middle}.table-actions{justify-content:flex-end}.text-right{text-align:right!important}.settings-content{min-width:0}.settings-nav__item span{flex:1;min-width:0}.settings-nav__arrow{opacity:.5;margin-left:auto}.settings-nav__item.active .settings-nav__arrow{opacity:1}.settings-callout{margin-top:20px}.form-fieldset{border:0;margin:0 0 24px;padding:0}.form-fieldset+.form-fieldset{border-top:1px solid var(--border);padding-top:22px}.form-fieldset legend{width:100%;color:var(--text);margin-bottom:14px;font-size:12px;font-weight:780}.input-suffix{position:relative}.input-suffix .form-control{padding-right:40px}.input-suffix>span{color:var(--text-muted);font-size:11px;position:absolute;top:50%;right:13px;transform:translateY(-50%)}.theme-cards--3{grid-template-columns:repeat(3,minmax(0,1fr))}.theme-card{min-height:186px;transition:transform var(--transition), border-color var(--transition), box-shadow var(--transition);flex-direction:column;display:flex}.theme-card:hover{border-color:var(--border-strong);transform:translateY(-2px)}.theme-card__title{align-items:center;gap:7px;margin-top:12px;display:flex}.theme-card__title strong{flex:1;margin:0}.theme-preview--system{background:var(--surface-raised);position:relative;overflow:hidden}.theme-preview--system i{background:var(--surface-raised)}.theme-preview--system b{background:var(--surface-muted)}.theme-preview--system em{background:var(--surface)}.storage-status{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-bottom:20px;display:grid}.storage-status>div{border:1px solid var(--border);background:var(--surface-muted);border-radius:11px;align-items:center;gap:9px;min-width:0;padding:12px;display:flex}.storage-status strong,.storage-status small{display:block}.storage-status strong{font-size:10px}.storage-status small{color:var(--text-muted);overflow-wrap:anywhere;margin-top:3px;font-size:9px}.status-dot{width:10px;height:10px;box-shadow:0 0 0 4px var(--ink-100);border-radius:50%;flex:none}.status-dot--ok{background:var(--green-500);box-shadow:0 0 0 4px var(--green-100)}.status-dot--warning{background:var(--amber-500);box-shadow:0 0 0 4px var(--amber-100)}.status-dot--info{background:var(--blue-500);box-shadow:0 0 0 4px var(--blue-100)}[data-theme=dark] .sidebar,[data-theme=dark] .topbar{background:var(--surface)}[data-theme=dark] .card,[data-theme=dark] .modal,[data-theme=dark] .dropdown-menu{box-shadow:none}[data-theme=dark] .form-control,[data-theme=dark] .search-box input{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}[data-theme=dark] .chart-grid line{stroke:var(--border)}[data-theme=dark] .chart-label{fill:var(--text-muted)}[data-theme=dark] .tooth-base{fill:#e8eff4;stroke:#8da0b2}[data-theme=dark] .demo-banner{background:var(--surface)}[data-theme=dark] .theme-preview--dark{outline:1px solid var(--border)}.hide{display:none!important}.topbar__help{color:var(--blue-600);background:var(--blue-100)}.topbar__help:hover{color:var(--blue-700);background:var(--blue-100)}.context-help{gap:18px;display:grid}.context-help section{gap:7px;display:grid}.context-help p{color:var(--text-muted);line-height:1.65}.context-help__label{color:var(--text);letter-spacing:.09em;text-transform:uppercase;font-size:10px;font-weight:850}.context-help ul{gap:9px;margin:0;padding:0;list-style:none;display:grid}.context-help li{color:var(--text);align-items:flex-start;gap:9px;display:flex}.context-help li .icon{color:var(--green-600);flex:none;margin-top:2px}.context-help__docs{border-top:1px solid var(--border);padding-top:14px;font-size:10px}.inline-alert{border:1px solid var(--border);background:var(--surface-muted);color:var(--text-muted);border-radius:11px;align-items:flex-start;gap:9px;padding:12px 13px;line-height:1.55;display:flex}.inline-alert .icon{flex:none;margin-top:1px}.inline-alert--warning{border-color:var(--border);background:var(--amber-100);color:var(--amber-700)}.topbar__signature{min-height:38px}@media (width<=980px){.topbar__signature span{display:none}.topbar__signature{width:38px;padding:0}}@media (width<=480px){.page-shell{padding-inline:12px}.card{border-radius:16px}.card__header{padding:17px 16px 0}.card__body{padding:16px}.page-header{margin-bottom:18px}.page-header__actions .btn{flex:1}.quick-actions{grid-template-columns:1fr}.pill-tabs{max-width:100%;overflow-x:auto}.metric-card__value{font-size:25px}.odontogram-stage{padding-inline:12px}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}@media (width>=1800px){:root{--content-max:1720px}.page-shell{padding-inline:36px}}@media (width<=1320px){.clinic-switch__copy{display:none}.clinic-switch{justify-content:center;width:42px;padding-inline:4px}.clinic-switch>.icon:last-child{display:none}}@media (width<=1099px){:root{--topbar-height:66px}.sidebar{width:min(300px,90vw);box-shadow:var(--shadow-lg);transform:translate(-102%)}.sidebar.is-open{transform:translate(0)}.sidebar__close{display:inline-grid}.sidebar-backdrop.is-open{display:block}.app-main{margin-left:0}.topbar{gap:10px;padding-inline:16px}.topbar__mobile{display:inline-grid}.topbar__search{flex:360px;width:auto;max-width:520px}.page-shell{padding:24px 18px 40px}.settings-layout{grid-template-columns:220px minmax(0,1fr)}}@media (width<=900px){.profile-button__copy{display:none}.profile-button{padding:3px}.profile-button>.icon:last-child,.topbar__divider{display:none}.grid--3{grid-template-columns:repeat(2,minmax(0,1fr))}.settings-layout{grid-template-columns:1fr}.settings-nav{scroll-snap-type:x proximity;gap:4px;padding:7px;display:flex;position:static;overflow-x:auto}.settings-nav__item{scroll-snap-align:start;width:auto;min-width:max-content}.settings-nav__arrow{display:none}.theme-cards--3{grid-template-columns:repeat(3,minmax(175px,1fr));padding:4px;overflow-x:auto}.storage-status{grid-template-columns:1fr}}@media (width<=720px){.topbar__search{display:none}.topbar__mobile-search{display:inline-grid}.topbar__search.is-mobile-open{z-index:95;width:auto;max-width:none;display:block;position:fixed;top:8px;left:8px;right:8px}.topbar__search.is-mobile-open .search-box input{background:var(--surface-raised);height:50px;box-shadow:var(--shadow-lg);padding-right:44px}.topbar__search.is-mobile-open .global-search-results{width:100%;max-height:calc(100vh - 82px);top:calc(100% + 6px)}.topbar__actions{margin-left:auto}.clinic-dropdown{display:none}.page-header{flex-direction:column;align-items:stretch}.page-header__actions{justify-content:flex-start;width:100%}.page-header__actions .btn{flex:auto;justify-content:center}.grid--2,.grid--3,.grid--4,.form-grid{grid-template-columns:1fr}.form-field--full{grid-column:auto}.modal__footer{flex-wrap:wrap}.modal__footer .spacer{display:none}.modal__footer .btn{flex:auto;justify-content:center}.data-actions-grid{grid-template-columns:1fr}}@media (width<=560px){.topbar{padding-inline:10px}.topbar__actions{gap:5px}.topbar__theme{display:none}.page-shell{padding:18px 12px 32px}.page-header__copy h1{font-size:clamp(24px,8vw,31px)}.page-header__actions{grid-template-columns:1fr;display:grid}.page-header__actions .btn{width:100%}.card__header{flex-wrap:wrap;align-items:flex-start}.filter-bar{align-items:stretch}.filter-bar>*{flex:100%;width:100%}.tabs{overflow-x:auto}.theme-cards--3{grid-template-columns:1fr;display:grid;overflow:visible}.theme-card{min-height:auto}.notifications-menu,.profile-dropdown .dropdown-menu{top:calc(var(--topbar-height) - 2px);width:auto;max-height:calc(100vh - var(--topbar-height) - 12px);position:fixed;left:8px;right:8px}}@media (width<=380px){.topbar .icon-button{width:36px;height:36px}.topbar__actions>.dropdown:last-child{margin-left:0}.profile-button .avatar{width:34px;height:34px}.page-shell{padding-inline:9px}.card__header,.card__body{padding-inline:14px}}@media (height<=620px) and (orientation:landscape){.sidebar__clinic,.sidebar__footer{display:none}.sidebar__nav{padding-top:6px}.modal{max-height:calc(100vh - 12px)}}@media (width<=760px){.patients-table-shell{padding:0 12px 12px}.patients-table-shell .table-wrap{overflow:visible}.patients-table-v2,.patients-table-v2 thead,.patients-table-v2 tbody,.patients-table-v2 tr,.patients-table-v2 th,.patients-table-v2 td{min-width:0;display:block;width:100%!important}.patients-table-v2{border-spacing:0;table-layout:auto}.patients-table-v2 thead{display:none}.patients-table-v2 tbody{gap:10px;display:grid}.patients-table-v2 tbody tr{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface);box-shadow:none;grid-template-columns:1fr;gap:10px;padding:12px;display:grid}.patients-table-v2 tbody tr:hover{transform:none}.patients-table-v2 tbody td{background:0 0;border:0;height:auto;min-height:0;padding:0;text-align:left!important}.patients-table-v2 tbody td:first-child,.patients-table-v2 tbody td:last-child{border-radius:0}.patients-table-v2 td[data-label]{grid-template-columns:minmax(78px,.34fr) minmax(0,1fr);align-items:start;gap:8px;display:grid}.patients-table-v2 td[data-label]:before{content:attr(data-label);color:var(--text-muted);letter-spacing:.06em;text-transform:uppercase;font-size:9px;font-weight:800;line-height:1.35}.patients-table-v2 td[data-label=Paciente]{grid-template-columns:1fr}.patients-table-v2 td[data-label=Paciente]:before{display:none}.patients-table-v2 .table-primary--button{grid-template-columns:40px minmax(0,1fr);align-items:center;gap:12px;width:100%;display:grid}.patients-table-v2 .table-primary--button .initials{width:40px;height:40px}.patients-table-v2 .patient-cell-copy strong,.patients-table-v2 .patient-cell-copy span,.patients-table-v2 .patient-contact-cell strong,.patients-table-v2 .patient-contact-cell span,.patients-table-v2 .patient-date-cell,.patients-table-v2 .patient-age-cell,.patients-table-v2 .patient-balance-cell{overflow-wrap:anywhere;white-space:normal}.patients-table-v2 td.patient-status-cell{grid-template-columns:minmax(78px,.34fr) minmax(0,1fr);align-items:start;gap:8px;display:grid}.patients-table-v2 .patient-status-stack{flex-wrap:wrap;gap:6px;min-width:0;display:flex}.patients-table-v2 .patient-action-cell .btn{justify-content:center;width:100%}}@media (width<=480px){.patients-table-v2 td[data-label],.patients-table-v2 td.patient-status-cell{grid-template-columns:1fr}}@media (width<=760px){.team-table-v2,.team-table-v2 thead,.team-table-v2 tbody,.team-table-v2 tr,.team-table-v2 th,.team-table-v2 td{min-width:0;display:block;width:100%!important}.team-table-v2{border-spacing:0;table-layout:auto}.team-table-v2 thead{display:none}.team-table-v2 tbody{gap:10px;display:grid}.team-table-v2 tbody tr{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface);box-shadow:none;grid-template-columns:1fr;gap:10px;padding:12px;display:grid}.team-table-v2 tbody td{background:0 0;border:0;height:auto;min-height:0;padding:0;text-align:left!important}.team-table-v2 td[data-label]{grid-template-columns:minmax(78px,.34fr) minmax(0,1fr);align-items:start;gap:8px;display:grid}.team-table-v2 td[data-label]:before{content:attr(data-label);color:var(--text-muted);letter-spacing:.06em;text-transform:uppercase;font-size:9px;font-weight:800;line-height:1.35}.team-table-v2 td[data-label=Integrante]{grid-template-columns:1fr}.team-table-v2 td[data-label=Integrante]:before{display:none}.team-table-v2 .table-primary--button{grid-template-columns:40px minmax(0,1fr);align-items:center;gap:12px;width:100%;display:grid}.team-table-v2 .table-primary--button .initials{width:40px;height:40px}.team-table-v2 .patient-cell-copy strong,.team-table-v2 .patient-cell-copy span,.team-table-v2 td[data-label] strong,.team-table-v2 td[data-label] .muted{overflow-wrap:anywhere;white-space:normal}.team-row-actions{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.team-row-actions .btn{justify-content:center;width:100%}}@media (width<=480px){.team-table-v2 td[data-label],.team-row-actions{grid-template-columns:1fr}}.clinical-form-page{position:relative}.clinical-form-page .clinical-return-float{z-index:3;width:auto;min-width:0;min-height:34px;padding-inline:10px;position:absolute;top:18px;right:18px}.clinical-form-page-head{padding-right:84px}@media (width<=720px){.clinical-form-page .clinical-return-float{top:12px;right:12px}.clinical-form-page-head{padding-right:72px}}.team-row-actions{flex-wrap:wrap;justify-content:flex-end;gap:8px;display:flex}.sidebar{width:var(--sidebar-width);background:var(--surface)}.app-main{margin-left:var(--sidebar-width)}.sidebar__brand{padding-inline:22px}.sidebar__clinic{margin-top:15px}.sidebar__nav{padding-top:5px}.nav-section{margin-top:16px}.nav-section__title{padding-bottom:6px}.nav-link{min-height:38px;transition:border-color var(--transition), background var(--transition), color var(--transition);border:0;border-left:3px solid #0000}.nav-link.active{background:var(--brand-50);border-left-color:var(--brand-600);color:var(--brand-700)}.nav-link:hover{color:var(--text);background:var(--surface-muted)}.sidebar.collapsed{width:82px}.sidebar.collapsed .nav-link{border-left:0}.topbar{gap:10px;padding-inline:clamp(15px,1.8vw,24px)}.topbar__search{width:min(430px,42vw)}@media (width<=1360px){.topbar__new-appointment span{display:none}.topbar__new-appointment{width:38px;padding:0}}@media (width<=1099px){.sidebar{width:min(300px,90vw)}.app-main{margin-left:0}}@media (width<=720px){:root{--mobile-nav-height:70px}body{padding-bottom:calc(var(--mobile-nav-height) + env(safe-area-inset-bottom))}.page-shell{padding-bottom:32px}.topbar__help{display:none}.topbar__new-appointment{border-radius:var(--radius-sm);width:38px;min-width:38px;padding:0}.topbar__new-appointment span{display:none}.mobile-bottom-nav{z-index:55;min-height:var(--mobile-nav-height);padding:7px max(6px, env(safe-area-inset-right)) calc(7px + env(safe-area-inset-bottom)) max(6px, env(safe-area-inset-left));border-top:1px solid var(--border);background:var(--surface-raised);grid-template-columns:repeat(4,minmax(0,1fr));align-items:stretch;display:grid;position:fixed;bottom:0;left:0;right:0;box-shadow:0 -1px 2px #14221f14}.mobile-bottom-nav button{border-radius:var(--radius-sm);min-width:0;min-height:54px;color:var(--text-muted);transition:color var(--transition), background var(--transition);flex-direction:column;justify-content:center;align-items:center;gap:4px;padding:4px;font-size:10px;font-weight:700;display:flex}.mobile-bottom-nav button .icon{width:20px;height:20px}.mobile-bottom-nav button.active{color:var(--brand-700);background:var(--brand-50)}.toast-stack{bottom:calc(var(--mobile-nav-height) + 12px + env(safe-area-inset-bottom))}}@media (width<=420px){.topbar__mobile-search{display:inline-grid}.topbar__actions>.dropdown:not(.profile-dropdown):not(.notifications-dropdown),.topbar__new-appointment{display:none}.topbar .profile-button{display:inline-grid}}.sidebar.collapsed{width:82px;min-width:82px;max-width:82px}.app-main.sidebar-collapsed{margin-left:82px}@media (width<=1099px){.sidebar.collapsed{width:min(300px,90vw);min-width:0;max-width:min(300px,90vw)}.app-main.sidebar-collapsed{margin-left:0}}.app-shell.sidebar-collapsed{--sidebar-width:82px}@media (width<=1099px){.app-shell.sidebar-collapsed{--sidebar-width:244px}}.app-shell.sidebar-collapsed>.app-main.sidebar-collapsed{margin-left:82px!important}@media (width<=1099px){.app-shell.sidebar-collapsed>.app-main.sidebar-collapsed{margin-left:0!important}}.app-shell.sidebar-collapsed{--sidebar-collapse-offset:-162px}.app-shell.sidebar-collapsed>.app-main.sidebar-collapsed{left:var(--sidebar-collapse-offset);width:calc(100% - var(--sidebar-collapse-offset));position:relative}@media (width<=1180px) and (width>=1100px){.app-shell.sidebar-collapsed{--sidebar-collapse-offset:-138px}}@media (width<=1099px){.app-shell.sidebar-collapsed>.app-main.sidebar-collapsed{width:auto;left:0}}.app-shell.sidebar-collapsed>.app-main.sidebar-collapsed{width:calc(100vw - 82px)}@media (width<=1099px){.app-shell.sidebar-collapsed>.app-main.sidebar-collapsed{width:auto}.sidebar.is-open{transform:translate(0)!important}.sidebar:not(.is-open){transform:translate(-102%)}.sidebar{transition:left var(--transition), width var(--transition);left:calc(-1*min(306px,91.8vw));transform:none!important}.sidebar.is-open{left:0!important;transform:none!important}}.app-shell.sidebar-collapsed>.app-main.sidebar-collapsed{width:auto;position:static;left:auto;margin-left:82px!important}.sidebar.collapsed .sidebar__top{justify-content:center;padding-inline:0}.sidebar.collapsed .sidebar__brand{cursor:pointer;flex:none;justify-content:center;width:100%;padding:0}.sidebar.collapsed .sidebar__brand-mark{width:32px!important}@media (width<=1099px){.app-shell.sidebar-collapsed>.app-main.sidebar-collapsed{width:auto;position:static;left:auto;margin-left:0!important}.sidebar__collapse{display:none!important}}:focus-visible{outline:3px solid var(--brand-500);outline-offset:2px}.nav-link:focus-visible{outline-color:var(--brand-400);outline-offset:-2px}.sr-only{clip:rect(0, 0, 0, 0)!important;white-space:nowrap!important;border:0!important;width:1px!important;height:1px!important;margin:-1px!important;padding:0!important;position:absolute!important;overflow:hidden!important}@media (forced-colors:active){.badge,.btn,.card,.form-control,.nav-link.active,.theme-card.active{border:1px solid canvastext}.status-dot,.icon-button__dot{forced-color-adjust:none}}@media print{body{color:#000;background:#fff}.sidebar,.topbar,.page-header__actions,.btn,.icon-button,.filter-bar,.tabs,.odontogram-toolbar,.selected-tooth-panel,.demo-ribbon{display:none!important}.app-main{margin:0}.page-shell{width:100%;max-width:none;padding:0}.card{break-inside:avoid;box-shadow:none;border-color:#cfd6db}.grid{display:block}.grid>*{margin-bottom:16px}.odontogram-layout{display:block}.odontogram-stage{padding:16px 0;overflow:visible}.odontogram-arch{transform-origin:0 0;width:120%;min-width:0;transform:scale(.83)}}.topbar__new-appointment{white-space:nowrap;min-height:40px;box-shadow:none;padding-inline:13px}.mobile-bottom-nav{display:none}:where(.patient-primary-tab,.patient-subtab,.filter-chip,.diagnosis-option,.surface-chip,.mobile-bottom-nav button){touch-action:manipulation}@media (width<=1280px){.topbar{gap:12px;padding-inline:18px}.topbar__search{width:min(390px,36vw)}.clinic-switch__copy span{display:none}}@media (width<=900px){.topbar__new-appointment span{display:none}.topbar__new-appointment{width:40px;padding:0}.topbar__help{display:none}}@media (width<=720px){.app-main{padding-bottom:74px}.mobile-bottom-nav{z-index:45;inset:auto 10px max(8px, env(safe-area-inset-bottom)) 10px;border:1px solid var(--border-strong);background:var(--surface);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);border-radius:19px;grid-template-columns:repeat(4,1fr);align-items:stretch;min-height:62px;padding:5px;display:grid;position:fixed;box-shadow:0 18px 48px #061e3038}.mobile-bottom-nav button{min-width:0;min-height:52px;color:var(--text-muted);border-radius:14px;align-content:center;place-items:center;gap:3px;display:grid;position:relative}.mobile-bottom-nav button .icon{width:20px;height:20px}.mobile-bottom-nav button span{font-size:8px;font-weight:730}.mobile-bottom-nav button:hover,.mobile-bottom-nav button.active{color:var(--brand-700);background:var(--brand-100)}.mobile-bottom-nav button.active:before{content:"";background:var(--brand-500);border-radius:999px;width:20px;height:3px;position:absolute;top:4px}.topbar{height:62px;padding-inline:12px}:root{--topbar-height:62px}.topbar__search.is-mobile-open{z-index:60;width:auto;position:fixed;inset:8px 10px auto}.topbar__search.is-mobile-open .search-box{border:1px solid var(--border);background:var(--surface);box-shadow:var(--shadow-lg);border-radius:14px;padding:5px}.topbar__new-appointment,.topbar__theme,.topbar__divider{display:none}}@media (width<=390px){.mobile-bottom-nav{inset-inline:6px}.mobile-bottom-nav button span{font-size:7px}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.topbar__new-appointment{min-height:38px;box-shadow:var(--shadow-sm)}:where(button,a,input,select,textarea,[tabindex]):focus-visible{outline:3px solid var(--focus);outline-offset:2px}@media (width<=720px){.app-main{padding-bottom:var(--mobile-nav-height)}.mobile-bottom-nav{min-height:var(--mobile-nav-height);padding:7px max(6px, env(safe-area-inset-right)) calc(7px + env(safe-area-inset-bottom)) max(6px, env(safe-area-inset-left));border:0;border-top:1px solid var(--border);background:var(--surface-raised);-webkit-backdrop-filter:none;backdrop-filter:none;border-radius:0;inset:auto 0 0;box-shadow:0 -1px 2px #14221f14}.mobile-bottom-nav button{border-radius:var(--radius-sm);min-height:54px;font-weight:700;display:flex}.mobile-bottom-nav button:hover,.mobile-bottom-nav button.active{color:var(--brand-700);background:var(--brand-50)}.mobile-bottom-nav button.active:before{display:none}.mobile-bottom-nav button span{font-size:10px;font-weight:700}.topbar{height:var(--topbar-height)}.topbar__search.is-mobile-open .search-box{border-radius:var(--radius-md);box-shadow:var(--shadow-lg)}}@media (width<=1099px){.sidebar{max-width:min(320px,92vw);box-shadow:0 28px 60px #07181933;width:min(320px,92vw)!important;transition:transform var(--transition), width var(--transition), box-shadow var(--transition)!important;z-index:110!important;left:0!important;transform:translate(calc(-100% - 18px))!important}.sidebar.is-open{transform:translate(0)!important}.sidebar-backdrop{background:var(--overlay);-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);z-index:100!important}.topbar{background:var(--surface);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);position:sticky;top:0;z-index:90!important}}@media (width<=720px){:root{--mobile-nav-height:72px}.topbar__search.is-mobile-open{top:10px;left:10px;right:10px;z-index:130!important}.mobile-bottom-nav{background:var(--surface-raised);box-shadow:0 -8px 28px #081a1b1f;z-index:80!important}}[data-theme=dark] .sidebar{background:var(--surface);border-right-color:var(--border)}[data-theme=dark] .topbar{border-bottom-color:var(--border);background:var(--surface)!important}[data-theme=dark] .topbar__theme,[data-theme=dark] .topbar__help{color:var(--text);background:var(--surface-muted)}[data-theme=dark] .topbar__theme:hover,[data-theme=dark] .topbar__help:hover{background:var(--surface-muted)}@media (width<=720px){.topbar{border-bottom:1px solid var(--border);-webkit-backdrop-filter:none;backdrop-filter:none;background:var(--surface)!important}.topbar__mobile,.topbar__mobile-search,.topbar__signature,.topbar .profile-button,.mobile-bottom-nav button{box-shadow:none;background:0 0}.mobile-bottom-nav{border-top:1px solid var(--border);box-shadow:0 -8px 24px #081a1b14;background:var(--surface)!important}.mobile-bottom-nav button{color:var(--text-muted)}.mobile-bottom-nav button:hover,.mobile-bottom-nav button.active{color:var(--brand-700);background:var(--brand-100)}}[data-theme=dark] .topbar__mobile,[data-theme=dark] .topbar__mobile-search,[data-theme=dark] .topbar__signature,[data-theme=dark] .topbar .profile-button{background:var(--surface-muted);color:var(--text);border-color:var(--border)}[data-theme=dark] .mobile-bottom-nav{border-top-color:var(--border);background:var(--surface)!important}[data-theme=dark] .mobile-bottom-nav button{color:var(--text-muted);background:0 0}[data-theme=dark] .mobile-bottom-nav button:hover,[data-theme=dark] .mobile-bottom-nav button.active{background:var(--surface-muted);color:var(--brand-500)}@media (width<=1100px){.topbar__mobile,.topbar__mobile-search{width:40px;min-width:40px;height:40px}}:root{--shadow-xs:0 1px 2px #0f172a0a;--shadow-sm:0 8px 22px #0f172a0f;--shadow-md:0 18px 42px #0f172a1a;--shadow-lg:0 24px 60px #0f172a29;--content-max:1540px}[data-theme=dark]{--shadow-xs:0 1px 2px #00000038;--shadow-sm:0 10px 28px #00000038;--shadow-md:0 20px 46px #00000057;--shadow-lg:0 28px 70px #00000073}.app-shell .page-header__eyebrow,.app-shell .section-kicker,.app-shell .welcome-banner__eyebrow{clip:rect(0, 0, 0, 0)!important;white-space:nowrap!important;width:1px!important;height:1px!important;margin:-1px!important;padding:0!important;position:absolute!important;overflow:hidden!important}.app-shell .page-shell{padding:clamp(20px,2vw,32px)}.app-shell .page-header{align-items:center;min-height:48px;margin-bottom:16px}.app-shell .page-header__copy{gap:4px;display:grid}.app-shell .page-header h1{letter-spacing:-.025em;margin:0;font-size:clamp(24px,2.2vw,32px)}.app-shell .page-header__copy>p{max-width:68ch;margin:0;line-height:1.45}.app-shell .content-section{margin-top:16px}.app-shell .card{border-color:color-mix(in srgb, var(--border) 84%, transparent);background:var(--surface);box-shadow:var(--shadow-xs);border-radius:16px}.app-shell .card__header{align-items:center;min-height:58px;padding:16px 18px 0}.app-shell .card__header h2,.app-shell .card__header h3{letter-spacing:-.012em;margin:0}.app-shell .card__header p{max-width:72ch;margin-top:4px;line-height:1.4}.app-shell .card__body{padding:18px}.app-shell .card__footer{background:color-mix(in srgb, var(--surface-muted) 64%, var(--surface));padding:13px 18px}.app-shell .form-field{gap:7px}.app-shell .form-label{color:var(--text-soft);letter-spacing:.005em;font-size:12px;font-weight:720}.app-shell .form-control,.app-shell .form-input,.app-shell .form-select,.app-shell .form-textarea,.app-shell .search-box input,.app-shell .patient-search-box input{border-color:color-mix(in srgb, var(--border-strong) 72%, var(--border));min-height:46px;color:var(--text);background:color-mix(in srgb, var(--surface) 92%, var(--surface-muted));box-shadow:inset 0 1px 0 #ffffff06, var(--shadow-xs);border-radius:12px;font-size:13px}.app-shell .form-control:hover,.app-shell .form-input:hover,.app-shell .form-select:hover,.app-shell .form-textarea:hover{border-color:color-mix(in srgb, var(--brand-500) 44%, var(--border-strong));background:var(--surface)}.app-shell .form-control:focus,.app-shell .form-input:focus,.app-shell .form-select:focus,.app-shell .form-textarea:focus{border-color:var(--brand-500);background:var(--surface);box-shadow:var(--ring), var(--shadow-xs)}.app-shell textarea.form-control,.app-shell .form-textarea{min-height:108px;line-height:1.5}.app-shell .form-help,.app-shell .field-hint{font-size:10.5px;line-height:1.4}.app-shell .btn{min-height:42px;box-shadow:none;border-radius:11px;padding:9px 15px;font-size:12.5px}.app-shell .btn--sm{min-height:36px;padding:7px 11px;font-size:11.5px}.app-shell .btn--primary{border-color:color-mix(in srgb, var(--brand-600) 84%, #000);background:linear-gradient(180deg, color-mix(in srgb, var(--brand-500) 88%, #fff), var(--brand-600));box-shadow:0 7px 16px #0d94882e}.app-shell .btn--primary:hover{transform:translateY(-1px);box-shadow:0 10px 22px #0d94883d}.app-shell .btn--secondary{border-color:var(--border-strong);background:color-mix(in srgb, var(--surface) 88%, var(--surface-muted));box-shadow:var(--shadow-xs)}.app-shell .tabs,.app-shell .pill-tabs,.app-shell .patient-filter-tabs{border-color:var(--border);background:color-mix(in srgb, var(--surface-muted) 80%, var(--surface))}.app-shell .tab-pill,.app-shell .pill-tab,.app-shell .patient-filter-tabs button{min-height:38px}.app-shell .tab-pill.active,.app-shell .pill-tab.active,.app-shell .patient-filter-tabs button.active{background:var(--surface);box-shadow:var(--shadow-xs), inset 0 -2px 0 var(--brand-500)}.app-shell .data-table thead th{color:var(--text-muted);letter-spacing:.055em;font-size:10px}.app-shell .data-table tbody tr{transition:background var(--transition), box-shadow var(--transition)}.app-shell .data-table tbody tr:hover{background:color-mix(in srgb, var(--brand-50) 52%, var(--surface))}.app-shell .data-table tbody td{color:var(--text-soft)}.app-shell .compact-empty,.app-shell .empty-state{min-height:150px;padding:22px!important}.app-shell .compact-empty--large{min-height:190px}.app-shell .compact-empty h3,.app-shell .empty-state h3{margin:0}.app-shell .compact-empty p,.app-shell .empty-state p{max-width:46ch;margin:6px auto 0}.app-shell .topbar{background:color-mix(in srgb, var(--surface) 94%, transparent);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);box-shadow:0 1px 0 var(--border)}.app-shell .sidebar__clinic,.app-shell .sidebar__demo{background:color-mix(in srgb, var(--surface-muted) 70%, var(--surface))}.app-shell .nav-link{border-radius:9px}.app-shell .nav-link.active{background:color-mix(in srgb, var(--brand-100) 76%, var(--surface));box-shadow:inset 3px 0 0 var(--brand-500);border-left-color:#0000}.app-shell .dashboard-page{gap:14px;display:grid}.app-shell .dashboard-page>.content-section,.app-shell .dashboard-page .content-section{margin-top:0;margin-bottom:0}.app-shell .dashboard-hero{border:1px solid color-mix(in srgb, var(--brand-500) 22%, var(--border));background:radial-gradient(circle at 92% 10%, color-mix(in srgb, var(--brand-500) 11%, transparent), transparent 32%), var(--surface);min-height:0;padding:20px 22px;overflow:visible}.app-shell .dashboard-hero .welcome-banner__content{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:4px 18px;width:100%;max-width:none;display:grid}.app-shell .dashboard-hero h1{letter-spacing:-.025em;grid-column:1;margin:0;font-size:clamp(24px,2.4vw,32px)}.app-shell .dashboard-hero p{grid-column:1;margin:0}.app-shell .dashboard-hero__stats{display:none}.app-shell .dashboard-hero .welcome-banner__actions{grid-area:1/2/span 2;margin:0}.app-shell .tuty-metric-strip--premium{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:0}.app-shell .tuty-metric--premium{border-color:var(--border);background:var(--surface);min-height:92px;box-shadow:var(--shadow-xs);gap:5px;padding:15px 16px 14px 18px}.app-shell .tuty-metric--premium:hover{border-color:color-mix(in srgb, var(--metric-accent) 42%, var(--border));box-shadow:var(--shadow-sm);transform:none}.app-shell .tuty-metric--premium strong{font-size:clamp(21px,2vw,27px)}.app-shell .tuty-metric--premium .metric__label{letter-spacing:.04em;font-size:10px}.app-shell .tuty-metric--premium .metric__meta{font-size:10.5px;line-height:1.3}.app-shell .dashboard-page .grid--sidebar{grid-template-columns:minmax(0,2.15fr) minmax(250px,.72fr);gap:14px}.app-shell .dashboard-chart-card{min-height:340px}.app-shell .dashboard-chart-card__header{grid-template-columns:minmax(140px,auto) minmax(300px,1fr) auto;align-items:center;gap:14px;display:grid}.app-shell .dashboard-chart-summary{grid-template-columns:repeat(3,minmax(0,1fr));justify-self:end;width:100%;min-width:0;max-width:520px}.app-shell .dashboard-chart-summary div{background:color-mix(in srgb, var(--surface-muted) 66%, var(--surface));padding:9px 11px}.app-shell .dashboard-chart-summary strong{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.app-shell .dashboard-chart-canvas{min-height:220px}.app-shell .dashboard-side-card .card__body{padding-top:12px}.app-shell .quick-actions{grid-template-columns:1fr;gap:8px}.app-shell .quick-action{border-color:var(--border);background:color-mix(in srgb, var(--surface-muted) 46%, var(--surface));border-radius:12px;min-height:52px;padding:9px 11px}.app-shell .quick-action:hover{border-color:color-mix(in srgb, var(--action-color) 38%, var(--border));background:var(--surface);box-shadow:var(--shadow-xs);transform:none}.app-shell .agenda-controls,.app-shell .patients-list-toolbar,.app-shell .treatment-list-toolbar,.app-shell .page-toolbar-inline{border-color:var(--border);background:color-mix(in srgb, var(--surface-muted) 54%, var(--surface))}.app-shell .agenda-controls--autocomplete{gap:10px;padding:12px}.app-shell .agenda-layout{gap:14px}.app-shell .agenda-card,.app-shell .patients-list-card,.app-shell .treatment-list-panel{overflow:clip}.app-shell .patients-list-toolbar{gap:10px;padding:12px 14px}.app-shell .patient-search-box{border-color:var(--border-strong);background:var(--surface);border-radius:12px;min-height:46px}.app-shell .patient-filter-tabs{border:1px solid var(--border);border-radius:12px;padding:4px}.app-shell .patients-result-count{background:var(--surface);border-radius:10px;min-height:38px}.app-shell .patients-table-shell,.app-shell .treatment-table-shell{padding:8px 12px 12px}.app-shell .patients-table-v2 tbody tr,.app-shell .treatment-table-v2 tbody tr{box-shadow:inset 0 0 0 1px var(--border)}.app-shell .patients-table-v2 tbody tr:hover,.app-shell .treatment-table-v2 tbody tr:hover{box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--brand-500) 45%, var(--border));transform:none}.app-shell .communications-grid,.app-shell .settings-split-panels{gap:14px}.app-shell .communications-card,.app-shell .settings-panel,.app-shell .settings-subpanel{border-color:var(--border);box-shadow:var(--shadow-xs)}.app-shell .communications-card>h2,.app-shell .settings-subpanel .card__header h2{letter-spacing:-.015em}.app-shell .patient-workspace-header,.app-shell .patient-hero,.app-shell .patient-profile-hero{box-shadow:var(--shadow-xs)}.app-shell .patient-profile-layout,.app-shell .clinical-workspace,.app-shell .patient-treatment-layout,.app-shell .patient-finance-layout{gap:14px}.app-shell .patient-section-card .card__header,.app-shell .patient-table-card .card__header,.app-shell .patient-timeline-card .card__header{min-height:52px}@media (width<=1180px){.app-shell .grid--sidebar{grid-template-columns:minmax(0,1fr)}.app-shell .grid--sidebar>*{min-width:0}.app-shell .dashboard-chart-card__header{grid-template-columns:minmax(140px,auto) minmax(0,1fr)}.app-shell .dashboard-chart-card__header>.btn{grid-column:1/-1;justify-self:start}}@media (width<=900px){.app-shell .dashboard-page .grid--sidebar,.app-shell .dashboard-chart-card__header{grid-template-columns:1fr}.app-shell .dashboard-chart-summary{justify-self:stretch;max-width:none}.app-shell .dashboard-chart-card__header>.btn{grid-column:auto}}@media (width<=720px){.app-shell .page-shell{padding:16px 12px 28px}.app-shell .page-header{gap:12px;min-height:0;margin-bottom:13px}.app-shell .page-header h1{font-size:24px}.app-shell .page-header__copy>p{display:none}.app-shell .page-header__actions{grid-template-columns:repeat(auto-fit,minmax(140px,1fr));display:grid}.app-shell .page-header__actions .btn,.app-shell .page-header__actions>*{width:100%}.app-shell .card{border-radius:14px}.app-shell .card__header{min-height:52px;padding:14px 14px 0}.app-shell .card__body{padding:14px}.app-shell .form-control,.app-shell .form-input,.app-shell .form-select,.app-shell .search-box input,.app-shell .patient-search-box input,.app-shell .btn:not(.btn--sm){min-height:46px}.app-shell .dashboard-page{gap:10px}.app-shell .dashboard-hero{padding:16px}.app-shell .dashboard-hero .welcome-banner__content{grid-template-columns:1fr;gap:4px}.app-shell .dashboard-hero h1,.app-shell .dashboard-hero p,.app-shell .dashboard-hero .welcome-banner__actions{grid-area:auto/1}.app-shell .dashboard-hero .welcome-banner__actions{margin-top:10px}.app-shell .dashboard-hero .welcome-banner__actions .btn{width:100%}.app-shell .tuty-metric-strip--premium{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.app-shell .tuty-metric--premium{min-height:82px;padding:12px 12px 11px 15px}.app-shell .tuty-metric--premium strong{font-size:21px}.app-shell .tuty-metric--premium .metric__meta{display:none}.app-shell .dashboard-chart-summary{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}.app-shell .dashboard-chart-summary div{padding:8px}.app-shell .dashboard-chart-summary strong{font-size:11px}.app-shell .dashboard-chart-canvas{min-height:180px}.app-shell .patients-list-toolbar{padding:10px}.app-shell .patients-result-count{justify-self:start;width:auto}.app-shell .patients-table-shell,.app-shell .treatment-table-shell{padding:7px}.app-shell .patients-table-v2 tbody{gap:8px}.app-shell .patients-table-v2 tbody tr{grid-template-columns:minmax(0,1fr) auto!important;gap:7px 10px!important;padding:12px!important}.app-shell .patients-table-v2 tbody td{min-width:0;padding:0!important;display:block!important}.app-shell .patients-table-v2 td[data-label]:before{display:none!important}.app-shell .patients-table-v2 td[data-label=Paciente]{grid-area:1/1}.app-shell .patients-table-v2 .patient-status-cell{grid-area:1/2;justify-self:end}.app-shell .patients-table-v2 .patient-contact-cell{grid-area:2/1/auto/-1;padding-left:48px!important}.app-shell .patients-table-v2 .patient-age-cell,.app-shell .patients-table-v2 .patient-date-cell,.app-shell .patients-table-v2 .patient-balance-cell{display:none!important}.app-shell .patients-table-v2 .patient-action-cell{grid-area:3/1/auto/-1}.app-shell .patients-table-v2 .patient-action-cell .btn{min-height:40px}.app-shell .treatment-table-v2 td[data-label=Modalidad],.app-shell .treatment-table-v2 td[data-label=Creado]{display:none!important}.app-shell .treatment-table-v2 td[data-label]{grid-template-columns:80px minmax(0,1fr)}.app-shell .patient-profile-layout,.app-shell .clinical-workspace,.app-shell .patient-treatment-layout,.app-shell .patient-finance-layout{gap:10px}.app-shell .patient-section-card .card__header,.app-shell .patient-table-card .card__header,.app-shell .patient-timeline-card .card__header{min-height:48px}.app-shell .communications-grid,.app-shell .settings-split-panels{gap:10px}.app-shell .settings-tabs button,.app-shell .btn.btn--sm,.app-shell .yes-no-switch__option,.app-shell .calendar-head__label,.app-shell .calendar-head .segmented button{min-height:40px}.app-shell input[type=checkbox]{width:18px;height:18px}.app-shell .appt-card--week{height:auto;min-height:42px}.app-shell .form-builder-page .compact-panel{gap:12px;padding:12px}.app-shell .form-builder-page .settings-strip{grid-template-columns:repeat(2,minmax(0,1fr));align-items:end;gap:10px;padding:10px;display:grid}.app-shell .form-builder-page .settings-strip>*{min-width:0}.app-shell .form-builder-page .settings-strip:has(>:nth-child(3))>:first-child{grid-column:1/-1}.app-shell .form-builder-page .field-matrix{border-radius:12px}.app-shell .form-builder-page .field-row{grid-template-columns:minmax(0,1fr) auto;gap:8px 10px;padding:12px;position:relative}.app-shell .form-builder-page .field-row__main{grid-area:1/1}.app-shell .form-builder-page .field-row__section{grid-area:2/1}.app-shell .form-builder-page .field-row__type{text-align:right;grid-area:2/2}.app-shell .form-builder-page .field-row__section,.app-shell .form-builder-page .field-row__type{min-width:0;color:var(--text-muted);text-overflow:ellipsis;white-space:nowrap;font-size:11px;overflow:hidden}.app-shell .form-builder-page .field-row__section:before{content:"Sección: ";font-weight:700}.app-shell .form-builder-page .field-row__type:before{content:"Tipo: ";font-weight:700}.app-shell .form-builder-page .matrix-choice{flex-direction:column;grid-row:3;justify-content:flex-start;align-items:stretch;gap:4px}.app-shell .form-builder-page .field-row>.matrix-choice:nth-child(4){grid-column:1}.app-shell .form-builder-page .field-row>.matrix-choice:nth-child(5){grid-column:2}.app-shell .form-builder-page .matrix-choice:before{content:attr(data-label);color:var(--text-muted);letter-spacing:.025em;font-size:10px;font-weight:700}.app-shell .form-builder-page .matrix-choice .yes-no-field{width:100%;min-width:0}.app-shell .form-builder-page .yes-no-field--compact .yes-no-switch{min-height:46px}.app-shell .form-builder-page .yes-no-field--compact .yes-no-switch__option{min-height:38px}.app-shell .form-builder-page .field-row__action{grid-area:1/2;justify-content:flex-end}}@media (width<=430px){.app-shell .topbar{padding-inline:10px}.app-shell .tuty-metric--premium{min-width:0}.app-shell .tuty-metric--premium .metric__label,.app-shell .tuty-metric--premium strong{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.app-shell .dashboard-chart-summary span{font-size:7.5px}.app-shell .patient-filter-tabs{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (prefers-reduced-motion:reduce){.app-shell *,.app-shell :before,.app-shell :after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}@media (width<=1099px){.app-shell>.sidebar:not(.is-open){visibility:hidden;pointer-events:none;transform:translate(calc(-100% - 24px))!important}.app-shell>.sidebar.is-open{visibility:visible;pointer-events:auto;transform:translate(0,0)!important}}
