/*! tailwindcss v4.3.3 | MIT License | https://tailwindcss.com */
@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-border-style:solid;--tw-leading:initial;--tw-font-weight:initial;--tw-tracking:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-outline-style:solid;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial;--tw-backdrop-blur:initial;--tw-backdrop-brightness:initial;--tw-backdrop-contrast:initial;--tw-backdrop-grayscale:initial;--tw-backdrop-hue-rotate:initial;--tw-backdrop-invert:initial;--tw-backdrop-opacity:initial;--tw-backdrop-saturate:initial;--tw-backdrop-sepia:initial;--tw-duration:initial;--tw-ease:initial}}}@layer theme{:root,:host{--font-sans:-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--color-blue-300:oklch(80.9% .105 251.813);--color-blue-700:oklch(48.8% .243 264.376);--color-blue-800:oklch(42.4% .199 265.638);--color-gray-100:oklch(96.7% .003 264.542);--color-gray-200:oklch(92.8% .006 264.531);--color-gray-300:oklch(87.2% .01 258.338);--color-gray-400:oklch(70.7% .022 261.325);--color-gray-500:oklch(55.1% .027 264.364);--color-gray-600:oklch(44.6% .03 256.802);--color-gray-700:oklch(37.3% .034 259.733);--color-gray-800:oklch(27.8% .033 256.848);--color-gray-900:oklch(21% .034 264.665);--color-black:#000;--color-white:#fff;--spacing:.25rem;--container-xl:36rem;--container-6xl:72rem;--text-sm:.875rem;--text-sm--line-height:calc(1.25 / .875);--text-lg:1.125rem;--text-lg--line-height:calc(1.75 / 1.125);--font-weight-medium:500;--font-weight-semibold:600;--tracking-wider:.05em;--radius-md:.375rem;--ease-in-out:cubic-bezier(.4, 0, .2, 1);--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4, 0, .2, 1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring:where(:not(iframe)){outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.collapse{visibility:collapse}.visible{visibility:visible}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.static{position:static}.top-0{top:0}.right-0{right:0}.container{width:100%}@media (width>=40rem){.container{max-width:40rem}}@media (width>=48rem){.container{max-width:48rem}}@media (width>=64rem){.container{max-width:64rem}}@media (width>=80rem){.container{max-width:80rem}}@media (width>=96rem){.container{max-width:96rem}}.mx-auto{margin-inline:auto}.-mt-px{margin-top:-1px}.mt-2{margin-top:calc(var(--spacing) * 2)}.mt-4{margin-top:calc(var(--spacing) * 4)}.mt-8{margin-top:calc(var(--spacing) * 8)}.mr-2{margin-right:calc(var(--spacing) * 2)}.-ml-px{margin-left:-1px}.ml-1{margin-left:var(--spacing)}.ml-2{margin-left:calc(var(--spacing) * 2)}.ml-4{margin-left:calc(var(--spacing) * 4)}.ml-12{margin-left:calc(var(--spacing) * 12)}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline{display:inline}.inline-flex{display:inline-flex}.table{display:table}.h-5{height:calc(var(--spacing) * 5)}.h-8{height:calc(var(--spacing) * 8)}.h-16{height:calc(var(--spacing) * 16)}.min-h-screen{min-height:100vh}.w-5{width:calc(var(--spacing) * 5)}.w-8{width:calc(var(--spacing) * 8)}.w-auto{width:auto}.max-w-6xl{max-width:var(--container-6xl)}.max-w-xl{max-width:var(--container-xl)}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.cursor-default{cursor:default}.cursor-not-allowed{cursor:not-allowed}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.items-center{align-items:center}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.justify-items-center{justify-items:center}.gap-2{gap:calc(var(--spacing) * 2)}.overflow-hidden{overflow:hidden}.rounded-md{border-radius:var(--radius-md)}.rounded-l-md{border-top-left-radius:var(--radius-md);border-bottom-left-radius:var(--radius-md)}.rounded-r-md{border-top-right-radius:var(--radius-md);border-bottom-right-radius:var(--radius-md)}.border{border-style:var(--tw-border-style);border-width:1px}.border-t{border-top-style:var(--tw-border-style);border-top-width:1px}.border-r{border-right-style:var(--tw-border-style);border-right-width:1px}.border-gray-200{border-color:var(--color-gray-200)}.border-gray-300{border-color:var(--color-gray-300)}.border-gray-400{border-color:var(--color-gray-400)}.bg-gray-100{background-color:var(--color-gray-100)}.bg-gray-200{background-color:var(--color-gray-200)}.bg-white{background-color:var(--color-white)}.p-6{padding:calc(var(--spacing) * 6)}.px-2{padding-inline:calc(var(--spacing) * 2)}.px-4{padding-inline:calc(var(--spacing) * 4)}.px-6{padding-inline:calc(var(--spacing) * 6)}.py-2{padding-block:calc(var(--spacing) * 2)}.py-4{padding-block:calc(var(--spacing) * 4)}.pt-8{padding-top:calc(var(--spacing) * 8)}.text-center{text-align:center}.text-lg{font-size:var(--text-lg);line-height:var(--tw-leading,var(--text-lg--line-height))}.text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.leading-5{--tw-leading:calc(var(--spacing) * 5);line-height:calc(var(--spacing) * 5)}.leading-7{--tw-leading:calc(var(--spacing) * 7);line-height:calc(var(--spacing) * 7)}.font-medium{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.font-semibold{--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}.tracking-wider{--tw-tracking:var(--tracking-wider);letter-spacing:var(--tracking-wider)}.break-all{word-break:break-all}.text-black{color:var(--color-black)}.text-gray-200{color:var(--color-gray-200)}.text-gray-300{color:var(--color-gray-300)}.text-gray-400{color:var(--color-gray-400)}.text-gray-500{color:var(--color-gray-500)}.text-gray-600{color:var(--color-gray-600)}.text-gray-700{color:var(--color-gray-700)}.text-gray-800{color:var(--color-gray-800)}.text-gray-900{color:var(--color-gray-900)}.lowercase{text-transform:lowercase}.uppercase{text-transform:uppercase}.underline{text-decoration-line:underline}.antialiased{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.shadow,.shadow-sm{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a), 0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.ring-gray-300{--tw-ring-color:var(--color-gray-300)}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.filter{filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.backdrop-filter{-webkit-backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,)}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.duration-150{--tw-duration:.15s;transition-duration:.15s}.ease-in-out{--tw-ease:var(--ease-in-out);transition-timing-function:var(--ease-in-out)}@media (hover:hover){.hover\:bg-gray-100:hover{background-color:var(--color-gray-100)}.hover\:text-gray-400:hover{color:var(--color-gray-400)}.hover\:text-gray-700:hover{color:var(--color-gray-700)}}.focus\:border-blue-300:focus{border-color:var(--color-blue-300)}.focus\:ring:focus{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.focus\:outline-none:focus{--tw-outline-style:none;outline-style:none}.active\:bg-gray-100:active{background-color:var(--color-gray-100)}.active\:text-gray-500:active{color:var(--color-gray-500)}.active\:text-gray-700:active{color:var(--color-gray-700)}.active\:text-gray-800:active{color:var(--color-gray-800)}@media (width>=40rem){.sm\:flex{display:flex}.sm\:hidden{display:none}.sm\:flex-1{flex:1}.sm\:items-center{align-items:center}.sm\:justify-between{justify-content:space-between}.sm\:justify-start{justify-content:flex-start}.sm\:gap-2{gap:calc(var(--spacing) * 2)}.sm\:px-6{padding-inline:calc(var(--spacing) * 6)}.sm\:pt-0{padding-top:0}}@media (width>=64rem){.lg\:px-8{padding-inline:calc(var(--spacing) * 8)}}.rtl\:flex-row-reverse:where(:is(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi)),[dir=rtl],[dir=rtl] *){flex-direction:row-reverse}@media (prefers-color-scheme:dark){.dark\:border-gray-600{border-color:var(--color-gray-600)}.dark\:bg-gray-700{background-color:var(--color-gray-700)}.dark\:bg-gray-800{background-color:var(--color-gray-800)}.dark\:text-gray-200{color:var(--color-gray-200)}.dark\:text-gray-300{color:var(--color-gray-300)}.dark\:text-gray-400{color:var(--color-gray-400)}.dark\:text-gray-600{color:var(--color-gray-600)}@media (hover:hover){.dark\:hover\:bg-gray-900:hover{background-color:var(--color-gray-900)}.dark\:hover\:text-gray-200:hover{color:var(--color-gray-200)}.dark\:hover\:text-gray-300:hover{color:var(--color-gray-300)}}.dark\:focus\:border-blue-700:focus{border-color:var(--color-blue-700)}.dark\:focus\:border-blue-800:focus{border-color:var(--color-blue-800)}.dark\:active\:bg-gray-700:active{background-color:var(--color-gray-700)}.dark\:active\:text-gray-300:active{color:var(--color-gray-300)}}}:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--oa-canvas:#f4f7fc;--oa-sidebar:#fff;--oa-surface:#fff;--oa-elevated:#fff;--oa-soft:#eef3fb;--oa-text-strong:#111827;--oa-text:#64748b;--oa-border:#dde5f0;--oa-shadow:0 14px 40px #212c5017;--oa-primary:var(--tenant-primary,#6254e8);--oa-secondary:var(--tenant-secondary,#2f80ed);--oa-accent:var(--tenant-accent,#06b6d4);--oa-health:var(--tenant-health,#18b69a);--oa-warning:var(--tenant-warning,#f59e0b);--oa-error:var(--tenant-error,#e54864);--oa-radius:var(--tenant-radius,18px);--oa-font:var(--tenant-font,Inter, ui-sans-serif, system-ui, sans-serif);--oa-gradient-primary:linear-gradient(135deg, #6d5dfb 0%, #3b82f6 55%, #22d3ee 100%);--oa-gradient-premium:linear-gradient(135deg, #8b5cf6 0%, #6366f1 48%, #06b6d4 100%);--oa-coral:#ff7a59;--oa-amber:#ffb020;--oa-mint:#2dd4bf;--oa-gradient-warm:linear-gradient(135deg, #ff7a59 0%, #ffb020 100%);--oa-gradient-fresh:linear-gradient(135deg, #2dd4bf 0%, #22d3ee 60%, #6254e8 100%);--oa-shadow-tinted:0 18px 44px -14px var(--oa-primary), 0 6px 16px -6px #212c501a}@supports (color:color-mix(in lab, red, red)){:root{--oa-shadow-tinted:0 18px 44px -14px color-mix(in srgb, var(--oa-primary) 24%, transparent), 0 6px 16px -6px #212c501a}}:root{--oa-shadow-tinted-lg:0 30px 76px -24px var(--oa-primary), 0 12px 30px -12px #212c5024}@supports (color:color-mix(in lab, red, red)){:root{--oa-shadow-tinted-lg:0 30px 76px -24px color-mix(in srgb, var(--oa-primary) 26%, transparent), 0 12px 30px -12px #212c5024}}:root{--tooth-sound:#22c55e;--tooth-caries:#fb7185;--tooth-restoration:var(--oa-accent);--tooth-crown:#f59e0b;--tooth-missing:#94a3b8;--tooth-implant:#18c99a;--tooth-endodontic:#8b5cf6;--tooth-fracture:#f43f5e;--tooth-sealant:#38bdf8;--tooth-other:#94a3b8}:root[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--oa-canvas:#070a18;--oa-sidebar:#0b1022;--oa-surface:#10162a;--oa-elevated:#171e36;--oa-soft:#7567ff17;--oa-text-strong:#f8fafc;--oa-text:#9aa8bd;--oa-border:#94a3b82e;--oa-shadow:0 18px 56px #00000047;--oa-primary:var(--tenant-primary,#7567ff);--oa-secondary:var(--tenant-secondary,#3b82f6);--oa-accent:var(--tenant-accent,#22d3ee);--oa-health:var(--tenant-health,#2dd4bf);--oa-coral:#ff8a6b;--oa-amber:#ffc24d;--oa-mint:#34e5ce;--oa-gradient-warm:linear-gradient(135deg, #ff8a6b 0%, #ffc24d 100%);--oa-gradient-fresh:linear-gradient(135deg, #34e5ce 0%, #22d3ee 60%, #7567ff 100%);--oa-shadow-tinted:0 18px 44px -14px var(--oa-primary), 0 6px 18px -6px #0000004d}@supports (color:color-mix(in lab, red, red)){:root[data-theme=dark]{--oa-shadow-tinted:0 18px 44px -14px color-mix(in srgb, var(--oa-primary) 32%, transparent), 0 6px 18px -6px #0000004d}}:root[data-theme=dark]{--oa-shadow-tinted-lg:0 30px 76px -24px var(--oa-primary), 0 12px 34px -12px #0000005c}@supports (color:color-mix(in lab, red, red)){:root[data-theme=dark]{--oa-shadow-tinted-lg:0 30px 76px -24px color-mix(in srgb, var(--oa-primary) 34%, transparent), 0 12px 34px -12px #0000005c}}:root[data-theme=dark]{--tooth-sound:#31d67b;--tooth-caries:#ff7c93;--tooth-crown:#ffb020;--tooth-missing:#64748b;--tooth-implant:#20d6a5;--tooth-endodontic:#9b6dff;--tooth-fracture:#fb5b77;--tooth-sealant:#4fc8ff;--tooth-other:#64748b}*{box-sizing:border-box}html{background:var(--oa-canvas)}body{background:var(--oa-canvas);color:var(--oa-text-strong);font-family:var(--oa-font);-webkit-font-smoothing:antialiased;margin:0}button,input,select,textarea{font:inherit}button,a{-webkit-tap-highlight-color:transparent}:focus-visible{outline:3px solid var(--oa-primary)}@supports (color:color-mix(in lab, red, red)){:focus-visible{outline:3px solid color-mix(in srgb, var(--oa-primary) 35%, transparent)}}:focus-visible{outline-offset:3px}.oa-shell{grid-template-columns:248px minmax(0,1fr);min-height:100vh;display:grid}.oa-sidebar{background:var(--oa-sidebar);border-right:1px solid var(--oa-border);height:100vh;padding:24px 16px;position:sticky;top:0}.oa-brand{letter-spacing:-.03em;align-items:center;gap:11px;padding:0 8px 24px;font-weight:800;display:flex}.oa-brand-mark{color:#fff;background:var(--oa-gradient-primary);border-radius:14px;place-items:center;width:38px;height:38px;font-weight:900;display:grid;box-shadow:0 10px 24px #6254e838}.oa-nav{gap:6px;display:grid}.oa-nav a{min-height:44px;color:var(--oa-text);border-radius:13px;align-items:center;gap:12px;padding:0 12px;text-decoration:none;transition:all .16s;display:flex}.oa-nav a:hover{background:var(--oa-soft);color:var(--oa-text-strong);transform:translate(2px)}.oa-nav a[aria-current=page]{color:var(--oa-primary);background:var(--oa-primary)}@supports (color:color-mix(in lab, red, red)){.oa-nav a[aria-current=page]{background:color-mix(in srgb,var(--oa-primary) 9%, transparent)}}.oa-nav a[aria-current=page]{font-weight:700}.oa-main{min-width:0;padding:24px 28px 48px}.oa-topbar{justify-content:space-between;align-items:center;gap:16px;margin-bottom:26px;display:flex}.oa-eyebrow{color:var(--oa-primary);letter-spacing:.08em;text-transform:uppercase;font-size:.78rem;font-weight:800}.oa-title{letter-spacing:-.04em;margin:5px 0 0;font-size:clamp(1.65rem,2vw,2.25rem)}.oa-muted{color:var(--oa-text)}.oa-actions{align-items:center;gap:10px;display:flex}.oa-global-search{border:1px solid var(--oa-border);background:var(--oa-surface);max-width:440px;height:42px;color:var(--oa-text);border-radius:13px;flex:auto;align-items:center;gap:9px;padding:0 14px;transition:border-color .18s,box-shadow .18s;display:flex}.oa-global-search svg{opacity:.7;flex:none;width:16px;height:16px}.oa-global-search input{min-width:0;color:var(--oa-text-strong);background:0 0;border:0;outline:none;flex:1;font-size:.88rem}.oa-global-search input::placeholder{color:var(--oa-text);opacity:.85}.oa-global-search:focus-within{border-color:var(--oa-primary)}@supports (color:color-mix(in lab, red, red)){.oa-global-search:focus-within{border-color:color-mix(in srgb,var(--oa-primary) 45%,transparent)}}.oa-global-search:focus-within{box-shadow:0 0 0 4px var(--oa-primary)}@supports (color:color-mix(in lab, red, red)){.oa-global-search:focus-within{box-shadow:0 0 0 4px color-mix(in srgb,var(--oa-primary) 8%,transparent)}}.oa-icon-button{position:relative}.oa-icon-dot{background:var(--oa-error);width:7px;height:7px;box-shadow:0 0 0 2px var(--oa-surface);border-radius:50%;position:absolute;top:9px;right:10px}.oa-user-menu{position:relative}.oa-user-menu-trigger{border:1px solid var(--oa-border);background:var(--oa-surface);cursor:pointer;border-radius:14px;align-items:center;gap:9px;height:42px;padding:4px 10px 4px 4px;transition:all .18s;display:flex}.oa-user-menu-trigger:hover{box-shadow:var(--oa-shadow);transform:translateY(-2px)}.oa-user-menu-trigger svg{width:14px;height:14px;color:var(--oa-text);transition:transform .18s}.oa-user-menu.is-open .oa-user-menu-trigger svg{transform:rotate(180deg)}.oa-user-menu-copy{text-align:left;line-height:1.25;display:grid}.oa-user-menu-copy strong{color:var(--oa-text-strong);text-overflow:ellipsis;white-space:nowrap;max-width:140px;font-size:.82rem;font-weight:800;overflow:hidden}.oa-user-menu-copy small{color:var(--oa-text);font-size:.72rem}.oa-user-menu-panel{border:1px solid var(--oa-hairline,var(--oa-border));background:var(--oa-glass-strong);-webkit-backdrop-filter:blur(24px)saturate(1.2);backdrop-filter:blur(24px)saturate(1.2);min-width:210px;box-shadow:var(--oa-shadow-lg,0 20px 55px #0f172a29);z-index:40;transform-origin:100% 0;border-radius:16px;padding:8px;display:none;position:absolute;top:calc(100% + 10px);right:0}.oa-user-menu.is-open .oa-user-menu-panel{animation:.16s both oa-dropdown-in;display:block}.oa-user-menu-panel form{margin:0}.oa-user-menu-item{width:100%;color:var(--oa-text-strong);cursor:pointer;text-align:left;background:0 0;border:0;border-radius:11px;align-items:center;gap:9px;padding:10px 11px;font-size:.85rem;font-weight:700;display:flex}.oa-user-menu-item:hover{background:var(--oa-soft)}.oa-user-menu-item svg{width:16px;height:16px;color:var(--oa-text)}@keyframes oa-dropdown-in{0%{opacity:0;transform:translateY(-5px)scale(.98)}to{opacity:1;transform:none}}.oa-icon-button{border:1px solid var(--oa-border);width:42px;height:42px;color:var(--oa-text-strong);background:var(--oa-surface);cursor:pointer;border-radius:14px;place-items:center;transition:all .18s;display:grid;box-shadow:0 5px 20px #1a24420a}.oa-icon-button:hover{box-shadow:var(--oa-shadow);transform:translateY(-2px)}.oa-button{cursor:pointer;border:0;border-radius:13px;min-height:42px;padding:0 16px;font-weight:750;transition:all .18s}.oa-button--primary{color:#fff;background:var(--oa-gradient-primary);box-shadow:0 10px 24px #6254e838}.oa-button--primary:hover{transform:translateY(-2px);box-shadow:0 14px 30px #6254e847}.oa-button--secondary{color:var(--oa-text-strong);background:var(--oa-surface);border:1px solid var(--oa-border)}.oa-grid{gap:18px;display:grid}.oa-grid--4{grid-template-columns:repeat(4,minmax(0,1fr))}.oa-grid--3{grid-template-columns:repeat(3,minmax(0,1fr))}.oa-grid--2{grid-template-columns:repeat(2,minmax(0,1fr))}.oa-card{background:var(--oa-surface);border:1px solid var(--oa-border);border-radius:var(--oa-radius);box-shadow:0 6px 26px #232d4c0b}.oa-card--padded{padding:20px}.oa-card--premium{background:linear-gradient(145deg,var(--oa-primary),var(--oa-surface));position:relative;overflow:hidden}@supports (color:color-mix(in lab, red, red)){.oa-card--premium{background:linear-gradient(145deg,color-mix(in srgb,var(--oa-primary) 7%,var(--oa-surface)),var(--oa-surface))}}.oa-card--premium:after{content:"";background:radial-gradient(circle,var(--oa-accent),transparent 70%);width:160px;height:160px;position:absolute;top:-70px;right:-62px}@supports (color:color-mix(in lab, red, red)){.oa-card--premium:after{background:radial-gradient(circle,color-mix(in srgb,var(--oa-accent) 22%,transparent),transparent 70%)}}.oa-card--premium:after{pointer-events:none}.oa-kpi-label{color:var(--oa-text);font-size:.84rem;font-weight:650}.oa-kpi-value{letter-spacing:-.04em;margin-top:9px;font-size:1.75rem;font-weight:850}.oa-kpi-delta{color:var(--oa-health);margin-top:8px;font-size:.8rem;font-weight:700}.oa-section{margin-top:20px}.oa-section-head{justify-content:space-between;align-items:end;gap:14px;margin-bottom:12px;display:flex}.oa-section-title{letter-spacing:-.02em;margin:0;font-size:1.05rem}.oa-list{display:grid}.oa-list-row{border-top:1px solid var(--oa-border);grid-template-columns:44px minmax(0,1.5fr) minmax(100px,.8fr) auto;align-items:center;gap:14px;padding:14px 16px;display:grid}.oa-list-row:first-child{border-top:0}.oa-avatar{width:40px;height:40px;color:var(--oa-primary);background:var(--oa-primary);border-radius:13px;place-items:center;font-size:.77rem;font-weight:850;display:grid}@supports (color:color-mix(in lab, red, red)){.oa-avatar{background:color-mix(in srgb,var(--oa-primary) 10%,transparent)}}.oa-avatar--circle{object-fit:cover;border-radius:50%;flex:none;width:34px;height:34px;font-size:.74rem}.oa-pill{border-radius:999px;align-items:center;gap:6px;width:max-content;padding:6px 9px;font-size:.72rem;font-weight:800;display:inline-flex}.oa-pill--success{color:var(--oa-health);background:var(--oa-health)}@supports (color:color-mix(in lab, red, red)){.oa-pill--success{background:color-mix(in srgb,var(--oa-health) 10%,transparent)}}.oa-pill--warning{color:var(--oa-warning);background:var(--oa-warning)}@supports (color:color-mix(in lab, red, red)){.oa-pill--warning{background:color-mix(in srgb,var(--oa-warning) 11%,transparent)}}.oa-pill--info{color:var(--oa-primary);background:var(--oa-primary)}@supports (color:color-mix(in lab, red, red)){.oa-pill--info{background:color-mix(in srgb,var(--oa-primary) 10%,transparent)}}.oa-pill--danger{color:var(--oa-error);background:var(--oa-error)}@supports (color:color-mix(in lab, red, red)){.oa-pill--danger{background:color-mix(in srgb,var(--oa-error) 11%,transparent)}}.oa-plan-card{border:1px solid var(--oa-border,#78788c2e);transition:transform .22s var(--oa-ease,ease), box-shadow .22s var(--oa-ease,ease), border-color .22s ease;flex-direction:column;gap:14px;display:flex;position:relative}.oa-plan-card:hover{box-shadow:var(--oa-shadow-sm,0 18px 40px -22px #14142859);border-color:var(--oa-primary);transform:translateY(-3px)}@supports (color:color-mix(in lab, red, red)){.oa-plan-card:hover{border-color:color-mix(in srgb,var(--oa-primary) 16%,var(--oa-border))}}.oa-plan-card--featured{border-color:var(--oa-primary);box-shadow:0 0 0 2px var(--oa-primary)}@supports (color:color-mix(in lab, red, red)){.oa-plan-card--featured{box-shadow:0 0 0 2px color-mix(in srgb,var(--oa-primary) 25%,transparent)}}.oa-plan-card--inactive{opacity:.55}.oa-plan-badge{background:var(--oa-primary);color:#fff;letter-spacing:.04em;text-transform:uppercase;box-shadow:0 8px 18px -8px var(--oa-primary);border-radius:999px;padding:4px 12px;font-size:.72rem;font-weight:800;position:absolute;top:-12px;right:20px}@supports (color:color-mix(in lab, red, red)){.oa-plan-badge{box-shadow:0 8px 18px -8px color-mix(in srgb,var(--oa-primary) 70%,transparent)}}.oa-plan-price{font-size:2rem;font-weight:800;line-height:1}.oa-plan-price small{opacity:.6;font-size:.9rem;font-weight:600}.oa-plan-features{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.oa-plan-features li{align-items:flex-start;gap:8px;font-size:.92rem;display:flex}.oa-plan-features li:before{content:"✓";color:var(--oa-health);font-weight:800}.oa-billing-status{align-items:center;gap:6px;display:inline-flex}.oa-wa-button{cursor:pointer;background:#25d366;border:none;border-radius:10px;align-items:center;gap:6px;padding:8px 14px;font-size:.86rem;font-weight:700;text-decoration:none;display:inline-flex;color:#fff!important}.oa-wa-button:hover{filter:brightness(1.05)}.oa-cost-grid{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px;display:grid}.oa-cost-tile{background:var(--oa-surface-2,#78788c0f);border-radius:14px;padding:14px 16px}.oa-cost-tile strong{font-size:1.3rem;display:block}.oa-cost-tile small{opacity:.65}.pp-calendar-grid{grid-template-columns:repeat(7,1fr);gap:6px;margin-top:8px;display:grid}.pp-calendar-weekday{text-align:center;opacity:.55;padding:4px 0;font-size:.72rem;font-weight:800}.pp-calendar-cell{aspect-ratio:1;color:inherit;background:var(--oa-surface-2,#78788c0f);border-radius:10px;flex-direction:column;justify-content:center;align-items:center;gap:2px;font-size:.85rem;text-decoration:none;display:flex;position:relative}.pp-calendar-cell--empty{background:0 0}.pp-calendar-cell.has-appointments{background:var(--oa-primary)}@supports (color:color-mix(in lab, red, red)){.pp-calendar-cell.has-appointments{background:color-mix(in srgb,var(--oa-primary) 14%,transparent)}}.pp-calendar-cell.has-appointments{font-weight:700}.pp-calendar-cell.is-selected{outline:2px solid var(--oa-primary)}.pp-calendar-cell small{color:var(--oa-primary);font-size:.62rem;font-weight:800}.pp-completion-card{background:linear-gradient(135deg,var(--oa-health),var(--oa-accent));border-radius:24px;margin-top:20px;padding:26px 28px}@supports (color:color-mix(in lab, red, red)){.pp-completion-card{background:linear-gradient(135deg,color-mix(in srgb,var(--oa-health) 16%,var(--oa-surface)),color-mix(in srgb,var(--oa-accent) 8%,var(--oa-surface)))}}.pp-completion-card{border:1px solid var(--oa-health)}@supports (color:color-mix(in lab, red, red)){.pp-completion-card{border:1px solid color-mix(in srgb,var(--oa-health) 28%,var(--oa-border))}}.pp-completion-card{box-shadow:0 18px 46px var(--oa-health)}@supports (color:color-mix(in lab, red, red)){.pp-completion-card{box-shadow:0 18px 46px color-mix(in srgb,var(--oa-health) 14%,transparent)}}.pp-completion-card{animation:pp-completion-in .5s var(--oa-ease,ease) both;align-items:center;gap:18px;display:flex}.pp-completion-badge{background:var(--oa-health);color:#fff;width:56px;height:56px;box-shadow:0 10px 24px var(--oa-health);border-radius:50%;flex:none;place-items:center;font-size:1.6rem;display:grid}@supports (color:color-mix(in lab, red, red)){.pp-completion-badge{box-shadow:0 10px 24px color-mix(in srgb,var(--oa-health) 45%,transparent)}}.pp-completion-card h2{color:var(--oa-text-strong);margin:2px 0 4px}.pp-completion-card p{color:var(--oa-text);margin:0;line-height:1.55}@keyframes pp-completion-in{0%{opacity:0;transform:translateY(8px)scale(.98)}to{opacity:1;transform:none}}@media (prefers-reduced-motion:reduce){.pp-completion-card{animation:none}}@media (width<=640px){.pp-completion-card{text-align:center;flex-direction:column;padding:22px}}.oa-list-row--clinic{grid-template-columns:44px minmax(0,1.3fr) auto auto auto auto auto}.oa-list-row--clinic>a[href]{display:contents}@media (width<=820px){.oa-list-row--clinic{grid-template-columns:42px minmax(0,1fr) auto}.oa-list-row--clinic>:nth-child(n+4){display:none}}.oa-progress{background:var(--oa-soft);border-radius:999px;height:8px;overflow:hidden}.oa-progress>span{border-radius:inherit;background:var(--oa-gradient-primary);height:100%;display:block}.oa-ai{border-radius:var(--oa-radius);border:1px solid var(--oa-accent);padding:18px}@supports (color:color-mix(in lab, red, red)){.oa-ai{border:1px solid color-mix(in srgb,var(--oa-accent) 25%,var(--oa-border))}}.oa-ai{background:radial-gradient(circle at 100% 0,var(--oa-accent),transparent 48%),var(--oa-surface)}@supports (color:color-mix(in lab, red, red)){.oa-ai{background:radial-gradient(circle at 100% 0,color-mix(in srgb,var(--oa-accent) 14%,transparent),transparent 48%),var(--oa-surface)}}.oa-ai-title{align-items:center;gap:9px;font-weight:820;display:flex}.oa-ai-dot{background:var(--oa-accent);width:10px;height:10px;box-shadow:0 0 0 6px var(--oa-accent);border-radius:50%}@supports (color:color-mix(in lab, red, red)){.oa-ai-dot{box-shadow:0 0 0 6px color-mix(in srgb,var(--oa-accent) 10%,transparent)}}.oa-stepper{gap:0;display:grid}.oa-step{grid-template-columns:28px minmax(0,1fr);gap:12px;min-height:68px;display:grid}.oa-step-rail{flex-direction:column;align-items:center;display:flex}.oa-step-node{border:2px solid var(--oa-border);background:var(--oa-surface);border-radius:50%;flex:0 0 24px;place-items:center;width:24px;height:24px;font-size:.7rem;display:grid}.oa-step[data-state=done] .oa-step-node{color:#fff;border-color:var(--oa-health);background:var(--oa-health)}.oa-step[data-state=current] .oa-step-node{border-color:var(--oa-primary);box-shadow:0 0 0 5px var(--oa-primary)}@supports (color:color-mix(in lab, red, red)){.oa-step[data-state=current] .oa-step-node{box-shadow:0 0 0 5px color-mix(in srgb,var(--oa-primary) 10%,transparent)}}.oa-step-line{background:var(--oa-border);flex:1;width:2px;min-height:30px}.oa-step:last-child .oa-step-line{display:none}.oa-modal-backdrop{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);z-index:50;background:#0408167a;place-items:center;padding:24px;display:grid;position:fixed;inset:0}.oa-modal{background:var(--oa-elevated);border:1px solid var(--oa-border);border-radius:24px;width:min(920px,96vw);max-height:90vh;overflow:auto;box-shadow:0 30px 100px #00000059}.oa-modal-head{background:var(--oa-elevated);justify-content:space-between;align-items:center;padding:18px 22px;display:flex;position:sticky;top:0}@supports (color:color-mix(in lab, red, red)){.oa-modal-head{background:color-mix(in srgb,var(--oa-elevated) 92%,transparent)}}.oa-modal-head{-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border-bottom:1px solid var(--oa-border);z-index:2}.oa-modal-body{padding:22px}.oa-drawer{background:var(--oa-elevated);border-left:1px solid var(--oa-border);z-index:60;width:min(440px,92vw);height:100vh;padding:24px;position:fixed;top:0;right:0;box-shadow:-24px 0 80px #0000002e}.oa-tooth-grid{grid-template-columns:repeat(8,minmax(54px,1fr));gap:11px;display:grid}.oa-tooth{aspect-ratio:1/1.08;border:1px solid var(--oa-border);background:var(--oa-surface);cursor:pointer;border-radius:17px;place-items:center;transition:all .16s;display:grid;position:relative}.oa-tooth:hover{border-color:var(--oa-primary);transform:translateY(-3px)}@supports (color:color-mix(in lab, red, red)){.oa-tooth:hover{border-color:color-mix(in srgb,var(--oa-primary) 42%,var(--oa-border))}}.oa-tooth:hover{box-shadow:0 14px 28px #1f2c4d14}.oa-tooth[data-status=attention]:after{content:"";background:var(--oa-warning);border-radius:50%;width:8px;height:8px;position:absolute;top:7px;right:7px}.oa-tooth[data-status=done]:after{content:"✓";color:var(--oa-health);font-size:.8rem;font-weight:900;position:absolute;top:4px;right:6px}.oa-tooth-shape{width:29px;height:36px;color:var(--oa-text);background:linear-gradient(180deg,var(--oa-surface),var(--oa-soft));border:2px solid;border-radius:45% 45% 52% 52%/34% 34% 60% 60%}@supports (color:color-mix(in lab, red, red)){.oa-tooth-shape{background:linear-gradient(180deg,color-mix(in srgb,var(--oa-surface) 80%,white),var(--oa-soft))}}.oa-tooth[data-status=attention] .oa-tooth-shape{color:var(--oa-warning)}.oa-tooth[data-status=done] .oa-tooth-shape{color:var(--oa-health)}.oa-demo-ribbon{z-index:100;letter-spacing:.06em;color:#fff;opacity:.84;background:#111827;border-radius:999px;padding:6px 10px;font-size:.68rem;font-weight:850;position:fixed;top:8px;left:50%;transform:translate(-50%)}@media (width<=1100px){.oa-grid--4{grid-template-columns:repeat(2,minmax(0,1fr))}.oa-tooth-grid{grid-template-columns:repeat(4,minmax(54px,1fr))}}@media (width<=820px){.oa-shell{grid-template-columns:1fr}.oa-sidebar{display:none}.oa-main{padding:18px 16px 90px}.oa-grid--3,.oa-grid--2{grid-template-columns:1fr}.oa-list-row{grid-template-columns:42px minmax(0,1fr) auto}.oa-list-row>:nth-child(3){display:none}}@media (width<=520px){.oa-grid--4{grid-template-columns:1fr 1fr;gap:10px}.oa-card--padded{padding:15px}.oa-kpi-value{font-size:1.4rem}.oa-topbar{align-items:flex-start}.oa-actions .oa-button{display:none}.oa-tooth-grid{grid-template-columns:repeat(4,1fr);gap:8px}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.oa-auth-page{background:radial-gradient(circle at 12% 15%,#6254e821,transparent 30%),radial-gradient(circle at 88% 10%,#06b6d41a,transparent 28%),var(--oa-canvas,#f4f7fc);min-height:100vh;color:var(--oa-text,#111827)}.oa-auth-shell{grid-template-columns:minmax(0,1.08fr) minmax(360px,.72fr);align-items:center;gap:64px;width:min(1180px,100% - 32px);min-height:100vh;margin:auto;padding:48px 0;display:grid}.oa-auth-shell-single{grid-template-columns:minmax(0,680px);justify-content:center}.oa-auth-brand{gap:28px;display:grid}.oa-auth-brand h1,.oa-auth-card h1,.oa-auth-card h2{letter-spacing:-.035em;line-height:1.05}.oa-auth-brand h1{max-width:820px;font-size:clamp(2.6rem,5vw,5.1rem)}.oa-auth-brand p{max-width:700px;color:var(--oa-text);font-size:1.08rem;line-height:1.7}.oa-brand-mark{background:linear-gradient(135deg,var(--oa-primary,#6254e8),var(--oa-accent,#06b6d4));color:#fff;border-radius:17px;place-items:center;width:52px;height:52px;font-weight:800;display:grid;box-shadow:0 16px 36px #6254e83d}.oa-kicker{text-transform:uppercase;letter-spacing:.13em;font-weight:800;color:var(--oa-primary,#6254e8)!important;font-size:.76rem!important}.oa-auth-feature-grid{grid-template-columns:repeat(3,1fr);gap:12px;display:grid}.oa-auth-feature-grid>div{border:1px solid var(--oa-border,#dde5f0);background:var(--oa-surface);border-radius:18px;padding:16px}@supports (color:color-mix(in lab, red, red)){.oa-auth-feature-grid>div{background:color-mix(in srgb,var(--oa-surface) 62%,transparent)}}.oa-auth-feature-grid>div{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);gap:4px;display:grid}.oa-auth-feature-grid span{color:var(--oa-text);font-size:.83rem}.oa-auth-card{background:var(--oa-surface)}@supports (color:color-mix(in lab, red, red)){.oa-auth-card{background:color-mix(in srgb,var(--oa-surface) 94%,transparent)}}.oa-auth-card{border:1px solid var(--oa-border);border-radius:28px;gap:24px;padding:34px;display:grid;box-shadow:0 30px 80px #13203e1f}.oa-auth-card-wide{padding:42px}.oa-auth-card-header{gap:9px;display:grid}.oa-auth-card-header h1,.oa-auth-card-header h2{font-size:clamp(1.7rem,3vw,2.45rem)}.oa-auth-card-header p{color:var(--oa-text);line-height:1.6}.oa-auth-icon{width:42px;height:42px;color:var(--oa-primary,#6254e8);background:#6254e817;border-radius:14px;place-items:center;font-weight:900;display:grid}.oa-form-stack{gap:16px;display:grid}.oa-field{gap:7px;font-size:.9rem;font-weight:700;display:grid}.oa-field input{border:1px solid var(--oa-border,#dde5f0);background:var(--oa-surface,#fff);width:100%;color:var(--oa-text-strong,#111827);border-radius:14px;outline:none;padding:14px 15px;transition:border-color .18s,box-shadow .18s,transform .18s}.oa-field input:focus{border-color:var(--oa-primary,#6254e8);box-shadow:0 0 0 4px #6254e81c}.oa-field small{color:var(--oa-text);font-weight:500}.oa-button{appearance:none;cursor:pointer;border:0;border-radius:14px;padding:13px 17px;font-weight:800;transition:transform .16s,box-shadow .16s,background .16s}.oa-button:hover{transform:translateY(-1px)}.oa-button-primary{background:linear-gradient(135deg,var(--oa-primary,#6254e8),var(--oa-secondary,#2f80ed));color:#fff;box-shadow:0 12px 28px #6254e838}.oa-button-block{width:100%}.oa-button-ghost{color:var(--oa-text);border:1px solid var(--oa-border,#dde5f0);background:0 0}.oa-auth-help{color:var(--oa-text);text-align:center;font-size:.84rem}.oa-alert{border-radius:13px;padding:12px 14px;font-size:.9rem}.oa-alert-error{color:#b4233d;background:#e5486417;border:1px solid #e548642e}.oa-alert-success{color:#087b68;background:#18b69a17;border:1px solid #18b69a2e}.oa-password-rules{flex-wrap:wrap;gap:7px;display:flex}.oa-password-rules span{background:var(--oa-soft);color:var(--oa-text);border-radius:999px;padding:6px 9px;font-size:.76rem}.oa-inline-form{text-align:center}.oa-tenant-list{gap:12px;display:grid}.oa-tenant-choice{border:1px solid var(--oa-border,#dde5f0);cursor:pointer;border-radius:16px;align-items:center;gap:12px;padding:15px;transition:all .18s;display:flex}.oa-tenant-choice:has(input:checked){border-color:var(--oa-primary,#6254e8);box-shadow:0 0 0 3px #6254e817}.oa-tenant-choice span{gap:2px;display:grid}.oa-tenant-choice small{color:var(--oa-text)}.oa-app-proof{width:min(1180px,100% - 32px);min-height:100vh;margin:auto;padding:40px}.oa-proof-header{justify-content:space-between;align-items:center;gap:24px;padding:24px 0 32px;display:flex}.oa-proof-header h1{letter-spacing:-.035em;font-size:2.2rem}.oa-proof-grid{grid-template-columns:repeat(3,1fr);gap:16px;display:grid}.oa-status{width:max-content;color:var(--oa-primary,#6254e8);background:#6254e817;border-radius:999px;padding:6px 9px;font-size:.76rem;font-weight:800;display:inline-flex}.oa-status-success{color:#087b68;background:#18b69a1a}@media (width<=900px){.oa-auth-shell{grid-template-columns:1fr;gap:28px;padding:28px 0}.oa-auth-brand{padding-top:20px}.oa-auth-brand h1{font-size:2.7rem}.oa-auth-feature-grid{display:none}.oa-proof-grid{grid-template-columns:1fr}.oa-proof-header{flex-direction:column;align-items:flex-start}}@media (width<=520px){.oa-auth-shell{width:min(100% - 20px,680px)}.oa-auth-brand h1{font-size:2.15rem}.oa-auth-card,.oa-auth-card-wide{border-radius:22px;padding:24px}.oa-auth-brand p{font-size:.98rem}.oa-app-proof{padding:24px 0}}@media (prefers-reduced-motion:reduce){.oa-button,.oa-field input,.oa-tenant-choice{transition:none!important}.oa-button:hover{transform:none}}.aurora-page{background:var(--oa-canvas);min-height:100vh;color:var(--oa-text-strong);padding:32px 18px 64px}.aurora-shell{gap:22px;width:min(1180px,100%);margin:0 auto;display:grid}.aurora-header{justify-content:space-between;align-items:flex-start;gap:24px;display:flex}.aurora-header h1,.aurora-card h2{margin:.25rem 0 .35rem}.aurora-header p,.aurora-card p{color:var(--oa-text);margin:0}.aurora-eyebrow{letter-spacing:.08em;text-transform:uppercase;color:var(--oa-primary);font-size:.76rem;font-weight:800;display:inline-block}.aurora-card{background:var(--oa-surface);border:1px solid var(--oa-border);border-radius:var(--oa-radius);padding:22px;box-shadow:0 12px 36px #0f172a12}.aurora-card__header{justify-content:space-between;align-items:flex-start;gap:18px;margin-bottom:18px;display:flex}.aurora-pill,.aurora-chip{background:var(--oa-primary);border-radius:999px;align-items:center;padding:7px 11px;font-size:.78rem;font-weight:700;display:inline-flex}@supports (color:color-mix(in lab, red, red)){.aurora-pill,.aurora-chip{background:color-mix(in srgb,var(--oa-primary) 10%,transparent)}}.aurora-pill,.aurora-chip{color:var(--oa-primary)}.aurora-chip-grid{flex-wrap:wrap;gap:8px;display:flex}.aurora-stack{gap:18px;display:grid}.aurora-button{appearance:none;background:var(--oa-gradient-primary);color:#fff;cursor:pointer;border:0;border-radius:13px;padding:11px 16px;font-weight:800;text-decoration:none;transition:transform .16s,box-shadow .16s,opacity .16s}.aurora-button:hover{transform:translateY(-1px);box-shadow:0 8px 22px #6254e833}.aurora-button--ghost{background:var(--oa-soft);color:var(--oa-text-strong);border:1px solid var(--oa-border);box-shadow:none}.aurora-form-row{grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:12px;display:grid}.aurora-form-grid{grid-template-columns:1fr 180px;gap:12px;margin-top:16px;display:grid}.aurora-form-grid__wide{grid-column:1/-1}.aurora-form-row label,.aurora-form-grid label{color:var(--oa-text);gap:7px;font-size:.82rem;font-weight:800;display:grid}.aurora-form-row select,.aurora-form-grid select,.aurora-form-grid input{border:1px solid var(--oa-border);background:var(--oa-surface);width:100%;color:var(--oa-text-strong);border-radius:12px;outline:none;padding:11px 12px}.aurora-form-row select:focus,.aurora-form-grid select:focus,.aurora-form-grid input:focus{border-color:var(--oa-primary);box-shadow:0 0 0 4px var(--oa-primary)}@supports (color:color-mix(in lab, red, red)){.aurora-form-row select:focus,.aurora-form-grid select:focus,.aurora-form-grid input:focus{box-shadow:0 0 0 4px color-mix(in srgb,var(--oa-primary) 10%,transparent)}}.aurora-details{border-top:1px solid var(--oa-border);margin-top:16px;padding-top:14px}.aurora-details summary{cursor:pointer;color:var(--oa-text-strong);font-weight:800}.aurora-alert{background:var(--oa-soft);border:1px solid var(--oa-border);color:var(--oa-text);border-radius:13px;padding:12px 14px}.aurora-alert--success{background:var(--oa-health)}@supports (color:color-mix(in lab, red, red)){.aurora-alert--success{background:color-mix(in srgb,var(--oa-health) 12%,transparent)}}.aurora-alert--success{border-color:var(--oa-health)}@supports (color:color-mix(in lab, red, red)){.aurora-alert--success{border-color:color-mix(in srgb,var(--oa-health) 35%,transparent)}}.aurora-alert--success{color:var(--oa-health)}.aurora-alert--error{background:var(--oa-error)}@supports (color:color-mix(in lab, red, red)){.aurora-alert--error{background:color-mix(in srgb,var(--oa-error) 12%,transparent)}}.aurora-alert--error{border-color:var(--oa-error)}@supports (color:color-mix(in lab, red, red)){.aurora-alert--error{border-color:color-mix(in srgb,var(--oa-error) 35%,transparent)}}.aurora-alert--error{color:var(--oa-error)}.aurora-pill--success{background:var(--oa-health)}@supports (color:color-mix(in lab, red, red)){.aurora-pill--success{background:color-mix(in srgb,var(--oa-health) 12%,transparent)}}.aurora-pill--success{color:var(--oa-health)}.aurora-pill--warning{background:var(--oa-warning)}@supports (color:color-mix(in lab, red, red)){.aurora-pill--warning{background:color-mix(in srgb,var(--oa-warning) 12%,transparent)}}.aurora-pill--warning{color:var(--oa-warning)}.aurora-pill--muted{background:var(--oa-soft);color:var(--oa-text)}.aurora-pill--danger{background:var(--oa-error)}@supports (color:color-mix(in lab, red, red)){.aurora-pill--danger{background:color-mix(in srgb,var(--oa-error) 12%,transparent)}}.aurora-pill--danger{color:var(--oa-error)}.aurora-usage-bar{background:var(--oa-soft);border-radius:999px;height:8px;margin-top:10px;overflow:hidden}.aurora-usage-bar span{background:var(--oa-gradient-primary);border-radius:999px;height:100%;display:block}.aurora-usage-bar.is-full span{background:var(--oa-error)}.aurora-override-list{gap:8px;margin-top:16px;display:grid}.aurora-override-row{background:var(--oa-soft);border:1px solid var(--oa-border);border-radius:12px;justify-content:space-between;align-items:center;gap:12px;padding:11px 12px;display:flex}.aurora-override-row div{gap:3px;display:grid}.aurora-override-row span{color:var(--oa-text);font-size:.78rem}@media (width<=760px){.aurora-page{padding:20px 12px 48px}.aurora-header,.aurora-card__header,.aurora-override-row{flex-direction:column;align-items:stretch}.aurora-form-row,.aurora-form-grid{grid-template-columns:1fr}.aurora-form-grid__wide{grid-column:auto}.aurora-button{text-align:center;width:100%}}@media (prefers-reduced-motion:reduce){.aurora-button{transition:none}.aurora-button:hover{transform:none}}.oa-patient-shell{padding-top:10px}.oa-patient-search{padding:18px}.oa-filter-grid{grid-template-columns:minmax(260px,1fr) 180px auto;align-items:end;gap:12px;display:grid}.oa-filter-grid label,.oa-patient-form label,.oa-photo-form label{color:var(--oa-text);gap:7px;font-size:.82rem;font-weight:800;display:grid}.oa-filter-grid input,.oa-filter-grid select,.oa-patient-form input,.oa-patient-form select,.oa-patient-form textarea,.oa-photo-form input{border:1px solid var(--oa-border);background:var(--oa-surface);width:100%;color:var(--oa-text-strong);border-radius:13px;outline:none;padding:11px 12px}.oa-filter-grid input:focus,.oa-filter-grid select:focus,.oa-patient-form input:focus,.oa-patient-form select:focus,.oa-patient-form textarea:focus{border-color:var(--tenant-primary,#6254e8);box-shadow:0 0 0 4px #6254e817}.oa-patient-table-wrap{overflow:auto}.oa-patient-table{border-collapse:collapse;width:100%;min-width:760px}.oa-patient-table th{text-transform:uppercase;letter-spacing:.06em;color:var(--oa-text);text-align:left;border-bottom:1px solid var(--oa-border);padding:12px;font-size:.72rem}.oa-patient-table td{border-bottom:1px solid var(--oa-border);vertical-align:middle;padding:14px 12px}.oa-patient-table td:first-child{gap:3px;display:grid}.oa-patient-table small,.oa-patient-table td:first-child small{color:var(--oa-text)}.oa-mono{font-family:ui-monospace,SFMono-Regular,Menlo,monospace}.oa-text-link{color:var(--tenant-primary,#6254e8);white-space:nowrap;font-weight:800;text-decoration:none}.oa-empty{text-align:center;color:var(--oa-text);gap:5px;padding:34px;display:grid}.oa-pagination{padding-top:18px}.oa-patient-form,.oa-form-section{gap:18px;display:grid}.oa-section-heading{align-items:flex-start;gap:13px;display:flex}.oa-section-heading>span{background:linear-gradient(135deg,var(--tenant-primary,#6254e8),#2f80ed);color:#fff;border-radius:12px;place-items:center;width:36px;height:36px;font-size:.76rem;font-weight:900;display:grid}.oa-section-heading h2{margin:0 0 3px}.oa-section-heading p{color:var(--oa-text);margin:0}.oa-form-grid-2,.oa-form-grid-3,.oa-form-grid-4{gap:13px;display:grid}.oa-form-grid-2{grid-template-columns:repeat(2,1fr)}.oa-form-grid-3{grid-template-columns:repeat(3,1fr)}.oa-form-grid-4{grid-template-columns:repeat(4,1fr)}.oa-span-3{grid-column:1/-1}.oa-repeat-list{gap:12px;display:grid}.oa-repeat-card{border:1px solid var(--oa-border);background:var(--oa-soft);border-radius:16px;margin:0;padding:15px}.oa-repeat-card legend{color:var(--oa-text);padding:0 7px;font-size:.8rem;font-weight:900}.oa-check-stack{align-content:center;gap:8px;padding-top:23px;display:grid}.oa-check-stack label{align-items:center;gap:8px;display:flex}.oa-check-stack input{width:auto}.oa-add-repeat{justify-self:start}.oa-sticky-actions{z-index:10;border:1px solid var(--oa-border);background:var(--oa-surface);border-radius:18px;justify-content:space-between;align-items:center;gap:20px;padding:15px 18px;display:flex;position:sticky;bottom:14px}@supports (color:color-mix(in lab, red, red)){.oa-sticky-actions{background:color-mix(in srgb,var(--oa-surface) 92%,transparent)}}.oa-sticky-actions{-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);box-shadow:0 18px 50px #0f172a1f}.oa-sticky-actions>div{gap:2px;display:grid}.oa-sticky-actions span{color:var(--oa-text);font-size:.78rem}.oa-alert-danger{background:var(--oa-error)}@supports (color:color-mix(in lab, red, red)){.oa-alert-danger{background:color-mix(in srgb,var(--oa-error) 8%,transparent)}}.oa-alert-danger{border-color:var(--oa-error)}@supports (color:color-mix(in lab, red, red)){.oa-alert-danger{border-color:color-mix(in srgb,var(--oa-error) 25%,transparent)}}.oa-alert-danger{color:var(--oa-error)}.oa-alert-danger ul{margin:.4rem 0 0;padding-left:18px}.oa-header-actions{flex-wrap:wrap;gap:10px;display:flex}.oa-patient-hero{grid-template-columns:auto minmax(0,1fr) minmax(260px,.55fr);align-items:center;gap:22px;display:grid}.oa-avatar-xl{width:94px;height:94px;color:var(--tenant-primary,#6254e8);background:linear-gradient(135deg,#6254e829,#06b6d429);border-radius:28px;place-items:center;font-size:1.6rem;font-weight:900;display:grid;overflow:hidden}.oa-avatar-xl img{object-fit:cover;width:100%;height:100%}.oa-patient-identity{gap:5px;display:grid}.oa-patient-identity h2{margin:2px 0;font-size:1.7rem}.oa-patient-identity p,.oa-patient-identity small{color:var(--oa-text)}.oa-photo-form{gap:9px;display:grid}.oa-patient-summary-grid{grid-template-columns:1.15fr .9fr .8fr;gap:18px;display:grid}.oa-data-list{gap:0;margin:14px 0 0;display:grid}.oa-data-list>div{border-bottom:1px solid var(--oa-border);grid-template-columns:145px 1fr;gap:12px;padding:10px 0;display:grid}.oa-data-list dt{color:var(--oa-text);font-size:.78rem}.oa-data-list dd{margin:0;font-weight:700}.oa-person-chip,.oa-insurance-card{border-bottom:1px solid var(--oa-border);gap:4px;padding:13px 0;display:grid}.oa-person-chip span,.oa-person-chip small,.oa-insurance-card span,.oa-insurance-card small,.oa-empty-mini{color:var(--oa-text)}.oa-clinical-next{background:linear-gradient(135deg,var(--oa-primary),var(--oa-accent)),var(--oa-surface);justify-content:space-between;align-items:center;gap:24px;display:flex}@supports (color:color-mix(in lab, red, red)){.oa-clinical-next{background:linear-gradient(135deg,color-mix(in srgb,var(--oa-primary) 6%,transparent),color-mix(in srgb,var(--oa-accent) 5%,transparent)),var(--oa-surface)}}.oa-coming-badge{white-space:nowrap;background:var(--oa-primary);border-radius:999px;padding:9px 12px}@supports (color:color-mix(in lab, red, red)){.oa-coming-badge{background:color-mix(in srgb,var(--oa-primary) 10%,transparent)}}.oa-coming-badge{color:var(--oa-primary);font-size:.78rem;font-weight:800}@media (width<=900px){.oa-filter-grid{grid-template-columns:1fr 160px}.oa-filter-grid .aurora-button{grid-column:1/-1}.oa-patient-hero{grid-template-columns:auto 1fr}.oa-photo-form{grid-column:1/-1}.oa-patient-summary-grid{grid-template-columns:1fr 1fr}.oa-form-grid-3,.oa-form-grid-4{grid-template-columns:repeat(2,1fr)}}@media (width<=640px){.oa-filter-grid,.oa-form-grid-2,.oa-form-grid-3,.oa-form-grid-4,.oa-patient-summary-grid{grid-template-columns:1fr}.oa-header-actions{width:100%}.oa-header-actions .aurora-button{flex:1}.oa-patient-hero{grid-template-columns:1fr}.oa-avatar-xl{border-radius:22px;width:76px;height:76px}.oa-sticky-actions{flex-direction:column;align-items:stretch;position:static}.oa-sticky-actions .aurora-button{width:100%}.oa-data-list>div{grid-template-columns:1fr;gap:3px}.oa-clinical-next{flex-direction:column;align-items:flex-start}.oa-span-3{grid-column:auto}}.oa-clinical-page{background:var(--oa-canvas);min-height:100vh;color:var(--oa-text-strong)}.oa-clinical-shell{max-width:1540px;margin:0 auto;padding:24px 28px 60px}.oa-clinical-topbar{grid-template-columns:minmax(0,1fr) 280px;align-items:end;gap:28px;margin-bottom:20px;display:grid}.oa-clinical-topbar h1{letter-spacing:-.04em;margin:4px 0;font-size:clamp(1.7rem,2.6vw,2.6rem)}.oa-clinical-topbar p{color:var(--oa-text);margin:4px 0}.oa-history-progress{background:var(--oa-soft);border-radius:999px;height:10px;overflow:hidden}.oa-history-progress span{background:var(--oa-gradient-primary);border-radius:inherit;height:100%;display:block}.oa-clinical-layout{grid-template-columns:286px minmax(0,1fr);align-items:start;gap:20px;display:grid}.oa-history-stepnav{border:1px solid var(--oa-border);background:var(--oa-surface);border-radius:20px;padding:14px;position:sticky;top:18px;box-shadow:0 8px 28px #0f172a0d}.oa-history-step{border-radius:14px;grid-template-columns:32px 1fr;gap:10px;padding:10px 8px;display:grid}.oa-history-step>span{background:var(--oa-soft);width:30px;height:30px;color:var(--oa-text);border-radius:10px;place-items:center;font-size:.72rem;font-weight:900;display:grid}.oa-history-step strong{font-size:.82rem;display:block}.oa-history-step small{color:var(--oa-text);font-size:.72rem}.oa-history-step.is-active>span{background:var(--oa-primary)}@supports (color:color-mix(in lab, red, red)){.oa-history-step.is-active>span{background:color-mix(in srgb,var(--oa-primary) 12%,transparent)}}.oa-history-step.is-active>span{color:var(--oa-primary)}.oa-history-step.is-future{opacity:.52}.oa-clinical-form{gap:18px;display:grid}.oa-clinical-form label{color:var(--oa-text);gap:7px;font-size:.82rem;font-weight:800;display:grid}.oa-clinical-form input,.oa-clinical-form select,.oa-clinical-form textarea{border:1px solid var(--oa-border);background:var(--oa-surface);width:100%;color:var(--oa-text-strong);border-radius:13px;outline:none;padding:11px 12px}.oa-clinical-form input:focus,.oa-clinical-form select:focus,.oa-clinical-form textarea:focus{border-color:var(--oa-primary);box-shadow:0 0 0 4px var(--oa-primary)}@supports (color:color-mix(in lab, red, red)){.oa-clinical-form input:focus,.oa-clinical-form select:focus,.oa-clinical-form textarea:focus{box-shadow:0 0 0 4px color-mix(in srgb,var(--oa-primary) 10%,transparent)}}.oa-readonly-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-top:16px;display:grid}.oa-readonly-grid>div{border:1px solid var(--oa-border);background:var(--oa-soft);border-radius:14px;padding:13px}.oa-readonly-grid small{color:var(--oa-text);margin-bottom:4px;display:block}.oa-pathology-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:16px;display:grid}.oa-pathology-item{border:1px solid var(--oa-border);background:var(--oa-soft);border-radius:15px;gap:9px;padding:14px;display:grid}.oa-segmented{gap:6px;display:flex}.oa-segmented label{display:block}.oa-segmented input{opacity:0;pointer-events:none;position:absolute}.oa-segmented span{border:1px solid var(--oa-border);background:var(--oa-surface);color:var(--oa-text);cursor:pointer;border-radius:999px;padding:6px 10px;font-size:.74rem;display:block}.oa-segmented input:checked+span{background:var(--oa-primary);border-color:var(--oa-primary);color:#fff}.oa-habit-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:13px;margin-top:16px;display:grid}.oa-clinical-form h3{margin:22px 0 8px;font-size:.95rem}.oa-clinical-form .oa-repeat-card{background:var(--oa-soft)}.oa-clinical-form .oa-repeat-card input,.oa-clinical-form .oa-repeat-card select{background:var(--oa-surface)}@media (width<=980px){.oa-clinical-layout{grid-template-columns:1fr}.oa-history-stepnav{grid-template-columns:repeat(3,1fr);display:grid;position:static}.oa-readonly-grid{grid-template-columns:repeat(2,1fr)}}@media (width<=700px){.oa-clinical-shell{padding:18px 12px 44px}.oa-clinical-topbar{grid-template-columns:1fr}.oa-history-stepnav{grid-template-columns:1fr 1fr}.oa-pathology-grid,.oa-habit-grid,.oa-readonly-grid{grid-template-columns:1fr}.oa-segmented{flex-wrap:wrap}}.oa-clinical-form--continuation{margin-top:1rem}.oa-clinical-subheading{border-top:1px solid var(--oa-border,#e4e8ee);justify-content:space-between;align-items:end;gap:1rem;margin:1.35rem 0 .75rem;padding-top:1rem;display:flex}.oa-clinical-subheading strong{font-size:1rem;display:block}.oa-clinical-subheading small{color:var(--oa-text);margin-top:.2rem;display:block}.oa-mini-status{background:var(--oa-soft,#f4f6f8);white-space:nowrap;border-radius:999px;padding:.4rem .65rem;font-size:.78rem}.oa-vitals-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:.8rem;display:grid}.oa-extraoral-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.9rem;display:grid}.oa-exam-region{border:1px solid var(--oa-border,#e4e8ee);background:var(--oa-surface,#fff);border-radius:18px;padding:1rem}@supports (color:color-mix(in lab, red, red)){.oa-exam-region{background:color-mix(in srgb,var(--oa-surface,#fff) 94%,transparent)}}.oa-exam-region__head{justify-content:space-between;align-items:center;gap:.75rem;margin-bottom:.7rem;display:flex}.oa-extraoral-flags{margin:.95rem 0}.oa-extraoral-flags label{border:1px solid var(--oa-border,#e4e8ee);border-radius:14px;align-items:center;gap:.5rem;padding:.75rem;display:flex}.oa-extraoral-flags input[type=checkbox]{width:1.05rem;height:1.05rem}.oa-clinical-note{background:var(--oa-soft,#f4f6f8);border-radius:16px;align-items:flex-start;gap:.55rem;margin-top:1rem;padding:.85rem 1rem;font-size:.88rem;display:flex}.oa-clinical-note span{color:var(--oa-text)}@media (width<=980px){.oa-vitals-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.oa-extraoral-grid{grid-template-columns:1fr}.oa-exam-region__head{flex-direction:column;align-items:flex-start}}@media (width<=620px){.oa-vitals-grid{grid-template-columns:1fr}.oa-clinical-subheading{flex-direction:column;align-items:flex-start}.oa-exam-region{padding:.8rem}.oa-clinical-note{flex-direction:column}}.oa-table-wrap{border:1px solid var(--oa-border,#e4e7ec);border-radius:14px;margin:14px 0 22px;overflow:auto}.oa-table th,.oa-table td{text-align:left;border-bottom:1px solid var(--oa-border,#e4e7ec);padding:11px 13px;font-size:.88rem}.oa-table th{text-transform:uppercase;letter-spacing:.04em;opacity:.68;font-size:.76rem}.oa-table tbody tr:last-child td{border-bottom:0}.oa-vital-deltas{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:12px 0;display:grid}.oa-vital-deltas>div{border:1px solid var(--oa-border,#e4e7ec);border-radius:12px;padding:12px}.oa-vital-deltas small{opacity:.68;margin-bottom:4px;display:block}.oa-vital-chart{border:1px solid var(--oa-border,#e4e7ec);border-radius:14px;margin:12px 0;padding:14px}.oa-vital-chart small{opacity:.68;display:block}.oa-vital-chart svg{width:100%;height:150px;color:var(--oa-primary,#6254e8);margin-top:10px}@media (width<=760px){.oa-vital-deltas{grid-template-columns:repeat(2,minmax(0,1fr))}}.oa-intraoral-grid,.oa-periodontal-summary{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.oa-perio-chart-note{border:1px dashed var(--oa-border);opacity:.86;border-radius:14px;margin:12px 0 16px;padding:14px 16px;font-size:.92rem}.oa-perio-entry input,.oa-perio-entry select{min-width:70px}.oa-card--soft{background:var(--oa-surface)}@supports (color:color-mix(in lab, red, red)){.oa-card--soft{background:color-mix(in srgb,var(--oa-surface) 88%,var(--oa-primary) 12%)}}.oa-card--soft{border-radius:16px;padding:14px}.oa-periodontal-summary{margin:16px 0}@media (width<=820px){.oa-intraoral-grid,.oa-periodontal-summary{grid-template-columns:1fr}.oa-perio-entry{overflow:auto}.oa-perio-entry table{min-width:780px}}.oa-diagnosis-panel{margin-top:1rem}.oa-diagnosis-row{border:1px solid var(--oa-border,#dce4ee);border-radius:16px;grid-template-columns:160px minmax(260px,2fr) 140px 120px;align-items:start;gap:.7rem;margin:.75rem 0;padding:.9rem;display:grid}.oa-diagnosis-row textarea{grid-column:1/-1}.oa-finalize-form{border:1px dashed var(--oa-border,#dce4ee);border-radius:16px;justify-content:space-between;align-items:center;gap:1rem;margin-top:1rem;padding:1rem;display:flex}.oa-grid-2{grid-template-columns:1fr 1fr;gap:.8rem;display:grid}@media (width<=900px){.oa-diagnosis-row,.oa-grid-2{grid-template-columns:1fr}.oa-finalize-form{flex-direction:column;align-items:stretch}}.oa-patient-portal{background:var(--oa-canvas);min-height:100vh}.pp-shell{max-width:1120px;min-height:100vh;margin:0 auto;padding:0 22px 110px}.pp-header{border-bottom:1px solid var(--oa-border);z-index:20;background:var(--oa-canvas);justify-content:space-between;align-items:center;height:82px;display:flex;position:sticky;top:0}@supports (color:color-mix(in lab, red, red)){.pp-header{background:color-mix(in srgb,var(--oa-canvas) 92%,transparent)}}.pp-header{-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}.pp-brand{color:var(--oa-text-strong);align-items:center;gap:11px;text-decoration:none;display:flex}.pp-brand span:last-child{display:grid}.pp-brand small{color:var(--oa-text);font-weight:600}.pp-brand-mark{color:#fff;background:var(--oa-gradient-primary);width:40px;height:40px;box-shadow:0 10px 24px var(--oa-primary);border-radius:15px;place-items:center;display:grid}@supports (color:color-mix(in lab, red, red)){.pp-brand-mark{box-shadow:0 10px 24px color-mix(in srgb,var(--oa-primary) 25%,transparent)}}.pp-header-actions{align-items:center;gap:9px;display:flex}.pp-link-button{color:var(--oa-text);cursor:pointer;background:0 0;border:0;font-weight:750}.pp-main{padding-top:30px}.pp-hero{background:linear-gradient(135deg,var(--oa-primary),var(--oa-accent));border-radius:28px;grid-template-columns:1fr auto;align-items:center;gap:24px;padding:28px;display:grid}@supports (color:color-mix(in lab, red, red)){.pp-hero{background:linear-gradient(135deg,color-mix(in srgb,var(--oa-primary) 12%,var(--oa-surface)),color-mix(in srgb,var(--oa-accent) 7%,var(--oa-surface)))}}.pp-hero{border:1px solid var(--oa-border);box-shadow:var(--oa-shadow)}.pp-hero h1,.pp-page-head h1{letter-spacing:-.05em;margin:5px 0 8px;font-size:clamp(2rem,4vw,3.2rem)}.pp-hero p,.pp-page-head p{color:var(--oa-text);max-width:650px;margin:0;line-height:1.6}.pp-avatar{width:78px;height:78px;color:var(--oa-primary);background:var(--oa-primary);border-radius:26px;place-items:center;font-size:1.2rem;font-weight:900;display:grid}@supports (color:color-mix(in lab, red, red)){.pp-avatar{background:color-mix(in srgb,var(--oa-primary) 12%,var(--oa-surface))}}.pp-avatar{border:1px solid var(--oa-primary)}@supports (color:color-mix(in lab, red, red)){.pp-avatar{border:1px solid color-mix(in srgb,var(--oa-primary) 20%,var(--oa-border))}}.pp-progress-card{background:var(--oa-surface);border:1px solid var(--oa-border);border-radius:24px;margin-top:20px;padding:22px;box-shadow:0 8px 30px #0f172a0d}.pp-progress-card--compact{margin-bottom:24px}.pp-progress-head{justify-content:space-between;align-items:end;gap:16px;margin-bottom:14px;display:flex}.pp-progress-head small,.pp-next-grid small{color:var(--oa-text);margin-bottom:4px;display:block}.pp-progress-head strong{font-size:1.05rem}.pp-progress-head>span{color:var(--oa-primary);font-size:1.7rem;font-weight:900}.pp-next-grid{grid-template-columns:1fr 1fr;gap:12px;margin:18px 0;display:grid}.pp-next-grid>div{background:var(--oa-soft);border-radius:16px;padding:13px 15px}.pp-text-link,.pp-card a,.pp-section-title>a{color:var(--oa-primary);font-weight:800;text-decoration:none}.pp-grid{gap:16px;margin-top:20px;display:grid}.pp-grid--2{grid-template-columns:repeat(2,minmax(0,1fr))}.pp-card{border:1px solid var(--oa-border);background:var(--oa-surface);border-radius:22px;gap:15px;padding:20px;display:flex}.pp-card p{color:var(--oa-text);line-height:1.55}.pp-icon{background:var(--oa-primary);border-radius:14px;flex:0 0 42px;place-items:center;width:42px;height:42px;display:grid}@supports (color:color-mix(in lab, red, red)){.pp-icon{background:color-mix(in srgb,var(--oa-primary) 10%,transparent)}}.pp-icon{color:var(--oa-primary);font-size:1.2rem}.pp-card--pending{opacity:.74}.pp-section{margin-top:30px}.pp-section-title{justify-content:space-between;align-items:end;gap:16px;margin-bottom:12px;display:flex}.pp-section-title h2{margin:4px 0 0}.pp-doc-list{border:1px solid var(--oa-border);background:var(--oa-surface);border-radius:20px;display:grid;overflow:hidden}.pp-doc-list a{color:var(--oa-text-strong);border-top:1px solid var(--oa-border);grid-template-columns:46px 1fr auto;align-items:center;gap:13px;padding:15px 17px;text-decoration:none;display:grid}.pp-doc-list a:first-child{border-top:0}.pp-doc-list a>span{background:var(--oa-error);border-radius:13px;place-items:center;width:42px;height:42px;display:grid}@supports (color:color-mix(in lab, red, red)){.pp-doc-list a>span{background:color-mix(in srgb,var(--oa-error) 9%,transparent)}}.pp-doc-list a>span{color:var(--oa-error);font-size:.7rem;font-weight:900}.pp-doc-list small{color:var(--oa-text);margin-top:4px;display:block}.pp-empty-card,.pp-empty-inline{border:1px dashed var(--oa-border);background:var(--oa-surface);color:var(--oa-text);border-radius:20px;gap:6px;padding:24px;display:grid}.pp-empty-card strong{color:var(--oa-text-strong)}.pp-page-head{padding:20px 0 10px}.pp-timeline{max-width:760px;display:grid}.pp-timeline-item{grid-template-columns:28px 1fr;gap:13px;min-height:92px;display:grid;position:relative}.pp-timeline-item:before{content:"";background:var(--oa-border);width:2px;position:absolute;top:18px;bottom:-3px;left:8px}.pp-timeline-item:last-child:before{display:none}.pp-timeline-dot{border:4px solid var(--oa-surface);background:var(--oa-border);width:18px;height:18px;box-shadow:0 0 0 1px var(--oa-border);border-radius:50%}.pp-timeline-item.is-completed .pp-timeline-dot{background:var(--oa-health)}.pp-timeline-item.is-in_progress .pp-timeline-dot,.pp-timeline-item.is-scheduled .pp-timeline-dot{background:var(--oa-primary)}.pp-timeline-item div:last-child{gap:4px;padding-bottom:22px;display:grid}.pp-timeline-item small,.pp-timeline-item span{color:var(--oa-text)}.pp-timeline-item p{background:var(--oa-soft);color:var(--oa-text);border-radius:13px;margin:6px 0 0;padding:11px 13px}.pp-tooth-grid{grid-template-columns:repeat(5,minmax(0,1fr));gap:12px;margin-top:20px;display:grid}.pp-tooth-grid article{border:1px solid var(--oa-border);background:var(--oa-surface);border-radius:17px;gap:5px;padding:14px;display:grid}.pp-tooth-grid b{color:var(--oa-primary);font-size:1.15rem}.pp-tooth-grid span{font-weight:800}.pp-tooth-grid small{color:var(--oa-text)}.pp-history-chips{flex-wrap:wrap;gap:8px;display:flex}.pp-history-chips span{background:var(--oa-soft);border-radius:999px;padding:8px 11px;font-size:.78rem;font-weight:750}.pp-alert{border-radius:14px;margin-bottom:14px;padding:12px 15px}.pp-alert--success{background:var(--oa-health)}@supports (color:color-mix(in lab, red, red)){.pp-alert--success{background:color-mix(in srgb,var(--oa-health) 10%,transparent)}}.pp-alert--success{color:var(--oa-health)}.pp-bottom-nav{left:50%;bottom:max(12px,env(safe-area-inset-bottom));z-index:30;border:1px solid var(--oa-border);background:var(--oa-surface);border-radius:22px;grid-template-columns:repeat(5,1fr);gap:4px;width:min(560px,100% - 24px);padding:7px;display:grid;position:fixed;transform:translate(-50%)}@supports (color:color-mix(in lab, red, red)){.pp-bottom-nav{background:color-mix(in srgb,var(--oa-surface) 94%,transparent)}}.pp-bottom-nav{-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);box-shadow:0 18px 48px #0f172a29}.pp-bottom-nav a,.pp-bottom-nav button{min-height:54px;color:var(--oa-text);font:inherit;cursor:pointer;background:0 0;border:0;border-radius:16px;place-items:center;gap:2px;text-decoration:none;display:grid}.pp-bottom-nav a[aria-current=page],.pp-bottom-nav button[aria-current=page]{background:var(--oa-primary)}@supports (color:color-mix(in lab, red, red)){.pp-bottom-nav a[aria-current=page],.pp-bottom-nav button[aria-current=page]{background:color-mix(in srgb,var(--oa-primary) 10%,transparent)}}.pp-bottom-nav a[aria-current=page],.pp-bottom-nav button[aria-current=page]{color:var(--oa-primary);font-weight:800}.pp-more-scrim{z-index:34;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);opacity:0;visibility:hidden;background:#070a1866;transition:opacity .2s,visibility .2s;position:fixed;inset:0}.pp-more-scrim.is-open{opacity:1;visibility:visible}.pp-more-sheet{z-index:36;width:min(480px,100%);max-height:70vh;padding:10px 14px max(20px,env(safe-area-inset-bottom));background:var(--oa-glass-strong);-webkit-backdrop-filter:blur(24px)saturate(1.2);backdrop-filter:blur(24px)saturate(1.2);border:1px solid var(--oa-hairline,var(--oa-border));border-radius:26px 26px 0 0;gap:2px;transition:transform .24s cubic-bezier(.2,.8,.2,1);display:grid;position:fixed;bottom:0;left:50%;overflow:auto;transform:translate(-50%,100%);box-shadow:0 -20px 55px #0f172a33}.pp-more-sheet.is-open{transform:translate(-50%)}.pp-more-sheet-handle{background:var(--oa-border);border-radius:99px;width:38px;height:4px;margin:2px auto 10px}.pp-more-sheet a{color:var(--oa-text-strong);border-radius:14px;align-items:center;gap:12px;padding:13px 10px;font-weight:700;text-decoration:none;display:flex}.pp-more-sheet a:hover{background:var(--oa-soft)}.pp-more-sheet a[aria-current=page]{color:var(--oa-primary);background:var(--oa-primary)}@supports (color:color-mix(in lab, red, red)){.pp-more-sheet a[aria-current=page]{background:color-mix(in srgb,var(--oa-primary) 8%,transparent)}}.pp-more-sheet a span{background:var(--oa-soft);width:34px;height:34px;color:var(--oa-primary);border-radius:11px;place-items:center;display:grid}@media (width>=721px){.pp-more-scrim,.pp-more-sheet{display:none}}@media (prefers-reduced-motion:reduce){.pp-more-sheet{transition:none}}.pp-bottom-nav small{font-size:.7rem}@media (width<=720px){.pp-shell{padding:0 13px 100px}.pp-header{height:70px}.pp-brand small{display:none}.pp-main{padding-top:18px}.pp-hero{border-radius:22px;padding:20px}.pp-avatar{border-radius:20px;width:58px;height:58px}.pp-grid--2,.pp-next-grid{grid-template-columns:1fr}.pp-tooth-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.pp-doc-list a{grid-template-columns:42px 1fr}.pp-doc-list a>b{display:none}.pp-page-head h1{font-size:2rem}}.oa-brand{color:var(--oa-text-strong);text-decoration:none}.oa-sidebar{flex-direction:column;display:flex}.oa-sidebar-foot{margin-top:auto;padding:18px 8px 0}.oa-topbar-copy{max-width:760px;margin:6px 0 0;line-height:1.55}.oa-page{gap:18px;display:grid}.oa-page-grid{grid-template-columns:minmax(280px,360px) minmax(0,1fr);align-items:start;gap:18px;display:grid}.oa-stack{gap:16px;display:grid}.oa-card h2,.oa-card h3{margin-top:0}.oa-card p:last-child{margin-bottom:0}.oa-card--compact{padding:14px 16px}.oa-card--muted{background:var(--oa-soft);box-shadow:none}.oa-card--danger{border-color:var(--oa-error)}@supports (color:color-mix(in lab, red, red)){.oa-card--danger{border-color:color-mix(in srgb,var(--oa-error) 35%,var(--oa-border))}}.oa-form{gap:12px;display:grid}.oa-form label{color:var(--oa-text);gap:5px;font-size:.82rem;font-weight:700;display:grid}.oa-field,.oa-form input,.oa-form select,.oa-form textarea{border:1px solid var(--oa-border);background:var(--oa-surface);width:100%;min-height:42px;color:var(--oa-text-strong);border-radius:12px;padding:9px 11px}.oa-form textarea{resize:vertical;min-height:92px}.oa-form input[type=checkbox],.oa-form input[type=radio]{width:auto;min-height:auto;padding:0}.oa-form-row{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.oa-form-row--3{grid-template-columns:repeat(3,minmax(0,1fr))}.oa-form-row--4{grid-template-columns:repeat(4,minmax(0,1fr))}.oa-form-row--5{grid-template-columns:repeat(5,minmax(0,1fr))}.oa-form-row--action{grid-template-columns:repeat(4,minmax(0,1fr)) auto;align-items:end}.oa-inline-actions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.oa-inline-actions form{align-items:center;gap:6px;display:inline-flex}.oa-button--danger{color:var(--oa-error);background:var(--oa-surface);border:1px solid var(--oa-error)}@supports (color:color-mix(in lab, red, red)){.oa-button--danger{border:1px solid color-mix(in srgb,var(--oa-error) 35%,var(--oa-border))}}.oa-button--small{border-radius:10px;min-height:34px;padding:0 11px;font-size:.82rem}.oa-button--ghost{color:var(--oa-text-strong);border:1px solid var(--oa-border);background:0 0}.oa-alert{border:1px solid var(--oa-border);background:var(--oa-surface);border-radius:14px;align-items:flex-start;gap:11px;margin-bottom:16px;padding:12px 15px;display:flex}.oa-alert ul{margin-bottom:0}.oa-alert-icon{filter:saturate(1.15);flex:none;font-size:1.08rem;line-height:1.35}.oa-alert-body{min-width:0}.oa-alert--success{color:var(--oa-health);border-color:var(--oa-health)}@supports (color:color-mix(in lab, red, red)){.oa-alert--success{border-color:color-mix(in srgb,var(--oa-health) 28%,var(--oa-border))}}.oa-alert--success{background:var(--oa-health)}@supports (color:color-mix(in lab, red, red)){.oa-alert--success{background:color-mix(in srgb,var(--oa-health) 8%,var(--oa-surface))}}.oa-alert--warning{color:var(--oa-warning);border-color:var(--oa-warning)}@supports (color:color-mix(in lab, red, red)){.oa-alert--warning{border-color:color-mix(in srgb,var(--oa-warning) 30%,var(--oa-border))}}.oa-alert--warning{background:var(--oa-warning)}@supports (color:color-mix(in lab, red, red)){.oa-alert--warning{background:color-mix(in srgb,var(--oa-warning) 8%,var(--oa-surface))}}.oa-alert--info{color:var(--oa-primary);border-color:var(--oa-primary)}@supports (color:color-mix(in lab, red, red)){.oa-alert--info{border-color:color-mix(in srgb,var(--oa-primary) 28%,var(--oa-border))}}.oa-alert--info{background:var(--oa-primary)}@supports (color:color-mix(in lab, red, red)){.oa-alert--info{background:color-mix(in srgb,var(--oa-primary) 7%,var(--oa-surface))}}.oa-alert--error{color:var(--oa-error);border-color:var(--oa-error)}@supports (color:color-mix(in lab, red, red)){.oa-alert--error{border-color:color-mix(in srgb,var(--oa-error) 32%,var(--oa-border))}}.oa-alert--error{background:var(--oa-error)}@supports (color:color-mix(in lab, red, red)){.oa-alert--error{background:color-mix(in srgb,var(--oa-error) 7%,var(--oa-surface))}}.oa-table-wrap{width:100%;overflow:auto}.oa-table{border-collapse:collapse;width:100%;min-width:620px}.oa-table th,.oa-table td{border-bottom:1px solid var(--oa-border);text-align:left;vertical-align:top;padding:10px 11px}.oa-table th{color:var(--oa-text);letter-spacing:.02em;font-size:.78rem}.oa-table tbody tr:hover{background:var(--oa-primary)}@supports (color:color-mix(in lab, red, red)){.oa-table tbody tr:hover{background:color-mix(in srgb,var(--oa-primary) 3%,transparent)}}.oa-table code{color:var(--oa-primary)}.oa-kpi-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;display:grid}.oa-kpi{border:1px solid var(--oa-border);background:var(--oa-surface);border-radius:15px;padding:15px}.oa-kpi small{color:var(--oa-text);margin-bottom:7px;display:block}.oa-kpi strong{letter-spacing:-.03em;font-size:1.45rem;display:block}.oa-status--danger{color:var(--oa-error);font-weight:800}.oa-status--ok{color:var(--oa-health);font-weight:800}.oa-link{color:var(--oa-primary);font-weight:750;text-decoration:none}.oa-link:hover{text-decoration:underline}.oa-empty{border:1px dashed var(--oa-border);color:var(--oa-text);background:var(--oa-surface);border-radius:14px;padding:18px}.oa-section-toolbar{justify-content:space-between;align-items:end;gap:12px;margin-bottom:12px;display:flex}.oa-section-toolbar h2{margin-bottom:4px}.oa-detail-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.oa-list-plain{margin:0;padding-left:20px}.oa-clinical-boundary{border-left:4px solid var(--oa-warning)}.oa-report-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;display:grid}.oa-report-card{min-width:0}.oa-report-card h2{margin-bottom:6px}.oa-report-metric{font-size:1.7rem;font-weight:850}.oa-code-hash{color:var(--oa-primary);font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.8rem}.oa-checkline{grid-template-columns:none;align-items:center;gap:8px!important;display:flex!important}.oa-checkline input{flex:none}.pp-doc-list--large a{grid-template-columns:46px minmax(0,1fr) auto}.pp-muted{color:var(--oa-text)}.pp-muted-grid{color:var(--oa-text);gap:8px;display:grid}@media (width<=980px){.oa-page-grid,.oa-report-grid{grid-template-columns:1fr}.oa-kpi-grid,.oa-form-row--4,.oa-form-row--5,.oa-form-row--action{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=720px){.oa-shell{grid-template-columns:1fr}.oa-sidebar{border-right:0;border-bottom:1px solid var(--oa-border);height:auto;padding-bottom:12px;position:relative}.oa-nav{grid-template-columns:repeat(2,minmax(0,1fr))}.oa-sidebar-foot{display:none}.oa-main{padding:18px 14px 38px}.oa-topbar{align-items:flex-start}.oa-actions{flex-wrap:wrap;justify-content:flex-end}.oa-form-row,.oa-form-row--3,.oa-form-row--4,.oa-form-row--5,.oa-form-row--action,.oa-detail-grid,.oa-kpi-grid{grid-template-columns:1fr}}.oa-page-narrow{max-width:760px}.oa-btn{color:#fff;background:var(--oa-gradient-primary);cursor:pointer;border:0;border-radius:13px;justify-content:center;align-items:center;min-height:42px;padding:0 16px;font-weight:750;text-decoration:none;display:inline-flex}.oa-btn-small{border-radius:10px;min-height:34px;padding:0 11px;font-size:.82rem}.oa-clinical-panel{border:1px solid var(--oa-border);border-radius:var(--oa-radius);background:var(--oa-surface);box-shadow:0 6px 26px var(--oa-text-strong);margin-top:18px;padding:20px}@supports (color:color-mix(in lab, red, red)){.oa-clinical-panel{box-shadow:0 6px 26px color-mix(in srgb,var(--oa-text-strong) 4%,transparent)}}.oa-grid-4{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;display:grid}.oa-row{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.oa-stat{border:1px solid var(--oa-border);background:var(--oa-soft);border-radius:14px;padding:12px}.oa-perio-full{gap:10px;display:grid;overflow:auto}.oa-perio-site-row,.oa-perio-tooth-row{grid-template-columns:minmax(72px,.6fr) repeat(6,minmax(70px,1fr));align-items:center;gap:6px;min-width:680px;display:grid}.oa-perio-tooth-row{grid-template-columns:minmax(72px,.6fr) repeat(3,minmax(110px,1fr));min-width:480px}@media (width<=900px){.oa-grid-4{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=620px){.oa-grid-4{grid-template-columns:1fr}}.oa-card__header{justify-content:space-between;align-items:flex-start;gap:14px;padding:18px 20px 0;display:flex}.oa-card__title{color:var(--oa-text-strong);letter-spacing:-.02em;margin:0;font-size:1.05rem}.oa-page__header{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:1rem;display:flex}:root{--oa-glass:var(--oa-surface)}@supports (color:color-mix(in lab, red, red)){:root{--oa-glass:color-mix(in srgb,var(--oa-surface) 82%,transparent)}}:root{--oa-glass-strong:var(--oa-surface)}@supports (color:color-mix(in lab, red, red)){:root{--oa-glass-strong:color-mix(in srgb,var(--oa-surface) 93%,transparent)}}:root{--oa-hairline:var(--oa-border)}@supports (color:color-mix(in lab, red, red)){:root{--oa-hairline:color-mix(in srgb,var(--oa-border) 72%,transparent)}}:root{--oa-shadow-xs:0 1px 2px var(--oa-text-strong),0 5px 18px var(--oa-text-strong)}@supports (color:color-mix(in lab, red, red)){:root{--oa-shadow-xs:0 1px 2px color-mix(in srgb,var(--oa-text-strong) 4%,transparent),0 5px 18px color-mix(in srgb,var(--oa-text-strong) 4%,transparent)}}:root{--oa-shadow-sm:0 8px 24px var(--oa-text-strong)}@supports (color:color-mix(in lab, red, red)){:root{--oa-shadow-sm:0 8px 24px color-mix(in srgb,var(--oa-text-strong) 7%,transparent)}}:root{--oa-shadow-lg:0 24px 70px var(--oa-text-strong)}@supports (color:color-mix(in lab, red, red)){:root{--oa-shadow-lg:0 24px 70px color-mix(in srgb,var(--oa-text-strong) 12%,transparent)}}:root{--oa-ease:cubic-bezier(.2,.75,.2,1);--oa-sidebar-width:272px;--oa-sidebar-collapsed:86px}:root[data-theme=dark]{--oa-glass:var(--oa-surface)}@supports (color:color-mix(in lab, red, red)){:root[data-theme=dark]{--oa-glass:color-mix(in srgb,var(--oa-surface) 80%,transparent)}}:root[data-theme=dark]{--oa-glass-strong:var(--oa-surface)}@supports (color:color-mix(in lab, red, red)){:root[data-theme=dark]{--oa-glass-strong:color-mix(in srgb,var(--oa-surface) 91%,transparent)}}:root[data-theme=dark]{--oa-shadow-xs:0 1px 2px #00000038,0 8px 22px #0000002e;--oa-shadow-sm:0 12px 34px #00000038;--oa-shadow-lg:0 30px 90px #00000057}html{scroll-behavior:smooth;scroll-padding-top:96px}body[data-oa-premium-shell]{isolation:isolate;position:relative;overflow-x:hidden}body[data-oa-premium-shell]:before{content:"";z-index:-3;background:linear-gradient(180deg,var(--oa-canvas),var(--oa-canvas) 42%);position:fixed;inset:0}@supports (color:color-mix(in lab, red, red)){body[data-oa-premium-shell]:before{background:linear-gradient(180deg,color-mix(in srgb,var(--oa-canvas) 97%,var(--oa-primary) 3%),var(--oa-canvas) 42%)}}body[data-oa-premium-shell]:before{pointer-events:none}.oa-ambient{z-index:-2;pointer-events:none;contain:strict;position:fixed;inset:0;overflow:hidden}.oa-ambient i{filter:blur(1px);opacity:.42;border-radius:50%;position:absolute;transform:translateZ(0)}.oa-ambient i:first-child{background:radial-gradient(circle,var(--oa-primary),transparent 68%);width:46vw;height:46vw;top:-20vw;left:-22vw}@supports (color:color-mix(in lab, red, red)){.oa-ambient i:first-child{background:radial-gradient(circle,color-mix(in srgb,var(--oa-primary) 15%,transparent),transparent 68%)}}.oa-ambient i:nth-child(2){background:radial-gradient(circle,var(--oa-accent),transparent 70%);width:34vw;height:34vw;top:8vh;right:-14vw}@supports (color:color-mix(in lab, red, red)){.oa-ambient i:nth-child(2){background:radial-gradient(circle,color-mix(in srgb,var(--oa-accent) 13%,transparent),transparent 70%)}}.oa-ambient i:nth-child(3){background:radial-gradient(circle,var(--oa-secondary),transparent 70%);width:32vw;height:32vw;bottom:-25vw;left:34vw}@supports (color:color-mix(in lab, red, red)){.oa-ambient i:nth-child(3){background:radial-gradient(circle,color-mix(in srgb,var(--oa-secondary) 9%,transparent),transparent 70%)}}.oa-skip-link{z-index:200;background:var(--oa-text-strong);color:var(--oa-surface);box-shadow:var(--oa-shadow-lg);transition:transform .18s var(--oa-ease);border-radius:12px;padding:10px 14px;font-weight:800;text-decoration:none;position:fixed;top:12px;left:16px;transform:translateY(-150%)}.oa-skip-link:focus{transform:translateY(0)}.oa-route-progress{z-index:180;pointer-events:none;opacity:0;height:3px;transition:opacity .2s;position:fixed;inset:0 0 auto}.oa-route-progress span{background:var(--oa-gradient-primary);width:18%;height:100%;box-shadow:0 0 18px var(--oa-primary);display:block;transform:translate(-110%)}@supports (color:color-mix(in lab, red, red)){.oa-route-progress span{box-shadow:0 0 18px color-mix(in srgb,var(--oa-primary) 52%,transparent)}}html.is-navigating .oa-route-progress{opacity:1}html.is-navigating .oa-route-progress span{animation:oa-route-progress 1.35s var(--oa-ease) infinite}@keyframes oa-route-progress{0%{transform:translate(-110%)scaleX(.7)}55%{transform:translate(340%)scaleX(2.4)}to{transform:translate(650%)scaleX(.8)}}body[data-oa-premium-shell] .oa-shell{grid-template-columns:var(--oa-sidebar-width) minmax(0,1fr);transition:grid-template-columns .28s var(--oa-ease)}body[data-oa-premium-shell] .oa-sidebar{width:var(--oa-sidebar-width);background:var(--oa-glass-strong);border-right:1px solid var(--oa-hairline);box-shadow:16px 0 50px var(--oa-text-strong);padding:18px 14px 16px}@supports (color:color-mix(in lab, red, red)){body[data-oa-premium-shell] .oa-sidebar{box-shadow:16px 0 50px color-mix(in srgb,var(--oa-text-strong) 3%,transparent)}}body[data-oa-premium-shell] .oa-sidebar{-webkit-backdrop-filter:blur(22px)saturate(1.22);backdrop-filter:blur(22px)saturate(1.22);transition:width .28s var(--oa-ease),transform .28s var(--oa-ease),box-shadow .28s ease;overflow:hidden}.oa-sidebar-head{align-items:center;gap:8px;min-height:58px;margin-bottom:8px;display:flex}body[data-oa-premium-shell] .oa-brand{flex:1;gap:12px;min-width:0;padding:4px 6px}body[data-oa-premium-shell] .oa-brand-mark{isolation:isolate;width:42px;height:42px;box-shadow:0 12px 28px var(--oa-primary);border-radius:15px;flex:0 0 42px;position:relative}@supports (color:color-mix(in lab, red, red)){body[data-oa-premium-shell] .oa-brand-mark{box-shadow:0 12px 28px color-mix(in srgb,var(--oa-primary) 25%,transparent)}}body[data-oa-premium-shell] .oa-brand-mark:after{content:"";pointer-events:none;border:1px solid #ffffff57;border-radius:14px;position:absolute;inset:1px}.oa-brand-copy{white-space:nowrap;min-width:0;line-height:1.05;display:grid}.oa-brand-copy strong{text-overflow:ellipsis;font-size:.95rem;overflow:hidden}.oa-brand-copy small{color:var(--oa-text);letter-spacing:.07em;text-transform:uppercase;margin-top:5px;font-size:.66rem;font-weight:700}.oa-sidebar-collapse{border:1px solid var(--oa-border);background:var(--oa-surface);width:30px;height:30px;color:var(--oa-text);cursor:pointer;box-shadow:var(--oa-shadow-xs);transition:transform .25s var(--oa-ease),background .18s ease;border-radius:10px;flex:0 0 30px;place-items:center;font-size:1.2rem;display:grid}.oa-sidebar-collapse:hover{background:var(--oa-soft);color:var(--oa-text-strong);transform:translate(-2px)}.oa-nav{overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:var(--oa-text) transparent;gap:12px;padding-top:6px;overflow:auto}@supports (color:color-mix(in lab, red, red)){.oa-nav{scrollbar-color:color-mix(in srgb,var(--oa-text) 25%,transparent) transparent}}.oa-nav-group{gap:5px;display:grid}.oa-nav-label{color:var(--oa-text);padding:7px 12px 4px}@supports (color:color-mix(in lab, red, red)){.oa-nav-label{color:color-mix(in srgb,var(--oa-text) 82%,transparent)}}.oa-nav-label{letter-spacing:.12em;text-transform:uppercase;white-space:nowrap;font-size:.64rem;font-weight:850;line-height:1}body[data-oa-premium-shell] .oa-nav a{will-change:transform;border:1px solid #0000;border-radius:14px;min-height:46px;padding:0 11px;position:relative;overflow:hidden}body[data-oa-premium-shell] .oa-nav a:before{content:"";background:var(--oa-primary);opacity:0;width:3px;height:18px;transition:.2s var(--oa-ease);border-radius:999px;position:absolute;top:50%;left:0;transform:translate(-8px,-50%)scaleY(.4)}body[data-oa-premium-shell] .oa-nav a:hover{background:var(--oa-surface)}@supports (color:color-mix(in lab, red, red)){body[data-oa-premium-shell] .oa-nav a:hover{background:color-mix(in srgb,var(--oa-surface) 72%,var(--oa-primary) 6%)}}body[data-oa-premium-shell] .oa-nav a:hover{border-color:var(--oa-primary)}@supports (color:color-mix(in lab, red, red)){body[data-oa-premium-shell] .oa-nav a:hover{border-color:color-mix(in srgb,var(--oa-primary) 8%,var(--oa-border))}}body[data-oa-premium-shell] .oa-nav a:hover{box-shadow:var(--oa-shadow-xs);transform:translate(2px)}body[data-oa-premium-shell] .oa-nav a[aria-current=page]{background:linear-gradient(110deg,var(--oa-primary),var(--oa-accent))}@supports (color:color-mix(in lab, red, red)){body[data-oa-premium-shell] .oa-nav a[aria-current=page]{background:linear-gradient(110deg,color-mix(in srgb,var(--oa-primary) 13%,var(--oa-surface)),color-mix(in srgb,var(--oa-accent) 5%,var(--oa-surface)))}}body[data-oa-premium-shell] .oa-nav a[aria-current=page]{border-color:var(--oa-primary)}@supports (color:color-mix(in lab, red, red)){body[data-oa-premium-shell] .oa-nav a[aria-current=page]{border-color:color-mix(in srgb,var(--oa-primary) 17%,var(--oa-border))}}body[data-oa-premium-shell] .oa-nav a[aria-current=page]{box-shadow:inset 0 1px #fff3,var(--oa-shadow-xs)}body[data-oa-premium-shell] .oa-nav a[aria-current=page]:before{opacity:1;transform:translateY(-50%)scaleY(1)}.oa-nav-icon{width:24px;color:var(--oa-primary);flex:0 0 24px;place-items:center;display:grid}@supports (color:color-mix(in lab, red, red)){.oa-nav-icon{color:color-mix(in srgb,var(--oa-primary) 82%,var(--oa-text-strong))}}.oa-icon{flex-shrink:0;display:block}.oa-icon-button .oa-icon,.oa-mobile-menu .oa-icon,.oa-sidebar-collapse .oa-icon,.pp-icon .oa-icon,.pp-bottom-nav a .oa-icon{width:19px;height:19px}.oa-brand-mark .oa-icon,.pp-brand-mark .oa-icon,.oa-auth-icon .oa-icon,.oa-dialog-icon .oa-icon{width:20px;height:20px}.oa-nav a[aria-current=page] .oa-nav-icon{color:var(--oa-primary)}.oa-nav-text{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.oa-sidebar-foot{border-top:1px solid var(--oa-hairline);margin-top:auto!important;padding:14px 6px 0!important}.oa-sidebar-status{background:var(--oa-health);border-radius:13px;align-items:center;gap:10px;min-width:0;padding:9px 8px;display:flex}@supports (color:color-mix(in lab, red, red)){.oa-sidebar-status{background:color-mix(in srgb,var(--oa-health) 5%,var(--oa-surface))}}.oa-sidebar-status>span{background:var(--oa-health);width:8px;height:8px;box-shadow:0 0 0 4px var(--oa-health);border-radius:50%;flex:0 0 8px}@supports (color:color-mix(in lab, red, red)){.oa-sidebar-status>span{box-shadow:0 0 0 4px color-mix(in srgb,var(--oa-health) 12%,transparent)}}.oa-sidebar-status div{white-space:nowrap;min-width:0;display:grid}.oa-sidebar-status strong{font-size:.75rem}.oa-sidebar-status small{color:var(--oa-text);margin-top:2px;font-size:.65rem}:root[data-sidebar=collapsed] body[data-oa-premium-shell] .oa-shell{grid-template-columns:var(--oa-sidebar-collapsed) minmax(0,1fr)}:root[data-sidebar=collapsed] body[data-oa-premium-shell] .oa-sidebar{width:var(--oa-sidebar-collapsed)}:root[data-sidebar=collapsed] .oa-brand-copy,:root[data-sidebar=collapsed] .oa-nav-label,:root[data-sidebar=collapsed] .oa-nav-text,:root[data-sidebar=collapsed] .oa-sidebar-status div{opacity:0;pointer-events:none;width:0}:root[data-sidebar=collapsed] .oa-sidebar-collapse{transform:rotate(180deg)}:root[data-sidebar=collapsed] .oa-sidebar-collapse:hover{transform:rotate(180deg)translate(-2px)}:root[data-sidebar=collapsed] body[data-oa-premium-shell] .oa-nav a{justify-content:center;padding-inline:8px}:root[data-sidebar=collapsed] .oa-sidebar-status{justify-content:center}.oa-sidebar-scrim{display:none}.oa-mobile-menu{border:1px solid var(--oa-border);background:var(--oa-surface);width:42px;height:42px;color:var(--oa-text-strong);box-shadow:var(--oa-shadow-xs);cursor:pointer;border-radius:13px;display:none}body[data-oa-premium-shell] .oa-main{width:100%;max-width:1800px;margin-inline:auto;padding:0 30px 54px}body[data-oa-premium-shell] .oa-topbar{z-index:24;background:linear-gradient(180deg,var(--oa-canvas) 66%,transparent);min-height:96px;margin:0 -10px 24px;padding:18px 10px 14px;position:sticky;top:0}@supports (color:color-mix(in lab, red, red)){body[data-oa-premium-shell] .oa-topbar{background:linear-gradient(180deg,color-mix(in srgb,var(--oa-canvas) 96%,transparent) 66%,transparent)}}body[data-oa-premium-shell] .oa-topbar{-webkit-backdrop-filter:blur(12px)saturate(1.08);backdrop-filter:blur(12px)saturate(1.08)}.oa-topbar-leading{align-items:center;gap:12px;min-width:0;display:flex}body[data-oa-premium-shell] .oa-title{text-wrap:balance;font-weight:860}body[data-oa-premium-shell] .oa-eyebrow{letter-spacing:.11em;font-size:.7rem}.oa-environment-pill{border:1px solid var(--oa-border);background:var(--oa-glass-strong);min-height:34px;color:var(--oa-text);white-space:nowrap;box-shadow:var(--oa-shadow-xs);border-radius:999px;align-items:center;gap:7px;padding:0 11px;font-size:.72rem;font-weight:800;display:inline-flex}.oa-environment-pill i{background:var(--oa-health);width:7px;height:7px;box-shadow:0 0 0 4px var(--oa-health);border-radius:50%}@supports (color:color-mix(in lab, red, red)){.oa-environment-pill i{box-shadow:0 0 0 4px color-mix(in srgb,var(--oa-health) 10%,transparent)}}.oa-feedback-stack{gap:9px;margin-bottom:14px;display:grid}.oa-content-stage{min-width:0;animation:oa-content-in .38s var(--oa-ease) both}@keyframes oa-content-in{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}body[data-oa-premium-shell] .oa-card{border-color:var(--oa-hairline);box-shadow:var(--oa-shadow-xs);transition:transform .22s var(--oa-ease),box-shadow .22s var(--oa-ease),border-color .22s ease;background:linear-gradient(180deg,var(--oa-surface),var(--oa-surface));position:relative}@supports (color:color-mix(in lab, red, red)){body[data-oa-premium-shell] .oa-card{background:linear-gradient(180deg,color-mix(in srgb,var(--oa-surface) 97%,white 3%),var(--oa-surface))}}:root[data-theme=dark] body[data-oa-premium-shell] .oa-card{background:linear-gradient(180deg,var(--oa-surface),var(--oa-surface))}@supports (color:color-mix(in lab, red, red)){:root[data-theme=dark] body[data-oa-premium-shell] .oa-card{background:linear-gradient(180deg,color-mix(in srgb,var(--oa-surface) 95%,white 5%),var(--oa-surface))}}body[data-oa-premium-shell] .oa-card--interactive:hover,body[data-oa-premium-shell] .oa-card[data-interactive=true]:hover{border-color:var(--oa-primary)}@supports (color:color-mix(in lab, red, red)){body[data-oa-premium-shell] .oa-card--interactive:hover,body[data-oa-premium-shell] .oa-card[data-interactive=true]:hover{border-color:color-mix(in srgb,var(--oa-primary) 14%,var(--oa-border))}}body[data-oa-premium-shell] .oa-card--interactive:hover,body[data-oa-premium-shell] .oa-card[data-interactive=true]:hover{box-shadow:var(--oa-shadow-sm);transform:translateY(-2px)}body[data-oa-premium-shell] .oa-card--premium{border-color:var(--oa-primary)}@supports (color:color-mix(in lab, red, red)){body[data-oa-premium-shell] .oa-card--premium{border-color:color-mix(in srgb,var(--oa-primary) 17%,var(--oa-border))}}body[data-oa-premium-shell] .oa-card--premium{box-shadow:var(--oa-shadow-tinted)}body[data-oa-premium-shell] .oa-card--premium:before{content:"";border-radius:inherit;background:linear-gradient(135deg,var(--oa-primary),transparent 42%,var(--oa-accent));padding:1px;position:absolute;inset:0}@supports (color:color-mix(in lab, red, red)){body[data-oa-premium-shell] .oa-card--premium:before{background:linear-gradient(135deg,color-mix(in srgb,var(--oa-primary) 35%,transparent),transparent 42%,color-mix(in srgb,var(--oa-accent) 25%,transparent))}}body[data-oa-premium-shell] .oa-card--premium:before{pointer-events:none;-webkit-mask-composite:xor;-webkit-mask-source-type:auto,auto;-webkit-mask-composite:xor;-webkit-mask-source-type:auto,auto;-webkit-mask-image:linear-gradient(#000 0 0),linear-gradient(#000 0 0);mask-image:linear-gradient(#000 0 0),linear-gradient(#000 0 0);-webkit-mask-position:0 0,0 0;mask-position:0 0,0 0;-webkit-mask-size:auto,auto;mask-size:auto,auto;-webkit-mask-repeat:repeat,repeat;mask-repeat:repeat,repeat;-webkit-mask-clip:content-box,border-box;mask-clip:content-box,border-box;-webkit-mask-origin:content-box,border-box;mask-origin:content-box,border-box;-webkit-mask-composite:xor;mask-composite:exclude;-webkit-mask-source-type:auto,auto;mask-mode:match-source,match-source}body[data-oa-premium-shell] .oa-button{box-shadow:var(--oa-shadow-xs);letter-spacing:-.01em;position:relative;overflow:hidden}body[data-oa-premium-shell] .oa-button:after{content:"";width:45%;transition:left .55s var(--oa-ease);pointer-events:none;background:linear-gradient(90deg,#0000,#ffffff45,#0000);position:absolute;inset:-40% auto -40% -70%;transform:skew(-18deg)}body[data-oa-premium-shell] .oa-button:hover:after{left:130%}body[data-oa-premium-shell] .oa-button:active{transform:translateY(0)scale(.985)}body[data-oa-premium-shell] .oa-list-row{transition:background .18s var(--oa-ease),transform .18s var(--oa-ease),box-shadow .18s var(--oa-ease)}body[data-oa-premium-shell] a.oa-list-row:hover{background:var(--oa-primary)}body[data-oa-premium-shell] .oa-list-row:has(>a[href]):hover{background:var(--oa-primary)}@supports (color:color-mix(in lab, red, red)){body[data-oa-premium-shell] a.oa-list-row:hover{background:color-mix(in srgb,var(--oa-primary) 4%,transparent)}body[data-oa-premium-shell] .oa-list-row:has(>a[href]):hover{background:color-mix(in srgb,var(--oa-primary) 4%,transparent)}}body[data-oa-premium-shell] a.oa-list-row:hover{transform:translate(3px)}body[data-oa-premium-shell] .oa-list-row:has(>a[href]):hover{transform:translate(3px)}body[data-oa-premium-shell] .oa-card .oa-list-row:last-child{border-bottom-left-radius:inherit;border-bottom-right-radius:inherit}body[data-oa-premium-shell] .oa-icon-button{background:var(--oa-glass-strong);box-shadow:var(--oa-shadow-xs)}body[data-oa-premium-shell] .oa-patient-table tbody tr{transition:background .16s var(--oa-ease)}body[data-oa-premium-shell] .oa-patient-table tbody tr:hover{background:var(--oa-primary)}@supports (color:color-mix(in lab, red, red)){body[data-oa-premium-shell] .oa-patient-table tbody tr:hover{background:color-mix(in srgb,var(--oa-primary) 3.5%,transparent)}}body[data-oa-premium-shell] .oa-field,body[data-oa-premium-shell] .oa-form input,body[data-oa-premium-shell] .oa-form select,body[data-oa-premium-shell] .oa-form textarea{box-shadow:inset 0 1px 0 var(--oa-surface);transition:border-color .18s,box-shadow .18s,background .18s}@supports (color:color-mix(in lab, red, red)){body[data-oa-premium-shell] .oa-field,body[data-oa-premium-shell] .oa-form input,body[data-oa-premium-shell] .oa-form select,body[data-oa-premium-shell] .oa-form textarea{box-shadow:inset 0 1px 0 color-mix(in srgb,var(--oa-surface) 60%,white 40%)}}body[data-oa-premium-shell] .oa-form input:focus,body[data-oa-premium-shell] .oa-form select:focus,body[data-oa-premium-shell] .oa-form textarea:focus{border-color:var(--oa-primary);outline:none}@supports (color:color-mix(in lab, red, red)){body[data-oa-premium-shell] .oa-form input:focus,body[data-oa-premium-shell] .oa-form select:focus,body[data-oa-premium-shell] .oa-form textarea:focus{border-color:color-mix(in srgb,var(--oa-primary) 55%,var(--oa-border))}}body[data-oa-premium-shell] .oa-form input:focus,body[data-oa-premium-shell] .oa-form select:focus,body[data-oa-premium-shell] .oa-form textarea:focus{box-shadow:0 0 0 4px var(--oa-primary),var(--oa-shadow-xs)}@supports (color:color-mix(in lab, red, red)){body[data-oa-premium-shell] .oa-form input:focus,body[data-oa-premium-shell] .oa-form select:focus,body[data-oa-premium-shell] .oa-form textarea:focus{box-shadow:0 0 0 4px color-mix(in srgb,var(--oa-primary) 10%,transparent),var(--oa-shadow-xs)}}body[data-oa-premium-shell] .oa-table-wrap{background:var(--oa-surface);box-shadow:var(--oa-shadow-xs);scrollbar-width:thin}body[data-oa-premium-shell] .oa-table th{z-index:1;background:var(--oa-glass-strong);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);position:sticky;top:0}body[data-oa-premium-shell] .oa-table tbody tr{transition:background .15s}.oa-toast{animation:oa-toast-in .35s var(--oa-ease) both}@keyframes oa-toast-in{0%{opacity:0;transform:translateY(-8px)scale(.985)}to{opacity:1;transform:none}}.oa-hero-panel{border:1px solid var(--oa-primary);grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:28px;margin-bottom:20px;padding:clamp(24px,4vw,42px);display:grid;position:relative;overflow:hidden}@supports (color:color-mix(in lab, red, red)){.oa-hero-panel{border:1px solid color-mix(in srgb,var(--oa-primary) 16%,var(--oa-border))}}.oa-hero-panel{border-radius:calc(var(--oa-radius) + 10px);background:linear-gradient(125deg,var(--oa-primary),var(--oa-surface) 46%,var(--oa-accent) 82%,var(--oa-coral))}@supports (color:color-mix(in lab, red, red)){.oa-hero-panel{background:linear-gradient(125deg,color-mix(in srgb,var(--oa-primary) 11%,var(--oa-surface)),var(--oa-surface) 46%,color-mix(in srgb,var(--oa-accent) 7%,var(--oa-surface)) 82%,color-mix(in srgb,var(--oa-coral) 5%,var(--oa-surface)))}}.oa-hero-panel{box-shadow:var(--oa-shadow-tinted)}.oa-hero-panel:before{content:"";background:radial-gradient(circle,var(--oa-accent),transparent 68%);border-radius:50%;width:280px;height:280px;position:absolute;top:-140px;right:-90px}@supports (color:color-mix(in lab, red, red)){.oa-hero-panel:before{background:radial-gradient(circle,color-mix(in srgb,var(--oa-accent) 23%,transparent),transparent 68%)}}.oa-hero-panel h2{letter-spacing:-.055em;margin:10px 0 8px;font-size:clamp(2rem,4vw,3.4rem);line-height:1;position:relative}.oa-hero-panel p{max-width:760px;color:var(--oa-text);margin:0;line-height:1.65;position:relative}.oa-hero-badge{border:1px solid var(--oa-health);align-items:center;gap:8px;padding:7px 10px;display:inline-flex;position:relative}@supports (color:color-mix(in lab, red, red)){.oa-hero-badge{border:1px solid color-mix(in srgb,var(--oa-health) 22%,var(--oa-border))}}.oa-hero-badge{background:var(--oa-health);border-radius:999px}@supports (color:color-mix(in lab, red, red)){.oa-hero-badge{background:color-mix(in srgb,var(--oa-health) 7%,var(--oa-surface))}}.oa-hero-badge{color:var(--oa-health);font-size:.74rem;font-weight:850}.oa-hero-badge i{background:currentColor;border-radius:50%;width:7px;height:7px}.oa-hero-orb{background:var(--oa-gradient-premium);color:#fff;width:118px;height:118px;box-shadow:0 24px 60px var(--oa-primary);border-radius:38px;place-items:center;font-size:2rem;font-weight:900;display:grid;position:relative}@supports (color:color-mix(in lab, red, red)){.oa-hero-orb{box-shadow:0 24px 60px color-mix(in srgb,var(--oa-primary) 28%,transparent)}}.oa-hero-orb{transform:rotate(5deg)}.oa-hero-orb:after{content:"";border:1px solid #ffffff59;border-radius:34px;position:absolute;inset:5px}.oa-dashboard-grid{margin-bottom:20px}.oa-dashboard-grid .oa-card{min-height:190px}.oa-dashboard-grid .oa-card h2{margin:14px 0 8px}.oa-quick-actions{border:1px solid var(--oa-hairline);border-radius:var(--oa-radius);background:var(--oa-glass);box-shadow:var(--oa-shadow-xs);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);justify-content:space-between;align-items:center;gap:18px;padding:20px 22px;display:flex}.oa-quick-actions h2{margin:3px 0 0}[data-oa-reveal]{transition:opacity .42s var(--oa-ease),transform .42s var(--oa-ease)}html:not(.oa-ui-ready) [data-oa-reveal]{opacity:0;transform:translateY(9px)}body[data-ui-surface=auth] .oa-auth-shell{z-index:1;position:relative}body[data-ui-surface=auth] .oa-auth-card{background:var(--oa-glass-strong);border-color:var(--oa-hairline);box-shadow:var(--oa-shadow-lg);-webkit-backdrop-filter:blur(22px)saturate(1.18);backdrop-filter:blur(22px)saturate(1.18)}body[data-ui-surface=auth] .oa-auth-feature-grid>div{background:var(--oa-glass);border-color:var(--oa-hairline);box-shadow:var(--oa-shadow-xs)}body[data-ui-surface=auth] .oa-auth-brand h1{text-wrap:balance;background:linear-gradient(110deg,var(--oa-text-strong),var(--oa-primary))}@supports (color:color-mix(in lab, red, red)){body[data-ui-surface=auth] .oa-auth-brand h1{background:linear-gradient(110deg,var(--oa-text-strong),color-mix(in srgb,var(--oa-primary) 68%,var(--oa-text-strong)))}}body[data-ui-surface=auth] .oa-auth-brand h1{color:#0000;-webkit-background-clip:text;background-clip:text}:root[data-theme=dark] body[data-ui-surface=auth] .oa-auth-card{background:var(--oa-surface)}@supports (color:color-mix(in lab, red, red)){:root[data-theme=dark] body[data-ui-surface=auth] .oa-auth-card{background:color-mix(in srgb,var(--oa-surface) 91%,transparent)}}:root[data-theme=dark] body[data-ui-surface=auth] .oa-auth-feature-grid>div{background:var(--oa-surface)}@supports (color:color-mix(in lab, red, red)){:root[data-theme=dark] body[data-ui-surface=auth] .oa-auth-feature-grid>div{background:color-mix(in srgb,var(--oa-surface) 78%,transparent)}}body[data-oa-portal-layout] .pp-header{background:var(--oa-glass);border-color:var(--oa-hairline);-webkit-backdrop-filter:blur(22px)saturate(1.16);backdrop-filter:blur(22px)saturate(1.16)}body[data-oa-portal-layout] .pp-brand-mark{box-shadow:0 14px 34px var(--oa-primary)}@supports (color:color-mix(in lab, red, red)){body[data-oa-portal-layout] .pp-brand-mark{box-shadow:0 14px 34px color-mix(in srgb,var(--oa-primary) 25%,transparent)}}body[data-oa-portal-layout] .pp-hero,body[data-oa-portal-layout] .pp-progress-card,body[data-oa-portal-layout] .pp-card,body[data-oa-portal-layout] .pp-doc-list{border-color:var(--oa-hairline);box-shadow:var(--oa-shadow-xs)}body[data-oa-portal-layout] .pp-card{transition:transform .2s var(--oa-ease),box-shadow .2s var(--oa-ease),border-color .2s ease}body[data-oa-portal-layout] .pp-card--interactive:hover,body[data-oa-portal-layout] .pp-card[data-interactive=true]:hover{box-shadow:var(--oa-shadow-sm);border-color:var(--oa-primary);transform:translateY(-2px)}@supports (color:color-mix(in lab, red, red)){body[data-oa-portal-layout] .pp-card--interactive:hover,body[data-oa-portal-layout] .pp-card[data-interactive=true]:hover{border-color:color-mix(in srgb,var(--oa-primary) 15%,var(--oa-border))}}body[data-oa-portal-layout] .pp-bottom-nav{border-color:var(--oa-hairline);background:var(--oa-glass-strong);width:min(560px,100% - 24px);box-shadow:0 20px 54px var(--oa-text-strong);grid-template-columns:repeat(5,minmax(56px,1fr))}@supports (color:color-mix(in lab, red, red)){body[data-oa-portal-layout] .pp-bottom-nav{box-shadow:0 20px 54px color-mix(in srgb,var(--oa-text-strong) 14%,transparent)}}body[data-oa-portal-layout] .pp-bottom-nav{-webkit-backdrop-filter:blur(24px)saturate(1.2);backdrop-filter:blur(24px)saturate(1.2)}body[data-oa-portal-layout] .pp-bottom-nav a,body[data-oa-portal-layout] .pp-bottom-nav button{transition:transform .18s var(--oa-ease),background .18s ease,color .18s ease;position:relative}body[data-oa-portal-layout] .pp-bottom-nav a:hover,body[data-oa-portal-layout] .pp-bottom-nav button:hover{background:var(--oa-soft);transform:translateY(-2px)}body[data-oa-portal-layout] .pp-bottom-nav a[aria-current=page]:before,body[data-oa-portal-layout] .pp-bottom-nav button[aria-current=page]:before{content:"";background:var(--oa-primary);border-radius:999px;width:22px;height:3px;position:absolute;top:3px}.oa-section,.oa-card,.pp-section,.pp-card,.oa-report-card{content-visibility:auto;contain-intrinsic-size:auto 260px}img{max-width:100%}button[aria-busy=true],.oa-button[aria-busy=true]{cursor:wait;opacity:.76;pointer-events:none}button[aria-busy=true]:before,.oa-button[aria-busy=true]:before{content:"";vertical-align:-2px;border:2px solid;border-right-color:#0000;border-radius:50%;width:13px;height:13px;margin-right:8px;animation:.65s linear infinite oa-spin;display:inline-block}@keyframes oa-spin{to{transform:rotate(360deg)}}@supports (view-transition-name:root){@view-transition{navigation:auto}::view-transition-old(root){animation:.15s both oa-vt-out}::view-transition-new(root){animation:oa-vt-in .24s var(--oa-ease) both}@keyframes oa-vt-out{to{opacity:.75}}@keyframes oa-vt-in{0%{opacity:.75}}}@media (width<=980px){body[data-oa-premium-shell] .oa-main{padding-inline:20px}.oa-environment-pill{display:none}.oa-hero-orb{border-radius:30px;width:92px;height:92px}.oa-global-search{max-width:260px}}@media (width<=720px){.oa-topbar{flex-wrap:wrap}.oa-global-search{order:3;width:100%;max-width:none}.oa-user-menu-copy{display:none}.oa-user-menu-trigger{gap:0;padding:4px}.oa-user-menu-trigger svg{display:none}:root[data-sidebar=collapsed] body[data-oa-premium-shell] .oa-shell,body[data-oa-premium-shell] .oa-shell{display:block}body[data-oa-premium-shell] .oa-sidebar{z-index:70;border-right:1px solid var(--oa-border);height:100dvh;box-shadow:var(--oa-shadow-lg);position:fixed;top:0;left:0;transform:translate(-105%);width:min(320px,88vw)!important}body[data-oa-premium-shell].oa-sidebar-open .oa-sidebar{transform:translate(0)}.oa-sidebar-collapse{display:none}.oa-mobile-menu{place-items:center;display:grid}.oa-sidebar-scrim{z-index:65;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);opacity:0;visibility:hidden;background:#070a1859;border:0;transition:opacity .22s,visibility .22s;display:block;position:fixed;inset:0}body[data-oa-premium-shell].oa-sidebar-open .oa-sidebar-scrim{opacity:1;visibility:visible}:root[data-sidebar=collapsed] .oa-brand-copy,:root[data-sidebar=collapsed] .oa-nav-label,:root[data-sidebar=collapsed] .oa-nav-text,:root[data-sidebar=collapsed] .oa-sidebar-status div{opacity:1;pointer-events:auto;width:auto}:root[data-sidebar=collapsed] body[data-oa-premium-shell] .oa-nav a{justify-content:flex-start;padding-inline:11px}body[data-oa-premium-shell] .oa-main{padding:0 14px 40px}body[data-oa-premium-shell] .oa-topbar{min-height:82px;margin:0 -4px 18px;padding-inline:4px}.oa-actions .oa-button--secondary{padding-inline:11px}.oa-hero-panel{grid-template-columns:1fr;padding:24px}.oa-hero-orb{display:none}.oa-quick-actions{flex-direction:column;align-items:flex-start}body[data-oa-portal-layout] .pp-bottom-nav{width:auto;left:12px;right:12px;transform:none}}@media (width<=480px){body[data-oa-premium-shell] .oa-actions{gap:6px}.oa-dashboard-grid{grid-template-columns:1fr}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{scroll-behavior:auto!important;transition-duration:.001ms!important;animation-duration:.001ms!important;animation-iteration-count:1!important}[data-oa-reveal]{opacity:1!important;transform:none!important}.oa-route-progress{display:none}}@media (prefers-contrast:more){:root{--oa-border:var(--oa-text-strong)}@supports (color:color-mix(in lab, red, red)){:root{--oa-border:color-mix(in srgb,var(--oa-text-strong) 35%,transparent)}}body[data-oa-premium-shell] .oa-nav a[aria-current=page]{outline:2px solid var(--oa-primary);outline-offset:-2px}}.oa-dialog{width:min(520px,100% - 28px);color:var(--oa-text-strong);box-shadow:var(--oa-shadow-lg);background:0 0;border:0;border-radius:26px;padding:0}.oa-dialog::backdrop{-webkit-backdrop-filter:blur(7px);backdrop-filter:blur(7px);background:#070a187a}.oa-dialog[open]{animation:oa-dialog-in .22s var(--oa-ease) both}.oa-dialog[open]::backdrop{animation:.2s both oa-backdrop-in}.oa-dialog-card{border:1px solid var(--oa-hairline);background:var(--oa-glass-strong);-webkit-backdrop-filter:blur(24px)saturate(1.2);backdrop-filter:blur(24px)saturate(1.2);border-radius:26px;gap:18px;padding:26px;display:grid}.oa-dialog-card h2{letter-spacing:-.035em;margin:4px 0 5px;font-size:1.45rem}.oa-dialog-card p{margin:0}.oa-dialog-icon{background:var(--oa-gradient-primary);color:#fff;width:46px;height:46px;box-shadow:0 12px 28px var(--oa-primary);border-radius:16px;place-items:center;display:grid}@supports (color:color-mix(in lab, red, red)){.oa-dialog-icon{box-shadow:0 12px 28px color-mix(in srgb,var(--oa-primary) 24%,transparent)}}.oa-dialog-field{color:var(--oa-text);gap:7px;font-size:.82rem;font-weight:800;display:grid}.oa-dialog-field textarea{resize:vertical;border:1px solid var(--oa-border);background:var(--oa-surface);width:100%;min-height:100px;color:var(--oa-text-strong);border-radius:14px;outline:none;padding:12px 13px}.oa-dialog-field textarea:focus{border-color:var(--oa-primary);box-shadow:0 0 0 4px var(--oa-primary)}@supports (color:color-mix(in lab, red, red)){.oa-dialog-field textarea:focus{box-shadow:0 0 0 4px color-mix(in srgb,var(--oa-primary) 10%,transparent)}}.oa-dialog-actions{justify-content:flex-end;gap:9px;display:flex}@keyframes oa-dialog-in{0%{opacity:0;transform:translateY(10px)scale(.98)}to{opacity:1;transform:none}}@keyframes oa-backdrop-in{0%{opacity:0}to{opacity:1}}@media (width<=520px){.oa-dialog-card{padding:21px}.oa-dialog-actions{grid-template-columns:1fr 1fr;display:grid}.oa-dialog-actions .oa-button{width:100%}}.oa-odontogram{background:var(--oa-surface);border:1px solid var(--oa-border);border-radius:var(--oa-radius,18px);gap:6px;padding:22px 18px 18px;display:grid;box-shadow:0 6px 26px #232d4c0b}.oa-odontogram-legend{border-bottom:1px solid var(--oa-border);flex-wrap:wrap;gap:10px 16px;margin-bottom:14px;padding-bottom:14px;display:flex}.oa-odontogram-legend-item{color:var(--oa-text);align-items:center;gap:6px;font-size:.74rem;font-weight:700;display:inline-flex}.oa-odontogram-legend-item i{border-radius:50%;width:9px;height:9px;display:inline-block}.oa-odontogram-arch{gap:8px;display:grid}.oa-odontogram-arch-label{letter-spacing:.06em;text-transform:uppercase;color:var(--oa-text);text-align:center;font-size:.7rem;font-weight:800}.oa-odontogram-row{scroll-snap-type:x proximity;-webkit-overflow-scrolling:touch;justify-content:center;align-items:flex-end;gap:6px;padding:22px 2px 4px;display:flex;overflow:auto visible}.oa-odontogram-arch--lower .oa-odontogram-row{align-items:flex-start;padding:4px 2px 22px}.oa-odontogram-row::-webkit-scrollbar{height:5px}.oa-odontogram-row::-webkit-scrollbar-thumb{background:var(--oa-border);border-radius:99px}.oa-odontogram-midline{background:var(--oa-border);width:1px;height:14px;margin:2px auto}.oa-tooth-svg{scroll-snap-align:center;cursor:default;width:34px;color:var(--oa-text);background:0 0;border:0;flex:none;justify-items:center;gap:3px;padding:4px 2px 6px;display:grid}@supports (color:color-mix(in lab, red, red)){.oa-tooth-svg{color:color-mix(in srgb,var(--oa-text) 38%,transparent)}}.oa-tooth-svg{transform:translateY(calc(var(--arch-y,0px) * var(--arch-scale,1)));transition:transform var(--transition-fast,.16s ease),color .16s ease,filter .16s ease}.oa-tooth-svg svg{stroke-width:.6px;width:22px;height:25px}.oa-tooth-svg small{color:var(--oa-text-muted,var(--oa-text));opacity:.8;font-size:.62rem;font-weight:700}.oa-tooth-svg.is-marked{color:var(--tooth-color,var(--oa-primary))}.oa-tooth-svg.is-marked svg{filter:drop-shadow(0 3px 6px var(--tooth-color,var(--oa-primary)))}@supports (color:color-mix(in lab, red, red)){.oa-tooth-svg.is-marked svg{filter:drop-shadow(0 3px 6px color-mix(in srgb,var(--tooth-color,var(--oa-primary)) 35%,transparent))}}[data-oa-odontogram][data-target-select] .oa-tooth-svg{cursor:pointer}[data-oa-odontogram][data-target-select] .oa-tooth-svg:hover{transform:translateY(calc(var(--arch-y,0px) * var(--arch-scale,1) - 3px)) scale(1.08);color:var(--oa-primary)}.oa-tooth-svg.is-selected{outline:2px solid var(--oa-primary);outline-offset:3px;border-radius:10px}[data-oa-odontogram][data-target-select] .oa-tooth-svg--lower:hover{transform:translateY(calc(var(--arch-y,0px) * var(--arch-scale,1) + 3px)) scale(1.08)}@media (width<=820px){.oa-odontogram{padding:18px 12px 14px}.oa-odontogram-row{justify-content:flex-start}.oa-tooth-svg{--arch-scale:.7;width:30px}.oa-tooth-svg svg{width:19px;height:22px}.oa-odontogram-legend{gap:8px 12px}.oa-odontogram-legend-item{font-size:.68rem}}@media (width<=480px){.oa-tooth-svg{--arch-scale:.45;width:27px}.oa-tooth-svg svg{width:17px;height:19px}.oa-tooth-svg small{font-size:.56rem}}@media (prefers-reduced-motion:reduce){.oa-tooth-svg{transition:none}[data-oa-odontogram][data-target-select] .oa-tooth-svg:hover,[data-oa-odontogram][data-target-select] .oa-tooth-svg--lower:hover{transform:translateY(calc(var(--arch-y,0px) * var(--arch-scale,1)))}}.oa-kpi-icon{border-radius:12px;place-items:center;width:38px;height:38px;margin-bottom:12px;display:grid}.oa-kpi-icon svg{width:18px;height:18px}.oa-kpi-icon--primary{background:linear-gradient(145deg,var(--oa-primary),var(--oa-primary))}@supports (color:color-mix(in lab, red, red)){.oa-kpi-icon--primary{background:linear-gradient(145deg,color-mix(in srgb,var(--oa-primary) 20%,transparent),color-mix(in srgb,var(--oa-primary) 8%,transparent))}}.oa-kpi-icon--primary{color:var(--oa-primary);box-shadow:0 8px 18px -10px var(--oa-primary)}@supports (color:color-mix(in lab, red, red)){.oa-kpi-icon--primary{box-shadow:0 8px 18px -10px color-mix(in srgb,var(--oa-primary) 55%,transparent)}}.oa-kpi-icon--accent{background:linear-gradient(145deg,var(--oa-accent),var(--oa-accent))}@supports (color:color-mix(in lab, red, red)){.oa-kpi-icon--accent{background:linear-gradient(145deg,color-mix(in srgb,var(--oa-accent) 22%,transparent),color-mix(in srgb,var(--oa-accent) 9%,transparent))}}.oa-kpi-icon--accent{color:var(--oa-accent);box-shadow:0 8px 18px -10px var(--oa-accent)}@supports (color:color-mix(in lab, red, red)){.oa-kpi-icon--accent{box-shadow:0 8px 18px -10px color-mix(in srgb,var(--oa-accent) 55%,transparent)}}.oa-kpi-icon--violet{color:#8b5cf6;background:linear-gradient(145deg,#8b5cf638,#8b5cf617);box-shadow:0 8px 18px -10px #8b5cf66b}.oa-kpi-icon--health{background:linear-gradient(145deg,var(--oa-health),var(--oa-health))}@supports (color:color-mix(in lab, red, red)){.oa-kpi-icon--health{background:linear-gradient(145deg,color-mix(in srgb,var(--oa-health) 22%,transparent),color-mix(in srgb,var(--oa-health) 9%,transparent))}}.oa-kpi-icon--health{color:var(--oa-health);box-shadow:0 8px 18px -10px var(--oa-health)}@supports (color:color-mix(in lab, red, red)){.oa-kpi-icon--health{box-shadow:0 8px 18px -10px color-mix(in srgb,var(--oa-health) 55%,transparent)}}.oa-kpi-icon--warm{background:linear-gradient(145deg,var(--oa-coral),var(--oa-amber))}@supports (color:color-mix(in lab, red, red)){.oa-kpi-icon--warm{background:linear-gradient(145deg,color-mix(in srgb,var(--oa-coral) 22%,transparent),color-mix(in srgb,var(--oa-amber) 12%,transparent))}}.oa-kpi-icon--warm{color:var(--oa-coral);box-shadow:0 8px 18px -10px var(--oa-coral)}@supports (color:color-mix(in lab, red, red)){.oa-kpi-icon--warm{box-shadow:0 8px 18px -10px color-mix(in srgb,var(--oa-coral) 50%,transparent)}}.oa-kpi-emoji{filter:saturate(1.15);margin-left:6px;font-size:.92em}.oa-hero-panel--compact{gap:16px;padding:16px 22px}.oa-hero-panel--compact h2{margin:6px 0 2px;font-size:1.3rem}.oa-hero-panel--compact p{font-size:.85rem}.oa-hero-panel--compact .oa-hero-orb{border-radius:18px;width:56px;height:56px}.oa-hero-panel--compact .oa-hero-orb svg{width:22px;height:22px}.oa-dash-primary{grid-template-columns:repeat(auto-fit,minmax(320px,1fr));align-items:start;gap:18px;margin-top:20px;display:grid}.oa-dash-secondary{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:18px;margin-top:18px;display:grid}.oa-dash-patient-head{align-items:center;gap:14px;margin:14px 0;display:flex}.oa-dash-patient-head strong{font-size:1.05rem;display:block}.oa-dash-patient-head small{color:var(--oa-text)}.oa-dash-patient-next{background:var(--oa-soft);border-radius:16px;align-items:center;gap:14px;margin-bottom:14px;padding:13px 14px;display:flex}.oa-dash-patient-next-date{border-right:1px solid var(--oa-border);justify-items:center;padding-right:14px;line-height:1.1;display:grid}.oa-dash-patient-next-date strong{font-size:1.3rem}.oa-dash-patient-next-date small{color:var(--oa-text);letter-spacing:.05em;font-size:.68rem}.oa-dash-patient-next div small{color:var(--oa-text);display:block}.oa-dash-patient-cta{text-align:center;width:100%}.oa-dash-odontogram .oa-odontogram{box-shadow:none;border:0;padding:8px 0 0}.oa-dash-agenda-row{border-top:1px solid var(--oa-border);align-items:center;gap:14px;padding:11px 0;display:flex}.oa-dash-agenda-row:first-of-type{border-top:0}.oa-dash-agenda-row strong{color:var(--oa-primary);flex:0 0 48px}.oa-dash-agenda-row span{font-weight:700;display:block}.oa-dash-agenda-row small{color:var(--oa-text)}.oa-mini-calendar{margin:12px 0 16px}.oa-mini-calendar-head{text-align:center;text-transform:capitalize;margin-bottom:8px;font-size:.82rem;font-weight:800}.oa-mini-calendar-dow{grid-template-columns:repeat(7,1fr);margin-bottom:4px;display:grid}.oa-mini-calendar-dow span{text-align:center;color:var(--oa-text);font-size:.66rem;font-weight:700}.oa-mini-calendar-grid{grid-template-columns:repeat(7,1fr);gap:3px;display:grid}.oa-mini-calendar-grid span{aspect-ratio:1;color:var(--oa-text-strong);border-radius:9px;place-items:center;font-size:.74rem;font-weight:650;display:grid;position:relative}.oa-mini-calendar-grid span.is-muted{color:var(--oa-text);opacity:.35}.oa-mini-calendar-grid span.has-appointments:after{content:"";background:var(--oa-primary);border-radius:50%;width:4px;height:4px;position:absolute;bottom:3px}.oa-mini-calendar-grid span.is-today{background:var(--oa-gradient-primary);color:#fff;box-shadow:0 7px 18px var(--oa-primary)}@supports (color:color-mix(in lab, red, red)){.oa-mini-calendar-grid span.is-today{box-shadow:0 7px 18px color-mix(in srgb,var(--oa-primary) 35%,transparent)}}.oa-mini-calendar-grid span.is-today.has-appointments:after{background:#fff}.oa-dash-treatment-row{border-top:1px solid var(--oa-border);padding:12px 0}.oa-dash-treatment-row:first-of-type{border-top:0}.oa-dash-treatment-head{justify-content:space-between;font-weight:800;display:flex}.oa-dash-treatment-row small{color:var(--oa-text)}.oa-mini-progress{background:var(--oa-soft);border-radius:999px;height:8px;margin-top:8px;overflow:hidden}.oa-mini-progress span{background:var(--oa-gradient-primary);border-radius:inherit;height:100%;transition:width .6s cubic-bezier(.2,.8,.2,1);display:block}.oa-dash-payments{gap:12px;margin-top:8px;display:grid}.oa-donut-row{align-items:center;gap:20px;margin-top:10px;display:flex}.oa-donut{--health-c:var(--oa-health);--violet-c:#8b5cf6;--coral-c:#fb7185;background:conic-gradient(var(--health-c) 0% calc(var(--p1) * 1%),var(--violet-c) calc(var(--p1) * 1%) calc(var(--p2) * 1%),var(--coral-c) calc(var(--p2) * 1%) 100%);border-radius:50%;flex:0 0 104px;place-items:center;width:104px;height:104px;display:grid}.oa-donut.is-empty{background:var(--oa-soft);border:1px dashed var(--oa-border)}.oa-donut.is-empty span{color:var(--oa-text)}.oa-donut span{background:var(--oa-surface);width:66px;height:66px;color:var(--oa-text-strong);border-radius:50%;place-items:center;font-size:1.15rem;font-weight:900;display:grid}.oa-dash-payments>div{align-items:center;gap:10px;display:flex}.oa-dash-payments span{color:var(--oa-text);flex:1}.oa-dash-payments strong{font-size:1.1rem}.oa-dot{border-radius:50%;width:9px;height:9px;display:inline-block}.oa-dot--health{background:var(--oa-health)}.oa-dot--violet{background:#8b5cf6}.oa-dot--coral{background:#fb7185}.oa-dash-chart{align-items:end;gap:10px;height:120px;margin-top:14px;display:flex}.oa-dash-chart-bar{flex:1;align-content:end;justify-items:center;gap:6px;height:100%;display:grid}.oa-dash-chart-bar span{background:var(--oa-gradient-primary);border-radius:8px 8px 3px 3px;width:100%;max-width:28px;transition:height .6s cubic-bezier(.2,.8,.2,1)}.oa-dash-chart-bar small{color:var(--oa-text);text-transform:capitalize;font-size:.68rem}.oa-sparkline{margin-top:14px}.oa-sparkline svg{width:100%;height:88px;display:block}.oa-sparkline circle{fill:var(--oa-surface);stroke:var(--oa-primary);stroke-width:2px}.oa-sparkline-labels{justify-content:space-between;margin-top:6px;display:flex}.oa-sparkline-labels span{color:var(--oa-text);text-transform:capitalize;font-size:.68rem}@media (width<=1200px){.oa-dash-odontogram{grid-column:1/-1}}@media (width<=820px){.oa-dash-odontogram{grid-column:auto}}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-leading{syntax:"*";inherits:false}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-tracking{syntax:"*";inherits:false}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-outline-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}@property --tw-backdrop-blur{syntax:"*";inherits:false}@property --tw-backdrop-brightness{syntax:"*";inherits:false}@property --tw-backdrop-contrast{syntax:"*";inherits:false}@property --tw-backdrop-grayscale{syntax:"*";inherits:false}@property --tw-backdrop-hue-rotate{syntax:"*";inherits:false}@property --tw-backdrop-invert{syntax:"*";inherits:false}@property --tw-backdrop-opacity{syntax:"*";inherits:false}@property --tw-backdrop-saturate{syntax:"*";inherits:false}@property --tw-backdrop-sepia{syntax:"*";inherits:false}@property --tw-duration{syntax:"*";inherits:false}@property --tw-ease{syntax:"*";inherits:false}

/* ---- OdontoSaaS latest source overrides ---- */
:root {
  color-scheme: light;
  --oa-canvas: #F4F7FC;
  --oa-sidebar: #FFFFFF;
  --oa-surface: #FFFFFF;
  --oa-elevated: #FFFFFF;
  --oa-soft: #EEF3FB;
  --oa-text-strong: #111827;
  --oa-text: #64748B;
  --oa-border: #DDE5F0;
  --oa-shadow: 0 14px 40px rgba(33, 44, 80, .09);
  --oa-primary: var(--tenant-primary, #6254E8);
  --oa-secondary: var(--tenant-secondary, #2F80ED);
  --oa-accent: var(--tenant-accent, #06B6D4);
  --oa-health: var(--tenant-health, #18B69A);
  --oa-warning: var(--tenant-warning, #F59E0B);
  --oa-error: var(--tenant-error, #E54864);
  --oa-radius: var(--tenant-radius, 18px);
  --oa-font: var(--tenant-font, Inter, ui-sans-serif, system-ui, sans-serif);
  --oa-gradient-primary: linear-gradient(135deg, #6D5DFB 0%, #3B82F6 55%, #22D3EE 100%);
  --oa-gradient-premium: linear-gradient(135deg, #8B5CF6 0%, #6366F1 48%, #06B6D4 100%);

  /* F35 · paleta cálida complementaria — acentos puntuales, no dominante */
  --oa-coral: #FF7A59;
  --oa-amber: #FFB020;
  --oa-mint: #2DD4BF;
  --oa-gradient-warm: linear-gradient(135deg, #FF7A59 0%, #FFB020 100%);
  --oa-gradient-fresh: linear-gradient(135deg, #2DD4BF 0%, #22D3EE 60%, #6254E8 100%);

  /* Profundidad: sombras teñidas con el color primario para un look más premium/3D */
  --oa-shadow-tinted: 0 18px 44px -14px color-mix(in srgb, var(--oa-primary) 24%, transparent), 0 6px 16px -6px rgba(33,44,80,.10);
  --oa-shadow-tinted-lg: 0 30px 76px -24px color-mix(in srgb, var(--oa-primary) 26%, transparent), 0 12px 30px -12px rgba(33,44,80,.14);

  /* Odontograma · paleta clínica (punto 11 del design system) */
  --tooth-sound: #22C55E;
  --tooth-caries: #FB7185;
  --tooth-restoration: var(--oa-accent);
  --tooth-crown: #F59E0B;
  --tooth-missing: #94A3B8;
  --tooth-implant: #18C99A;
  --tooth-endodontic: #8B5CF6;
  --tooth-fracture: #F43F5E;
  --tooth-sealant: #38BDF8;
  --tooth-other: #94A3B8;
}

:root[data-theme="dark"] {
  color-scheme: dark;
  --oa-canvas: #070A18;
  --oa-sidebar: #0B1022;
  --oa-surface: #10162A;
  --oa-elevated: #171E36;
  --oa-soft: rgba(117,103,255,.09);
  --oa-text-strong: #F8FAFC;
  --oa-text: #9AA8BD;
  --oa-border: rgba(148,163,184,.18);
  --oa-shadow: 0 18px 56px rgba(0,0,0,.28);
  --oa-primary: var(--tenant-primary, #7567FF);
  --oa-secondary: var(--tenant-secondary, #3B82F6);
  --oa-accent: var(--tenant-accent, #22D3EE);
  --oa-health: var(--tenant-health, #2DD4BF);

  --oa-coral: #FF8A6B;
  --oa-amber: #FFC24D;
  --oa-mint: #34E5CE;
  --oa-gradient-warm: linear-gradient(135deg, #FF8A6B 0%, #FFC24D 100%);
  --oa-gradient-fresh: linear-gradient(135deg, #34E5CE 0%, #22D3EE 60%, #7567FF 100%);
  --oa-shadow-tinted: 0 18px 44px -14px color-mix(in srgb, var(--oa-primary) 32%, transparent), 0 6px 18px -6px rgba(0,0,0,.30);
  --oa-shadow-tinted-lg: 0 30px 76px -24px color-mix(in srgb, var(--oa-primary) 34%, transparent), 0 12px 34px -12px rgba(0,0,0,.36);

  --tooth-sound: #31D67B;
  --tooth-caries: #FF7C93;
  --tooth-crown: #FFB020;
  --tooth-missing: #64748B;
  --tooth-implant: #20D6A5;
  --tooth-endodontic: #9B6DFF;
  --tooth-fracture: #FB5B77;
  --tooth-sealant: #4FC8FF;
  --tooth-other: #64748B;
}

* { box-sizing: border-box; }
html { background: var(--oa-canvas); }
body { margin: 0; background: var(--oa-canvas); color: var(--oa-text-strong); font-family: var(--oa-font); -webkit-font-smoothing: antialiased; }
button, input, select, textarea { font: inherit; }
button, a { -webkit-tap-highlight-color: transparent; }
:focus-visible { outline: 3px solid color-mix(in srgb, var(--oa-primary) 35%, transparent); outline-offset: 3px; }

.oa-shell { min-height: 100vh; display: grid; grid-template-columns: 248px minmax(0,1fr); }
.oa-sidebar { position: sticky; top:0; height:100vh; padding: 24px 16px; background: var(--oa-sidebar); border-right:1px solid var(--oa-border); }
.oa-brand { display:flex; align-items:center; gap:11px; padding:0 8px 24px; font-weight:800; letter-spacing:-.03em; }
.oa-brand-mark { width:38px; height:38px; border-radius:14px; display:grid; place-items:center; color:white; font-weight:900; background:var(--oa-gradient-primary); box-shadow:0 10px 24px rgba(98,84,232,.22); }
.oa-nav { display:grid; gap:6px; }
.oa-nav a { display:flex; gap:12px; align-items:center; min-height:44px; padding:0 12px; text-decoration:none; color:var(--oa-text); border-radius:13px; transition:160ms ease; }
.oa-nav a:hover { background:var(--oa-soft); color:var(--oa-text-strong); transform:translateX(2px); }
.oa-nav a[aria-current="page"] { color:var(--oa-primary); background:color-mix(in srgb,var(--oa-primary) 9%, transparent); font-weight:700; }
.oa-main { min-width:0; padding:24px 28px 48px; }
.oa-topbar { display:flex; gap:16px; align-items:center; justify-content:space-between; margin-bottom:26px; }
.oa-eyebrow { color:var(--oa-primary); font-size:.78rem; font-weight:800; letter-spacing:.08em; text-transform:uppercase; }
.oa-title { font-size:clamp(1.65rem,2vw,2.25rem); margin:5px 0 0; letter-spacing:-.04em; }
.oa-muted { color:var(--oa-text); }
.oa-actions { display:flex; align-items:center; gap:10px; }
.oa-global-search { flex:1 1 auto; max-width:440px; display:flex; align-items:center; gap:9px; height:42px; padding:0 14px; border:1px solid var(--oa-border); border-radius:13px; background:var(--oa-surface); color:var(--oa-text); transition:border-color 180ms ease,box-shadow 180ms ease; }
.oa-global-search svg { flex:0 0 auto; width:16px; height:16px; opacity:.7; }
.oa-global-search input { flex:1; min-width:0; border:0; background:transparent; outline:none; color:var(--oa-text-strong); font-size:.88rem; }
.oa-global-search input::placeholder { color:var(--oa-text); opacity:.85; }
.oa-global-search:focus-within { border-color:color-mix(in srgb,var(--oa-primary) 45%,transparent); box-shadow:0 0 0 4px color-mix(in srgb,var(--oa-primary) 8%,transparent); }
.oa-icon-button { position:relative; }
.oa-icon-dot { position:absolute; top:9px; right:10px; width:7px; height:7px; border-radius:50%; background:var(--oa-error); box-shadow:0 0 0 2px var(--oa-surface); }
.oa-user-menu { position:relative; }
.oa-user-menu-trigger { display:flex; align-items:center; gap:9px; height:42px; padding:4px 10px 4px 4px; border:1px solid var(--oa-border); border-radius:14px; background:var(--oa-surface); cursor:pointer; transition:180ms ease; }
.oa-user-menu-trigger:hover { transform:translateY(-2px); box-shadow:var(--oa-shadow); }
.oa-user-menu-trigger svg { width:14px; height:14px; color:var(--oa-text); transition:transform 180ms ease; }
.oa-user-menu.is-open .oa-user-menu-trigger svg { transform:rotate(180deg); }
.oa-user-menu-copy { display:grid; text-align:left; line-height:1.25; }
.oa-user-menu-copy strong { font-size:.82rem; font-weight:800; color:var(--oa-text-strong); max-width:140px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.oa-user-menu-copy small { font-size:.72rem; color:var(--oa-text); }
.oa-user-menu-panel { display:none; position:absolute; top:calc(100% + 10px); right:0; min-width:210px; padding:8px; border:1px solid var(--oa-hairline,var(--oa-border)); border-radius:16px; background:var(--oa-glass-strong); backdrop-filter:blur(24px) saturate(1.2); box-shadow:var(--oa-shadow-lg,0 20px 55px rgba(15,23,42,.16)); z-index:40; transform-origin:top right; }
.oa-user-menu.is-open .oa-user-menu-panel { display:block; animation:oa-dropdown-in .16s ease both; }
.oa-user-menu-panel form { margin:0; }
.oa-user-menu-item { display:flex; align-items:center; gap:9px; width:100%; border:0; background:transparent; color:var(--oa-text-strong); font-weight:700; font-size:.85rem; padding:10px 11px; border-radius:11px; cursor:pointer; text-align:left; }
.oa-user-menu-item:hover { background:var(--oa-soft); }
.oa-user-menu-item svg { width:16px; height:16px; color:var(--oa-text); }
@keyframes oa-dropdown-in { from{opacity:0;transform:translateY(-5px) scale(.98)} to{opacity:1;transform:none} }
.oa-icon-button { width:42px; height:42px; display:grid; place-items:center; border:1px solid var(--oa-border); color:var(--oa-text-strong); background:var(--oa-surface); border-radius:14px; cursor:pointer; transition:180ms ease; box-shadow:0 5px 20px rgba(26,36,66,.04); }
.oa-icon-button:hover { transform:translateY(-2px); box-shadow:var(--oa-shadow); }
.oa-button { border:0; min-height:42px; padding:0 16px; border-radius:13px; font-weight:750; cursor:pointer; transition:180ms ease; }
.oa-button--primary { color:white; background:var(--oa-gradient-primary); box-shadow:0 10px 24px rgba(98,84,232,.22); }
.oa-button--primary:hover { transform:translateY(-2px); box-shadow:0 14px 30px rgba(98,84,232,.28); }
.oa-button--secondary { color:var(--oa-text-strong); background:var(--oa-surface); border:1px solid var(--oa-border); }
.oa-grid { display:grid; gap:18px; }
.oa-grid--4 { grid-template-columns:repeat(4,minmax(0,1fr)); }
.oa-grid--3 { grid-template-columns:repeat(3,minmax(0,1fr)); }
.oa-grid--2 { grid-template-columns:repeat(2,minmax(0,1fr)); }
.oa-card { background:var(--oa-surface); border:1px solid var(--oa-border); border-radius:var(--oa-radius); box-shadow:0 6px 26px rgba(35,45,76,.045); }
.oa-card--padded { padding:20px; }
.oa-card--premium { position:relative; overflow:hidden; background:linear-gradient(145deg,color-mix(in srgb,var(--oa-primary) 7%,var(--oa-surface)),var(--oa-surface)); }
.oa-card--premium::after { content:""; position:absolute; width:160px; height:160px; right:-62px; top:-70px; background:radial-gradient(circle,color-mix(in srgb,var(--oa-accent) 22%,transparent),transparent 70%); pointer-events:none; }
.oa-kpi-label { color:var(--oa-text); font-size:.84rem; font-weight:650; }
.oa-kpi-value { margin-top:9px; font-size:1.75rem; font-weight:850; letter-spacing:-.04em; }
.oa-kpi-delta { margin-top:8px; color:var(--oa-health); font-size:.8rem; font-weight:700; }
.oa-section { margin-top:20px; }
.oa-section-head { display:flex; justify-content:space-between; gap:14px; align-items:end; margin-bottom:12px; }
.oa-section-title { margin:0; font-size:1.05rem; letter-spacing:-.02em; }
.oa-list { display:grid; }
.oa-list-row { display:grid; grid-template-columns:44px minmax(0,1.5fr) minmax(100px,.8fr) auto; gap:14px; align-items:center; padding:14px 16px; border-top:1px solid var(--oa-border); }
.oa-list-row:first-child { border-top:0; }
.oa-avatar { width:40px; height:40px; border-radius:13px; display:grid; place-items:center; font-size:.77rem; font-weight:850; color:var(--oa-primary); background:color-mix(in srgb,var(--oa-primary) 10%,transparent); }
.oa-avatar--circle { width:34px; height:34px; border-radius:50%; object-fit:cover; font-size:.74rem; flex:0 0 auto; }
.oa-pill { display:inline-flex; align-items:center; gap:6px; width:max-content; padding:6px 9px; border-radius:999px; font-size:.72rem; font-weight:800; }
.oa-pill--success { color:var(--oa-health); background:color-mix(in srgb,var(--oa-health) 10%,transparent); }
.oa-pill--warning { color:var(--oa-warning); background:color-mix(in srgb,var(--oa-warning) 11%,transparent); }
.oa-pill--info { color:var(--oa-primary); background:color-mix(in srgb,var(--oa-primary) 10%,transparent); }
.oa-pill--danger { color:var(--oa-error); background:color-mix(in srgb,var(--oa-error) 11%,transparent); }
.oa-plan-card { position:relative; display:flex; flex-direction:column; gap:14px; border:1px solid var(--oa-border,rgba(120,120,140,.18)); transition:transform .22s var(--oa-ease,ease), box-shadow .22s var(--oa-ease,ease), border-color .22s ease; }
.oa-plan-card:hover { transform:translateY(-3px); box-shadow:var(--oa-shadow-sm,0 18px 40px -22px rgba(20,20,40,.35)); border-color:color-mix(in srgb,var(--oa-primary) 16%,var(--oa-border)); }
.oa-plan-card--featured { border-color:var(--oa-primary); box-shadow:0 0 0 2px color-mix(in srgb,var(--oa-primary) 25%,transparent); }
.oa-plan-card--inactive { opacity:.55; }
.oa-plan-badge { position:absolute; top:-12px; right:20px; background:var(--oa-primary); color:#fff; font-size:.72rem; font-weight:800; letter-spacing:.04em; text-transform:uppercase; padding:4px 12px; border-radius:999px; box-shadow:0 8px 18px -8px color-mix(in srgb,var(--oa-primary) 70%,transparent); }
.oa-plan-price { font-size:2rem; font-weight:800; line-height:1; }
.oa-plan-price small { font-size:.9rem; font-weight:600; opacity:.6; }
.oa-plan-features { list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:8px; }
.oa-plan-features li { display:flex; gap:8px; align-items:flex-start; font-size:.92rem; }
.oa-plan-features li::before { content:"✓"; color:var(--oa-health); font-weight:800; }
.oa-billing-status { display:inline-flex; align-items:center; gap:6px; }
.oa-wa-button { display:inline-flex; align-items:center; gap:6px; background:#25D366; color:#fff !important; border:none; border-radius:10px; padding:8px 14px; font-weight:700; font-size:.86rem; cursor:pointer; text-decoration:none; }
.oa-wa-button:hover { filter:brightness(1.05); }
.oa-cost-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(150px,1fr)); gap:12px; }
.oa-cost-tile { border-radius:14px; padding:14px 16px; background:var(--oa-surface-2,rgba(120,120,140,.06)); }
.oa-cost-tile strong { display:block; font-size:1.3rem; }
.oa-cost-tile small { opacity:.65; }
.pp-calendar-grid { display:grid; grid-template-columns:repeat(7,1fr); gap:6px; margin-top:8px; }
.pp-calendar-weekday { text-align:center; font-size:.72rem; font-weight:800; opacity:.55; padding:4px 0; }
.pp-calendar-cell { position:relative; display:flex; flex-direction:column; align-items:center; justify-content:center; aspect-ratio:1; border-radius:10px; text-decoration:none; color:inherit; background:var(--oa-surface-2,rgba(120,120,140,.06)); font-size:.85rem; gap:2px; }
.pp-calendar-cell--empty { background:transparent; }
.pp-calendar-cell.has-appointments { background:color-mix(in srgb,var(--oa-primary) 14%,transparent); font-weight:700; }
.pp-calendar-cell.is-selected { outline:2px solid var(--oa-primary); }
.pp-calendar-cell small { font-size:.62rem; color:var(--oa-primary); font-weight:800; }
.pp-completion-card { margin-top:20px; padding:26px 28px; border-radius:24px; background:linear-gradient(135deg,color-mix(in srgb,var(--oa-health) 16%,var(--oa-surface)),color-mix(in srgb,var(--oa-accent) 8%,var(--oa-surface))); border:1px solid color-mix(in srgb,var(--oa-health) 28%,var(--oa-border)); box-shadow:0 18px 46px color-mix(in srgb,var(--oa-health) 14%,transparent); display:flex; gap:18px; align-items:center; animation:pp-completion-in .5s var(--oa-ease,ease) both; }
.pp-completion-badge { flex:0 0 auto; width:56px; height:56px; border-radius:50%; display:grid; place-items:center; background:var(--oa-health); color:#fff; font-size:1.6rem; box-shadow:0 10px 24px color-mix(in srgb,var(--oa-health) 45%,transparent); }
.pp-completion-card h2 { margin:2px 0 4px; color:var(--oa-text-strong); }
.pp-completion-card p { margin:0; color:var(--oa-text); line-height:1.55; }
@keyframes pp-completion-in { from{opacity:0;transform:translateY(8px) scale(.98)} to{opacity:1;transform:none} }
@media(prefers-reduced-motion:reduce){.pp-completion-card{animation:none}}
@media(max-width:640px){.pp-completion-card{flex-direction:column;text-align:center;padding:22px}}
.oa-list-row--clinic { grid-template-columns:44px minmax(0,1.3fr) auto auto auto auto auto; }
.oa-list-row--clinic > a[href] { display:contents; }
@media (max-width:820px) { .oa-list-row--clinic { grid-template-columns:42px minmax(0,1fr) auto; } .oa-list-row--clinic > :nth-child(n+4) { display:none; } }
.oa-progress { height:8px; overflow:hidden; background:var(--oa-soft); border-radius:999px; }
.oa-progress > span { display:block; height:100%; border-radius:inherit; background:var(--oa-gradient-primary); }
.oa-ai { padding:18px; border-radius:var(--oa-radius); border:1px solid color-mix(in srgb,var(--oa-accent) 25%,var(--oa-border)); background:radial-gradient(circle at 100% 0,color-mix(in srgb,var(--oa-accent) 14%,transparent),transparent 48%),var(--oa-surface); }
.oa-ai-title { display:flex; align-items:center; gap:9px; font-weight:820; }
.oa-ai-dot { width:10px; height:10px; border-radius:50%; background:var(--oa-accent); box-shadow:0 0 0 6px color-mix(in srgb,var(--oa-accent) 10%,transparent); }
.oa-stepper { display:grid; gap:0; }
.oa-step { display:grid; grid-template-columns:28px minmax(0,1fr); gap:12px; min-height:68px; }
.oa-step-rail { display:flex; flex-direction:column; align-items:center; }
.oa-step-node { flex:0 0 24px; width:24px; height:24px; border-radius:50%; display:grid; place-items:center; border:2px solid var(--oa-border); background:var(--oa-surface); font-size:.7rem; }
.oa-step[data-state="done"] .oa-step-node { color:white; border-color:var(--oa-health); background:var(--oa-health); }
.oa-step[data-state="current"] .oa-step-node { border-color:var(--oa-primary); box-shadow:0 0 0 5px color-mix(in srgb,var(--oa-primary) 10%,transparent); }
.oa-step-line { width:2px; flex:1; min-height:30px; background:var(--oa-border); }
.oa-step:last-child .oa-step-line { display:none; }
.oa-modal-backdrop { position:fixed; inset:0; display:grid; place-items:center; padding:24px; background:rgba(4,8,22,.48); backdrop-filter:blur(8px); z-index:50; }
.oa-modal { width:min(920px,96vw); max-height:90vh; overflow:auto; background:var(--oa-elevated); border:1px solid var(--oa-border); border-radius:24px; box-shadow:0 30px 100px rgba(0,0,0,.35); }
.oa-modal-head { position:sticky; top:0; display:flex; justify-content:space-between; align-items:center; padding:18px 22px; background:color-mix(in srgb,var(--oa-elevated) 92%,transparent); backdrop-filter:blur(14px); border-bottom:1px solid var(--oa-border); z-index:2; }
.oa-modal-body { padding:22px; }
.oa-drawer { position:fixed; top:0; right:0; width:min(440px,92vw); height:100vh; padding:24px; background:var(--oa-elevated); border-left:1px solid var(--oa-border); box-shadow:-24px 0 80px rgba(0,0,0,.18); z-index:60; }
.oa-tooth-grid { display:grid; grid-template-columns:repeat(8,minmax(54px,1fr)); gap:11px; }
.oa-tooth { aspect-ratio:1/1.08; border:1px solid var(--oa-border); background:var(--oa-surface); border-radius:17px; display:grid; place-items:center; position:relative; transition:160ms ease; cursor:pointer; }
.oa-tooth:hover { transform:translateY(-3px); border-color:color-mix(in srgb,var(--oa-primary) 42%,var(--oa-border)); box-shadow:0 14px 28px rgba(31,44,77,.08); }
.oa-tooth[data-status="attention"]::after { content:""; position:absolute; right:7px; top:7px; width:8px; height:8px; border-radius:50%; background:var(--oa-warning); }
.oa-tooth[data-status="done"]::after { content:"✓"; position:absolute; right:6px; top:4px; color:var(--oa-health); font-size:.8rem; font-weight:900; }
.oa-tooth-shape { width:29px; height:36px; border:2px solid currentColor; border-radius:45% 45% 52% 52% / 34% 34% 60% 60%; color:var(--oa-text); background:linear-gradient(180deg,color-mix(in srgb,var(--oa-surface) 80%,white),var(--oa-soft)); }
.oa-tooth[data-status="attention"] .oa-tooth-shape { color:var(--oa-warning); }
.oa-tooth[data-status="done"] .oa-tooth-shape { color:var(--oa-health); }
.oa-demo-ribbon { position:fixed; left:50%; top:8px; transform:translateX(-50%); z-index:100; padding:6px 10px; border-radius:999px; font-size:.68rem; font-weight:850; letter-spacing:.06em; color:#fff; background:#111827; opacity:.84; }

@media (max-width:1100px) { .oa-grid--4 { grid-template-columns:repeat(2,minmax(0,1fr)); } .oa-tooth-grid{grid-template-columns:repeat(4,minmax(54px,1fr));} }
@media (max-width:820px) { .oa-shell{grid-template-columns:1fr;} .oa-sidebar{display:none;} .oa-main{padding:18px 16px 90px;} .oa-grid--3,.oa-grid--2{grid-template-columns:1fr;} .oa-list-row{grid-template-columns:42px minmax(0,1fr) auto;} .oa-list-row > :nth-child(3){display:none;} }
@media (max-width:520px) { .oa-grid--4{grid-template-columns:1fr 1fr; gap:10px;} .oa-card--padded{padding:15px;} .oa-kpi-value{font-size:1.4rem;} .oa-topbar{align-items:flex-start;} .oa-actions .oa-button{display:none;} .oa-tooth-grid{grid-template-columns:repeat(4,1fr);gap:8px;} }
@media (prefers-reduced-motion: reduce) { *,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important;} }

/* F04 · Authentication experience */
.oa-auth-page{min-height:100vh;background:radial-gradient(circle at 12% 15%,rgba(98,84,232,.13),transparent 30%),radial-gradient(circle at 88% 10%,rgba(6,182,212,.10),transparent 28%),var(--oa-canvas,#F4F7FC);color:var(--oa-text,#111827)}
.oa-auth-shell{width:min(1180px,calc(100% - 32px));min-height:100vh;margin:auto;display:grid;grid-template-columns:minmax(0,1.08fr) minmax(360px,.72fr);align-items:center;gap:64px;padding:48px 0}.oa-auth-shell-single{grid-template-columns:minmax(0,680px);justify-content:center}.oa-auth-brand{display:grid;gap:28px}.oa-auth-brand h1,.oa-auth-card h1,.oa-auth-card h2{letter-spacing:-.035em;line-height:1.05}.oa-auth-brand h1{font-size:clamp(2.6rem,5vw,5.1rem);max-width:820px}.oa-auth-brand p{max-width:700px;color:var(--oa-text);font-size:1.08rem;line-height:1.7}.oa-brand-mark{width:52px;height:52px;border-radius:17px;display:grid;place-items:center;background:linear-gradient(135deg,var(--oa-primary,#6254E8),var(--oa-accent,#06B6D4));color:white;font-weight:800;box-shadow:0 16px 36px rgba(98,84,232,.24)}.oa-kicker{font-size:.76rem!important;text-transform:uppercase;letter-spacing:.13em;font-weight:800;color:var(--oa-primary,#6254E8)!important}.oa-auth-feature-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.oa-auth-feature-grid>div{padding:16px;border:1px solid var(--oa-border,#DDE5F0);border-radius:18px;background:color-mix(in srgb,var(--oa-surface) 62%,transparent);backdrop-filter:blur(12px);display:grid;gap:4px}.oa-auth-feature-grid span{font-size:.83rem;color:var(--oa-text)}.oa-auth-card{background:color-mix(in srgb,var(--oa-surface) 94%,transparent);border:1px solid var(--oa-border);border-radius:28px;padding:34px;box-shadow:0 30px 80px rgba(19,32,62,.12);display:grid;gap:24px}.oa-auth-card-wide{padding:42px}.oa-auth-card-header{display:grid;gap:9px}.oa-auth-card-header h1,.oa-auth-card-header h2{font-size:clamp(1.7rem,3vw,2.45rem)}.oa-auth-card-header p{color:var(--oa-text);line-height:1.6}.oa-auth-icon{width:42px;height:42px;border-radius:14px;display:grid;place-items:center;background:rgba(98,84,232,.09);color:var(--oa-primary,#6254E8);font-weight:900}.oa-form-stack{display:grid;gap:16px}.oa-field{display:grid;gap:7px;font-weight:700;font-size:.9rem}.oa-field input{width:100%;border:1px solid var(--oa-border,#DDE5F0);background:var(--oa-surface,#fff);color:var(--oa-text-strong,#111827);border-radius:14px;padding:14px 15px;outline:none;transition:border-color .18s,box-shadow .18s,transform .18s}.oa-field input:focus{border-color:var(--oa-primary,#6254E8);box-shadow:0 0 0 4px rgba(98,84,232,.11)}.oa-field small{font-weight:500;color:var(--oa-text)}.oa-button{appearance:none;border:0;border-radius:14px;padding:13px 17px;font-weight:800;cursor:pointer;transition:transform .16s,box-shadow .16s,background .16s}.oa-button:hover{transform:translateY(-1px)}.oa-button-primary{background:linear-gradient(135deg,var(--oa-primary,#6254E8),var(--oa-secondary,#2F80ED));color:#fff;box-shadow:0 12px 28px rgba(98,84,232,.22)}.oa-button-block{width:100%}.oa-button-ghost{background:transparent;color:var(--oa-text);border:1px solid var(--oa-border,#DDE5F0)}.oa-auth-help{font-size:.84rem;color:var(--oa-text);text-align:center}.oa-alert{padding:12px 14px;border-radius:13px;font-size:.9rem}.oa-alert-error{background:rgba(229,72,100,.09);color:#B4233D;border:1px solid rgba(229,72,100,.18)}.oa-alert-success{background:rgba(24,182,154,.09);color:#087B68;border:1px solid rgba(24,182,154,.18)}.oa-password-rules{display:flex;flex-wrap:wrap;gap:7px}.oa-password-rules span{font-size:.76rem;padding:6px 9px;border-radius:999px;background:var(--oa-soft);color:var(--oa-text)}.oa-inline-form{text-align:center}.oa-tenant-list{display:grid;gap:12px}.oa-tenant-choice{display:flex;align-items:center;gap:12px;padding:15px;border:1px solid var(--oa-border,#DDE5F0);border-radius:16px;cursor:pointer;transition:.18s}.oa-tenant-choice:has(input:checked){border-color:var(--oa-primary,#6254E8);box-shadow:0 0 0 3px rgba(98,84,232,.09)}.oa-tenant-choice span{display:grid;gap:2px}.oa-tenant-choice small{color:var(--oa-text)}.oa-app-proof{min-height:100vh;padding:40px;width:min(1180px,calc(100% - 32px));margin:auto}.oa-proof-header{display:flex;justify-content:space-between;align-items:center;gap:24px;padding:24px 0 32px}.oa-proof-header h1{font-size:2.2rem;letter-spacing:-.035em}.oa-proof-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.oa-status{display:inline-flex;width:max-content;border-radius:999px;padding:6px 9px;background:rgba(98,84,232,.09);color:var(--oa-primary,#6254E8);font-size:.76rem;font-weight:800}.oa-status-success{background:rgba(24,182,154,.1);color:#087B68}
@media(max-width:900px){.oa-auth-shell{grid-template-columns:1fr;gap:28px;padding:28px 0}.oa-auth-brand{padding-top:20px}.oa-auth-brand h1{font-size:2.7rem}.oa-auth-feature-grid{display:none}.oa-proof-grid{grid-template-columns:1fr}.oa-proof-header{align-items:flex-start;flex-direction:column}}
@media(max-width:520px){.oa-auth-shell{width:min(100% - 20px,680px)}.oa-auth-brand h1{font-size:2.15rem}.oa-auth-card,.oa-auth-card-wide{padding:24px;border-radius:22px}.oa-auth-brand p{font-size:.98rem}.oa-app-proof{padding:24px 0}}
@media(prefers-reduced-motion:reduce){.oa-button,.oa-field input,.oa-tenant-choice{transition:none!important}.oa-button:hover{transform:none}}

/* F05 · Perfiles y permisos */
.aurora-page{min-height:100vh;background:var(--oa-canvas);color:var(--oa-text-strong);padding:32px 18px 64px}.aurora-shell{width:min(1180px,100%);margin:0 auto;display:grid;gap:22px}.aurora-header{display:flex;justify-content:space-between;align-items:flex-start;gap:24px}.aurora-header h1,.aurora-card h2{margin:.25rem 0 .35rem}.aurora-header p,.aurora-card p{margin:0;color:var(--oa-text)}.aurora-eyebrow{display:inline-block;font-size:.76rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--oa-primary)}.aurora-card{background:var(--oa-surface);border:1px solid var(--oa-border);border-radius:var(--oa-radius);box-shadow:0 12px 36px rgba(15,23,42,.07);padding:22px}.aurora-card__header{display:flex;justify-content:space-between;align-items:flex-start;gap:18px;margin-bottom:18px}.aurora-pill,.aurora-chip{display:inline-flex;align-items:center;border-radius:999px;padding:7px 11px;font-size:.78rem;font-weight:700;background:color-mix(in srgb,var(--oa-primary) 10%,transparent);color:var(--oa-primary)}.aurora-chip-grid{display:flex;gap:8px;flex-wrap:wrap}.aurora-stack{display:grid;gap:18px}.aurora-button{appearance:none;border:0;border-radius:13px;padding:11px 16px;background:var(--oa-gradient-primary);color:#fff;font-weight:800;text-decoration:none;cursor:pointer;transition:transform .16s ease,box-shadow .16s ease,opacity .16s ease}.aurora-button:hover{transform:translateY(-1px);box-shadow:0 8px 22px rgba(98,84,232,.2)}.aurora-button--ghost{background:var(--oa-soft);color:var(--oa-text-strong);border:1px solid var(--oa-border);box-shadow:none}.aurora-form-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:end}.aurora-form-grid{display:grid;grid-template-columns:1fr 180px;gap:12px;margin-top:16px}.aurora-form-grid__wide{grid-column:1/-1}.aurora-form-row label,.aurora-form-grid label{display:grid;gap:7px;font-size:.82rem;font-weight:800;color:var(--oa-text)}.aurora-form-row select,.aurora-form-grid select,.aurora-form-grid input{width:100%;border:1px solid var(--oa-border);border-radius:12px;padding:11px 12px;background:var(--oa-surface);color:var(--oa-text-strong);outline:none}.aurora-form-row select:focus,.aurora-form-grid select:focus,.aurora-form-grid input:focus{border-color:var(--oa-primary);box-shadow:0 0 0 4px color-mix(in srgb,var(--oa-primary) 10%,transparent)}.aurora-details{margin-top:16px;border-top:1px solid var(--oa-border);padding-top:14px}.aurora-details summary{cursor:pointer;font-weight:800;color:var(--oa-text-strong)}.aurora-alert{padding:12px 14px;border-radius:13px;background:var(--oa-soft);border:1px solid var(--oa-border);color:var(--oa-text)}.aurora-alert--success{background:color-mix(in srgb,var(--oa-health) 12%,transparent);border-color:color-mix(in srgb,var(--oa-health) 35%,transparent);color:var(--oa-health)}
.aurora-alert--error{background:color-mix(in srgb,var(--oa-error) 12%,transparent);border-color:color-mix(in srgb,var(--oa-error) 35%,transparent);color:var(--oa-error)}
.aurora-pill--success{background:color-mix(in srgb,var(--oa-health) 12%,transparent);color:var(--oa-health)}
.aurora-pill--warning{background:color-mix(in srgb,var(--oa-warning) 12%,transparent);color:var(--oa-warning)}
.aurora-pill--muted{background:var(--oa-soft);color:var(--oa-text)}
.aurora-pill--danger{background:color-mix(in srgb,var(--oa-error) 12%,transparent);color:var(--oa-error)}
.aurora-usage-bar{height:8px;border-radius:999px;background:var(--oa-soft);overflow:hidden;margin-top:10px}
.aurora-usage-bar span{display:block;height:100%;background:var(--oa-gradient-primary);border-radius:999px}
.aurora-usage-bar.is-full span{background:var(--oa-error)}.aurora-override-list{display:grid;gap:8px;margin-top:16px}.aurora-override-row{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:11px 12px;background:var(--oa-soft);border:1px solid var(--oa-border);border-radius:12px}.aurora-override-row div{display:grid;gap:3px}.aurora-override-row span{font-size:.78rem;color:var(--oa-text)}

@media (max-width:760px){.aurora-page{padding:20px 12px 48px}.aurora-header,.aurora-card__header,.aurora-override-row{align-items:stretch;flex-direction:column}.aurora-form-row,.aurora-form-grid{grid-template-columns:1fr}.aurora-form-grid__wide{grid-column:auto}.aurora-button{width:100%;text-align:center}}
@media (prefers-reduced-motion:reduce){.aurora-button{transition:none}.aurora-button:hover{transform:none}}

/* F07 · Registro maestro de pacientes */
.oa-patient-shell{padding-top:10px}.oa-patient-search{padding:18px}.oa-filter-grid{display:grid;grid-template-columns:minmax(260px,1fr) 180px auto;gap:12px;align-items:end}.oa-filter-grid label,.oa-patient-form label,.oa-photo-form label{display:grid;gap:7px;font-size:.82rem;font-weight:800;color:var(--oa-text)}.oa-filter-grid input,.oa-filter-grid select,.oa-patient-form input,.oa-patient-form select,.oa-patient-form textarea,.oa-photo-form input{width:100%;border:1px solid var(--oa-border);border-radius:13px;padding:11px 12px;background:var(--oa-surface);color:var(--oa-text-strong);outline:none}.oa-filter-grid input:focus,.oa-filter-grid select:focus,.oa-patient-form input:focus,.oa-patient-form select:focus,.oa-patient-form textarea:focus{border-color:var(--tenant-primary,#6254E8);box-shadow:0 0 0 4px rgba(98,84,232,.09)}.oa-patient-table-wrap{overflow:auto}.oa-patient-table{width:100%;border-collapse:collapse;min-width:760px}.oa-patient-table th{font-size:.72rem;text-transform:uppercase;letter-spacing:.06em;color:var(--oa-text);text-align:left;padding:12px;border-bottom:1px solid var(--oa-border)}.oa-patient-table td{padding:14px 12px;border-bottom:1px solid var(--oa-border);vertical-align:middle}.oa-patient-table td:first-child{display:grid;gap:3px}.oa-patient-table small,.oa-patient-table td:first-child small{color:var(--oa-text)}.oa-mono{font-family:ui-monospace,SFMono-Regular,Menlo,monospace}.oa-text-link{font-weight:800;color:var(--tenant-primary,#6254E8);text-decoration:none;white-space:nowrap}.oa-empty{display:grid;gap:5px;padding:34px;text-align:center;color:var(--oa-text)}.oa-pagination{padding-top:18px}.oa-patient-form{display:grid;gap:18px}.oa-form-section{display:grid;gap:18px}.oa-section-heading{display:flex;align-items:flex-start;gap:13px}.oa-section-heading>span{width:36px;height:36px;border-radius:12px;background:linear-gradient(135deg,var(--tenant-primary,#6254E8),#2F80ED);color:white;display:grid;place-items:center;font-weight:900;font-size:.76rem}.oa-section-heading h2{margin:0 0 3px}.oa-section-heading p{margin:0;color:var(--oa-text)}.oa-form-grid-2,.oa-form-grid-3,.oa-form-grid-4{display:grid;gap:13px}.oa-form-grid-2{grid-template-columns:repeat(2,1fr)}.oa-form-grid-3{grid-template-columns:repeat(3,1fr)}.oa-form-grid-4{grid-template-columns:repeat(4,1fr)}.oa-span-3{grid-column:1/-1}.oa-repeat-list{display:grid;gap:12px}.oa-repeat-card{margin:0;border:1px solid var(--oa-border);border-radius:16px;padding:15px;background:var(--oa-soft)}.oa-repeat-card legend{padding:0 7px;font-size:.8rem;font-weight:900;color:var(--oa-text)}.oa-check-stack{display:grid;align-content:center;gap:8px;padding-top:23px}.oa-check-stack label{display:flex;align-items:center;gap:8px}.oa-check-stack input{width:auto}.oa-add-repeat{justify-self:start}.oa-sticky-actions{position:sticky;bottom:14px;z-index:10;display:flex;align-items:center;justify-content:space-between;gap:20px;padding:15px 18px;border:1px solid var(--oa-border);border-radius:18px;background:color-mix(in srgb,var(--oa-surface) 92%,transparent);box-shadow:0 18px 50px rgba(15,23,42,.12);backdrop-filter:blur(14px)}.oa-sticky-actions>div{display:grid;gap:2px}.oa-sticky-actions span{font-size:.78rem;color:var(--oa-text)}.oa-alert-danger{background:color-mix(in srgb,var(--oa-error) 8%,transparent);border-color:color-mix(in srgb,var(--oa-error) 25%,transparent);color:var(--oa-error)}.oa-alert-danger ul{margin:.4rem 0 0;padding-left:18px}.oa-header-actions{display:flex;gap:10px;flex-wrap:wrap}.oa-patient-hero{display:grid;grid-template-columns:auto minmax(0,1fr) minmax(260px,.55fr);gap:22px;align-items:center}.oa-avatar-xl{width:94px;height:94px;border-radius:28px;display:grid;place-items:center;overflow:hidden;background:linear-gradient(135deg,rgba(98,84,232,.16),rgba(6,182,212,.16));color:var(--tenant-primary,#6254E8);font-size:1.6rem;font-weight:900}.oa-avatar-xl img{width:100%;height:100%;object-fit:cover}.oa-patient-identity{display:grid;gap:5px}.oa-patient-identity h2{margin:2px 0;font-size:1.7rem}.oa-patient-identity p,.oa-patient-identity small{color:var(--oa-text)}.oa-photo-form{display:grid;gap:9px}.oa-patient-summary-grid{display:grid;grid-template-columns:1.15fr .9fr .8fr;gap:18px}.oa-data-list{display:grid;gap:0;margin:14px 0 0}.oa-data-list>div{display:grid;grid-template-columns:145px 1fr;gap:12px;padding:10px 0;border-bottom:1px solid var(--oa-border)}.oa-data-list dt{font-size:.78rem;color:var(--oa-text)}.oa-data-list dd{margin:0;font-weight:700}.oa-person-chip,.oa-insurance-card{display:grid;gap:4px;padding:13px 0;border-bottom:1px solid var(--oa-border)}.oa-person-chip span,.oa-person-chip small,.oa-insurance-card span,.oa-insurance-card small,.oa-empty-mini{color:var(--oa-text)}.oa-clinical-next{display:flex;justify-content:space-between;align-items:center;gap:24px;background:linear-gradient(135deg,color-mix(in srgb,var(--oa-primary) 6%,transparent),color-mix(in srgb,var(--oa-accent) 5%,transparent)),var(--oa-surface)}.oa-coming-badge{white-space:nowrap;padding:9px 12px;border-radius:999px;background:color-mix(in srgb,var(--oa-primary) 10%,transparent);color:var(--oa-primary);font-weight:800;font-size:.78rem}

@media(max-width:900px){.oa-filter-grid{grid-template-columns:1fr 160px}.oa-filter-grid .aurora-button{grid-column:1/-1}.oa-patient-hero{grid-template-columns:auto 1fr}.oa-photo-form{grid-column:1/-1}.oa-patient-summary-grid{grid-template-columns:1fr 1fr}.oa-form-grid-3,.oa-form-grid-4{grid-template-columns:repeat(2,1fr)}}
@media(max-width:640px){.oa-filter-grid,.oa-form-grid-2,.oa-form-grid-3,.oa-form-grid-4,.oa-patient-summary-grid{grid-template-columns:1fr}.oa-header-actions{width:100%}.oa-header-actions .aurora-button{flex:1}.oa-patient-hero{grid-template-columns:1fr}.oa-avatar-xl{width:76px;height:76px;border-radius:22px}.oa-sticky-actions{position:static;align-items:stretch;flex-direction:column}.oa-sticky-actions .aurora-button{width:100%}.oa-data-list>div{grid-template-columns:1fr;gap:3px}.oa-clinical-next{align-items:flex-start;flex-direction:column}.oa-span-3{grid-column:auto}}


/* F08 · Historia clínica virtual — identificación y antecedentes */
.oa-clinical-page{min-height:100vh;background:var(--oa-canvas);color:var(--oa-text-strong)}.oa-clinical-shell{max-width:1540px;margin:0 auto;padding:24px 28px 60px}.oa-clinical-topbar{display:grid;grid-template-columns:minmax(0,1fr) 280px;gap:28px;align-items:end;margin-bottom:20px}.oa-clinical-topbar h1{margin:4px 0;font-size:clamp(1.7rem,2.6vw,2.6rem);letter-spacing:-.04em}.oa-clinical-topbar p{margin:4px 0;color:var(--oa-text)}.oa-history-progress{height:10px;border-radius:999px;background:var(--oa-soft);overflow:hidden}.oa-history-progress span{display:block;height:100%;background:var(--oa-gradient-primary);border-radius:inherit}.oa-clinical-layout{display:grid;grid-template-columns:286px minmax(0,1fr);gap:20px;align-items:start}.oa-history-stepnav{position:sticky;top:18px;padding:14px;border:1px solid var(--oa-border);border-radius:20px;background:var(--oa-surface);box-shadow:0 8px 28px rgba(15,23,42,.05)}.oa-history-step{display:grid;grid-template-columns:32px 1fr;gap:10px;padding:10px 8px;border-radius:14px}.oa-history-step>span{width:30px;height:30px;border-radius:10px;display:grid;place-items:center;background:var(--oa-soft);font-size:.72rem;font-weight:900;color:var(--oa-text)}.oa-history-step strong{display:block;font-size:.82rem}.oa-history-step small{color:var(--oa-text);font-size:.72rem}.oa-history-step.is-active>span{background:color-mix(in srgb,var(--oa-primary) 12%,transparent);color:var(--oa-primary)}.oa-history-step.is-future{opacity:.52}.oa-clinical-form{display:grid;gap:18px}.oa-clinical-form label{display:grid;gap:7px;font-size:.82rem;font-weight:800;color:var(--oa-text)}.oa-clinical-form input,.oa-clinical-form select,.oa-clinical-form textarea{width:100%;border:1px solid var(--oa-border);border-radius:13px;padding:11px 12px;background:var(--oa-surface);color:var(--oa-text-strong);outline:none}.oa-clinical-form input:focus,.oa-clinical-form select:focus,.oa-clinical-form textarea:focus{border-color:var(--oa-primary);box-shadow:0 0 0 4px color-mix(in srgb,var(--oa-primary) 10%,transparent)}.oa-readonly-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-top:16px}.oa-readonly-grid>div{padding:13px;border:1px solid var(--oa-border);border-radius:14px;background:var(--oa-soft)}.oa-readonly-grid small{display:block;color:var(--oa-text);margin-bottom:4px}.oa-pathology-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:16px}.oa-pathology-item{padding:14px;border:1px solid var(--oa-border);border-radius:15px;background:var(--oa-soft);display:grid;gap:9px}.oa-segmented{display:flex;gap:6px}.oa-segmented label{display:block}.oa-segmented input{position:absolute;opacity:0;pointer-events:none}.oa-segmented span{display:block;padding:6px 10px;border:1px solid var(--oa-border);border-radius:999px;background:var(--oa-surface);color:var(--oa-text);font-size:.74rem;cursor:pointer}.oa-segmented input:checked+span{background:var(--oa-primary);border-color:var(--oa-primary);color:#fff}.oa-habit-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px;margin-top:16px}.oa-clinical-form h3{margin:22px 0 8px;font-size:.95rem}.oa-clinical-form .oa-repeat-card{background:var(--oa-soft)}.oa-clinical-form .oa-repeat-card input,.oa-clinical-form .oa-repeat-card select{background:var(--oa-surface)}

@media(max-width:980px){.oa-clinical-layout{grid-template-columns:1fr}.oa-history-stepnav{position:static;display:grid;grid-template-columns:repeat(3,1fr)}.oa-readonly-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:700px){.oa-clinical-shell{padding:18px 12px 44px}.oa-clinical-topbar{grid-template-columns:1fr}.oa-history-stepnav{grid-template-columns:1fr 1fr}.oa-pathology-grid,.oa-habit-grid,.oa-readonly-grid{grid-template-columns:1fr}.oa-segmented{flex-wrap:wrap}}

/* F09 · Signos vitales y examen extraoral */
.oa-clinical-form--continuation{margin-top:1rem}.oa-clinical-subheading{display:flex;justify-content:space-between;gap:1rem;align-items:end;margin:1.35rem 0 .75rem;padding-top:1rem;border-top:1px solid var(--oa-border,#e4e8ee)}.oa-clinical-subheading strong{display:block;font-size:1rem}.oa-clinical-subheading small{display:block;color:var(--oa-text);margin-top:.2rem}.oa-mini-status{font-size:.78rem;padding:.4rem .65rem;border-radius:999px;background:var(--oa-soft,#f4f6f8);white-space:nowrap}.oa-vitals-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.8rem}.oa-extraoral-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.9rem}.oa-exam-region{padding:1rem;border:1px solid var(--oa-border,#e4e8ee);border-radius:18px;background:color-mix(in srgb,var(--oa-surface,#fff) 94%,transparent)}.oa-exam-region__head{display:flex;justify-content:space-between;gap:.75rem;align-items:center;margin-bottom:.7rem}.oa-extraoral-flags{margin:.95rem 0}.oa-extraoral-flags label{display:flex;align-items:center;gap:.5rem;padding:.75rem;border:1px solid var(--oa-border,#e4e8ee);border-radius:14px}.oa-extraoral-flags input[type=checkbox]{width:1.05rem;height:1.05rem}.oa-clinical-note{display:flex;gap:.55rem;align-items:flex-start;margin-top:1rem;padding:.85rem 1rem;border-radius:16px;background:var(--oa-soft,#f4f6f8);font-size:.88rem}.oa-clinical-note span{color:var(--oa-text)}
@media(max-width:980px){.oa-vitals-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.oa-extraoral-grid{grid-template-columns:1fr}.oa-exam-region__head{align-items:flex-start;flex-direction:column}}
@media(max-width:620px){.oa-vitals-grid{grid-template-columns:1fr}.oa-clinical-subheading{align-items:flex-start;flex-direction:column}.oa-exam-region{padding:.8rem}.oa-clinical-note{flex-direction:column}}

/* F09.0.1 · measurement history */
.oa-table-wrap{overflow:auto;border:1px solid var(--oa-border,#e4e7ec);border-radius:14px;margin:14px 0 22px}.oa-table{width:100%;border-collapse:collapse;min-width:720px}.oa-table th,.oa-table td{padding:11px 13px;text-align:left;border-bottom:1px solid var(--oa-border,#e4e7ec);font-size:.88rem}.oa-table th{font-size:.76rem;text-transform:uppercase;letter-spacing:.04em;opacity:.68}.oa-table tbody tr:last-child td{border-bottom:0}
.oa-vital-deltas{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:12px 0}.oa-vital-deltas>div{padding:12px;border:1px solid var(--oa-border,#e4e7ec);border-radius:12px}.oa-vital-deltas small{display:block;opacity:.68;margin-bottom:4px}.oa-vital-chart{padding:14px;border:1px solid var(--oa-border,#e4e7ec);border-radius:14px;margin:12px 0}.oa-vital-chart small{display:block;opacity:.68}.oa-vital-chart svg{width:100%;height:150px;margin-top:10px;color:var(--oa-primary,#6254e8)}@media(max-width:760px){.oa-vital-deltas{grid-template-columns:repeat(2,minmax(0,1fr))}}


/* F10 — intraoral + periodonto */
.oa-intraoral-grid,.oa-periodontal-summary{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.oa-perio-chart-note{padding:14px 16px;border:1px dashed var(--oa-border);border-radius:14px;margin:12px 0 16px;font-size:.92rem;opacity:.86}.oa-perio-entry input,.oa-perio-entry select{min-width:70px}.oa-card--soft{background:color-mix(in srgb,var(--oa-surface) 88%,var(--oa-primary) 12%);padding:14px;border-radius:16px}.oa-periodontal-summary{margin:16px 0}@media(max-width:820px){.oa-intraoral-grid,.oa-periodontal-summary{grid-template-columns:1fr}.oa-perio-entry{overflow:auto}.oa-perio-entry table{min-width:780px}}


/* F11 · Diagnóstico y pronóstico */
.oa-diagnosis-panel{margin-top:1rem}.oa-diagnosis-row{display:grid;grid-template-columns:160px minmax(260px,2fr) 140px 120px;gap:.7rem;align-items:start;margin:.75rem 0;padding:.9rem;border:1px solid var(--oa-border,#dce4ee);border-radius:16px}.oa-diagnosis-row textarea{grid-column:1/-1}.oa-finalize-form{margin-top:1rem;padding:1rem;border:1px dashed var(--oa-border,#dce4ee);border-radius:16px;display:flex;gap:1rem;justify-content:space-between;align-items:center}.oa-grid-2{display:grid;grid-template-columns:1fr 1fr;gap:.8rem}@media(max-width:900px){.oa-diagnosis-row,.oa-grid-2{grid-template-columns:1fr}.oa-finalize-form{align-items:stretch;flex-direction:column}}

/* F16 · Portal del paciente */
.oa-patient-portal{background:var(--oa-canvas);min-height:100vh}.pp-shell{max-width:1120px;margin:0 auto;min-height:100vh;padding:0 22px 110px}.pp-header{height:82px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--oa-border);position:sticky;top:0;z-index:20;background:color-mix(in srgb,var(--oa-canvas) 92%,transparent);backdrop-filter:blur(16px)}.pp-brand{display:flex;align-items:center;gap:11px;text-decoration:none;color:var(--oa-text-strong)}.pp-brand span:last-child{display:grid}.pp-brand small{color:var(--oa-text);font-weight:600}.pp-brand-mark{width:40px;height:40px;border-radius:15px;display:grid;place-items:center;color:#fff;background:var(--oa-gradient-primary);box-shadow:0 10px 24px color-mix(in srgb,var(--oa-primary) 25%,transparent)}.pp-header-actions{display:flex;align-items:center;gap:9px}.pp-link-button{border:0;background:none;color:var(--oa-text);font-weight:750;cursor:pointer}.pp-main{padding-top:30px}.pp-hero{display:grid;grid-template-columns:1fr auto;gap:24px;align-items:center;padding:28px;border-radius:28px;background:linear-gradient(135deg,color-mix(in srgb,var(--oa-primary) 12%,var(--oa-surface)),color-mix(in srgb,var(--oa-accent) 7%,var(--oa-surface)));border:1px solid var(--oa-border);box-shadow:var(--oa-shadow)}.pp-hero h1,.pp-page-head h1{margin:5px 0 8px;font-size:clamp(2rem,4vw,3.2rem);letter-spacing:-.05em}.pp-hero p,.pp-page-head p{margin:0;color:var(--oa-text);max-width:650px;line-height:1.6}.pp-avatar{width:78px;height:78px;border-radius:26px;display:grid;place-items:center;font-weight:900;font-size:1.2rem;color:var(--oa-primary);background:color-mix(in srgb,var(--oa-primary) 12%,var(--oa-surface));border:1px solid color-mix(in srgb,var(--oa-primary) 20%,var(--oa-border))}
.pp-avatar--sm{width:36px;height:36px;border-radius:12px;font-size:.74rem}.pp-progress-card{margin-top:20px;padding:22px;border-radius:24px;background:var(--oa-surface);border:1px solid var(--oa-border);box-shadow:0 8px 30px rgba(15,23,42,.05)}.pp-progress-card--compact{margin-bottom:24px}.pp-progress-head{display:flex;align-items:end;justify-content:space-between;gap:16px;margin-bottom:14px}.pp-progress-head small,.pp-next-grid small{display:block;color:var(--oa-text);margin-bottom:4px}.pp-progress-head strong{font-size:1.05rem}.pp-progress-head>span{font-size:1.7rem;font-weight:900;color:var(--oa-primary)}.pp-next-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:18px 0}.pp-next-grid>div{padding:13px 15px;border-radius:16px;background:var(--oa-soft)}.pp-text-link,.pp-card a,.pp-section-title>a{color:var(--oa-primary);font-weight:800;text-decoration:none}.pp-grid{display:grid;gap:16px;margin-top:20px}.pp-grid--2{grid-template-columns:repeat(2,minmax(0,1fr))}.pp-card{display:flex;gap:15px;padding:20px;border:1px solid var(--oa-border);background:var(--oa-surface);border-radius:22px}.pp-card p{color:var(--oa-text);line-height:1.55}.pp-icon{width:42px;height:42px;flex:0 0 42px;border-radius:14px;display:grid;place-items:center;background:color-mix(in srgb,var(--oa-primary) 10%,transparent);color:var(--oa-primary);font-size:1.2rem}.pp-card--pending{opacity:.74}.pp-section{margin-top:30px}.pp-section-title{display:flex;align-items:end;justify-content:space-between;gap:16px;margin-bottom:12px}.pp-section-title h2{margin:4px 0 0}.pp-doc-list{display:grid;border:1px solid var(--oa-border);border-radius:20px;overflow:hidden;background:var(--oa-surface)}.pp-doc-list a{display:grid;grid-template-columns:46px 1fr auto;gap:13px;align-items:center;padding:15px 17px;text-decoration:none;color:var(--oa-text-strong);border-top:1px solid var(--oa-border)}.pp-doc-list a:first-child{border-top:0}.pp-doc-list a>span{width:42px;height:42px;border-radius:13px;display:grid;place-items:center;background:color-mix(in srgb,var(--oa-error) 9%,transparent);color:var(--oa-error);font-size:.7rem;font-weight:900}.pp-doc-list small{display:block;color:var(--oa-text);margin-top:4px}.pp-empty-card,.pp-empty-inline{padding:24px;border:1px dashed var(--oa-border);border-radius:20px;background:var(--oa-surface);display:grid;gap:6px;color:var(--oa-text)}.pp-empty-card strong{color:var(--oa-text-strong)}.pp-page-head{padding:20px 0 10px}.pp-timeline{display:grid;max-width:760px}.pp-timeline-item{position:relative;display:grid;grid-template-columns:28px 1fr;gap:13px;min-height:92px}.pp-timeline-item:before{content:"";position:absolute;left:8px;top:18px;bottom:-3px;width:2px;background:var(--oa-border)}.pp-timeline-item:last-child:before{display:none}.pp-timeline-dot{width:18px;height:18px;border:4px solid var(--oa-surface);border-radius:50%;background:var(--oa-border);box-shadow:0 0 0 1px var(--oa-border)}.pp-timeline-item.is-completed .pp-timeline-dot{background:var(--oa-health)}.pp-timeline-item.is-in_progress .pp-timeline-dot,.pp-timeline-item.is-scheduled .pp-timeline-dot{background:var(--oa-primary)}.pp-timeline-item div:last-child{display:grid;gap:4px;padding-bottom:22px}.pp-timeline-item small,.pp-timeline-item span{color:var(--oa-text)}.pp-timeline-item p{margin:6px 0 0;padding:11px 13px;background:var(--oa-soft);border-radius:13px;color:var(--oa-text)}.pp-tooth-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px;margin-top:20px}.pp-tooth-grid article{display:grid;gap:5px;padding:14px;border:1px solid var(--oa-border);border-radius:17px;background:var(--oa-surface)}.pp-tooth-grid b{font-size:1.15rem;color:var(--oa-primary)}.pp-tooth-grid span{font-weight:800}.pp-tooth-grid small{color:var(--oa-text)}.pp-history-chips{display:flex;flex-wrap:wrap;gap:8px}.pp-history-chips span{padding:8px 11px;border-radius:999px;background:var(--oa-soft);font-size:.78rem;font-weight:750}.pp-alert{padding:12px 15px;border-radius:14px;margin-bottom:14px}.pp-alert--success{background:color-mix(in srgb,var(--oa-health) 10%,transparent);color:var(--oa-health)}.pp-bottom-nav{position:fixed;left:50%;bottom:max(12px,env(safe-area-inset-bottom));transform:translateX(-50%);z-index:30;width:min(560px,calc(100% - 24px));display:grid;grid-template-columns:repeat(5,1fr);gap:4px;padding:7px;border:1px solid var(--oa-border);border-radius:22px;background:color-mix(in srgb,var(--oa-surface) 94%,transparent);backdrop-filter:blur(18px);box-shadow:0 18px 48px rgba(15,23,42,.16)}
.pp-bottom-nav a,.pp-bottom-nav button{display:grid;place-items:center;gap:2px;min-height:54px;text-decoration:none;color:var(--oa-text);border:0;background:none;font:inherit;cursor:pointer;border-radius:16px}
.pp-bottom-nav a[aria-current="page"],.pp-bottom-nav button[aria-current="page"]{background:color-mix(in srgb,var(--oa-primary) 10%,transparent);color:var(--oa-primary);font-weight:800}
.pp-bottom-nav .pp-fab{background:var(--oa-gradient-primary);color:#fff;width:46px;height:46px;border-radius:16px;justify-self:center;box-shadow:0 12px 26px color-mix(in srgb,var(--oa-primary) 40%,transparent)}
.pp-next-appt{margin-top:20px;padding:26px;border-radius:26px;position:relative;overflow:hidden;color:#fff;background:linear-gradient(135deg,var(--oa-primary),color-mix(in srgb,var(--oa-accent) 65%,var(--oa-primary)));box-shadow:0 22px 50px -22px color-mix(in srgb,var(--oa-primary) 55%,transparent)}
.pp-next-appt::after{content:"";position:absolute;right:-60px;top:-70px;width:220px;height:220px;border-radius:50%;background:radial-gradient(circle,rgba(255,255,255,.16),transparent 70%)}
.pp-next-appt-eyebrow{position:relative;z-index:1;display:inline-flex;align-items:center;gap:6px;font-size:.74rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase;opacity:.85}
.pp-next-appt-body{position:relative;z-index:1;display:flex;justify-content:space-between;align-items:flex-end;gap:18px;margin-top:10px;flex-wrap:wrap}
.pp-next-appt-body h2{margin:6px 0 2px;font-size:1.5rem;letter-spacing:-.02em}
.pp-next-appt-body p{margin:0;opacity:.88}
.pp-next-appt-cta{position:relative;z-index:1;display:inline-flex;align-items:center;gap:6px;padding:11px 18px;border-radius:14px;background:rgba(255,255,255,.16);color:#fff;text-decoration:none;font-weight:800;border:1px solid rgba(255,255,255,.28);white-space:nowrap}
.pp-next-appt-cta:hover{background:rgba(255,255,255,.24)}
.pp-next-appt-empty{opacity:.9;margin-top:10px}
.pp-kpi-row{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-top:16px}
.pp-kpi{padding:16px;border-radius:18px;background:var(--oa-surface);border:1px solid var(--oa-border);box-shadow:0 8px 24px rgba(15,23,42,.04)}
.pp-kpi small{display:block;color:var(--oa-text);font-weight:700;font-size:.74rem;margin-bottom:6px}
.pp-kpi strong{display:block;font-size:1.18rem;letter-spacing:-.01em;color:var(--oa-text-strong)}
.pp-kpi--ok strong{color:var(--oa-health)}
.pp-kpi--warn strong{color:var(--oa-warning)}
.pp-quick-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-top:22px}
.pp-quick-grid a{display:grid;justify-items:center;gap:8px;padding:16px 6px;border-radius:18px;background:var(--oa-surface);border:1px solid var(--oa-border);text-decoration:none;color:var(--oa-text-strong);font-weight:700;font-size:.78rem;text-align:center}
.pp-quick-grid a:hover{border-color:color-mix(in srgb,var(--oa-primary) 22%,var(--oa-border));transform:translateY(-2px)}
.pp-quick-grid span{width:44px;height:44px;border-radius:14px;display:grid;place-items:center;background:color-mix(in srgb,var(--oa-primary) 10%,transparent);color:var(--oa-primary);font-size:1.15rem}
.pp-two-col{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:28px}
.pp-payment-list{display:grid;border:1px solid var(--oa-border);border-radius:20px;overflow:hidden;background:var(--oa-surface)}
.pp-payment-list div{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:14px 17px;border-top:1px solid var(--oa-border)}
.pp-payment-list div:first-child{border-top:0}
.pp-payment-list strong{font-size:.92rem}
.pp-payment-list small{display:block;color:var(--oa-text);margin-top:2px;text-transform:capitalize}
.pp-payment-list b{color:var(--oa-health);font-size:.95rem}
.pp-mini-teeth{display:flex;flex-wrap:wrap;gap:8px;margin-top:16px}
.pp-mini-teeth i{width:28px;height:28px;border-radius:9px;display:grid;place-items:center;font-style:normal;font-size:.66rem;font-weight:800;color:#fff}
.oa-quick-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-top:16px}
.oa-quick-grid a{display:grid;justify-items:center;gap:8px;padding:16px 6px;border-radius:18px;background:var(--oa-surface);border:1px solid var(--oa-border);text-decoration:none;color:var(--oa-text-strong);font-weight:700;font-size:.78rem;text-align:center;transition:transform .18s ease,border-color .18s ease}
.oa-quick-grid a:hover{border-color:color-mix(in srgb,var(--oa-primary) 22%,var(--oa-border));transform:translateY(-2px)}
.oa-quick-grid span{width:44px;height:44px;border-radius:14px;display:grid;place-items:center;background:color-mix(in srgb,var(--oa-primary) 10%,transparent);color:var(--oa-primary);font-size:1.15rem}
.pp-quick-grid span svg,.oa-quick-grid span svg{width:21px;height:21px}
.pp-fab svg,.pp-bottom-nav svg{width:19px;height:19px}
.pp-next-appt-eyebrow svg{width:14px;height:14px;vertical-align:-2px}
.pp-brand-mark svg{width:22px;height:22px}
.oa-icon-button svg,.pp-avatar--sm svg{width:18px;height:18px}
.pp-more-sheet a span svg{width:17px;height:17px}
@media(max-width:900px){.oa-quick-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:900px){.pp-kpi-row,.pp-quick-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.pp-two-col{grid-template-columns:1fr}}
.pp-more-scrim{position:fixed;inset:0;z-index:34;background:rgba(7,10,24,.4);backdrop-filter:blur(3px);opacity:0;visibility:hidden;transition:opacity .2s ease,visibility .2s ease}
.pp-more-scrim.is-open{opacity:1;visibility:visible}
.pp-more-sheet{position:fixed;left:50%;bottom:0;transform:translate(-50%,100%);z-index:36;width:min(480px,100%);max-height:70vh;overflow:auto;padding:10px 14px max(20px,env(safe-area-inset-bottom));border-radius:26px 26px 0 0;background:var(--oa-glass-strong);backdrop-filter:blur(24px) saturate(1.2);border:1px solid var(--oa-hairline,var(--oa-border));box-shadow:0 -20px 55px rgba(15,23,42,.2);transition:transform .24s cubic-bezier(.2,.8,.2,1);display:grid;gap:2px}
.pp-more-sheet.is-open{transform:translate(-50%,0)}
.pp-more-sheet-handle{width:38px;height:4px;border-radius:99px;background:var(--oa-border);margin:2px auto 10px}
.pp-more-sheet a{display:flex;align-items:center;gap:12px;padding:13px 10px;border-radius:14px;text-decoration:none;color:var(--oa-text-strong);font-weight:700}
.pp-more-sheet a:hover{background:var(--oa-soft)}
.pp-more-sheet a[aria-current="page"]{color:var(--oa-primary);background:color-mix(in srgb,var(--oa-primary) 8%,transparent)}
.pp-more-sheet a span{width:34px;height:34px;display:grid;place-items:center;border-radius:11px;background:var(--oa-soft);color:var(--oa-primary)}
@media(min-width:721px){.pp-more-scrim,.pp-more-sheet{display:none}}
@media(prefers-reduced-motion:reduce){.pp-more-sheet{transition:none}}.pp-bottom-nav small{font-size:.7rem}@media(max-width:720px){.pp-shell{padding:0 13px 100px}.pp-header{height:70px}.pp-brand small{display:none}.pp-main{padding-top:18px}.pp-hero{padding:20px;border-radius:22px}.pp-avatar{width:58px;height:58px;border-radius:20px}.pp-grid--2,.pp-next-grid{grid-template-columns:1fr}.pp-tooth-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.pp-doc-list a{grid-template-columns:42px 1fr}.pp-doc-list a>b{display:none}.pp-page-head h1{font-size:2rem}}

/* F24 · Consolidación visual de /app */
.oa-brand { text-decoration:none; color:var(--oa-text-strong); }
.oa-sidebar { display:flex; flex-direction:column; }
.oa-sidebar-foot { margin-top:auto; padding:18px 8px 0; }
.oa-topbar-copy { margin:6px 0 0; max-width:760px; line-height:1.55; }
.oa-page { display:grid; gap:18px; }
.oa-page-grid { display:grid; grid-template-columns:minmax(280px,360px) minmax(0,1fr); gap:18px; align-items:start; }
.oa-stack { display:grid; gap:16px; }
.oa-card h2,.oa-card h3 { margin-top:0; }
.oa-card p:last-child { margin-bottom:0; }
.oa-card--compact { padding:14px 16px; }
.oa-card--muted { background:var(--oa-soft); box-shadow:none; }
.oa-card--danger { border-color:color-mix(in srgb,var(--oa-error) 35%,var(--oa-border)); }
.oa-form { display:grid; gap:12px; }
.oa-form label { display:grid; gap:5px; color:var(--oa-text); font-size:.82rem; font-weight:700; }
.oa-field,.oa-form input,.oa-form select,.oa-form textarea { width:100%; min-height:42px; padding:9px 11px; border:1px solid var(--oa-border); border-radius:12px; background:var(--oa-surface); color:var(--oa-text-strong); }
.oa-form textarea { min-height:92px; resize:vertical; }
.oa-form input[type="checkbox"],.oa-form input[type="radio"] { width:auto; min-height:auto; padding:0; }
.oa-form-row { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; }
.oa-form-row--3 { grid-template-columns:repeat(3,minmax(0,1fr)); }
.oa-form-row--4 { grid-template-columns:repeat(4,minmax(0,1fr)); }
.oa-form-row--5 { grid-template-columns:repeat(5,minmax(0,1fr)); }
.oa-form-row--action { grid-template-columns:repeat(4,minmax(0,1fr)) auto; align-items:end; }
.oa-inline-actions { display:flex; gap:8px; flex-wrap:wrap; align-items:center; }
.oa-inline-actions form { display:inline-flex; gap:6px; align-items:center; }
.oa-button--danger { color:var(--oa-error); background:var(--oa-surface); border:1px solid color-mix(in srgb,var(--oa-error) 35%,var(--oa-border)); }
.oa-button--small { min-height:34px; padding:0 11px; border-radius:10px; font-size:.82rem; }
.oa-button--ghost { background:transparent; color:var(--oa-text-strong); border:1px solid var(--oa-border); }
.oa-alert { display:flex; gap:11px; align-items:flex-start; padding:12px 15px; border-radius:14px; margin-bottom:16px; border:1px solid var(--oa-border); background:var(--oa-surface); }
.oa-alert ul { margin-bottom:0; }
.oa-alert-icon { flex:0 0 auto; font-size:1.08rem; line-height:1.35; filter:saturate(1.15); }
.oa-alert-body { min-width:0; }
.oa-alert--success { color:var(--oa-health); border-color:color-mix(in srgb,var(--oa-health) 28%,var(--oa-border)); background:color-mix(in srgb,var(--oa-health) 8%,var(--oa-surface)); }
.oa-alert--warning { color:var(--oa-warning); border-color:color-mix(in srgb,var(--oa-warning) 30%,var(--oa-border)); background:color-mix(in srgb,var(--oa-warning) 8%,var(--oa-surface)); }
.oa-alert--info { color:var(--oa-primary); border-color:color-mix(in srgb,var(--oa-primary) 28%,var(--oa-border)); background:color-mix(in srgb,var(--oa-primary) 7%,var(--oa-surface)); }
.oa-alert--error { color:var(--oa-error); border-color:color-mix(in srgb,var(--oa-error) 32%,var(--oa-border)); background:color-mix(in srgb,var(--oa-error) 7%,var(--oa-surface)); }
.oa-table-wrap { width:100%; overflow:auto; }
.oa-table { width:100%; border-collapse:collapse; min-width:620px; }
.oa-table th,.oa-table td { padding:10px 11px; border-bottom:1px solid var(--oa-border); text-align:left; vertical-align:top; }
.oa-table th { color:var(--oa-text); font-size:.78rem; letter-spacing:.02em; }
.oa-table tbody tr:hover { background:color-mix(in srgb,var(--oa-primary) 3%,transparent); }
.oa-table code { color:var(--oa-primary); }
.oa-kpi-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:12px; }
.oa-kpi { padding:15px; border:1px solid var(--oa-border); border-radius:15px; background:var(--oa-surface); }
.oa-kpi small { display:block; color:var(--oa-text); margin-bottom:7px; }
.oa-kpi strong { display:block; font-size:1.45rem; letter-spacing:-.03em; }
.oa-status--danger { color:var(--oa-error); font-weight:800; }
.oa-status--ok { color:var(--oa-health); font-weight:800; }
.oa-link { color:var(--oa-primary); font-weight:750; text-decoration:none; }
.oa-link:hover { text-decoration:underline; }
.oa-empty { padding:18px; border:1px dashed var(--oa-border); border-radius:14px; color:var(--oa-text); background:var(--oa-surface); }
.oa-section-toolbar { display:flex; justify-content:space-between; gap:12px; align-items:end; margin-bottom:12px; }
.oa-section-toolbar h2 { margin-bottom:4px; }
.oa-detail-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
.oa-list-plain { margin:0; padding-left:20px; }
.oa-clinical-boundary { border-left:4px solid var(--oa-warning); }
.oa-report-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px; }
.oa-report-card { min-width:0; }
.oa-report-card h2 { margin-bottom:6px; }
.oa-report-metric { font-size:1.7rem; font-weight:850; }
.oa-code-hash { font-family:ui-monospace,SFMono-Regular,Menlo,monospace; font-size:.8rem; color:var(--oa-primary); }
.oa-checkline { display:flex !important; grid-template-columns:none; align-items:center; gap:8px !important; }
.oa-checkline input { flex:0 0 auto; }

/* F24 sweep: portal classes referenced by Blade but absent in F23 CSS. */
.pp-doc-list--large a { grid-template-columns:46px minmax(0,1fr) auto; }
.pp-muted { color:var(--oa-text); }
.pp-muted-grid { display:grid; gap:8px; color:var(--oa-text); }

@media(max-width:980px){
  .oa-page-grid,.oa-report-grid { grid-template-columns:1fr; }
  .oa-kpi-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .oa-form-row--4,.oa-form-row--5,.oa-form-row--action { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media(max-width:720px){
  .oa-shell { grid-template-columns:1fr; }
  .oa-sidebar { position:relative; height:auto; border-right:0; border-bottom:1px solid var(--oa-border); padding-bottom:12px; }
  .oa-nav { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .oa-sidebar-foot { display:none; }
  .oa-main { padding:18px 14px 38px; }
  .oa-topbar { align-items:flex-start; }
  .oa-actions { flex-wrap:wrap; justify-content:flex-end; }
  .oa-form-row,.oa-form-row--3,.oa-form-row--4,.oa-form-row--5,.oa-form-row--action,.oa-detail-grid { grid-template-columns:1fr; }
  .oa-kpi-grid { grid-template-columns:1fr; }
}
.oa-page-narrow { max-width:760px; }
/* F24 sweep · aliases/estructuras heredadas usadas por historia clínica acumulativa */
.oa-btn { display:inline-flex; align-items:center; justify-content:center; min-height:42px; padding:0 16px; border:0; border-radius:13px; color:white; background:var(--oa-gradient-primary); font-weight:750; text-decoration:none; cursor:pointer; }
.oa-btn-small { min-height:34px; padding:0 11px; border-radius:10px; font-size:.82rem; }
.oa-clinical-panel { margin-top:18px; padding:20px; border:1px solid var(--oa-border); border-radius:var(--oa-radius); background:var(--oa-surface); box-shadow:0 6px 26px color-mix(in srgb,var(--oa-text-strong) 4%,transparent); }
.oa-grid-4 { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:12px; }
.oa-row { display:flex; align-items:center; justify-content:space-between; gap:12px; flex-wrap:wrap; }
.oa-stat { padding:12px; border:1px solid var(--oa-border); border-radius:14px; background:var(--oa-soft); }
.oa-perio-full { display:grid; gap:10px; overflow:auto; }
.oa-perio-site-row,.oa-perio-tooth-row { display:grid; grid-template-columns:minmax(72px,.6fr) repeat(6,minmax(70px,1fr)); gap:6px; align-items:center; min-width:680px; }
.oa-perio-tooth-row { grid-template-columns:minmax(72px,.6fr) repeat(3,minmax(110px,1fr)); min-width:480px; }
@media(max-width:900px){.oa-grid-4{grid-template-columns:repeat(2,minmax(0,1fr));}}
@media(max-width:620px){.oa-grid-4{grid-template-columns:1fr;}}

/* F26 imaging — shared card semantics */
.oa-card__header{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;padding:18px 20px 0}.oa-card__title{margin:0;color:var(--oa-text-strong);font-size:1.05rem;letter-spacing:-.02em}

/* F30 — cabecera reutilizable para superficies /app */
.oa-page__header{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;margin-bottom:1rem;flex-wrap:wrap}

/* ==========================================================================\n   F31 · Premium Experience Layer\n   Visual polish + perceptual performance. No domain/business rules here.\n   ========================================================================== */
:root{
  --oa-glass:color-mix(in srgb,var(--oa-surface) 82%,transparent);
  --oa-glass-strong:color-mix(in srgb,var(--oa-surface) 93%,transparent);
  --oa-hairline:color-mix(in srgb,var(--oa-border) 72%,transparent);
  --oa-shadow-xs:0 1px 2px color-mix(in srgb,var(--oa-text-strong) 4%,transparent),0 5px 18px color-mix(in srgb,var(--oa-text-strong) 4%,transparent);
  --oa-shadow-sm:0 8px 24px color-mix(in srgb,var(--oa-text-strong) 7%,transparent);
  --oa-shadow-lg:0 24px 70px color-mix(in srgb,var(--oa-text-strong) 12%,transparent);
  --oa-ease:cubic-bezier(.2,.75,.2,1);
  --oa-sidebar-width:272px;
  --oa-sidebar-collapsed:86px;
}
:root[data-theme="dark"]{
  --oa-glass:color-mix(in srgb,var(--oa-surface) 80%,transparent);
  --oa-glass-strong:color-mix(in srgb,var(--oa-surface) 91%,transparent);
  --oa-shadow-xs:0 1px 2px rgba(0,0,0,.22),0 8px 22px rgba(0,0,0,.18);
  --oa-shadow-sm:0 12px 34px rgba(0,0,0,.22);
  --oa-shadow-lg:0 30px 90px rgba(0,0,0,.34);
}
html{scroll-behavior:smooth;scroll-padding-top:96px}
body[data-oa-premium-shell]{position:relative;isolation:isolate;overflow-x:hidden}
body[data-oa-premium-shell]::before{content:"";position:fixed;inset:0;z-index:-3;background:linear-gradient(180deg,color-mix(in srgb,var(--oa-canvas) 97%,var(--oa-primary) 3%),var(--oa-canvas) 42%);pointer-events:none}
.oa-ambient{position:fixed;inset:0;z-index:-2;overflow:hidden;pointer-events:none;contain:strict}
.oa-ambient i{position:absolute;border-radius:50%;filter:blur(1px);opacity:.42;transform:translateZ(0)}
.oa-ambient i:nth-child(1){width:46vw;height:46vw;left:-22vw;top:-20vw;background:radial-gradient(circle,color-mix(in srgb,var(--oa-primary) 15%,transparent),transparent 68%)}
.oa-ambient i:nth-child(2){width:34vw;height:34vw;right:-14vw;top:8vh;background:radial-gradient(circle,color-mix(in srgb,var(--oa-accent) 13%,transparent),transparent 70%)}
.oa-ambient i:nth-child(3){width:32vw;height:32vw;left:34vw;bottom:-25vw;background:radial-gradient(circle,color-mix(in srgb,var(--oa-secondary) 9%,transparent),transparent 70%)}
.oa-skip-link{position:fixed;left:16px;top:12px;z-index:200;transform:translateY(-150%);padding:10px 14px;border-radius:12px;background:var(--oa-text-strong);color:var(--oa-surface);font-weight:800;text-decoration:none;box-shadow:var(--oa-shadow-lg);transition:transform .18s var(--oa-ease)}
.oa-skip-link:focus{transform:translateY(0)}
.oa-route-progress{position:fixed;inset:0 0 auto;z-index:180;height:3px;pointer-events:none;opacity:0;transition:opacity .2s ease}
.oa-route-progress span{display:block;width:18%;height:100%;transform:translateX(-110%);background:var(--oa-gradient-primary);box-shadow:0 0 18px color-mix(in srgb,var(--oa-primary) 52%,transparent)}
html.is-navigating .oa-route-progress{opacity:1}
html.is-navigating .oa-route-progress span{animation:oa-route-progress 1.35s var(--oa-ease) infinite}
@keyframes oa-route-progress{0%{transform:translateX(-110%) scaleX(.7)}55%{transform:translateX(340%) scaleX(2.4)}100%{transform:translateX(650%) scaleX(.8)}}

/* shell + navigation */
body[data-oa-premium-shell] .oa-shell{grid-template-columns:var(--oa-sidebar-width) minmax(0,1fr);transition:grid-template-columns .28s var(--oa-ease)}
body[data-oa-premium-shell] .oa-sidebar{width:var(--oa-sidebar-width);padding:18px 14px 16px;background:var(--oa-glass-strong);border-right:1px solid var(--oa-hairline);box-shadow:16px 0 50px color-mix(in srgb,var(--oa-text-strong) 3%,transparent);backdrop-filter:blur(22px) saturate(1.22);transition:width .28s var(--oa-ease),transform .28s var(--oa-ease),box-shadow .28s ease;overflow:hidden}
.oa-sidebar-head{display:flex;align-items:center;gap:8px;min-height:58px;margin-bottom:8px}
body[data-oa-premium-shell] .oa-brand{min-width:0;flex:1;padding:4px 6px;gap:12px}
body[data-oa-premium-shell] .oa-brand-mark{width:42px;height:42px;flex:0 0 42px;border-radius:15px;position:relative;isolation:isolate;box-shadow:0 12px 28px color-mix(in srgb,var(--oa-primary) 25%,transparent)}
body[data-oa-premium-shell] .oa-brand-mark::after{content:"";position:absolute;inset:1px;border-radius:14px;border:1px solid rgba(255,255,255,.34);pointer-events:none}
.oa-brand-copy{display:grid;min-width:0;line-height:1.05;white-space:nowrap}
.oa-brand-copy strong{overflow:hidden;text-overflow:ellipsis;font-size:.95rem}
.oa-brand-copy small{margin-top:5px;color:var(--oa-text);font-size:.66rem;font-weight:700;letter-spacing:.07em;text-transform:uppercase}
.oa-sidebar-collapse{width:30px;height:30px;flex:0 0 30px;display:grid;place-items:center;border:1px solid var(--oa-border);border-radius:10px;background:var(--oa-surface);color:var(--oa-text);cursor:pointer;font-size:1.2rem;box-shadow:var(--oa-shadow-xs);transition:transform .25s var(--oa-ease),background .18s ease}
.oa-sidebar-collapse:hover{background:var(--oa-soft);color:var(--oa-text-strong);transform:translateX(-2px)}
.oa-nav{gap:12px;padding-top:6px;overflow:auto;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:color-mix(in srgb,var(--oa-text) 25%,transparent) transparent}
.oa-nav-group{display:grid;gap:5px}
.oa-nav-label{padding:7px 12px 4px;color:color-mix(in srgb,var(--oa-text) 82%,transparent);font-size:.64rem;line-height:1;font-weight:850;letter-spacing:.12em;text-transform:uppercase;white-space:nowrap}
body[data-oa-premium-shell] .oa-nav a{position:relative;min-height:46px;padding:0 11px;border:1px solid transparent;border-radius:14px;overflow:hidden;will-change:transform}
body[data-oa-premium-shell] .oa-nav a::before{content:"";position:absolute;left:0;top:50%;width:3px;height:18px;border-radius:999px;background:var(--oa-primary);transform:translate(-8px,-50%) scaleY(.4);opacity:0;transition:.2s var(--oa-ease)}
body[data-oa-premium-shell] .oa-nav a:hover{background:color-mix(in srgb,var(--oa-surface) 72%,var(--oa-primary) 6%);border-color:color-mix(in srgb,var(--oa-primary) 8%,var(--oa-border));transform:translateX(2px);box-shadow:var(--oa-shadow-xs)}
body[data-oa-premium-shell] .oa-nav a[aria-current="page"]{background:linear-gradient(110deg,color-mix(in srgb,var(--oa-primary) 13%,var(--oa-surface)),color-mix(in srgb,var(--oa-accent) 5%,var(--oa-surface)));border-color:color-mix(in srgb,var(--oa-primary) 17%,var(--oa-border));box-shadow:inset 0 1px rgba(255,255,255,.2),var(--oa-shadow-xs)}
body[data-oa-premium-shell] .oa-nav a[aria-current="page"]::before{transform:translate(0,-50%) scaleY(1);opacity:1}
.oa-nav-icon{width:24px;flex:0 0 24px;display:grid;place-items:center;color:color-mix(in srgb,var(--oa-primary) 82%,var(--oa-text-strong))}
.oa-icon{display:block;flex-shrink:0}
.oa-icon-button .oa-icon,.oa-mobile-menu .oa-icon,.oa-sidebar-collapse .oa-icon,.pp-icon .oa-icon,.pp-bottom-nav a .oa-icon{width:19px;height:19px}
.oa-brand-mark .oa-icon,.pp-brand-mark .oa-icon,.oa-auth-icon .oa-icon,.oa-dialog-icon .oa-icon{width:20px;height:20px}
.oa-nav a[aria-current="page"] .oa-nav-icon{color:var(--oa-primary)}
.oa-nav-text{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.oa-sidebar-foot{border-top:1px solid var(--oa-hairline);margin-top:auto!important;padding:14px 6px 0!important}
.oa-sidebar-status{display:flex;align-items:center;gap:10px;min-width:0;padding:9px 8px;border-radius:13px;background:color-mix(in srgb,var(--oa-health) 5%,var(--oa-surface))}
.oa-sidebar-status>span{width:8px;height:8px;flex:0 0 8px;border-radius:50%;background:var(--oa-health);box-shadow:0 0 0 4px color-mix(in srgb,var(--oa-health) 12%,transparent)}
.oa-sidebar-status div{display:grid;min-width:0;white-space:nowrap}.oa-sidebar-status strong{font-size:.75rem}.oa-sidebar-status small{color:var(--oa-text);font-size:.65rem;margin-top:2px}
:root[data-sidebar="collapsed"] body[data-oa-premium-shell] .oa-shell{grid-template-columns:var(--oa-sidebar-collapsed) minmax(0,1fr)}
:root[data-sidebar="collapsed"] body[data-oa-premium-shell] .oa-sidebar{width:var(--oa-sidebar-collapsed)}
:root[data-sidebar="collapsed"] .oa-brand-copy,:root[data-sidebar="collapsed"] .oa-nav-label,:root[data-sidebar="collapsed"] .oa-nav-text,:root[data-sidebar="collapsed"] .oa-sidebar-status div{opacity:0;pointer-events:none;width:0}
:root[data-sidebar="collapsed"] .oa-sidebar-collapse{transform:rotate(180deg)}
:root[data-sidebar="collapsed"] .oa-sidebar-collapse:hover{transform:rotate(180deg) translateX(-2px)}
:root[data-sidebar="collapsed"] body[data-oa-premium-shell] .oa-nav a{justify-content:center;padding-inline:8px}
:root[data-sidebar="collapsed"] .oa-sidebar-status{justify-content:center}
.oa-sidebar-scrim{display:none}
.oa-mobile-menu{display:none;width:42px;height:42px;border:1px solid var(--oa-border);border-radius:13px;background:var(--oa-surface);color:var(--oa-text-strong);box-shadow:var(--oa-shadow-xs);cursor:pointer}

/* main/topbar */
body[data-oa-premium-shell] .oa-main{padding:0 30px 54px;max-width:1800px;width:100%;margin-inline:auto}
body[data-oa-premium-shell] .oa-topbar{position:sticky;top:0;z-index:24;min-height:96px;margin:0 -10px 24px;padding:18px 10px 14px;background:linear-gradient(180deg,color-mix(in srgb,var(--oa-canvas) 96%,transparent) 66%,transparent);backdrop-filter:blur(12px) saturate(1.08)}
.oa-topbar-leading{display:flex;align-items:center;gap:12px;min-width:0}
body[data-oa-premium-shell] .oa-title{font-weight:860;text-wrap:balance}
body[data-oa-premium-shell] .oa-eyebrow{font-size:.7rem;letter-spacing:.11em}
.oa-environment-pill{display:inline-flex;align-items:center;gap:7px;min-height:34px;padding:0 11px;border:1px solid var(--oa-border);border-radius:999px;background:var(--oa-glass-strong);color:var(--oa-text);font-size:.72rem;font-weight:800;white-space:nowrap;box-shadow:var(--oa-shadow-xs)}
.oa-environment-pill i{width:7px;height:7px;border-radius:50%;background:var(--oa-health);box-shadow:0 0 0 4px color-mix(in srgb,var(--oa-health) 10%,transparent)}
.oa-feedback-stack{display:grid;gap:9px;margin-bottom:14px}
.oa-content-stage{min-width:0;animation:oa-content-in .38s var(--oa-ease) both}
@keyframes oa-content-in{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}

/* premium surfaces */
body[data-oa-premium-shell] .oa-card{position:relative;border-color:var(--oa-hairline);box-shadow:var(--oa-shadow-xs);transition:transform .22s var(--oa-ease),box-shadow .22s var(--oa-ease),border-color .22s ease;background:linear-gradient(180deg,color-mix(in srgb,var(--oa-surface) 97%,white 3%),var(--oa-surface))}
:root[data-theme="dark"] body[data-oa-premium-shell] .oa-card{background:linear-gradient(180deg,color-mix(in srgb,var(--oa-surface) 95%,white 5%),var(--oa-surface))}
body[data-oa-premium-shell] .oa-card--interactive:hover,body[data-oa-premium-shell] .oa-card[data-interactive="true"]:hover{border-color:color-mix(in srgb,var(--oa-primary) 14%,var(--oa-border));box-shadow:var(--oa-shadow-sm);transform:translateY(-2px)}
body[data-oa-premium-shell] .oa-card--premium{border-color:color-mix(in srgb,var(--oa-primary) 17%,var(--oa-border));box-shadow:var(--oa-shadow-tinted)}
body[data-oa-premium-shell] .oa-card--premium::before{content:"";position:absolute;inset:0;border-radius:inherit;padding:1px;background:linear-gradient(135deg,color-mix(in srgb,var(--oa-primary) 35%,transparent),transparent 42%,color-mix(in srgb,var(--oa-accent) 25%,transparent));mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);mask-composite:exclude;pointer-events:none}
body[data-oa-premium-shell] .oa-button{position:relative;overflow:hidden;box-shadow:var(--oa-shadow-xs);letter-spacing:-.01em}
body[data-oa-premium-shell] .oa-button::after{content:"";position:absolute;inset:-40% auto -40% -70%;width:45%;transform:skewX(-18deg);background:linear-gradient(90deg,transparent,rgba(255,255,255,.27),transparent);transition:left .55s var(--oa-ease);pointer-events:none}
body[data-oa-premium-shell] .oa-button:hover::after{left:130%}
body[data-oa-premium-shell] .oa-button:active{transform:translateY(0) scale(.985)}
body[data-oa-premium-shell] .oa-list-row{transition:background .18s var(--oa-ease),transform .18s var(--oa-ease),box-shadow .18s var(--oa-ease)}
body[data-oa-premium-shell] a.oa-list-row:hover,body[data-oa-premium-shell] .oa-list-row:has(> a[href]):hover{background:color-mix(in srgb,var(--oa-primary) 4%,transparent);transform:translateX(3px)}
body[data-oa-premium-shell] .oa-card .oa-list-row:last-child{border-bottom-left-radius:inherit;border-bottom-right-radius:inherit}
body[data-oa-premium-shell] .oa-icon-button{background:var(--oa-glass-strong);box-shadow:var(--oa-shadow-xs)}
body[data-oa-premium-shell] .oa-patient-table tbody tr{transition:background .16s var(--oa-ease)}
body[data-oa-premium-shell] .oa-patient-table tbody tr:hover{background:color-mix(in srgb,var(--oa-primary) 3.5%,transparent)}
body[data-oa-premium-shell] .oa-field,body[data-oa-premium-shell] .oa-form input,body[data-oa-premium-shell] .oa-form select,body[data-oa-premium-shell] .oa-form textarea{transition:border-color .18s ease,box-shadow .18s ease,background .18s ease;box-shadow:inset 0 1px 0 color-mix(in srgb,var(--oa-surface) 60%,white 40%)}
body[data-oa-premium-shell] .oa-form input:focus,body[data-oa-premium-shell] .oa-form select:focus,body[data-oa-premium-shell] .oa-form textarea:focus{outline:none;border-color:color-mix(in srgb,var(--oa-primary) 55%,var(--oa-border));box-shadow:0 0 0 4px color-mix(in srgb,var(--oa-primary) 10%,transparent),var(--oa-shadow-xs)}
body[data-oa-premium-shell] .oa-table-wrap{background:var(--oa-surface);box-shadow:var(--oa-shadow-xs);scrollbar-width:thin}
body[data-oa-premium-shell] .oa-table th{position:sticky;top:0;z-index:1;background:var(--oa-glass-strong);backdrop-filter:blur(10px)}
body[data-oa-premium-shell] .oa-table tbody tr{transition:background .15s ease}
.oa-toast{animation:oa-toast-in .35s var(--oa-ease) both}
@keyframes oa-toast-in{from{opacity:0;transform:translateY(-8px) scale(.985)}to{opacity:1;transform:none}}
.oa-hero-panel{position:relative;overflow:hidden;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:28px;align-items:center;padding:clamp(24px,4vw,42px);margin-bottom:20px;border:1px solid color-mix(in srgb,var(--oa-primary) 16%,var(--oa-border));border-radius:calc(var(--oa-radius) + 10px);background:linear-gradient(125deg,color-mix(in srgb,var(--oa-primary) 11%,var(--oa-surface)),var(--oa-surface) 46%,color-mix(in srgb,var(--oa-accent) 7%,var(--oa-surface)) 82%,color-mix(in srgb,var(--oa-coral) 5%,var(--oa-surface)));box-shadow:var(--oa-shadow-tinted)}
.oa-hero-panel::before{content:"";position:absolute;width:280px;height:280px;right:-90px;top:-140px;border-radius:50%;background:radial-gradient(circle,color-mix(in srgb,var(--oa-accent) 23%,transparent),transparent 68%)}
.oa-hero-panel h2{position:relative;margin:10px 0 8px;font-size:clamp(2rem,4vw,3.4rem);line-height:1;letter-spacing:-.055em}.oa-hero-panel p{position:relative;max-width:760px;margin:0;color:var(--oa-text);line-height:1.65}
.oa-hero-badge{position:relative;display:inline-flex;align-items:center;gap:8px;padding:7px 10px;border:1px solid color-mix(in srgb,var(--oa-health) 22%,var(--oa-border));border-radius:999px;background:color-mix(in srgb,var(--oa-health) 7%,var(--oa-surface));color:var(--oa-health);font-size:.74rem;font-weight:850}.oa-hero-badge i{width:7px;height:7px;border-radius:50%;background:currentColor}
.oa-hero-orb{position:relative;width:118px;height:118px;display:grid;place-items:center;border-radius:38px;background:var(--oa-gradient-premium);color:white;font-size:2rem;font-weight:900;box-shadow:0 24px 60px color-mix(in srgb,var(--oa-primary) 28%,transparent);transform:rotate(5deg)}
.oa-hero-orb::after{content:"";position:absolute;inset:5px;border:1px solid rgba(255,255,255,.35);border-radius:34px}
.oa-dashboard-grid{margin-bottom:20px}.oa-dashboard-grid .oa-card{min-height:190px}.oa-dashboard-grid .oa-card h2{margin:14px 0 8px}
.oa-quick-actions{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:20px 22px;border:1px solid var(--oa-hairline);border-radius:var(--oa-radius);background:var(--oa-glass);box-shadow:var(--oa-shadow-xs);backdrop-filter:blur(14px)}
.oa-quick-actions h2{margin:3px 0 0}
[data-oa-reveal]{transition:opacity .42s var(--oa-ease),transform .42s var(--oa-ease)}
html:not(.oa-ui-ready) [data-oa-reveal]{opacity:0;transform:translateY(9px)}

/* premium auth */
body[data-ui-surface="auth"] .oa-auth-shell{position:relative;z-index:1}
body[data-ui-surface="auth"] .oa-auth-card{background:var(--oa-glass-strong);border-color:var(--oa-hairline);box-shadow:var(--oa-shadow-lg);backdrop-filter:blur(22px) saturate(1.18)}
body[data-ui-surface="auth"] .oa-auth-feature-grid>div{background:var(--oa-glass);border-color:var(--oa-hairline);box-shadow:var(--oa-shadow-xs)}
body[data-ui-surface="auth"] .oa-auth-brand h1{text-wrap:balance;background:linear-gradient(110deg,var(--oa-text-strong),color-mix(in srgb,var(--oa-primary) 68%,var(--oa-text-strong)));-webkit-background-clip:text;background-clip:text;color:transparent}
:root[data-theme="dark"] body[data-ui-surface="auth"] .oa-auth-card{background:color-mix(in srgb,var(--oa-surface) 91%,transparent)}
:root[data-theme="dark"] body[data-ui-surface="auth"] .oa-auth-feature-grid>div{background:color-mix(in srgb,var(--oa-surface) 78%,transparent)}

/* patient portal premium */
body[data-oa-portal-layout] .pp-header{background:var(--oa-glass);border-color:var(--oa-hairline);backdrop-filter:blur(22px) saturate(1.16)}
body[data-oa-portal-layout] .pp-brand-mark{box-shadow:0 14px 34px color-mix(in srgb,var(--oa-primary) 25%,transparent)}
body[data-oa-portal-layout] .pp-hero,body[data-oa-portal-layout] .pp-progress-card,body[data-oa-portal-layout] .pp-card,body[data-oa-portal-layout] .pp-doc-list{border-color:var(--oa-hairline);box-shadow:var(--oa-shadow-xs)}
body[data-oa-portal-layout] .pp-card{transition:transform .2s var(--oa-ease),box-shadow .2s var(--oa-ease),border-color .2s ease}
body[data-oa-portal-layout] .pp-card--interactive:hover,body[data-oa-portal-layout] .pp-card[data-interactive="true"]:hover{transform:translateY(-2px);box-shadow:var(--oa-shadow-sm);border-color:color-mix(in srgb,var(--oa-primary) 15%,var(--oa-border))}
body[data-oa-portal-layout] .pp-bottom-nav{width:min(560px,calc(100% - 24px));grid-template-columns:repeat(5,minmax(56px,1fr));border-color:var(--oa-hairline);background:var(--oa-glass-strong);box-shadow:0 20px 54px color-mix(in srgb,var(--oa-text-strong) 14%,transparent);backdrop-filter:blur(24px) saturate(1.2)}
body[data-oa-portal-layout] .pp-bottom-nav a,body[data-oa-portal-layout] .pp-bottom-nav button{position:relative;transition:transform .18s var(--oa-ease),background .18s ease,color .18s ease}
body[data-oa-portal-layout] .pp-bottom-nav a:hover,body[data-oa-portal-layout] .pp-bottom-nav button:hover{transform:translateY(-2px);background:var(--oa-soft)}
body[data-oa-portal-layout] .pp-bottom-nav a[aria-current="page"]::before,body[data-oa-portal-layout] .pp-bottom-nav button[aria-current="page"]::before{content:"";position:absolute;top:3px;width:22px;height:3px;border-radius:999px;background:var(--oa-primary)}

/* perceptual performance + accessibility */
.oa-section,.oa-card,.pp-section,.pp-card,.oa-report-card{content-visibility:auto;contain-intrinsic-size:auto 260px}
img{max-width:100%}
button[aria-busy="true"],.oa-button[aria-busy="true"]{cursor:wait;opacity:.76;pointer-events:none}
button[aria-busy="true"]::before,.oa-button[aria-busy="true"]::before{content:"";width:13px;height:13px;display:inline-block;margin-right:8px;vertical-align:-2px;border:2px solid currentColor;border-right-color:transparent;border-radius:50%;animation:oa-spin .65s linear infinite}
@keyframes oa-spin{to{transform:rotate(360deg)}}
@supports(view-transition-name:root){@view-transition{navigation:auto}::view-transition-old(root){animation:oa-vt-out .15s ease both}::view-transition-new(root){animation:oa-vt-in .24s var(--oa-ease) both}@keyframes oa-vt-out{to{opacity:.75}}@keyframes oa-vt-in{from{opacity:.75}}}

@media(max-width:980px){
  body[data-oa-premium-shell] .oa-main{padding-inline:20px}
  .oa-environment-pill{display:none}
  .oa-hero-orb{width:92px;height:92px;border-radius:30px}
  .oa-global-search{max-width:260px}
}
@media(max-width:720px){
  .oa-topbar{flex-wrap:wrap}
  .oa-global-search{order:3;max-width:none;width:100%}
  .oa-user-menu-copy{display:none}
  .oa-user-menu-trigger{padding:4px;gap:0}
  .oa-user-menu-trigger svg{display:none}
  :root[data-sidebar="collapsed"] body[data-oa-premium-shell] .oa-shell,body[data-oa-premium-shell] .oa-shell{display:block}
  body[data-oa-premium-shell] .oa-sidebar{position:fixed;z-index:70;left:0;top:0;width:min(320px,88vw)!important;height:100dvh;transform:translateX(-105%);border-right:1px solid var(--oa-border);box-shadow:var(--oa-shadow-lg)}
  body[data-oa-premium-shell].oa-sidebar-open .oa-sidebar{transform:translateX(0)}
  .oa-sidebar-collapse{display:none}
  .oa-mobile-menu{display:grid;place-items:center}
  .oa-sidebar-scrim{display:block;position:fixed;inset:0;z-index:65;border:0;background:rgba(7,10,24,.35);backdrop-filter:blur(3px);opacity:0;visibility:hidden;transition:opacity .22s ease,visibility .22s ease}
  body[data-oa-premium-shell].oa-sidebar-open .oa-sidebar-scrim{opacity:1;visibility:visible}
  :root[data-sidebar="collapsed"] .oa-brand-copy,:root[data-sidebar="collapsed"] .oa-nav-label,:root[data-sidebar="collapsed"] .oa-nav-text,:root[data-sidebar="collapsed"] .oa-sidebar-status div{opacity:1;pointer-events:auto;width:auto}
  :root[data-sidebar="collapsed"] body[data-oa-premium-shell] .oa-nav a{justify-content:flex-start;padding-inline:11px}
  body[data-oa-premium-shell] .oa-main{padding:0 14px 40px}
  body[data-oa-premium-shell] .oa-topbar{min-height:82px;margin:0 -4px 18px;padding-inline:4px}
  .oa-actions .oa-button--secondary{padding-inline:11px}
  .oa-hero-panel{grid-template-columns:1fr;padding:24px}.oa-hero-orb{display:none}
  .oa-quick-actions{align-items:flex-start;flex-direction:column}
  body[data-oa-portal-layout] .pp-bottom-nav{left:12px;right:12px;transform:none;width:auto}
}
@media(max-width:480px){
  body[data-oa-premium-shell] .oa-actions{gap:6px}
  .oa-dashboard-grid{grid-template-columns:1fr}
}
@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{scroll-behavior:auto!important;animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important}
  [data-oa-reveal]{opacity:1!important;transform:none!important}
  .oa-route-progress{display:none}
}
@media(prefers-contrast:more){
  :root{--oa-border:color-mix(in srgb,var(--oa-text-strong) 35%,transparent)}
  body[data-oa-premium-shell] .oa-nav a[aria-current="page"]{outline:2px solid var(--oa-primary);outline-offset:-2px}
}

/* F31 · native dialog, styled as a first-class premium confirmation surface. */
.oa-dialog{width:min(520px,calc(100% - 28px));padding:0;border:0;border-radius:26px;background:transparent;color:var(--oa-text-strong);box-shadow:var(--oa-shadow-lg)}
.oa-dialog::backdrop{background:rgba(7,10,24,.48);backdrop-filter:blur(7px)}
.oa-dialog[open]{animation:oa-dialog-in .22s var(--oa-ease) both}.oa-dialog[open]::backdrop{animation:oa-backdrop-in .2s ease both}
.oa-dialog-card{display:grid;gap:18px;padding:26px;border:1px solid var(--oa-hairline);border-radius:26px;background:var(--oa-glass-strong);backdrop-filter:blur(24px) saturate(1.2)}
.oa-dialog-card h2{margin:4px 0 5px;font-size:1.45rem;letter-spacing:-.035em}.oa-dialog-card p{margin:0}
.oa-dialog-icon{width:46px;height:46px;display:grid;place-items:center;border-radius:16px;background:var(--oa-gradient-primary);color:white;box-shadow:0 12px 28px color-mix(in srgb,var(--oa-primary) 24%,transparent)}
.oa-dialog-field{display:grid;gap:7px;color:var(--oa-text);font-size:.82rem;font-weight:800}.oa-dialog-field textarea{width:100%;resize:vertical;min-height:100px;padding:12px 13px;border:1px solid var(--oa-border);border-radius:14px;background:var(--oa-surface);color:var(--oa-text-strong);outline:none}.oa-dialog-field textarea:focus{border-color:var(--oa-primary);box-shadow:0 0 0 4px color-mix(in srgb,var(--oa-primary) 10%,transparent)}
.oa-dialog-actions{display:flex;justify-content:flex-end;gap:9px}
@keyframes oa-dialog-in{from{opacity:0;transform:translateY(10px) scale(.98)}to{opacity:1;transform:none}}@keyframes oa-backdrop-in{from{opacity:0}to{opacity:1}}
@media(max-width:520px){.oa-dialog-card{padding:21px}.oa-dialog-actions{display:grid;grid-template-columns:1fr 1fr}.oa-dialog-actions .oa-button{width:100%}}

/* ============================================================
   Odontograma SVG anatómico (punto 11) — protagonista visual.
   Dos arcadas reales, 32 piezas FDI, color solo cuando hay hallazgo.
   ============================================================ */
.oa-odontogram{display:grid;gap:6px;padding:22px 18px 18px;background:var(--oa-surface);border:1px solid var(--oa-border);border-radius:var(--oa-radius,18px);box-shadow:0 6px 26px rgba(35,45,76,.045)}
.oa-odontogram-legend{display:flex;flex-wrap:wrap;gap:10px 16px;margin-bottom:14px;padding-bottom:14px;border-bottom:1px solid var(--oa-border)}
.oa-odontogram-legend-item{display:inline-flex;align-items:center;gap:6px;font-size:.74rem;font-weight:700;color:var(--oa-text)}
.oa-odontogram-legend-item i{width:9px;height:9px;border-radius:50%;display:inline-block}
.oa-odontogram-arch{display:grid;gap:8px}
.oa-odontogram-arch-label{font-size:.7rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:var(--oa-text);text-align:center}
.oa-odontogram-row{display:flex;justify-content:center;align-items:flex-end;gap:6px;padding:22px 2px 4px;overflow-x:auto;overflow-y:visible;scroll-snap-type:x proximity;-webkit-overflow-scrolling:touch}
.oa-odontogram-arch--lower .oa-odontogram-row{align-items:flex-start;padding:4px 2px 22px}
.oa-odontogram-row::-webkit-scrollbar{height:5px}
.oa-odontogram-row::-webkit-scrollbar-thumb{background:var(--oa-border);border-radius:99px}
.oa-odontogram-midline{width:1px;height:14px;background:var(--oa-border);margin:2px auto}
.oa-tooth-svg{flex:0 0 auto;scroll-snap-align:center;display:grid;justify-items:center;gap:3px;width:34px;padding:4px 2px 6px;border:0;background:transparent;cursor:default;color:color-mix(in srgb,var(--oa-text) 38%,transparent);transform:translateY(calc(var(--arch-y,0px) * var(--arch-scale,1)));transition:transform var(--transition-fast,160ms ease),color 160ms ease,filter 160ms ease}
.oa-tooth-svg svg{width:22px;height:25px;stroke-width:.6}
.oa-tooth-svg small{font-size:.62rem;font-weight:700;color:var(--oa-text-muted,var(--oa-text));opacity:.8}
.oa-tooth-svg.is-marked{color:var(--tooth-color,var(--oa-primary))}
.oa-tooth-svg.is-marked svg{filter:drop-shadow(0 3px 6px color-mix(in srgb,var(--tooth-color,var(--oa-primary)) 35%,transparent))}
[data-oa-odontogram][data-target-select] .oa-tooth-svg{cursor:pointer}
[data-oa-odontogram][data-target-select] .oa-tooth-svg:hover{transform:translateY(calc(var(--arch-y,0px) * var(--arch-scale,1) - 3px)) scale(1.08);color:var(--oa-primary)}
.oa-tooth-svg.is-selected{outline:2px solid var(--oa-primary);outline-offset:3px;border-radius:10px}
[data-oa-odontogram][data-target-select] .oa-tooth-svg--lower:hover{transform:translateY(calc(var(--arch-y,0px) * var(--arch-scale,1) + 3px)) scale(1.08)}
@media(max-width:820px){
  .oa-odontogram{padding:18px 12px 14px}
  .oa-odontogram-row{justify-content:flex-start}
  .oa-tooth-svg{width:30px;--arch-scale:.7}
  .oa-tooth-svg svg{width:19px;height:22px}
  .oa-odontogram-legend{gap:8px 12px}
  .oa-odontogram-legend-item{font-size:.68rem}
}
@media(max-width:480px){
  .oa-tooth-svg{width:27px;--arch-scale:.45}
  .oa-tooth-svg svg{width:17px;height:19px}
  .oa-tooth-svg small{font-size:.56rem}
}
@media(prefers-reduced-motion:reduce){.oa-tooth-svg{transition:none}[data-oa-odontogram][data-target-select] .oa-tooth-svg:hover,[data-oa-odontogram][data-target-select] .oa-tooth-svg--lower:hover{transform:translateY(calc(var(--arch-y,0px) * var(--arch-scale,1)))}}

/* ============================================================
   Dashboard premium de clínica (home.blade.php) — KPI + paciente
   destacado + odontograma + agenda + tratamientos + pagos + analítica.
   ============================================================ */
.oa-kpi-icon{width:38px;height:38px;display:grid;place-items:center;border-radius:12px;margin-bottom:12px}
.oa-kpi-icon svg{width:18px;height:18px}
.oa-kpi-icon--primary{background:linear-gradient(145deg,color-mix(in srgb,var(--oa-primary) 20%,transparent),color-mix(in srgb,var(--oa-primary) 8%,transparent));color:var(--oa-primary);box-shadow:0 8px 18px -10px color-mix(in srgb,var(--oa-primary) 55%,transparent)}
.oa-kpi-icon--accent{background:linear-gradient(145deg,color-mix(in srgb,var(--oa-accent) 22%,transparent),color-mix(in srgb,var(--oa-accent) 9%,transparent));color:var(--oa-accent);box-shadow:0 8px 18px -10px color-mix(in srgb,var(--oa-accent) 55%,transparent)}
.oa-kpi-icon--violet{background:linear-gradient(145deg,color-mix(in srgb,#8B5CF6 22%,transparent),color-mix(in srgb,#8B5CF6 9%,transparent));color:#8B5CF6;box-shadow:0 8px 18px -10px rgba(139,92,246,.42)}
.oa-kpi-icon--health{background:linear-gradient(145deg,color-mix(in srgb,var(--oa-health) 22%,transparent),color-mix(in srgb,var(--oa-health) 9%,transparent));color:var(--oa-health);box-shadow:0 8px 18px -10px color-mix(in srgb,var(--oa-health) 55%,transparent)}
.oa-kpi-icon--warm{background:linear-gradient(145deg,color-mix(in srgb,var(--oa-coral) 22%,transparent),color-mix(in srgb,var(--oa-amber) 12%,transparent));color:var(--oa-coral);box-shadow:0 8px 18px -10px color-mix(in srgb,var(--oa-coral) 50%,transparent)}
.oa-kpi-emoji{margin-left:6px;font-size:.92em;filter:saturate(1.15)}
.oa-kpi-emoji svg{width:1em;height:1em;vertical-align:-.14em;stroke:currentColor}
.oa-hero-panel--compact{padding:16px 22px;gap:16px}
.oa-hero-panel--compact h2{font-size:1.3rem;margin:6px 0 2px}
.oa-hero-panel--compact p{font-size:.85rem}
.oa-hero-panel--compact .oa-hero-orb{width:56px;height:56px;border-radius:18px}
.oa-hero-panel--compact .oa-hero-orb svg{width:22px;height:22px}
.oa-dash-primary{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:18px;margin-top:20px;align-items:start}
.oa-dash-secondary{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:18px;margin-top:18px}
.oa-dash-patient-head{display:flex;align-items:center;gap:14px;margin:14px 0}
.oa-dash-patient-head strong{display:block;font-size:1.05rem}
.oa-dash-patient-head small{color:var(--oa-text)}
.oa-dash-patient-next{display:flex;align-items:center;gap:14px;padding:13px 14px;border-radius:16px;background:var(--oa-soft);margin-bottom:14px}
.oa-dash-patient-next-date{display:grid;justify-items:center;line-height:1.1;padding-right:14px;border-right:1px solid var(--oa-border)}
.oa-dash-patient-next-date strong{font-size:1.3rem}
.oa-dash-patient-next-date small{font-size:.68rem;color:var(--oa-text);letter-spacing:.05em}
.oa-dash-patient-next div small{display:block;color:var(--oa-text)}
.oa-dash-patient-cta{width:100%;text-align:center}
.oa-dash-odontogram .oa-odontogram{border:0;box-shadow:none;padding:8px 0 0}
.oa-dash-agenda-row{display:flex;align-items:center;gap:14px;padding:11px 0;border-top:1px solid var(--oa-border)}
.oa-dash-agenda-row:first-of-type{border-top:0}
.oa-dash-agenda-row strong{flex:0 0 48px;color:var(--oa-primary)}
.oa-dash-agenda-row span{display:block;font-weight:700}
.oa-dash-agenda-row small{color:var(--oa-text)}
.oa-mini-calendar{margin:12px 0 16px}
.oa-mini-calendar-head{font-weight:800;font-size:.82rem;text-align:center;margin-bottom:8px;text-transform:capitalize}
.oa-mini-calendar-dow{display:grid;grid-template-columns:repeat(7,1fr);margin-bottom:4px}
.oa-mini-calendar-dow span{text-align:center;font-size:.66rem;font-weight:700;color:var(--oa-text)}
.oa-mini-calendar-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:3px}
.oa-mini-calendar-grid span{position:relative;display:grid;place-items:center;aspect-ratio:1;border-radius:9px;font-size:.74rem;font-weight:650;color:var(--oa-text-strong)}
.oa-mini-calendar-grid span.is-muted{color:var(--oa-text);opacity:.35}
.oa-mini-calendar-grid span.has-appointments::after{content:"";position:absolute;bottom:3px;width:4px;height:4px;border-radius:50%;background:var(--oa-primary)}
.oa-mini-calendar-grid span.is-today{background:var(--oa-gradient-primary);color:#fff;box-shadow:0 7px 18px color-mix(in srgb,var(--oa-primary) 35%,transparent)}
.oa-mini-calendar-grid span.is-today.has-appointments::after{background:#fff}
.oa-dash-treatment-row{padding:12px 0;border-top:1px solid var(--oa-border)}
.oa-dash-treatment-row:first-of-type{border-top:0}
.oa-dash-treatment-head{display:flex;justify-content:space-between;font-weight:800}
.oa-dash-treatment-row small{color:var(--oa-text)}
.oa-mini-progress{height:8px;border-radius:999px;background:var(--oa-soft);overflow:hidden;margin-top:8px}
.oa-mini-progress span{display:block;height:100%;background:var(--oa-gradient-primary);border-radius:inherit;transition:width .6s cubic-bezier(.2,.8,.2,1)}
.oa-dash-payments{display:grid;gap:12px;margin-top:8px}
.oa-donut-row{display:flex;align-items:center;gap:20px;margin-top:10px}
.oa-donut{--health-c:var(--oa-health);--violet-c:#8B5CF6;--coral-c:#FB7185;width:104px;height:104px;flex:0 0 104px;border-radius:50%;display:grid;place-items:center;background:conic-gradient(var(--health-c) 0% calc(var(--p1) * 1%),var(--violet-c) calc(var(--p1) * 1%) calc(var(--p2) * 1%),var(--coral-c) calc(var(--p2) * 1%) 100%)}
.oa-donut.is-empty{background:var(--oa-soft);border:1px dashed var(--oa-border)}
.oa-donut.is-empty span{color:var(--oa-text)}
.oa-donut span{width:66px;height:66px;border-radius:50%;background:var(--oa-surface);display:grid;place-items:center;font-weight:900;font-size:1.15rem;color:var(--oa-text-strong)}
.oa-dash-payments>div{display:flex;align-items:center;gap:10px}
.oa-dash-payments span{flex:1;color:var(--oa-text)}
.oa-dash-payments strong{font-size:1.1rem}
.oa-dot{width:9px;height:9px;border-radius:50%;display:inline-block}
.oa-dot--health{background:var(--oa-health)}
.oa-dot--violet{background:#8B5CF6}
.oa-dot--coral{background:#FB7185}
.oa-dash-chart{display:flex;align-items:end;gap:10px;height:120px;margin-top:14px}
.oa-dash-chart-bar{flex:1;display:grid;align-content:end;justify-items:center;gap:6px;height:100%}
.oa-dash-chart-bar span{width:100%;max-width:28px;border-radius:8px 8px 3px 3px;background:var(--oa-gradient-primary);transition:height .6s cubic-bezier(.2,.8,.2,1)}
.oa-dash-chart-bar small{font-size:.68rem;color:var(--oa-text);text-transform:capitalize}
.oa-sparkline{margin-top:14px}
.oa-sparkline svg{width:100%;height:88px;display:block}
.oa-sparkline circle{fill:var(--oa-surface);stroke:var(--oa-primary);stroke-width:2}
.oa-sparkline-labels{display:flex;justify-content:space-between;margin-top:6px}
.oa-sparkline-labels span{font-size:.68rem;color:var(--oa-text);text-transform:capitalize}
@media(max-width:1200px){
  .oa-dash-odontogram{grid-column:1/-1}
}
@media(max-width:820px){
  .oa-dash-odontogram{grid-column:auto}
}


.oa-button{display:inline-flex;align-items:center;justify-content:center;gap:8px}
/* V4 hardening: icon-based navigation + quick-grid safety */
.oa-nav-icon .oa-icon{width:18px;height:18px;display:block}
.oa-icon-button{display:inline-flex;align-items:center;justify-content:center;gap:8px}
.oa-button .oa-icon{width:16px;height:16px}
.oa-mobile-menu,.oa-sidebar-collapse{display:grid;place-items:center}
.oa-mobile-menu .oa-icon,.oa-sidebar-collapse .oa-icon,.oa-icon-button .oa-icon{pointer-events:none}
.oa-quick-grid a span{overflow:hidden}
.oa-quick-grid a span .oa-icon{width:21px;height:21px;display:block}
.oa-hero-orb .oa-icon{width:42px;height:42px}
.oa-brand-mark .oa-icon{width:22px;height:22px}
.oa-dialog-icon .oa-icon,.oa-alert-icon .oa-icon{width:18px;height:18px}
body[data-ui-surface="platform"] .oa-dashboard-grid .oa-card{min-height:unset}
@media(max-width:1100px){body[data-ui-surface="platform"] .oa-grid--4{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:640px){body[data-ui-surface="platform"] .oa-grid--4{grid-template-columns:1fr}}

/* F36 · robustez visual: ningún SVG de interfaz puede crecer sin límite */
svg.oa-icon{width:20px;height:20px;max-width:100%;max-height:100%;display:block;flex-shrink:0}
.oa-hero-orb svg.oa-icon{width:42px;height:42px}
.opx-hero-side svg.oa-icon{width:58px;height:58px}
.oa-quick-grid span svg.oa-icon,.pp-quick-grid span svg.oa-icon{width:21px;height:21px}
.oa-nav-icon svg.oa-icon{width:18px;height:18px}
.oa-brand-mark svg.oa-icon{width:22px;height:22px}

