@font-face{font-family:Manrope;font-style:normal;font-weight:200 800;font-display:swap;src:url(../media/a342834df7752944-s.10ev4cu2inrn-.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Manrope;font-style:normal;font-weight:200 800;font-display:swap;src:url(../media/d3fe2f289711ac3f-s.0i6ci0u~g4zml.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Manrope;font-style:normal;font-weight:200 800;font-display:swap;src:url(../media/58c4895d0a0ef7cc-s.0x1a9yg0jkq20.woff2)format("woff2");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:Manrope;font-style:normal;font-weight:200 800;font-display:swap;src:url(../media/bfc7db5c00d21bc5-s.0dyk20wuvya7a.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Manrope;font-style:normal;font-weight:200 800;font-display:swap;src:url(../media/6ab0db14f70d8ed6-s.0ctuso5mgh_i..woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Manrope;font-style:normal;font-weight:200 800;font-display:swap;src:url(../media/a343f882a40d2cc9-s.p.0kho-wj7-y-w1.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Manrope Fallback;src:local(Arial);ascent-override:103.31%;descent-override:29.07%;line-gap-override:0.0%;size-adjust:103.19%}.manrope_ff1d60ca-module__kNnxMW__className{font-family:Manrope,Manrope Fallback;font-style:normal}.manrope_ff1d60ca-module__kNnxMW__variable{--font-body:"Manrope", "Manrope Fallback"}
@font-face{font-family:Sora;font-style:normal;font-weight:100 800;font-display:swap;src:url(../media/b886574ba42c3409-s.0n0by9e-ig5xq.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Sora;font-style:normal;font-weight:100 800;font-display:swap;src:url(../media/c41ca59f1c34ba31-s.p.0xxb547n1hn74.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Sora Fallback;src:local(Arial);ascent-override:85.29%;descent-override:25.5%;line-gap-override:0.0%;size-adjust:113.73%}.sora_c9bad275-module__jSnSVW__className{font-family:Sora,Sora Fallback;font-style:normal}.sora_c9bad275-module__jSnSVW__variable{--font-heading:"Sora", "Sora Fallback"}
@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-translate-x:0;--tw-translate-y:0;--tw-translate-z:0;--tw-space-y-reverse:0;--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-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-outline-style:solid}}}@layer theme{:root,:host{--font-sans:ui-sans-serif, system-ui, 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-red-500:#fb2c36;--color-emerald-500:#00bb7f;--color-white:#fff;--spacing:.25rem;--container-sm:24rem;--container-md:28rem;--container-lg:32rem;--container-xl:36rem;--container-2xl:42rem;--container-3xl:48rem;--container-4xl:56rem;--container-5xl:64rem;--text-xs:.75rem;--text-xs--line-height:calc(1 / .75);--text-sm:.875rem;--text-sm--line-height:calc(1.25 / .875);--text-base:1rem;--text-base--line-height:calc(1.5 / 1);--text-lg:1.125rem;--text-lg--line-height:calc(1.75 / 1.125);--text-xl:1.25rem;--text-xl--line-height:calc(1.75 / 1.25);--text-2xl:1.5rem;--text-2xl--line-height:calc(2 / 1.5);--text-3xl:1.875rem;--text-3xl--line-height:calc(2.25 / 1.875);--text-4xl:2.25rem;--text-4xl--line-height:calc(2.5 / 2.25);--font-weight-medium:500;--font-weight-semibold:600;--font-weight-bold:700;--leading-tight:1.25;--radius-sm:.25rem;--radius-md:.375rem;--radius-lg:.5rem;--radius-xl:.75rem;--radius-2xl:1rem;--shadow-sm:0 1px 3px 0 #0000001a, 0 1px 2px -1px #0000001a;--shadow-md:0 4px 6px -1px #0000001a, 0 2px 4px -2px #0000001a;--shadow-lg:0 10px 15px -3px #0000001a, 0 4px 6px -4px #0000001a;--animate-spin:spin 1s linear infinite;--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)}@supports (color:lab(0% 0 0)){:root,:host{--color-red-500:lab(55.4814% 75.0732 48.8528);--color-emerald-500:lab(66.9756% -58.27 19.5419)}}}@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,ui-sans-serif, system-ui, 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{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{.pointer-events-none{pointer-events:none}.collapse{visibility:collapse}.visible{visibility:visible}.sr-only{clip-path:inset(50%);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.absolute{position:absolute}.relative{position:relative}.inset-y-0{inset-block:calc(var(--spacing) * 0)}.start{inset-inline-start:var(--spacing)}.end{inset-inline-end:var(--spacing)}.top-1\/2{top:50%}.right-2{right:calc(var(--spacing) * 2)}.left-3{left:calc(var(--spacing) * 3)}.z-10{z-index:10}.mx-auto{margin-inline:auto}.mt-1{margin-top:calc(var(--spacing) * 1)}.mt-2{margin-top:calc(var(--spacing) * 2)}.mt-3{margin-top:calc(var(--spacing) * 3)}.mt-4{margin-top:calc(var(--spacing) * 4)}.mt-5{margin-top:calc(var(--spacing) * 5)}.mt-6{margin-top:calc(var(--spacing) * 6)}.line-clamp-2{-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline-flex{display:inline-flex}.table{display:table}.h-2{height:calc(var(--spacing) * 2)}.h-4{height:calc(var(--spacing) * 4)}.h-5{height:calc(var(--spacing) * 5)}.h-9{height:calc(var(--spacing) * 9)}.h-12{height:calc(var(--spacing) * 12)}.h-32{height:calc(var(--spacing) * 32)}.h-64{height:calc(var(--spacing) * 64)}.min-h-0{min-height:calc(var(--spacing) * 0)}.min-h-11{min-height:calc(var(--spacing) * 11)}.min-h-28{min-height:calc(var(--spacing) * 28)}.min-h-\[60dvh\]{min-height:60dvh}.min-h-\[390px\]{min-height:390px}.min-h-dvh{min-height:100dvh}.min-h-screen{min-height:100vh}.w-2{width:calc(var(--spacing) * 2)}.w-4{width:calc(var(--spacing) * 4)}.w-10{width:calc(var(--spacing) * 10)}.w-32{width:calc(var(--spacing) * 32)}.w-44{width:calc(var(--spacing) * 44)}.w-fit{width:fit-content}.w-full{width:100%}.max-w-2xl{max-width:var(--container-2xl)}.max-w-3xl{max-width:var(--container-3xl)}.max-w-4xl{max-width:var(--container-4xl)}.max-w-5xl{max-width:var(--container-5xl)}.max-w-\[24ch\]{max-width:24ch}.max-w-lg{max-width:var(--container-lg)}.max-w-md{max-width:var(--container-md)}.max-w-sm{max-width:var(--container-sm)}.max-w-xl{max-width:var(--container-xl)}.min-w-0{min-width:calc(var(--spacing) * 0)}.shrink-0{flex-shrink:0}.-translate-y-1\/2{--tw-translate-y:calc(calc(1 / 2 * 100%) * -1);translate:var(--tw-translate-x) var(--tw-translate-y)}.scale-\[0\.92\]{scale:.92}.animate-spin{animation:var(--animate-spin)}.cursor-default{cursor:default}.cursor-pointer{cursor:pointer}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.place-items-center{place-items:center}.items-center{align-items:center}.items-start{align-items:flex-start}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.gap-2{gap:calc(var(--spacing) * 2)}.gap-3{gap:calc(var(--spacing) * 3)}.gap-4{gap:calc(var(--spacing) * 4)}.gap-5{gap:calc(var(--spacing) * 5)}:where(.space-y-3>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 3) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 3) * calc(1 - var(--tw-space-y-reverse)))}.rounded-2xl{border-radius:var(--radius-2xl)}.rounded-full{border-radius:3.40282e38px}.rounded-xl{border-radius:var(--radius-xl)}.border{border-style:var(--tw-border-style);border-width:1px}.border-2{border-style:var(--tw-border-style);border-width:2px}.border-\[var\(--border\)\]{border-color:var(--border)}.border-current{border-color:currentColor}.border-emerald-500\/20{border-color:#00bb7f33}@supports (color:color-mix(in lab, red, red)){.border-emerald-500\/20{border-color:color-mix(in oklab, var(--color-emerald-500) 20%, transparent)}}.border-red-500\/20{border-color:#fb2c3633}@supports (color:color-mix(in lab, red, red)){.border-red-500\/20{border-color:color-mix(in oklab, var(--color-red-500) 20%, transparent)}}.border-white\/14{border-color:#ffffff24}@supports (color:color-mix(in lab, red, red)){.border-white\/14{border-color:color-mix(in oklab, var(--color-white) 14%, transparent)}}.border-t-transparent{border-top-color:#0000}.bg-\[var\(--card\)\]{background-color:var(--card)}.bg-\[var\(--danger\)\]{background-color:var(--danger)}.bg-\[var\(--primary\)\]{background-color:var(--primary)}.bg-\[var\(--secondary\)\]{background-color:var(--secondary)}.bg-\[var\(--success\)\]{background-color:var(--success)}.bg-\[var\(--surface-muted\)\]{background-color:var(--surface-muted)}.bg-emerald-500\/10{background-color:#00bb7f1a}@supports (color:color-mix(in lab, red, red)){.bg-emerald-500\/10{background-color:color-mix(in oklab, var(--color-emerald-500) 10%, transparent)}}.bg-red-500\/10{background-color:#fb2c361a}@supports (color:color-mix(in lab, red, red)){.bg-red-500\/10{background-color:color-mix(in oklab, var(--color-red-500) 10%, transparent)}}.bg-transparent{background-color:#0000}.bg-white\/8{background-color:#ffffff14}@supports (color:color-mix(in lab, red, red)){.bg-white\/8{background-color:color-mix(in oklab, var(--color-white) 8%, transparent)}}.p-3{padding:calc(var(--spacing) * 3)}.p-4{padding:calc(var(--spacing) * 4)}.p-5{padding:calc(var(--spacing) * 5)}.p-6{padding:calc(var(--spacing) * 6)}.px-3{padding-inline:calc(var(--spacing) * 3)}.px-4{padding-inline:calc(var(--spacing) * 4)}.py-1\.5{padding-block:calc(var(--spacing) * 1.5)}.py-2{padding-block:calc(var(--spacing) * 2)}.py-2\.5{padding-block:calc(var(--spacing) * 2.5)}.py-3{padding-block:calc(var(--spacing) * 3)}.py-6{padding-block:calc(var(--spacing) * 6)}.pr-12{padding-right:calc(var(--spacing) * 12)}.pl-9{padding-left:calc(var(--spacing) * 9)}.text-center{text-align:center}.text-2xl{font-size:var(--text-2xl);line-height:var(--tw-leading,var(--text-2xl--line-height))}.text-3xl{font-size:var(--text-3xl);line-height:var(--tw-leading,var(--text-3xl--line-height))}.text-4xl{font-size:var(--text-4xl);line-height:var(--tw-leading,var(--text-4xl--line-height))}.text-base{font-size:var(--text-base);line-height:var(--tw-leading,var(--text-base--line-height))}.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))}.text-xl{font-size:var(--text-xl);line-height:var(--tw-leading,var(--text-xl--line-height))}.text-xs{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.text-\[11px\]{font-size:11px}.text-\[13px\]{font-size:13px}.leading-5{--tw-leading:calc(var(--spacing) * 5);line-height:calc(var(--spacing) * 5)}.leading-6{--tw-leading:calc(var(--spacing) * 6);line-height:calc(var(--spacing) * 6)}.leading-none{--tw-leading:1;line-height:1}.leading-tight{--tw-leading:var(--leading-tight);line-height:var(--leading-tight)}.font-bold{--tw-font-weight:var(--font-weight-bold);font-weight:var(--font-weight-bold)}.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-\[0\.2em\]{--tw-tracking:.2em;letter-spacing:.2em}.tracking-\[0\.14em\]{--tw-tracking:.14em;letter-spacing:.14em}.tracking-\[0\.18em\]{--tw-tracking:.18em;letter-spacing:.18em}.tracking-\[0\.24em\]{--tw-tracking:.24em;letter-spacing:.24em}.break-words{overflow-wrap:break-word}.text-\[var\(--danger\)\]{color:var(--danger)}.text-\[var\(--foreground\)\]{color:var(--foreground)}.text-\[var\(--muted-foreground\)\]{color:var(--muted-foreground)}.text-\[var\(--primary\)\]{color:var(--primary)}.text-\[var\(--primary-foreground\)\]{color:var(--primary-foreground)}.text-\[var\(--secondary-foreground\)\]{color:var(--secondary-foreground)}.text-white{color:var(--color-white)}.text-white\/74{color:#ffffffbd}@supports (color:color-mix(in lab, red, red)){.text-white\/74{color:color-mix(in oklab, var(--color-white) 74%, transparent)}}.text-white\/78{color:#ffffffc7}@supports (color:color-mix(in lab, red, red)){.text-white\/78{color:color-mix(in oklab, var(--color-white) 78%, transparent)}}.text-white\/80{color:#fffc}@supports (color:color-mix(in lab, red, red)){.text-white\/80{color:color-mix(in oklab, var(--color-white) 80%, transparent)}}.text-white\/82{color:#ffffffd1}@supports (color:color-mix(in lab, red, red)){.text-white\/82{color:color-mix(in oklab, var(--color-white) 82%, transparent)}}.lowercase{text-transform:lowercase}.uppercase{text-transform:uppercase}.underline-offset-4{text-underline-offset:4px}.opacity-70{opacity:.7}.opacity-\[0\.85\]{opacity:.85}.shadow-\[0_12px_26px_rgba\(24\,88\,175\,0\.22\)\]{--tw-shadow:0 12px 26px var(--tw-shadow-color,#1858af38);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.shadow-none{--tw-shadow:0 0 #0000;box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.ring-0{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(0px + 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)}.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,)}.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))}.outline-none{--tw-outline-style:none;outline-style:none}.placeholder\:text-\[var\(--muted-foreground\)\]\/75::placeholder{color:var(--muted-foreground)}@supports (color:color-mix(in lab, red, red)){.placeholder\:text-\[var\(--muted-foreground\)\]\/75::placeholder{color:color-mix(in oklab, var(--muted-foreground) 75%, transparent)}}@media (hover:hover){.hover\:-translate-y-0\.5:hover{--tw-translate-y:calc(var(--spacing) * -.5);translate:var(--tw-translate-x) var(--tw-translate-y)}.hover\:border-\[color-mix\(in_srgb\,var\(--primary\)\,var\(--border\)_58\%\)\]:hover{border-color:var(--primary)}@supports (color:color-mix(in lab, red, red)){.hover\:border-\[color-mix\(in_srgb\,var\(--primary\)\,var\(--border\)_58\%\)\]:hover{border-color:color-mix(in srgb,var(--primary),var(--border) 58%)}}.hover\:bg-\[var\(--accent\)\]:hover{background-color:var(--accent)}.hover\:bg-\[var\(--muted\)\]:hover{background-color:var(--muted)}.hover\:bg-\[var\(--surface-muted\)\]:hover{background-color:var(--surface-muted)}.hover\:text-\[var\(--primary\)\]:hover{color:var(--primary)}.hover\:underline:hover{text-decoration-line:underline}.hover\:shadow-\[var\(--shadow-md\)\]:hover{--tw-shadow:var(--shadow-md);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.hover\:brightness-105:hover{--tw-brightness:brightness(105%);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,)}}.focus\:border-\[var\(--primary\)\]:focus{border-color:var(--primary)}.focus-visible\:outline:focus-visible{outline-style:var(--tw-outline-style);outline-width:1px}.focus-visible\:outline-3:focus-visible{outline-style:var(--tw-outline-style);outline-width:3px}.focus-visible\:outline-offset-2:focus-visible{outline-offset:2px}.focus-visible\:outline-\[var\(--focus-ring\)\]:focus-visible{outline-color:var(--focus-ring)}.active\:translate-y-0:active{--tw-translate-y:calc(var(--spacing) * 0);translate:var(--tw-translate-x) var(--tw-translate-y)}.disabled\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\:bg-\[var\(--muted\)\]:disabled{background-color:var(--muted)}.disabled\:text-\[var\(--muted-foreground\)\]:disabled{color:var(--muted-foreground)}.disabled\:opacity-60:disabled{opacity:.6}@media (hover:hover){.disabled\:hover\:translate-y-0:disabled:hover{--tw-translate-y:calc(var(--spacing) * 0);translate:var(--tw-translate-x) var(--tw-translate-y)}}@media (min-width:40rem){.sm\:flex{display:flex}.sm\:items-center{align-items:center}.sm\:justify-between{justify-content:space-between}.sm\:p-6{padding:calc(var(--spacing) * 6)}.sm\:p-7{padding:calc(var(--spacing) * 7)}.sm\:px-6{padding-inline:calc(var(--spacing) * 6)}}@media (min-width:48rem){.md\:col-span-2{grid-column:span 2/span 2}.md\:col-span-3{grid-column:span 3/span 3}.md\:w-fit{width:fit-content}.md\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.md\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.md\:grid-cols-\[minmax\(220px\,1fr\)\]{grid-template-columns:minmax(220px,1fr)}.md\:grid-cols-\[minmax\(220px\,1fr\)_180px\]{grid-template-columns:minmax(220px,1fr) 180px}.md\:grid-cols-\[minmax\(220px\,1fr\)_180px_180px\]{grid-template-columns:minmax(220px,1fr) 180px 180px}.md\:grid-cols-\[minmax\(260px\,1fr\)_120px\]{grid-template-columns:minmax(260px,1fr) 120px}}@media (min-width:64rem){.lg\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.lg\:grid-cols-\[0\.95fr_1fr\]{grid-template-columns:.95fr 1fr}.lg\:grid-cols-\[1\.05fr_1fr\]{grid-template-columns:1.05fr 1fr}.lg\:p-5{padding:calc(var(--spacing) * 5)}.lg\:p-6{padding:calc(var(--spacing) * 6)}.lg\:p-8{padding:calc(var(--spacing) * 8)}.lg\:px-8{padding-inline:calc(var(--spacing) * 8)}.lg\:text-\[2rem\]{font-size:2rem}}@media (min-width:80rem){.xl\:col-span-4{grid-column:span 4/span 4}.xl\:h-full{height:100%}.xl\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.xl\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.xl\:grid-cols-\[minmax\(0\,1\.65fr\)_minmax\(320px\,0\.95fr\)\]{grid-template-columns:minmax(0,1.65fr) minmax(320px,.95fr)}.xl\:text-\[2rem\]{font-size:2rem}}}*{box-sizing:border-box}html,body{scrollbar-width:thin;scrollbar-color:#1858af73 #bcd6f359;width:100%;min-height:100%;overflow-x:hidden}body{color:var(--foreground);font-family:var(--font-body), "Segoe UI", sans-serif;background:radial-gradient(circle at 0 0,#1858af33,#0000 28%),radial-gradient(circle at 100% 0,#36c6ff2e,#0000 24%),linear-gradient(#f7fbff 0%,#edf4ff 40%,#f9fcff 100%);margin:0}::-webkit-scrollbar{width:12px;height:12px}::-webkit-scrollbar-track{background:#bcd6f347;border-radius:999px}::-webkit-scrollbar-thumb{background:linear-gradient(#1858af9e,#48afff85) padding-box padding-box;border:3px solid #0000;border-radius:999px}::-webkit-scrollbar-thumb:hover{background:linear-gradient(#1858afc7,#48afffb3) padding-box padding-box}a{color:inherit;text-decoration:none}:where(a,button,input,select,textarea,summary,[tabindex]):focus-visible{outline:3px solid var(--focus-ring);outline-offset:3px}button,input,select,textarea{font:inherit}:is(button,select,summary,label:has(input)){touch-action:manipulation}button:disabled,input:disabled,select:disabled,textarea:disabled{cursor:not-allowed}input:invalid:not(:placeholder-shown),textarea:invalid:not(:placeholder-shown){border-color:var(--danger)}@supports (color:color-mix(in lab, red, red)){input:invalid:not(:placeholder-shown),textarea:invalid:not(:placeholder-shown){border-color:color-mix(in srgb, var(--danger), white 24%)}}h1,h2,h3,h4{font-family:var(--font-heading), var(--font-body), sans-serif}.app-shell{grid-template-columns:252px 1fr;height:100dvh;display:grid;overflow:hidden}.sidebar{border-right:1px solid var(--border);color:#f5fbff;scrollbar-gutter:stable;background:linear-gradient(#092d5cf7 0%,#12488bf5 100%),linear-gradient(135deg,#ffffff1a,#0000);align-self:stretch;height:100dvh;transition:width .2s,padding .2s,box-shadow .2s;position:sticky;top:0;overflow:hidden}.sidebar__inner{min-height:0;overflow:hidden}.sidebar-top{gap:8px;margin-bottom:12px;display:grid}.sidebar-brand-lockup{text-align:center;flex-direction:column;align-items:center;width:100%;min-width:0;display:flex;overflow:hidden}.sidebar-brand-lockup .brand-lockup{justify-content:center;width:100%;min-width:0}.sidebar-brand-lockup .brand-lockup>div:last-child{min-width:0}.sidebar-brand-lockup .brand-wordmark{white-space:nowrap;font-size:1.38rem}.sidebar-nav__link{border-radius:15px;align-items:center;gap:9px;width:100%;min-height:42px;padding:0 12px;line-height:1;display:flex}.sidebar-nav{scrollbar-width:thin;scrollbar-color:#a6d8ff5c #ffffff14;flex:1;min-height:0;padding-bottom:4px;padding-right:2px;overflow:hidden auto}.sidebar-nav::-webkit-scrollbar{width:8px}.sidebar-nav::-webkit-scrollbar-track{background:#ffffff14}.sidebar-nav::-webkit-scrollbar-thumb{background:#a6d8ff6b padding-box padding-box;border:2px solid #0000;border-radius:999px}.sidebar-nav__group{gap:4px;display:grid}.sidebar:before,.sidebar:after{content:"";filter:blur(10px);border-radius:999px;position:absolute}.sidebar:before{background:#4ccfff2e;width:210px;height:210px;inset:-8% auto auto -18%}.sidebar:after{background:#008aff24;width:180px;height:180px;inset:auto -16% 14% auto}.content{width:100%;min-width:0;padding:clamp(14px,2vw,22px);overflow:auto}.content>*{min-width:0}.surface{border:1px solid var(--border);background:var(--surface);box-shadow:var(--shadow-lg);border-radius:var(--radius-xl);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);min-width:0}.grid-cards{grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:12px;display:grid}.page-header{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:18px;display:flex}.stack{gap:12px;min-width:0;display:grid}.stack>*{min-width:0}.table-wrap{-webkit-overflow-scrolling:touch;width:100%;overflow-x:auto}.today-schedule-card{flex-direction:column;min-height:100%;display:flex}.today-schedule-content{flex:1;min-height:0;display:flex}.today-schedule-table{flex:1}.table{border-collapse:collapse;width:100%;min-width:640px}.table th,.table td{border-bottom:1px solid var(--border);text-align:left;padding:10px 12px;font-size:13px}.badge{color:var(--primary);background:#1858af1a;border-radius:999px;align-items:center;padding:5px 10px;font-size:11px;font-weight:700;display:inline-flex}.badge-danger{color:var(--danger);background:#d6454524}.badge-warning{color:var(--warning);background:#d977061f}.badge-success{color:var(--success);background:#1aa17a1f}.badge-info{color:var(--info);background:#2563eb1f}.empty-state,.loading-state,.alert{border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface-muted);color:var(--foreground);padding:var(--space-4)}.empty-state{gap:var(--space-2);text-align:center;place-items:center;min-height:160px;display:grid}.loading-state{gap:var(--space-3);display:grid}.skeleton{border-radius:var(--radius-sm);background:var(--muted);position:relative;overflow:hidden}@supports (color:color-mix(in lab, red, red)){.skeleton{background:color-mix(in srgb, var(--muted), white 20%)}}.skeleton:after{content:"";background:linear-gradient(90deg,#0000,#ffffff73,#0000);animation:1.4s ease-in-out infinite skeleton-shimmer;position:absolute;inset:0;transform:translate(-100%)}.alert{align-items:flex-start;gap:var(--space-3);font-size:13px;line-height:1.5;display:flex}.alert-error{border-color:var(--danger)}@supports (color:color-mix(in lab, red, red)){.alert-error{border-color:color-mix(in srgb, var(--danger), transparent 72%)}}.alert-error{background:var(--danger)}@supports (color:color-mix(in lab, red, red)){.alert-error{background:color-mix(in srgb, var(--danger), transparent 90%)}}.alert-error{color:var(--danger)}.alert-success{border-color:var(--success)}@supports (color:color-mix(in lab, red, red)){.alert-success{border-color:color-mix(in srgb, var(--success), transparent 72%)}}.alert-success{background:var(--success)}@supports (color:color-mix(in lab, red, red)){.alert-success{background:color-mix(in srgb, var(--success), transparent 90%)}}.alert-success{color:var(--success)}@keyframes skeleton-shimmer{to{transform:translate(100%)}}.field-label{letter-spacing:.12em;text-transform:uppercase;color:var(--muted-foreground);margin-bottom:8px;font-size:12px;font-weight:800;display:inline-flex}.section-note{color:var(--muted-foreground);margin-top:8px;font-size:12px}.hero-panel{color:#fff;background:linear-gradient(135deg,#1458aff5 0%,#0d3d84fa 58%,#0b2a5c 100%);position:relative;overflow:hidden}.hero-panel:after{content:"";background:#5dd7ff24;border-radius:999px;width:340px;height:340px;position:absolute;inset:auto -10% -26% auto}.brand-mark{flex-shrink:0;width:78px;height:78px;position:relative}.brand-mark-compact{width:44px;height:44px}.brand-mark__tooth{background:linear-gradient(#fff 0%,#f4fbff 45%,#e3efff 100%);border-radius:40% 40% 35% 35%/18% 18% 65% 65%;position:absolute;inset:10px 14px 8px;transform:rotate(8deg);box-shadow:inset 0 -10px 20px #1858af1f}.brand-mark__orbit{border:10px solid #0000;border-color:#55d5ff #0000 #0b75d1;border-radius:999px;position:absolute;inset:26px 4px 18px;transform:rotate(-14deg)}.brand-mark__spark{background:linear-gradient(135deg,#aaf2ff,#3f87ff);border-radius:8px;position:absolute}.brand-mark__spark--one{width:12px;height:12px;top:5px;right:10px}.brand-mark__spark--two{width:10px;height:10px;top:13px;right:24px}.brand-mark__spark--three{width:14px;height:14px;top:20px;right:2px}.brand-wordmark{font-family:var(--font-heading), sans-serif;color:#fff;margin:0;font-size:2rem;font-weight:700;line-height:1}.brand-wordmark span{color:#a6d8ff}.craftlab-badge{flex-direction:column;gap:2px;display:inline-flex}.craftlab-badge__kicker{letter-spacing:.16em;text-transform:uppercase;color:#e8f4ffb8;font-size:10px;font-weight:700}.craftlab-badge__name{color:#fff;font-size:12px;font-weight:800}.sidebar-nav__link{color:#f5fbffeb;background:#ffffff0a;border:1px solid #0000;font-size:13px;font-weight:700}.sidebar-nav__link>svg{flex-shrink:0}.sidebar-session{flex-shrink:0;margin-top:8px}.sidebar-session__locale-select{color:#fff;text-align:center;text-align-last:center;appearance:none;background:#07183357;border-color:#ffffff2e;border-radius:12px;width:40px;min-width:40px;min-height:38px;padding:0;font-size:1rem;font-weight:700;line-height:1}.sidebar-session__locale-select option{color:#0c2448}.theme-toggle,.sidebar-session__icon-action{color:#f5fbff;cursor:pointer;background:#07183357;border:1px solid #ffffff2e;border-radius:12px;justify-content:center;align-items:center;width:40px;min-width:40px;height:38px;transition:background .18s,border-color .18s,transform .18s;display:inline-flex}.theme-toggle:hover,.sidebar-session__icon-action:hover{background:#ffffff1f;border-color:#a6d8ff57;transform:translateY(-1px)}.sidebar-session__name{color:#fff;text-overflow:ellipsis;white-space:nowrap;margin:0;font-size:13px;font-weight:800;line-height:1.25;overflow:hidden}.sidebar-session__email{color:#f5fbffb3;text-overflow:ellipsis;white-space:nowrap;margin:2px 0 0;font-size:11px;line-height:1.25;overflow:hidden}.sidebar-session__role{color:#fff;text-overflow:ellipsis;white-space:nowrap;background:#ffffff1f;border-radius:999px;max-width:100%;margin:7px 0 0;padding:4px 8px;font-size:10px;font-weight:800;line-height:1.1;display:inline-flex;overflow:hidden}.sidebar-nav__link:hover{background:#ffffff14;border-color:#a6d8ff59}.sidebar-nav__link--active{background:linear-gradient(90deg,#56d4ff29,#ffffff14);border-color:#a6d8ff61}.sidebar-nav__children{gap:4px;padding-left:12px;display:grid}.sidebar-nav__child-link{color:#f5fbffc7;background:#ffffff0f;border:1px solid #ffffff14;border-radius:13px;align-items:center;min-height:34px;padding:0 12px;font-size:12px;font-weight:700;line-height:1;transition:background .18s,border-color .18s,color .18s;display:flex}.sidebar-nav__child-link:hover{color:#fff;background:#ffffff1a;border-color:#a6d8ff42}.sidebar-nav__child-link--active{color:#fff;background:#ffffff24;border-color:#a6d8ff57}.summary-card{min-width:0;min-height:136px;position:relative;overflow:hidden}.summary-card:after{content:"";background:#1858af14;border-radius:999px;width:110px;height:110px;position:absolute;inset:auto -22px -32px auto}.calendar-week-surface{padding:14px}.calendar-week-header{flex-wrap:wrap;justify-content:space-between;align-items:end;gap:10px;margin-bottom:12px;display:flex}.calendar-board{-webkit-overflow-scrolling:touch;grid-template-columns:repeat(7,minmax(118px,1fr));gap:8px;padding:2px 2px 6px;display:grid;overflow-x:auto}.calendar-day{background:linear-gradient(#fffffffa,#f3f9fff0);border:1px solid #1858af1f;border-radius:16px;min-height:224px;padding:10px}.calendar-day__top{justify-content:space-between;align-items:flex-start;gap:8px;display:flex}.calendar-day__date{color:var(--primary);opacity:.72;font-size:11px;font-weight:800}.calendar-day__name{text-transform:capitalize;margin-top:2px;font-size:16px;font-weight:800}.calendar-day--today{background:linear-gradient(#fff,#eef7ff);border-color:#1858af7a;box-shadow:inset 0 0 0 1px #1858af1f,0 14px 30px #1858af14}.calendar-appointments{margin-top:10px}.calendar-appointment{background:#ffffffc2;border:1px solid #1858af14;border-radius:14px;padding:10px;box-shadow:0 10px 22px #1142840f}.calendar-appointment+.calendar-appointment{margin-top:7px}.calendar-empty{color:var(--muted-foreground);background:#ffffff80;border:1px dashed #1858af33;border-radius:14px;margin-top:10px;padding:10px;font-size:13px}.role-picker{flex-wrap:wrap;gap:8px;display:flex}.role-pill{border:1px solid var(--border);color:var(--foreground);background:#fff;border-radius:999px;align-items:center;gap:8px;padding:8px 12px;font-size:13px;font-weight:700;display:inline-flex}.role-pill input{margin:0}.odontogram-composer{gap:12px;display:grid}.odontogram-selected{align-items:center;gap:10px;min-width:0;display:flex}.odontogram-selected span{background:var(--primary);color:#fff;border-radius:16px;justify-content:center;align-items:center;min-width:54px;min-height:44px;font-size:1.35rem;font-weight:900;display:inline-flex}.odontogram-selected p{min-width:0;color:var(--muted-foreground);margin:0;font-size:13px;font-weight:700}.odontogram-composer__toolbar{justify-content:space-between;align-items:end;gap:16px;display:flex}.odontogram-board{border:1px solid var(--border);background:linear-gradient(#fffffffa,#eff7ffeb),radial-gradient(circle at 100% 0,#55d5ff29,#0000 34%);border-radius:24px;gap:16px;padding:16px;display:grid;overflow:hidden}.odontogram-board__header{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.odontogram-legend{flex-wrap:wrap;gap:8px;display:flex}.odontogram-legend__item{color:var(--muted-foreground);background:#fff;border:1px solid #1858af1a;border-radius:999px;align-items:center;gap:6px;padding:7px 10px;font-size:11px;font-weight:800;display:inline-flex}.odontogram-arches{gap:14px;display:grid}.odontogram-arch{gap:8px;display:grid}.odontogram-arch__label{color:var(--muted-foreground);letter-spacing:.12em;text-transform:uppercase;margin:0;font-size:11px;font-weight:900}.odontogram-arch__teeth{-webkit-overflow-scrolling:touch;scrollbar-width:thin;grid-template-columns:repeat(16,minmax(42px,1fr));gap:6px;padding:2px 2px 8px;display:grid;overflow-x:auto}.odontogram-arch__teeth--deciduous{grid-template-columns:repeat(10,minmax(42px,1fr))}.odontogram-chart-tooth{min-width:36px;min-height:78px;color:var(--foreground);cursor:pointer;background:linear-gradient(#fff,#f3f8ff);border:1px solid #1858af1f;border-radius:18px;justify-items:center;gap:2px;padding:7px 4px 6px;transition:border-color .18s,box-shadow .18s,transform .18s;display:grid;position:relative}.odontogram-chart-tooth:hover{border-color:#1858af5c;transform:translateY(-1px)}.odontogram-chart-tooth--selected{border-color:#1858afb8;box-shadow:0 0 0 3px #1858af1f}.odontogram-chart-tooth__crown{background:#fff;border:2px solid #1858af6b;border-radius:9px 9px 7px 7px;width:24px;height:30px;box-shadow:inset 0 -8px 12px #1858af14}.odontogram-chart-tooth__root{background:linear-gradient(#eef6ff,#d7e9ff);border-radius:0 0 10px 10px;width:14px;height:20px}.odontogram-chart-tooth--incisor .odontogram-chart-tooth__crown{border-radius:8px 8px 5px 5px;width:18px}.odontogram-chart-tooth--canine .odontogram-chart-tooth__crown{clip-path:polygon(12% 0,88% 0,78% 74%,50% 100%,22% 74%);width:20px}.odontogram-chart-tooth--molar .odontogram-chart-tooth__crown{border-radius:10px;width:28px}.odontogram-chart-tooth--deciduous{min-height:58px}.odontogram-chart-tooth--deciduous .odontogram-chart-tooth__crown{width:20px;height:24px}.odontogram-chart-tooth--deciduous .odontogram-chart-tooth__root{display:none}.odontogram-chart-tooth__number{font-size:11px;font-weight:900}.odontogram-status-active{--odontogram-status-color:#1858af}.odontogram-status-planned{--odontogram-status-color:#f59f0b}.odontogram-status-completed{--odontogram-status-color:#1aa17a}.odontogram-status-archived{--odontogram-status-color:#7b8ba4}.odontogram-status-active,.odontogram-status-planned,.odontogram-status-completed,.odontogram-status-archived{color:var(--odontogram-status-color)}.odontogram-chart-tooth.odontogram-status-active,.odontogram-chart-tooth.odontogram-status-planned,.odontogram-chart-tooth.odontogram-status-completed,.odontogram-chart-tooth.odontogram-status-archived{border-color:var(--odontogram-status-color)}@supports (color:color-mix(in lab, red, red)){.odontogram-chart-tooth.odontogram-status-active,.odontogram-chart-tooth.odontogram-status-planned,.odontogram-chart-tooth.odontogram-status-completed,.odontogram-chart-tooth.odontogram-status-archived{border-color:color-mix(in srgb, var(--odontogram-status-color), white 35%)}}.odontogram-chart-tooth.odontogram-status-active,.odontogram-chart-tooth.odontogram-status-planned,.odontogram-chart-tooth.odontogram-status-completed,.odontogram-chart-tooth.odontogram-status-archived{background:linear-gradient(180deg, white, var(--odontogram-status-color))}@supports (color:color-mix(in lab, red, red)){.odontogram-chart-tooth.odontogram-status-active,.odontogram-chart-tooth.odontogram-status-planned,.odontogram-chart-tooth.odontogram-status-completed,.odontogram-chart-tooth.odontogram-status-archived{background:linear-gradient(180deg, white, color-mix(in srgb, var(--odontogram-status-color), white 88%))}}.odontogram-chart-tooth.odontogram-status-active .odontogram-chart-tooth__crown,.odontogram-chart-tooth.odontogram-status-planned .odontogram-chart-tooth__crown,.odontogram-chart-tooth.odontogram-status-completed .odontogram-chart-tooth__crown,.odontogram-chart-tooth.odontogram-status-archived .odontogram-chart-tooth__crown{border-color:var(--odontogram-status-color)}.odontogram-deciduous{border-top:1px solid #1858af1a;padding-top:12px}.odontogram-deciduous summary{cursor:pointer;color:var(--primary);align-items:center;gap:8px;font-size:13px;font-weight:900;display:inline-flex}.odontogram-deciduous__grid{gap:12px;margin-top:12px;display:grid}.odontogram-panel{border:1px solid var(--border);background:radial-gradient(circle at 82% 20%,#55d5ff1f,#0000 32%),linear-gradient(#fbfdff,#edf6ff);border-radius:28px;grid-template-columns:minmax(360px,.95fr) minmax(460px,1.05fr);align-items:stretch;gap:28px;min-width:0;padding:24px;display:grid;overflow:hidden}.odontogram-panel__content{min-width:0}.odontogram-face-map{flex-direction:column;justify-content:center;min-width:0;padding:6px 0;display:flex}.odontogram-face-grid{grid-template-columns:repeat(3,minmax(0,1fr));grid-template-areas:".top.""left center right"".bottom.";gap:12px;width:min(100%,560px);display:grid}.odontogram-face-cell{min-height:76px;color:var(--foreground);cursor:pointer;background:#ffffffeb;border:1px solid #1858af24;border-radius:20px;padding:10px 12px;font-size:14px;font-weight:900;line-height:1.25;transition:background .18s,border-color .18s,box-shadow .18s,color .18s,transform .18s;box-shadow:inset 0 1px #ffffffd1}.odontogram-face-cell:hover{border-color:#1858af52;transform:translateY(-1px);box-shadow:0 12px 28px #1858af17}.odontogram-face-cell--oclusal{grid-area:center;min-height:116px}.odontogram-face-cell--mesial{grid-area:left}.odontogram-face-cell--vestibular{grid-area:top}.odontogram-face-cell--distal{grid-area:right}.odontogram-face-cell--lingual{grid-area:bottom}.odontogram-face-cell--active{background:var(--primary);color:#fff;border-color:#1858af7a;box-shadow:0 16px 34px #1858af38}.odontogram-tooth{background:radial-gradient(circle at 50% 33%,#55d5ff2e,#0000 34%),linear-gradient(#fff 0%,#f4f9ff 100%);border:1px solid #1858af1f;border-radius:30px;width:100%;min-height:430px;position:relative;overflow:hidden;box-shadow:inset 0 1px #ffffffd1}.odontogram-tooth__toolbar{z-index:2;justify-content:space-between;align-items:center;gap:12px;padding:20px 22px 0;display:flex;position:relative}.odontogram-tooth__toolbar .field-label{margin-bottom:5px}.odontogram-tooth__toolbar p:last-child{color:var(--muted-foreground);margin:0;font-size:13px;font-weight:800}.odontogram-tooth__rotate{min-height:42px;box-shadow:none;background:#e5f4ffdb;border:1px solid #1858af1f;border-radius:999px;flex-shrink:0;padding-inline:16px}.odontogram-tooth__shape{width:clamp(190px,42%,270px);height:clamp(245px,60%,310px);transform:translate(-50%, -50%) var(--odontogram-tooth-view,rotate(0deg));transform-origin:50%;background:linear-gradient(#fff 0%,#eff7ff 48%,#d4e8ff 100%);border-radius:42% 42% 34% 34%/14% 14% 68% 68%;transition:transform .3s;position:absolute;top:58%;left:50%;box-shadow:inset 0 -18px 32px #1257a41a,0 24px 52px #1556a524}.odontogram-tooth--frontal .odontogram-tooth__shape{--odontogram-tooth-view:rotate(5deg)}.odontogram-tooth--interna .odontogram-tooth__shape{--odontogram-tooth-view:rotate(-5deg) scaleX(-1)}.odontogram-tooth--oclusal .odontogram-tooth__shape{border-radius:46%;width:clamp(210px,46%,300px);height:clamp(210px,50%,280px)}.odontogram-tooth__hotspot{z-index:1;color:var(--primary);text-align:center;background:#1858af1f;border:0;border-radius:999px;min-width:84px;max-width:138px;padding:9px 12px;font-size:13px;font-weight:800;line-height:1.1;transition:background .18s,box-shadow .18s,transform .18s;position:absolute;box-shadow:0 10px 24px #1858af14}.odontogram-tooth__hotspot:hover{box-shadow:0 14px 28px #1858af24}.odontogram-tooth__hotspot--active{background:var(--primary);color:#fff}.odontogram-tooth__hotspot--top{top:100px;left:50%;transform:translate(-50%)}.odontogram-tooth__hotspot--top-inner{top:152px;left:50%;transform:translate(-50%)}.odontogram-tooth__hotspot--left{top:54%;left:36px;transform:translateY(-50%)}.odontogram-tooth__hotspot--right{top:54%;right:36px;transform:translateY(-50%)}.odontogram-tooth__hotspot--center{top:50%;left:50%;transform:translate(-50%,-50%)}.odontogram-tooth__hotspot--center-upper{top:45%;left:50%;transform:translate(-50%,-50%)}.odontogram-tooth__hotspot--center-lower{top:61%;left:50%;transform:translate(-50%,-50%)}.odontogram-tooth__hotspot--bottom{bottom:26px;left:50%;transform:translate(-50%)}.surface-chip{border:1px solid var(--border);color:var(--foreground);background:#fff;border-radius:999px;padding:8px 14px;font-size:13px;font-weight:700}.surface-chip--active{color:var(--primary);background:#1858af1a;border-color:#1858af6b}.odontogram-composer--dentalis{gap:16px}.odontogram-composer--zoomed .odontogram-stage{min-height:660px}.odontogram-composer--zoomed .odontogram-anatomic-tooth{width:42px;min-width:42px;height:92px}.odontogram-composer--zoomed .odontogram-face-tooth{min-width:58px}.odontogram-workspace{grid-template-columns:64px minmax(0,1fr) minmax(230px,.28fr);gap:12px;min-width:0;display:grid}.odontogram-side-rail{border:1px solid var(--border);background:linear-gradient(#fff,#f5f9ff);border-radius:18px;align-content:start;gap:8px;padding:10px;display:grid}.odontogram-side-rail__slot{min-height:48px;color:var(--muted-foreground);background:#fff;border:1px solid #1858af1a;border-radius:14px;place-items:center;font-size:12px;font-weight:900;display:grid}.odontogram-side-rail__slot--active{color:#b91c1c}.odontogram-side-rail__slot--muted{color:var(--primary)}.odontogram-stage{background:linear-gradient(#fffffffa,#f1f8fff0),radial-gradient(circle at 0 0,#22c55e14,#0000 28%);border:1px solid #1858af24;border-radius:24px;gap:18px;min-width:0;padding:18px;display:grid;overflow:hidden}.odontogram-stage__topline{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:14px;display:flex}.odontogram-anatomic-row{scrollbar-width:thin;grid-template-columns:repeat(16,minmax(42px,1fr));gap:7px;padding:4px 2px 8px;display:grid;overflow-x:auto}.odontogram-anatomic-tooth{cursor:pointer;background:#fff;border:1px solid #1858af1f;border-radius:16px;place-items:center;min-width:42px;min-height:92px;transition:border-color .18s,box-shadow .18s,transform .18s;display:grid;position:relative}.odontogram-anatomic-tooth:hover{border-color:#1858af5c;transform:translateY(-1px)}.odontogram-anatomic-tooth--selected{border-color:var(--primary);box-shadow:0 0 0 3px #1858af1f}.odontogram-anatomic-tooth__crown{background:linear-gradient(#fff,#f4f7fb);border:2px solid #0f172a94;border-radius:8px 8px 10px 10px;width:26px;height:28px;position:absolute}.odontogram-anatomic-tooth__root{background:linear-gradient(#f7fbff,#dfefff);border:2px solid #0f172a6b;width:16px;height:38px;position:absolute}.odontogram-anatomic-row--upper .odontogram-anatomic-tooth__crown{bottom:18px}.odontogram-anatomic-row--upper .odontogram-anatomic-tooth__root{border-bottom:0;border-radius:18px 18px 4px 4px;top:8px}.odontogram-anatomic-row--lower .odontogram-anatomic-tooth__crown{top:18px}.odontogram-anatomic-row--lower .odontogram-anatomic-tooth__root{border-top:0;border-radius:4px 4px 18px 18px;bottom:8px}.odontogram-anatomic-tooth--incisor .odontogram-anatomic-tooth__crown{width:20px}.odontogram-anatomic-tooth--canine .odontogram-anatomic-tooth__crown{clip-path:polygon(12% 0,88% 0,76% 74%,50% 100%,24% 74%)}.odontogram-anatomic-tooth--molar .odontogram-anatomic-tooth__crown{border-radius:11px;width:31px}.odontogram-face-table{background:#ffffffb8;border:1px solid #1858af1a;border-radius:18px;gap:10px;min-width:0;padding:12px;display:grid}.odontogram-face-table__arch{gap:7px;min-width:0;display:grid}.odontogram-face-table__row{scrollbar-width:thin;grid-template-columns:repeat(16,minmax(42px,1fr));gap:7px;padding-bottom:6px;display:grid;overflow-x:auto}.odontogram-face-tooth{gap:5px;min-width:42px;display:grid}.odontogram-face-tooth__number{color:var(--foreground);cursor:pointer;background:0 0;border:0;font-size:12px;font-weight:950}.odontogram-face-tooth--selected .odontogram-face-tooth__number{color:var(--primary)}.odontogram-face-tooth__map,.odontogram-current-face{grid-template-columns:repeat(3,minmax(0,1fr));grid-template-areas:".top.""left center right"".bottom.";gap:2px;display:grid}.odontogram-face-segment,.odontogram-current-face__segment{color:#0000;cursor:pointer;background:#fff;border:1px solid #0f172a38;border-radius:4px;place-items:center;min-height:17px;font-size:0;transition:border-color .18s,box-shadow .18s,transform .18s;display:grid}.odontogram-face-segment:hover,.odontogram-current-face__segment:hover{border-color:#1858af6b;transform:translateY(-1px)}.odontogram-face-segment--active,.odontogram-current-face__segment--active{border-color:var(--primary);box-shadow:0 0 0 2px #1858af26}.odontogram-face-segment--oclusal,.odontogram-current-face__segment--oclusal{grid-area:center;min-height:23px}.odontogram-face-segment--mesial,.odontogram-current-face__segment--mesial{grid-area:left}.odontogram-face-segment--vestibular,.odontogram-current-face__segment--vestibular{grid-area:top}.odontogram-face-segment--distal,.odontogram-current-face__segment--distal{grid-area:right}.odontogram-face-segment--lingual,.odontogram-current-face__segment--lingual{grid-area:bottom}.odontogram-inspector{border:1px solid var(--border);background:linear-gradient(#fff,#f7fbff);border-radius:22px;align-content:start;gap:16px;min-width:0;padding:16px;display:grid}.odontogram-inspector__header{align-items:center;gap:10px;display:flex}.odontogram-inspector__header strong{font-size:1.25rem;display:block}.odontogram-inspector__list{gap:10px;margin:0;display:grid}.odontogram-inspector__list div{gap:3px;display:grid}.odontogram-inspector__list dt{color:var(--muted-foreground);text-transform:uppercase;font-size:11px;font-weight:900}.odontogram-inspector__list dd{color:var(--foreground);margin:0;font-size:13px;font-weight:700;line-height:1.5}.odontogram-current-face{background:#fff;border:1px solid #1858af1a;border-radius:20px;justify-self:center;gap:8px;width:min(100%,180px);padding:12px}.odontogram-current-face__segment{min-height:48px;color:var(--muted-foreground);font-size:12px;font-weight:900}.odontogram-legend-panel{background:linear-gradient(#fff,#f8fbff);border:1px solid #1858af1f;border-radius:22px;gap:14px;padding:14px;display:grid}.odontogram-legend__item{cursor:pointer}.odontogram-legend__item--active{border-color:var(--odontogram-indicator-color,var(--primary));box-shadow:0 0 0 3px var(--odontogram-indicator-color,var(--primary))}@supports (color:color-mix(in lab, red, red)){.odontogram-legend__item--active{box-shadow:0 0 0 3px color-mix(in srgb, var(--odontogram-indicator-color,var(--primary)), white 78%)}}.odontogram-legend__swatch{background:var(--odontogram-indicator-color,#94a3b8);border-radius:4px;width:12px;height:12px}.odontogram-toolbelt{scrollbar-width:thin;grid-template-columns:repeat(10,minmax(72px,1fr));gap:8px;padding-bottom:4px;display:grid;overflow-x:auto}.odontogram-toolbelt__item{cursor:pointer;min-width:72px;color:var(--primary);text-align:center;background:#fff;border:1px solid #1858af1f;border-radius:14px;justify-items:center;gap:6px;padding:9px 7px;font-size:11px;font-weight:850;transition:border-color .18s,box-shadow .18s,transform .18s;display:grid}.odontogram-toolbelt__item:hover{border-color:#1858af57;transform:translateY(-1px)}.odontogram-toolbelt__item--active{border-color:var(--primary);background:#1858af14;box-shadow:0 0 0 3px #1858af1a}.odontogram-tool-panel{background:linear-gradient(#fff,#f7fbff);border:1px solid #1858af1f;border-radius:18px;gap:12px;padding:14px;display:grid}.odontogram-tool-panel h3{color:var(--foreground);margin:2px 0 0;font-size:1rem}.odontogram-action-grid{grid-template-columns:repeat(auto-fit,minmax(148px,1fr));gap:8px;display:grid}.odontogram-action-grid button{min-height:42px;color:var(--primary);cursor:pointer;text-align:left;background:#fff;border:1px solid #1858af24;border-radius:12px;padding:8px 10px;font-size:12px;font-weight:800;transition:border-color .18s,background .18s,box-shadow .18s,transform .18s}.odontogram-action-grid button:hover{border-color:#1858af57;transform:translateY(-1px);box-shadow:0 10px 22px #1858af14}.odontogram-action-grid button.is-active{border-color:var(--primary);background:#1858af14;box-shadow:0 0 0 3px #1858af1a}.odontogram-history-list{flex-wrap:wrap;gap:8px;display:flex}.odontogram-history-list span,.odontogram-total-grid span{color:var(--foreground);background:#fff;border:1px solid #1858af1f;border-radius:12px;padding:9px 10px;font-size:12px;font-weight:750}.odontogram-total-grid{grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:8px;display:grid}.odontogram-total-grid strong{color:var(--primary);font-size:1.25rem;display:block}.odontogram-image-tool{gap:10px;display:grid}.odontogram-image-tool input{width:100%;color:var(--foreground);background:#fff;border:1px dashed #1858af47;border-radius:14px;padding:10px;font-size:13px}.odontogram-image-tool__preview{background-position:50%;background-size:cover;border:1px solid #1858af24;border-radius:14px;width:min(100%,360px);min-height:220px}.odontogram-record-image{background-color:#f8fbff;background-position:50%;background-size:cover;border:1px solid #1858af24;border-radius:16px;width:min(100%,420px);min-height:240px;margin-top:12px}.odontogram-indicator-in_treatment{--odontogram-indicator-color:#dc2626}.odontogram-indicator-completed{--odontogram-indicator-color:#16a34a}.odontogram-indicator-existing{--odontogram-indicator-color:#2563eb}.odontogram-indicator-needed{--odontogram-indicator-color:#f59e0b}.odontogram-indicator-planned{--odontogram-indicator-color:#7c3aed}.odontogram-face-segment.odontogram-indicator-in_treatment,.odontogram-face-segment.odontogram-indicator-completed,.odontogram-face-segment.odontogram-indicator-existing,.odontogram-face-segment.odontogram-indicator-needed,.odontogram-face-segment.odontogram-indicator-planned{background:var(--odontogram-indicator-color);border-color:var(--odontogram-indicator-color)}@supports (color:color-mix(in lab, red, red)){.odontogram-face-segment.odontogram-indicator-in_treatment,.odontogram-face-segment.odontogram-indicator-completed,.odontogram-face-segment.odontogram-indicator-existing,.odontogram-face-segment.odontogram-indicator-needed,.odontogram-face-segment.odontogram-indicator-planned{border-color:color-mix(in srgb, var(--odontogram-indicator-color), black 12%)}}.odontogram-anatomic-tooth.odontogram-indicator-in_treatment .odontogram-anatomic-tooth__crown,.odontogram-anatomic-tooth.odontogram-indicator-completed .odontogram-anatomic-tooth__crown,.odontogram-anatomic-tooth.odontogram-indicator-existing .odontogram-anatomic-tooth__crown,.odontogram-anatomic-tooth.odontogram-indicator-needed .odontogram-anatomic-tooth__crown,.odontogram-anatomic-tooth.odontogram-indicator-planned .odontogram-anatomic-tooth__crown{border-color:var(--odontogram-indicator-color);box-shadow:inset 0 -10px 14px var(--odontogram-indicator-color)}@supports (color:color-mix(in lab, red, red)){.odontogram-anatomic-tooth.odontogram-indicator-in_treatment .odontogram-anatomic-tooth__crown,.odontogram-anatomic-tooth.odontogram-indicator-completed .odontogram-anatomic-tooth__crown,.odontogram-anatomic-tooth.odontogram-indicator-existing .odontogram-anatomic-tooth__crown,.odontogram-anatomic-tooth.odontogram-indicator-needed .odontogram-anatomic-tooth__crown,.odontogram-anatomic-tooth.odontogram-indicator-planned .odontogram-anatomic-tooth__crown{box-shadow:inset 0 -10px 14px color-mix(in srgb, var(--odontogram-indicator-color), white 78%)}}.detail-grid{gap:14px;display:grid}.detail-card{border:1px solid var(--border);background:linear-gradient(#fff,#f6faff);border-radius:22px;min-width:0;padding:18px}.timeline-card{border:1px solid var(--border);background:#fffc;border-radius:22px;min-width:0;padding:16px}.collapsible-toggle{background:radial-gradient(circle at top,#fffffff0,#e8f2fffa),linear-gradient(#fffffff5,#e9f2ffe6);border:1px solid #1858af24;border-radius:999px;justify-content:center;align-items:center;width:42px;height:42px;transition:transform .18s,border-color .18s,box-shadow .18s;display:inline-flex;position:relative;box-shadow:inset 0 1px #ffffffd1,0 10px 22px #1858af14}.collapsible-toggle:hover{border-color:#1858af4d;transform:translateY(-1px);box-shadow:inset 0 1px #ffffffe0,0 14px 28px #1858af1f}.collapsible-toggle__arrow{border-right:2px solid var(--primary);border-bottom:2px solid var(--primary);width:12px;height:12px;transition:transform .18s;display:block;transform:rotate(45deg)translateY(-1px)}.collapsible-toggle__arrow--open{transform:rotate(-135deg)translateY(-1px)}[data-sonner-toast].app-toast [data-title]{color:#991b1b}[data-sonner-toast].app-toast [data-close-button]{color:#991b1b;background:#ffffffe6;border-color:#991b1b2e}.table td,.table th{white-space:nowrap}@media (max-width:1200px){.app-shell{grid-template-columns:232px minmax(0,1fr)}.odontogram-panel{grid-template-columns:1fr}.odontogram-workspace{grid-template-columns:minmax(0,1fr)}.odontogram-side-rail{grid-template-columns:repeat(5,minmax(52px,1fr))}.odontogram-side-rail__slot{min-height:38px}}@media (max-width:960px){.app-shell{grid-template-columns:216px minmax(0,1fr)}.content{padding:16px}.odontogram-tooth{min-height:390px}.odontogram-tooth__shape{width:clamp(180px,36%,250px);height:clamp(230px,58%,300px)}.odontogram-tooth--oclusal .odontogram-tooth__shape{width:clamp(200px,42%,280px);height:clamp(200px,50%,260px)}.odontogram-composer__toolbar{flex-direction:column;align-items:start}.odontogram-stage{padding:14px}.odontogram-toolbelt{grid-template-columns:repeat(5,minmax(74px,1fr))}.sidebar-session{margin-top:8px}}@media (max-width:720px){.app-shell{height:auto;min-height:100dvh;display:block;overflow:visible}.sidebar{inset:auto 10px max(8px, env(safe-area-inset-bottom)) 10px;z-index:50;background:linear-gradient(#092d5c 0%,#12488b 100%),linear-gradient(135deg,#ffffff14,#0000);border:1px solid #a6d8ff47;border-radius:24px;height:auto;max-height:min(54dvh,292px);position:fixed;overflow:hidden;box-shadow:0 18px 42px #04122a3d}.sidebar__inner{padding:8px 10px 10px;overflow:hidden}.sidebar-top,.sidebar-session{display:none}.sidebar-nav{scrollbar-width:none;-webkit-overflow-scrolling:touch;align-items:flex-start;gap:6px;max-height:206px;padding:2px 2px 4px;display:flex;overflow:auto}.sidebar-nav::-webkit-scrollbar{display:none}.sidebar-nav__link{text-align:center;white-space:nowrap;border-radius:18px;flex-direction:column;flex:none;justify-content:center;gap:5px;width:82px;min-width:82px;height:58px;min-height:58px;max-height:58px;padding:0 8px;font-size:10px}.sidebar-nav__link svg{flex-shrink:0}.sidebar-nav__group{flex:0 0 82px;align-items:start;gap:5px;width:82px;min-width:82px;display:grid}.sidebar-nav__children{gap:5px;width:100%;min-width:0;padding-left:0;display:grid}.sidebar-nav__child-link{text-align:center;white-space:normal;overflow-wrap:anywhere;border-radius:14px;justify-content:center;width:100%;min-width:0;min-height:34px;padding:7px 6px;font-size:10px;line-height:1.15}.surface{border-radius:20px}.page-header{flex-direction:column}.sidebar:before{width:160px;height:160px}.sidebar:after{width:140px;height:140px}.sidebar-session{padding:14px}.content{padding:12px;padding-bottom:calc(220px + env(safe-area-inset-bottom))}.grid-cards{grid-template-columns:1fr}.table{min-width:560px}.detail-card,.timeline-card{padding:14px}.table th,.table td{padding:9px 10px;font-size:12px}.calendar-board{grid-template-columns:repeat(7,minmax(136px,1fr))}.calendar-day{min-height:210px;padding:10px}.brand-wordmark{font-size:1.7rem}}@media (max-width:520px){.brand-mark{width:62px;height:62px}.brand-mark-compact{width:42px;height:42px}.brand-wordmark{font-size:1.45rem}.craftlab-badge__kicker{font-size:9px}.craftlab-badge__name{font-size:11px}.content{padding:10px;padding-bottom:calc(220px + env(safe-area-inset-bottom))}.surface{border-radius:18px}.collapsible-toggle{width:38px;height:38px}.odontogram-panel{padding:16px}.odontogram-workspace{gap:10px}.odontogram-stage{border-radius:18px;padding:12px}.odontogram-stage__topline{align-items:stretch}.odontogram-selected{width:100%}.odontogram-anatomic-row,.odontogram-face-table__row{grid-template-columns:repeat(16,minmax(38px,1fr))}.odontogram-anatomic-tooth{min-width:38px;min-height:78px}.odontogram-anatomic-tooth__root{height:30px}.odontogram-anatomic-tooth__crown{width:22px;height:24px}.odontogram-inspector{padding:12px}.odontogram-toolbelt{grid-template-columns:repeat(2,minmax(98px,1fr))}.odontogram-tooth{min-height:340px}.odontogram-tooth__shape{width:clamp(150px,48%,210px);height:clamp(180px,48%,230px);top:62%}.odontogram-tooth--oclusal .odontogram-tooth__shape{width:clamp(160px,54%,230px);height:clamp(160px,44%,210px)}.odontogram-tooth__toolbar{flex-direction:column;align-items:stretch;padding:14px 14px 0}.odontogram-tooth__toolbar button{justify-content:center;width:100%}.odontogram-tooth__hotspot{min-width:72px;max-width:112px;padding:7px 10px;font-size:12px}.odontogram-tooth__hotspot--left{left:12px}.odontogram-tooth__hotspot--right{right:12px}.odontogram-tooth__hotspot--top{top:118px}.odontogram-tooth__hotspot--top-inner{top:158px}}@media (max-height:840px){.sidebar{overflow:hidden}.sidebar-session{margin-top:12px}}@media (prefers-color-scheme:dark){:root:not([data-theme]) .bg-white{background-color:var(--card)}:root:not([data-theme]) .bg-white\/50{background-color:#0d234280}:root:not([data-theme]) .bg-white\/60{background-color:#0d234299}:root:not([data-theme]) .bg-white\/70{background-color:#0d2342b3}:root:not([data-theme]) .bg-white\/80{background-color:#0d2342cc}:root:not([data-theme]) .bg-white\/92{background-color:#0d2342eb}:root:not([data-theme]) .calendar-appointment,:root:not([data-theme]) .calendar-empty,:root:not([data-theme]) .role-pill,:root:not([data-theme]) .odontogram-legend__item,:root:not([data-theme]) .surface-chip,:root:not([data-theme]) .odontogram-side-rail__slot,:root:not([data-theme]) .odontogram-anatomic-tooth,:root:not([data-theme]) .odontogram-face-segment,:root:not([data-theme]) .odontogram-current-face,:root:not([data-theme]) .odontogram-current-face__segment,:root:not([data-theme]) .odontogram-toolbelt__item,:root:not([data-theme]) .odontogram-action-grid button,:root:not([data-theme]) .odontogram-history-list span,:root:not([data-theme]) .odontogram-total-grid span,:root:not([data-theme]) .odontogram-image-tool input{background:var(--card)}:root:not([data-theme]) .calendar-day,:root:not([data-theme]) .odontogram-board,:root:not([data-theme]) .odontogram-chart-tooth,:root:not([data-theme]) .odontogram-side-rail,:root:not([data-theme]) .odontogram-stage,:root:not([data-theme]) .odontogram-inspector,:root:not([data-theme]) .odontogram-legend-panel,:root:not([data-theme]) .odontogram-tool-panel,:root:not([data-theme]) .detail-card{background:linear-gradient(180deg, var(--card), var(--surface-muted))}:root:not([data-theme]) .odontogram-chart-tooth__crown{background:#eef7ff}:root:not([data-theme]) .sidebar-session .bg-white{color:#f5fbff;background-color:#ffffff1f}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}.skeleton:after{animation:none}}@property --tw-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-y{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-z{syntax:"*";inherits:false;initial-value:0}@property --tw-space-y-reverse{syntax:"*";inherits:false;initial-value:0}@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-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-outline-style{syntax:"*";inherits:false;initial-value:solid}@keyframes spin{to{transform:rotate(360deg)}}
@media (prefers-color-scheme:dark){:root{--background:#07152a;--foreground:#eaf4ff;--card:#0e2546;--card-foreground:#f4f9ff;--muted:#17385f;--muted-foreground:#a9bdd6;--primary:#6bb7ff;--primary-foreground:#061428;--secondary:#102f53;--secondary-foreground:#d7ecff;--accent:#164d77;--accent-foreground:#ddf4ff;--border:#22476e;--danger:#ff7a7a;--warning:#fbbf24;--success:#4adea8}}:root{--color-info:#2563eb;--color-info-soft:#2563eb1f;--color-danger-soft:#d6454524;--color-warning-soft:#f59f0b24;--color-success-soft:#1aa17a24;--radius-xs:8px;--radius-sm:12px;--radius-md:16px;--radius-lg:22px;--radius-xl:28px;--shadow-sm:0 8px 18px #1142840f;--shadow-md:0 18px 40px #1142841a;--shadow-lg:0 28px 70px #11428424;--z-sidebar:90;--z-sidebar-popover:180;--z-overlay:160;--z-toast:220;--duration-fast:.16s;--duration-normal:.22s;--duration-slow:.32s;--transition-fast:.16s ease;--transition-base:.2s ease;--ease-standard:cubic-bezier(.2, 0, 0, 1);--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:20px;--space-6:24px;--breakpoint-sm:520px;--breakpoint-md:720px;--breakpoint-lg:960px;--breakpoint-xl:1200px}body{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}:root[data-theme=light]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--background:#edf4ff;--foreground:#0c2448;--card:#fff;--card-foreground:#0c2448;--muted:#dceafe;--muted-foreground:#58739a;--primary:#1858af;--primary-foreground:#f7fbff;--secondary:#e5f4ff;--secondary-foreground:#0e4c93;--accent:#bce8ff;--accent-foreground:#0b407c;--border:#cdddf3;--danger:#d64545;--warning:#f59f0b;--success:#1aa17a;--info:#2563eb;--surface:#ffffffe6;--surface-muted:#f7fbffb8;--focus-ring:#1858af47;--app-bg:linear-gradient(180deg, #f7fbff 0%, #edf4ff 42%, #f9fcff 100%)}:root[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--background:#07152a;--foreground:#eaf4ff;--card:#0e2546;--card-foreground:#f4f9ff;--muted:#17385f;--muted-foreground:#a9bdd6;--primary:#6bb7ff;--primary-foreground:#061428;--secondary:#102f53;--secondary-foreground:#d7ecff;--accent:#164d77;--accent-foreground:#ddf4ff;--border:#22476e;--danger:#ff7a7a;--warning:#fbbf24;--success:#4adea8;--info:#8bc7ff;--surface:#0c2342eb;--surface-muted:#0e2b4eb3;--focus-ring:#6bbdff57;--app-bg:linear-gradient(180deg, #07152a 0%, #0a1f3a 48%, #07152a 100%)}:root[data-theme=light] body{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;background:radial-gradient(circle at 0 0,#1858af33,#0000 28%),radial-gradient(circle at 100% 0,#36c6ff2e,#0000 24%),linear-gradient(#f7fbff 0%,#edf4ff 40%,#f9fcff 100%)}:root[data-theme=dark] body{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;background:radial-gradient(circle at 0 0,#3c9aff38,#0000 28%),radial-gradient(circle at 100% 0,#36c6ff1f,#0000 24%),linear-gradient(#07152a 0%,#0b1f3a 48%,#071426 100%)}@media (prefers-color-scheme:dark){body{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;background:radial-gradient(circle at 0 0,#3c9aff38,#0000 28%),radial-gradient(circle at 100% 0,#36c6ff1f,#0000 24%),linear-gradient(#07152a 0%,#0b1f3a 48%,#071426 100%)}:root:not([data-theme]) .surface,:root:not([data-theme]) .detail-card,:root:not([data-theme]) .timeline-card,:root:not([data-theme]) .calendar-day,:root:not([data-theme]) .calendar-appointment,:root:not([data-theme]) .calendar-empty,:root:not([data-theme]) .role-pill,:root:not([data-theme]) .odontogram-board,:root:not([data-theme]) .odontogram-panel,:root:not([data-theme]) .odontogram-stage,:root:not([data-theme]) .odontogram-inspector,:root:not([data-theme]) .odontogram-legend-panel,:root:not([data-theme]) .odontogram-tool-panel,:root:not([data-theme]) .odontogram-side-rail,:root:not([data-theme]) .odontogram-face-table,:root:not([data-theme]) .odontogram-action-grid button,:root:not([data-theme]) .odontogram-history-list span,:root:not([data-theme]) .odontogram-total-grid span,:root:not([data-theme]) .surface-chip,:root:not([data-theme]) .odontogram-legend__item,:root:not([data-theme]) .odontogram-image-tool input,:root:not([data-theme]) .odontogram-current-face,:root:not([data-theme]) .odontogram-anatomic-tooth,:root:not([data-theme]) .odontogram-face-segment,:root:not([data-theme]) .odontogram-current-face__segment{background:color-mix(in srgb, var(--card), transparent 8%);color:var(--card-foreground);border-color:var(--border)}:root:not([data-theme]) .table th,:root:not([data-theme]) .table td{border-color:var(--border)}}:root[data-theme=dark] .surface,:root[data-theme=dark] .detail-card,:root[data-theme=dark] .timeline-card,:root[data-theme=dark] .calendar-day,:root[data-theme=dark] .calendar-appointment,:root[data-theme=dark] .calendar-empty,:root[data-theme=dark] .role-pill,:root[data-theme=dark] .odontogram-board,:root[data-theme=dark] .odontogram-panel,:root[data-theme=dark] .odontogram-stage,:root[data-theme=dark] .odontogram-inspector,:root[data-theme=dark] .odontogram-legend-panel,:root[data-theme=dark] .odontogram-tool-panel,:root[data-theme=dark] .odontogram-side-rail,:root[data-theme=dark] .odontogram-face-table,:root[data-theme=dark] .odontogram-action-grid button,:root[data-theme=dark] .odontogram-history-list span,:root[data-theme=dark] .odontogram-total-grid span,:root[data-theme=dark] .surface-chip,:root[data-theme=dark] .odontogram-legend__item,:root[data-theme=dark] .odontogram-image-tool input,:root[data-theme=dark] .odontogram-current-face,:root[data-theme=dark] .odontogram-anatomic-tooth,:root[data-theme=dark] .odontogram-face-segment,:root[data-theme=dark] .odontogram-current-face__segment{background:color-mix(in srgb, var(--card), transparent 8%);color:var(--card-foreground);border-color:var(--border)}:root[data-theme=dark] .table th,:root[data-theme=dark] .table td{border-color:var(--border)}:root[data-theme=dark] [data-button-variant=primary]{color:var(--primary-foreground)}:root[data-theme=light] .surface{color:var(--foreground);background:#ffffffe6}:root[data-theme=light] .login-hero.surface,:root[data-theme=dark] .login-hero.surface{color:#fff;background:linear-gradient(135deg,#1458aff5 0%,#0d3d84fa 58%,#0b2a5c 100%)}.login-hero .brand-wordmark,.login-hero .craftlab-badge__name{color:#fff}.login-hero .login-brand-lockup{width:min(100%,390px);box-shadow:none;background:0 0;border:0;border-radius:0;padding:0;overflow:hidden}.login-hero .login-brand-lockup .brand-logo-asset{object-fit:contain;object-position:left center;width:100%;height:auto;display:block}.login-hero .brand-wordmark span{color:#a6d8ff}.login-hero .craftlab-badge__kicker{color:#e8f4ffb8}:root[data-theme=light] .calendar-appointment,:root[data-theme=light] .calendar-empty,:root[data-theme=light] .role-pill,:root[data-theme=light] .odontogram-legend__item,:root[data-theme=light] .surface-chip,:root[data-theme=light] .odontogram-side-rail__slot,:root[data-theme=light] .odontogram-anatomic-tooth,:root[data-theme=light] .odontogram-face-segment,:root[data-theme=light] .odontogram-current-face,:root[data-theme=light] .odontogram-current-face__segment,:root[data-theme=light] .odontogram-toolbelt__item,:root[data-theme=light] .odontogram-action-grid button,:root[data-theme=light] .odontogram-history-list span,:root[data-theme=light] .odontogram-total-grid span,:root[data-theme=light] .odontogram-image-tool input{color:var(--foreground);border-color:var(--border);background:#fff}:root[data-theme=light] .calendar-day,:root[data-theme=light] .odontogram-board,:root[data-theme=light] .odontogram-chart-tooth,:root[data-theme=light] .odontogram-side-rail,:root[data-theme=light] .odontogram-stage,:root[data-theme=light] .odontogram-inspector,:root[data-theme=light] .odontogram-legend-panel,:root[data-theme=light] .odontogram-tool-panel,:root[data-theme=light] .detail-card,:root[data-theme=light] .timeline-card{color:var(--foreground);border-color:var(--border);background:linear-gradient(#fff,#f7fbff)}:focus-visible{outline:3px solid color-mix(in srgb, var(--primary), white 20%);outline-offset:3px}button,a,select,input,textarea,[role=button]{-webkit-tap-highlight-color:transparent}button:not(:disabled),a[href],select:not(:disabled),input:not(:disabled),textarea:not(:disabled),[role=button]{touch-action:manipulation}button:disabled,input:disabled,select:disabled,textarea:disabled,[aria-disabled=true]{cursor:not-allowed}.sidebar-mobile-actions__more,.mobile-nav-drawer{display:none}input[aria-invalid=true],select[aria-invalid=true],textarea[aria-invalid=true],.is-invalid{box-shadow:0 0 0 3px color-mix(in srgb, var(--danger), transparent 82%);border-color:var(--danger)!important}.table-wrap{border-radius:var(--radius-md)}.table th{background:color-mix(in srgb, var(--secondary), white 52%);color:var(--muted-foreground);letter-spacing:.04em;text-transform:uppercase;font-weight:900}:root[data-theme=light] .table th{color:#466891;background:linear-gradient(#eaf3ff,#dceafe)}:root[data-theme=dark] .table th{background:color-mix(in srgb, var(--secondary), white 8%);color:var(--secondary-foreground)}.table tbody tr{transition:background var(--duration-fast) var(--ease-standard)}.table tbody tr:hover{background:color-mix(in srgb, var(--accent), transparent 84%)}.badge-info{background:var(--color-info-soft);color:var(--color-info)}.empty-state{border:1px dashed color-mix(in srgb, var(--primary), transparent 68%);border-radius:var(--radius-lg);background:color-mix(in srgb, var(--secondary), transparent 42%);text-align:center;justify-items:center;gap:10px;width:100%;padding:clamp(18px,4vw,34px);display:grid}.empty-state__icon{background:color-mix(in srgb, var(--primary), transparent 88%);width:46px;height:46px;color:var(--primary);border-radius:999px;place-items:center;display:grid}.empty-state__title{color:var(--foreground);margin:0;font-size:1rem;font-weight:900}.empty-state__description{max-width:56ch;color:var(--muted-foreground);margin:0;font-size:.875rem;line-height:1.6}.skeleton{border-radius:var(--radius-md);background:color-mix(in srgb, var(--muted), transparent 30%);position:relative;overflow:hidden}.skeleton:after{content:"";background:linear-gradient(90deg,#0000,#ffffff70,#0000);animation:1.35s infinite skeleton-shimmer;position:absolute;inset:0;transform:translate(-100%)}.loading-shell{gap:14px;width:min(100%,960px);margin-inline:auto;display:grid}.loading-shell__grid{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px;display:grid}@keyframes skeleton-shimmer{to{transform:translate(100%)}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.001ms!important;animation-duration:.001ms!important;animation-iteration-count:1!important}}@media (max-width:720px){button,.sidebar-nav__link,.sidebar-nav__child-link,.odontogram-toolbelt__item,.odontogram-action-grid button,.surface-chip{min-height:44px}.table-wrap{margin-inline:-2px}.empty-state{padding:18px 14px}}.responsive-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,240px),1fr));gap:clamp(12px,1.6vw,18px);display:grid}.ds-card{border:1px solid var(--border);background:var(--card);min-width:0;color:var(--card-foreground);box-shadow:var(--shadow-sm);border-radius:18px}.ds-card__header{border-bottom:1px solid color-mix(in srgb, var(--border), transparent 28%);flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:12px;padding:clamp(14px,2vw,18px);display:flex}.ds-card__title{color:var(--foreground);margin:0;font-size:clamp(1rem,1.4vw,1.12rem);font-weight:900;line-height:1.2}.ds-card__description{color:var(--muted-foreground);margin:6px 0 0;font-size:.86rem;line-height:1.5}.ds-card__content{padding:clamp(14px,2vw,18px)}.collapsible-section__header{border-bottom:1px solid color-mix(in srgb, var(--border), transparent 28%);flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:12px;padding:clamp(14px,2vw,18px);display:flex}.toolbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.action-bar{flex-wrap:wrap;align-items:center;gap:10px;min-width:0;display:flex}.action-bar>*{min-width:0}.kpi-card{padding:16px;position:relative;overflow:hidden}.kpi-card:after{content:"";background:color-mix(in srgb, var(--primary), transparent 92%);border-radius:999px;width:110px;height:110px;position:absolute;bottom:-34px;right:-28px}.kpi-card__body{z-index:1;justify-content:space-between;align-items:flex-start;gap:12px;display:flex;position:relative}.kpi-card__label{color:var(--muted-foreground);margin:0;font-size:.78rem;font-weight:900}.kpi-card__value{color:var(--foreground);margin-top:8px;font-size:clamp(1.7rem,3vw,2.25rem);line-height:1;display:block}.kpi-card__hint{z-index:1;max-width:28ch;color:var(--muted-foreground);margin:12px 0 0;font-size:.8rem;line-height:1.45;position:relative}.kpi-card__icon,.action-card__icon{background:color-mix(in srgb, var(--primary), transparent 88%);width:42px;height:42px;color:var(--primary);border-radius:14px;justify-content:center;align-items:center;display:inline-flex}.kpi-card--success .kpi-card__icon,.kpi-card--success:after{color:var(--success);background:color-mix(in srgb, var(--success), transparent 88%)}.kpi-card--warning .kpi-card__icon,.kpi-card--warning:after{color:var(--warning);background:color-mix(in srgb, var(--warning), transparent 88%)}.kpi-card--danger .kpi-card__icon,.kpi-card--danger:after{color:var(--danger);background:color-mix(in srgb, var(--danger), transparent 88%)}.action-card{grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:14px;padding:14px;display:grid}.action-card__action{justify-content:flex-end;display:flex}.quick-actions-row{align-items:stretch}.quick-actions-row a,.quick-actions-row button{white-space:normal;text-align:center;min-height:44px}:root[data-theme=light] [data-button-variant=primary]{color:#fff}.dashboard-toolbar{justify-content:flex-end}.quick-action-primary{box-shadow:0 14px 28px color-mix(in srgb, var(--primary), transparent 78%)}.form-section{border:1px solid var(--border);background:var(--surface-muted);border-radius:18px;min-width:0;padding:14px}.user-edit-form{background:var(--surface-muted);color:var(--foreground)}:root[data-theme=light] .user-edit-form{background:linear-gradient(#fffffff0,#f7fbffe0)}:root[data-theme=dark] .user-edit-form{background:color-mix(in srgb, var(--card), transparent 8%)}.section-note,.empty-state,.empty-state__title,.empty-state__description,.ds-card,.kpi-card,.kpi-card__hint,.calendar-empty,.data-table-card,.today-schedule-item{overflow-wrap:anywhere;min-width:0}.form-section>legend{color:var(--foreground);padding-inline:8px;font-size:.82rem;font-weight:900}.appointments-mobile-cards{display:none}.data-table__actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:8px;display:flex}.data-table__updated{color:var(--muted-foreground);font-size:.78rem;font-weight:700}
.app-shell{background:var(--app-bg);min-height:100dvh;transition:grid-template-columns var(--transition-base);grid-template-columns:248px minmax(0,1fr);display:grid}.app-shell--sidebar-collapsed{grid-template-columns:80px minmax(0,1fr)}.content{min-width:0;padding:clamp(14px,2vw,28px);overflow:auto}.page-container{width:min(100%,1480px);margin-inline:auto}.sidebar{z-index:var(--z-sidebar);border-right:1px solid var(--border);background:color-mix(in srgb, var(--card), transparent 3%);min-width:0;height:100dvh;color:var(--foreground);isolation:isolate;position:sticky;top:0;overflow:visible;box-shadow:12px 0 34px #0f2a520f}:root[data-theme=light] .sidebar{color:#f4f9ff;background:linear-gradient(#1458af 0%,#0d3d84 58%,#0b2a5c 100%);border-right-color:#a6d8ff47;box-shadow:12px 0 34px #0b2a5c2e}:root[data-theme=light] .sidebar-brand-lockup .brand-wordmark,:root[data-theme=light] .sidebar-session__name,:root[data-theme=light] .sidebar-nav__link:hover,:root[data-theme=light] .sidebar-nav__child-link:hover,:root[data-theme=light] .sidebar-nav__flyout-header{color:#fff}:root[data-theme=light] .sidebar-brand-lockup .brand-wordmark span{color:#a6d8ff}:root[data-theme=light] .sidebar-nav__section-title,:root[data-theme=light] .sidebar-session__email,:root[data-theme=light] .sidebar-session__role,:root[data-theme=light] .sidebar-nav__link,:root[data-theme=light] .sidebar-nav__child-link,:root[data-theme=light] .sidebar-nav__chevron{color:#e8f4ffc2}:root[data-theme=light] .sidebar-collapse-button,:root[data-theme=light] .sidebar-session__trigger,:root[data-theme=light] .theme-toggle,:root[data-theme=light] .sidebar-session__icon-action,:root[data-theme=light] .sidebar-session__locale-select,:root[data-theme=light] .sidebar-user-menu__signout,:root[data-theme=light] .sidebar-session__role{color:#f4f9ff;background:#ffffff14;border-color:#a6d8ff38}:root[data-theme=light] .sidebar-collapse-button:hover,:root[data-theme=light] .sidebar-session__trigger:hover,:root[data-theme=light] .theme-toggle:hover,:root[data-theme=light] .sidebar-session__icon-action:hover,:root[data-theme=light] .sidebar-user-menu__signout:hover,:root[data-theme=light] .sidebar-nav__link:hover,:root[data-theme=light] .sidebar-nav__child-link:hover{background:#ffffff1f;border-color:#a6d8ff61}:root[data-theme=light] .sidebar-nav__link--active,:root[data-theme=light] .sidebar-nav__child-link--active{color:#fff;background:#ffffff29;border-color:#a6d8ff75;box-shadow:inset 0 0 0 1px #a6d8ff33}:root[data-theme=light] .sidebar-nav__link--active:before{background:#6bb7ff}:root[data-theme=light] .sidebar-session__avatar,:root[data-theme=light] .sidebar-nav__badge{color:#fff;background:#ffffff29}:root[data-theme=light] .sidebar-tooltip,:root[data-theme=light] .sidebar-nav__flyout{color:#0c2448;background:linear-gradient(#fffffff7,#f4f9fff2),#fff;border-color:#1858af2e;box-shadow:0 22px 54px #0b2a5c33}:root[data-theme=light] .sidebar-nav__flyout-header{color:#0c2448;border-bottom-color:#1858af24}:root[data-theme=light] .sidebar-nav__flyout .sidebar-nav__child-link{color:#58739a}:root[data-theme=light] .sidebar-nav__flyout .sidebar-nav__child-link:hover,:root[data-theme=light] .sidebar-nav__flyout .sidebar-nav__child-link--active{color:#1858af;background:#1858af1a;border-color:#1858af2e}:root[data-theme=light] .sidebar-user-menu{color:#0c2448;background:linear-gradient(#fffffff5,#f4f9fff0),#fff;border-color:#1858af2e;box-shadow:0 22px 54px #0b2a5c33}:root[data-theme=light] .sidebar-user-menu:before{background:#f4f9ff;border-bottom-color:#1858af2e;border-right-color:#1858af2e}:root[data-theme=light] .sidebar-user-menu__name{color:#0c2448}:root[data-theme=light] .sidebar-user-menu__email{color:#58739a}:root[data-theme=light] .sidebar-user-menu__divider{background:#1858af24}:root[data-theme=light] .sidebar-user-menu .sidebar-session__role{color:#1858af;background:#1858af1a}:root[data-theme=light] .sidebar-user-menu .theme-toggle,:root[data-theme=light] .sidebar-user-menu .sidebar-session__locale-select,:root[data-theme=light] .sidebar-user-menu__password-toggle,:root[data-theme=light] .sidebar-user-menu__signout{color:#0e4c93;background:#1858af14;border-color:#1858af29}:root[data-theme=light] .sidebar-user-menu .theme-toggle:hover,:root[data-theme=light] .sidebar-user-menu__password-toggle:hover,:root[data-theme=light] .sidebar-user-menu__signout:hover{color:#0c2448;background:#1858af21;border-color:#1858af47}.sidebar__inner{grid-template-rows:auto minmax(0,1fr) auto;gap:12px;height:100%;padding:12px 10px;display:grid;overflow:visible}.sidebar-top{align-items:center;gap:var(--space-2);grid-template-columns:minmax(0,1fr) auto;display:grid}.sidebar-brand-lockup,.sidebar-brand-lockup .brand-lockup{min-width:0}.sidebar-brand-lockup .brand-mark{width:34px;height:34px}.sidebar-brand-lockup .brand-wordmark{color:var(--foreground);text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:1.15rem;line-height:1.1;overflow:hidden}.sidebar-brand-lockup .brand-lockup--asset{width:100%;min-width:0;box-shadow:none;background:0 0;border:0;border-radius:0;padding:0;overflow:hidden}.sidebar-brand-lockup .brand-logo-asset{object-fit:contain;object-position:left center;width:min(100%,178px);min-width:0;height:auto;display:block}.sidebar-brand-lockup .brand-lockup--mark-only{border-radius:13px;width:42px;height:42px;padding:0;overflow:hidden}.sidebar-brand-lockup .brand-lockup--mark-only .brand-logo-asset{object-fit:cover;width:42px;max-width:none;height:42px;transform:none}.sidebar-collapse-button,.theme-toggle,.sidebar-session__icon-action,.mobile-nav-drawer__close{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface-muted);width:40px;min-width:40px;height:40px;color:var(--foreground);cursor:pointer;transition:background var(--transition-fast), border-color var(--transition-fast), transform var(--transition-fast);justify-content:center;align-items:center;display:inline-flex}.sidebar-user-menu .theme-toggle{width:40px;min-width:40px;height:38px}.sidebar-collapse-button:hover,.theme-toggle:hover,.sidebar-session__icon-action:hover,.mobile-nav-drawer__close:hover{border-color:color-mix(in srgb, var(--primary), var(--border) 52%);background:color-mix(in srgb, var(--primary), transparent 90%);transform:translateY(-1px)}.sidebar-nav{scrollbar-width:thin;scrollbar-color:#a6d8ff61 transparent;align-content:start;gap:12px;min-height:0;padding:2px 4px 8px 2px;display:grid;overflow:visible auto}.sidebar-nav__section{gap:var(--space-2);display:grid}.sidebar-nav__section-title,.mobile-nav-drawer__section-title{color:var(--muted-foreground);letter-spacing:.14em;text-transform:uppercase;margin:0;padding-inline:8px;font-size:.68rem;font-weight:900}.sidebar-nav__section-links{gap:4px;display:grid}.sidebar-nav__group{min-width:0;position:relative}.sidebar-nav__link{width:100%;min-height:40px;color:var(--muted-foreground);text-align:left;cursor:pointer;transition:background var(--transition-fast), border-color var(--transition-fast), color var(--transition-fast), transform var(--transition-fast);background:0 0;border:1px solid #0000;border-radius:14px;align-items:center;gap:9px;padding:0 12px;font-size:.84rem;font-weight:800;display:flex;position:relative}.sidebar-nav__link>*{pointer-events:none}.sidebar-nav__link:before{content:"";background:0 0;border-radius:999px;width:3px;position:absolute;inset:9px auto 9px 0}.sidebar-nav__link:hover{border-color:var(--border);background:var(--surface-muted);color:var(--foreground)}.sidebar-nav__link--parent{appearance:none}.sidebar-nav__chevron{width:18px;min-width:18px;height:18px;color:var(--muted-foreground);transition:color var(--transition-fast), transform var(--transition-fast);justify-content:center;align-items:center;margin-left:auto;display:inline-flex}.sidebar-nav__link--parent .sidebar-nav__badge+.sidebar-nav__chevron{margin-left:0}.sidebar-nav__chevron.is-open{transform:rotate(180deg)}.sidebar-nav__link--active{border-color:color-mix(in srgb, var(--primary), transparent 74%);background:color-mix(in srgb, var(--primary), transparent 90%);color:var(--primary);box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--primary), transparent 88%)}.sidebar-nav__link--active:before{background:var(--primary)}.sidebar-nav__label{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.sidebar-nav__badge{background:color-mix(in srgb, var(--primary), transparent 86%);min-width:20px;height:20px;color:var(--primary);border-radius:999px;justify-content:center;align-items:center;margin-left:auto;padding-inline:6px;font-size:.65rem;font-weight:900;display:inline-flex}.sidebar-nav__children{gap:var(--space-1);margin-top:4px;padding-left:20px;display:grid}.sidebar-nav__flyout{z-index:var(--z-sidebar-popover);border:1px solid var(--border);background:var(--card);width:230px;color:var(--foreground);border-radius:16px;gap:10px;padding:10px;display:grid;position:absolute;top:0;left:calc(100% + 12px);box-shadow:0 24px 60px #04122a38}.sidebar-nav__section:last-child .sidebar-nav__flyout{top:auto;bottom:0}.sidebar-nav__flyout:before{content:"";width:14px;position:absolute;inset:0 auto 0 -14px}.sidebar-nav__flyout-header{border-bottom:1px solid color-mix(in srgb, var(--border), transparent 36%);min-height:31px;color:var(--foreground);align-items:center;gap:8px;padding:0 4px 8px;font-size:.82rem;font-weight:900;display:flex}.sidebar-nav__flyout-links{gap:5px;display:grid}.sidebar-nav__child-link{min-height:34px;color:var(--muted-foreground);transition:background var(--transition-fast), border-color var(--transition-fast), color var(--transition-fast);border:1px solid #0000;border-radius:11px;align-items:center;padding:6px 9px;font-size:.75rem;font-weight:800;line-height:1.2;display:flex}.sidebar-nav__child-link:hover{border-color:var(--border);background:var(--surface-muted);color:var(--foreground)}.sidebar-nav__child-link--active{border-color:color-mix(in srgb, var(--primary), transparent 78%);background:color-mix(in srgb, var(--primary), transparent 92%);color:var(--primary)}.sidebar-tooltip{z-index:var(--z-sidebar-popover);pointer-events:none;opacity:0;border:1px solid var(--border);background:var(--card);color:var(--foreground);white-space:nowrap;box-shadow:var(--shadow-lg);transition:opacity var(--transition-fast);border-radius:10px;padding:8px 10px;font-size:.78rem;font-weight:800;position:absolute;top:50%;left:calc(100% + 10px);transform:translateY(-50%)}.sidebar--collapsed .sidebar-nav__group:hover .sidebar-tooltip,.sidebar--collapsed .sidebar-nav__group:focus-within .sidebar-tooltip{opacity:1}.sidebar-session{position:relative}.sidebar-session__trigger{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface-muted);width:100%;min-height:50px;color:var(--foreground);cursor:pointer;transition:background var(--transition-fast), border-color var(--transition-fast), transform var(--transition-fast);align-items:center;gap:10px;padding:6px;display:flex}.sidebar-session__trigger:hover{border-color:color-mix(in srgb, var(--primary), var(--border) 58%);background:color-mix(in srgb, var(--primary), transparent 90%);transform:translateY(-1px)}.sidebar-session__avatar{background:color-mix(in srgb, var(--primary), transparent 84%);width:36px;min-width:36px;height:36px;color:var(--primary);border-radius:999px;justify-content:center;align-items:center;font-size:.85rem;font-weight:900;display:inline-flex}.sidebar-session__identity{text-align:left;min-width:0}.sidebar-session__name,.sidebar-session__email{text-overflow:ellipsis;white-space:nowrap;min-width:0;display:block;overflow:hidden}.sidebar-session__name{color:var(--foreground);font-size:.86rem;font-weight:900}.sidebar-session__email{color:var(--muted-foreground);margin-top:2px;font-size:.72rem}.sidebar-session__role{background:var(--surface-muted);max-width:100%;color:var(--muted-foreground);text-overflow:ellipsis;white-space:nowrap;border-radius:999px;margin:0;padding:4px 8px;font-size:.66rem;font-weight:900;display:inline-flex;overflow:hidden}.sidebar-user-menu{z-index:var(--z-sidebar-popover);overscroll-behavior:contain;border:1px solid color-mix(in srgb, var(--border), #a6d8ff47 28%);width:min(224px,100vw - 24px);max-width:calc(100vw - 24px);max-height:min(380px,100dvh - 24px);color:var(--foreground);background:linear-gradient(#ffffff14,#ffffff08),linear-gradient(#123d73 0%,#0e2d56 100%);border-radius:16px;gap:9px;padding:10px;display:grid;position:absolute;bottom:calc(100% + 8px);right:8px;overflow-y:visible;box-shadow:0 24px 60px #04122a47}.sidebar-user-menu:before{content:"";border-right:1px solid color-mix(in srgb, var(--border), #a6d8ff47 28%);border-bottom:1px solid color-mix(in srgb, var(--border), #a6d8ff47 28%);background:#0e2d56;width:12px;height:12px;position:absolute;bottom:-6px;right:18px;transform:rotate(45deg)}.sidebar-user-menu__identity{gap:2px;min-width:0;display:grid}.sidebar-user-menu__name,.sidebar-user-menu__email{text-overflow:ellipsis;white-space:nowrap;margin:0;overflow:hidden}.sidebar-user-menu__name{color:#fff;font-size:.82rem;font-weight:900}.sidebar-user-menu__email{color:#e8f4ffbd;font-size:.68rem;font-weight:700}.sidebar-user-menu__divider{background:#a6d8ff2e;border:0;height:1px;margin:0}.sidebar-user-menu__row,.mobile-nav-drawer__preferences{align-items:center;gap:6px;display:flex}.sidebar-session__locale-select{border-radius:var(--radius-sm);text-align:center;text-align-last:center;appearance:none;width:40px;min-width:40px;min-height:38px;padding:0}.sidebar-user-menu__signout{border:1px solid var(--border);border-radius:var(--radius-sm);color:#fff;cursor:pointer;background:0 0;justify-content:center;align-items:center;gap:6px;min-height:38px;padding:8px;font-size:.76rem;font-weight:900;display:inline-flex}.sidebar-user-menu__password-toggle{border-radius:var(--radius-sm);color:#fff;cursor:pointer;background:#ffffff12;border:1px solid #a6d8ff33;justify-content:center;align-items:center;gap:6px;min-height:38px;padding:8px;font-size:.76rem;font-weight:900;display:inline-flex}.sidebar-user-menu__password-toggle span{text-align:center;flex:0 auto}.sidebar-password-form{background:#ffffff0f;border:1px solid #a6d8ff2e;border-radius:14px;gap:9px;padding:10px;display:grid}.sidebar-password-modal{z-index:var(--z-overlay);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#030d1d7a;place-items:center;padding:18px;display:grid;position:fixed;inset:0}.sidebar-password-modal__panel{color:#fff;background:linear-gradient(#ffffff14,#ffffff08),linear-gradient(#123d73 0%,#0e2d56 100%);border:1px solid #a6d8ff47;border-radius:18px;gap:14px;width:min(100%,420px);padding:16px;display:grid;box-shadow:0 28px 80px #04122a61}.sidebar-password-modal__header{justify-content:space-between;align-items:flex-start;gap:var(--space-3);display:flex}.sidebar-password-modal__header p,.sidebar-password-modal__header h2{margin:0}.sidebar-password-modal__header p{color:#e8f4ffad;letter-spacing:.14em;text-transform:uppercase;font-size:.68rem;font-weight:900}.sidebar-password-modal__header h2{color:#fff;margin-top:3px;font-size:1.1rem;font-weight:900}.sidebar-password-modal__close{color:#fff;cursor:pointer;background:#ffffff14;border:1px solid #a6d8ff38;border-radius:12px;justify-content:center;align-items:center;width:38px;min-width:38px;height:38px;display:inline-flex}.sidebar-password-form__field{color:#e8f4ffd1;gap:5px;font-size:.68rem;font-weight:900;display:grid}.sidebar-password-form__input{color:#fff!important;background:#04122a47!important;border-color:#a6d8ff3d!important;border-radius:12px!important;min-height:38px!important;padding-block:8px!important}.sidebar-password-form .relative>button{width:36px;min-height:38px}.sidebar-password-form__message{border-radius:12px;margin:0;padding:8px 9px;font-size:.72rem;font-weight:800;line-height:1.35}.sidebar-password-form__message--error{color:#ffd9d9;background:#ff7a7a29}.sidebar-password-form__message--success{color:#c7ffe9;background:#4adea829}.sidebar-password-form__submit{color:#fff;cursor:pointer;background:#ffffff24;border:1px solid #a6d8ff42;border-radius:12px;min-height:38px;padding:8px 10px;font-size:.78rem;font-weight:900}.sidebar-password-form__submit:disabled{opacity:.62}.sidebar-user-menu__signout:hover{background:#ffffff1a;border-color:#ffffff47}:root[data-theme=light] .sidebar-user-menu__signout{color:#0e4c93}.sidebar--collapsed .sidebar__inner{gap:10px;padding-inline:10px;overflow:visible}.sidebar--collapsed .sidebar-nav{gap:var(--space-2);padding-inline:0;overflow:visible}.sidebar--collapsed .sidebar-nav__section,.sidebar--collapsed .sidebar-nav__section-links{gap:6px}.sidebar--collapsed .sidebar-top{grid-template-columns:1fr;justify-items:center;gap:8px;display:grid}.sidebar--collapsed .sidebar-brand-lockup,.sidebar--collapsed .sidebar-nav__label,.sidebar--collapsed .sidebar-nav__children,.sidebar--collapsed .sidebar-nav__section-title,.sidebar--collapsed .sidebar-session__identity,.sidebar--collapsed .sidebar-nav__badge{display:none}.sidebar--collapsed .sidebar-brand-lockup{display:block}.sidebar--collapsed .sidebar-brand-lockup .brand-lockup,.sidebar--collapsed .sidebar-collapse-button{margin-inline:auto}.sidebar--collapsed .sidebar-collapse-button{z-index:2;pointer-events:auto;width:44px;min-width:44px;height:38px;position:relative}.sidebar--collapsed .sidebar-nav__link,.sidebar--collapsed .sidebar-session__trigger{justify-content:center;width:48px;min-width:48px;height:44px;min-height:44px;margin-inline:auto;padding:0}.sidebar--collapsed .sidebar-nav__link--parent{position:relative}.sidebar--collapsed .sidebar-nav__chevron{display:none}.sidebar--collapsed .sidebar-user-menu{bottom:0;left:calc(100% + 10px);right:auto}.bottom-nav,.mobile-nav-drawer{display:none}@media (min-width:768px) and (max-width:1023px){.app-shell{grid-template-columns:80px minmax(0,1fr)}.sidebar__inner{gap:10px;padding-block:12px}.sidebar-nav{gap:var(--space-2)}.sidebar:not(.sidebar--collapsed) .sidebar-nav{overflow:visible}.sidebar-nav__section,.sidebar-nav__section-links{gap:6px}.sidebar:not(.sidebar--collapsed) .sidebar-brand-lockup .brand-lockup>div:last-child,.sidebar:not(.sidebar--collapsed) .sidebar-nav__label,.sidebar:not(.sidebar--collapsed) .sidebar-nav__children,.sidebar:not(.sidebar--collapsed) .sidebar-nav__section-title,.sidebar:not(.sidebar--collapsed) .sidebar-session__identity,.sidebar:not(.sidebar--collapsed) .sidebar-nav__badge{display:none}.sidebar:not(.sidebar--collapsed) .sidebar-top{grid-template-columns:1fr;justify-items:center;gap:8px}.sidebar:not(.sidebar--collapsed) .sidebar-collapse-button{width:44px;min-width:44px;height:38px}.sidebar:not(.sidebar--collapsed) .sidebar-nav__link,.sidebar:not(.sidebar--collapsed) .sidebar-session__trigger{justify-content:center;width:48px;min-width:48px;height:48px;min-height:48px;margin-inline:auto;padding:0}.sidebar:not(.sidebar--collapsed) .sidebar-nav__chevron{display:none}.sidebar:not(.sidebar--collapsed) .sidebar-user-menu{bottom:0;left:calc(100% + 10px);right:auto}.sidebar:not(.sidebar--collapsed) .sidebar-user-menu:before{border:0;border-left:1px solid color-mix(in srgb, var(--border), #a6d8ff47 28%);border-bottom:1px solid color-mix(in srgb, var(--border), #a6d8ff47 28%);bottom:18px;left:-6px;right:auto}.sidebar:not(.sidebar--collapsed) .sidebar-nav__section:last-child .sidebar-nav__flyout{top:auto;bottom:0}}@media (max-width:767px){.app-shell,.app-shell--sidebar-collapsed{min-height:100dvh;display:block}.sidebar{display:none}.content{padding:12px;padding-top:calc(76px + env(safe-area-inset-top));padding-bottom:calc(12px + env(safe-area-inset-bottom));overflow:visible}.bottom-nav{z-index:70;gap:var(--space-1);border:0;border-bottom:1px solid var(--border);background:color-mix(in srgb, var(--card), transparent 2%);color:var(--foreground);padding:max(6px, env(safe-area-inset-top)) 6px 6px;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);border-radius:0;grid-template-columns:repeat(5,minmax(0,1fr));display:grid;position:fixed;inset:0 0 auto;box-shadow:0 12px 28px #04122a24}.bottom-nav__link{justify-content:center;align-items:center;gap:var(--space-1);border-radius:var(--radius-md);min-width:0;min-height:54px;color:var(--muted-foreground);text-align:center;cursor:pointer;background:0 0;border:1px solid #0000;flex-direction:column;padding:5px 3px;font-size:.64rem;font-weight:900;line-height:1.1;display:flex;position:relative}.bottom-nav__link span:not(.sidebar-nav__badge){text-overflow:ellipsis;white-space:nowrap;max-width:100%;overflow:hidden}.bottom-nav__link--active{border-color:color-mix(in srgb, var(--primary), transparent 78%);background:color-mix(in srgb, var(--primary), transparent 90%);color:var(--primary)}.bottom-nav .sidebar-nav__badge{margin-left:0;position:absolute;top:4px;right:5px}.mobile-nav-drawer{z-index:90;padding:12px;padding-bottom:max(12px, env(safe-area-inset-bottom));background:#030d1d73;align-items:end;display:grid;position:fixed;inset:0}.mobile-nav-drawer__panel{border:1px solid var(--border);background:var(--card);width:min(100%,520px);max-height:min(84dvh,720px);color:var(--foreground);border-radius:24px;gap:14px;margin-inline:auto;padding:14px;display:grid;overflow:auto;box-shadow:0 24px 70px #04122a52}.mobile-nav-drawer__header{justify-content:space-between;align-items:center;gap:var(--space-3);display:flex}.mobile-nav-drawer__header p{color:var(--muted-foreground);margin:3px 0 0;font-size:.8rem}.mobile-nav-drawer__links,.mobile-nav-drawer__section,.mobile-nav-drawer__group,.mobile-nav-drawer__children{gap:var(--space-2);display:grid}.mobile-nav-drawer__section{gap:10px}.mobile-nav-drawer__link{border:1px solid var(--border);background:var(--surface-muted);min-height:46px;color:var(--foreground);border-radius:15px;align-items:center;gap:10px;padding:10px 12px;font-size:.9rem;font-weight:900;display:flex}.mobile-nav-drawer__link--active{border-color:color-mix(in srgb, var(--primary), transparent 72%);background:color-mix(in srgb, var(--primary), transparent 90%);color:var(--primary)}.mobile-nav-drawer__children{grid-template-columns:repeat(2,minmax(0,1fr));padding-left:0}.mobile-nav-drawer__children a{border:1px solid var(--border);min-height:40px;color:var(--muted-foreground);border-radius:13px;padding:10px;font-size:.78rem;font-weight:800}.mobile-nav-drawer__session{border-top:1px solid var(--border);padding-top:12px;padding-bottom:max(0px, env(safe-area-inset-bottom));gap:10px;display:grid}}@media (max-width:360px){.bottom-nav{padding:max(5px, env(safe-area-inset-top)) 5px 5px;gap:3px}.bottom-nav__link{min-height:52px;font-size:.58rem}}@media (prefers-reduced-motion:reduce){.app-shell,.sidebar,.sidebar-nav__link,.sidebar-tooltip,.bottom-nav,.mobile-nav-drawer__panel{transition:none!important}}
:root{--safe-bottom:env(safe-area-inset-bottom,0px);--safe-top:env(safe-area-inset-top,0px);--mobile-nav-height:66px;--content-padding-mobile:12px}html,body,#__next{max-width:100%}.app-shell,.content,.surface,.table-wrap,.calendar-week-surface,.odontogram-composer{min-width:0}.login-shell{min-height:100dvh;padding-bottom:max(16px, var(--safe-bottom));padding-top:max(16px, var(--safe-top))}.login-card,.login-hero{min-width:0}.today-schedule-cards,.data-table__mobile-cards{display:none}.mobile-card-action{background:color-mix(in srgb, var(--primary), transparent 88%);width:100%;min-height:44px;color:var(--primary);border-radius:14px;justify-content:center;align-items:center;padding:10px 12px;font-size:.875rem;font-weight:800;display:inline-flex}.patient-mobile-card{gap:var(--space-3);min-width:0;display:grid}.patient-mobile-card__header{justify-content:space-between;align-items:flex-start;gap:var(--space-3);min-width:0;display:flex}.patient-mobile-card__identity{min-width:0}.patient-mobile-card__identity h3{color:var(--foreground);overflow-wrap:anywhere;margin:0;font-size:1rem;font-weight:900;line-height:1.25}.patient-mobile-card__identity p{color:var(--muted-foreground);overflow-wrap:anywhere;margin:5px 0 0;font-size:.875rem;line-height:1.45}.data-table-card,.today-schedule-item{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--card);box-shadow:var(--shadow-sm);padding:14px}.data-table-card__row{gap:var(--space-1);border-bottom:1px solid color-mix(in srgb, var(--border), transparent 38%);padding-block:8px;display:grid}.data-table-card__row:last-child{border-bottom:0}.data-table-card__row>span{color:var(--muted-foreground);font-size:.75rem;font-weight:800}.data-table-card__row>strong{min-width:0;color:var(--foreground);overflow-wrap:anywhere;font-size:.925rem;font-weight:700}.data-table-card :where(a,button,[role=button]),.today-schedule-item :where(a,button,[role=button]){justify-content:center;align-items:center;min-width:44px;min-height:44px;display:inline-flex}@media (max-width:720px){html{scroll-padding-top:calc(var(--mobile-nav-height) + var(--safe-top) + 12px);scroll-padding-bottom:calc(var(--mobile-nav-height) + var(--safe-bottom) + 24px)}body{overflow-x:hidden}input,select,textarea,button{scroll-margin-top:calc(var(--mobile-nav-height) + var(--safe-top) + 12px);scroll-margin-bottom:calc(var(--mobile-nav-height) + var(--safe-bottom) + 24px)}h1{line-height:1.12;font-size:clamp(1.55rem,7vw,2.1rem)!important}h2,h3{line-height:1.2}.content{padding:var(--content-padding-mobile);overflow:visible;padding-top:calc(var(--mobile-nav-height) + var(--safe-top) + var(--content-padding-mobile))!important;padding-bottom:calc(var(--content-padding-mobile) + var(--safe-bottom))!important}.surface,.collapsible-section,.hero-panel{border-radius:18px}.surface{padding:14px}.grid-cards{grid-template-columns:1fr}.login-shell{width:100%;max-width:100vw;padding:10px;padding-bottom:max(18px, var(--safe-bottom));place-items:stretch stretch;overflow-x:hidden;display:block!important}.login-grid{flex-direction:column;gap:10px;min-width:0;max-width:calc(100vw - 20px);display:flex;width:calc(100vw - 20px)!important}.login-hero{gap:12px;max-width:calc(100vw - 20px);min-height:auto;padding:12px;overflow:hidden;width:100%!important}.login-hero .login-brand-lockup{width:min(100%,260px);max-width:100%}.login-hero>div,.login-card>div{min-width:0;max-width:100%;overflow:hidden}.login-hero>div:first-child p{overflow-wrap:anywhere;white-space:normal;width:min(32ch,100vw - 44px);max-width:100%;margin-top:12px;font-size:.88rem;line-height:1.45}.login-hero>div:nth-of-type(2){gap:var(--space-2);grid-template-columns:1fr}.login-hero>div:nth-of-type(2)>div{border-radius:14px;padding:10px 12px}.login-hero>div:nth-of-type(2) p:first-child{font-size:.82rem}.login-hero>div:nth-of-type(2) p:last-child{white-space:normal;width:min(32ch,100%);font-size:.76rem;line-height:1.35}.login-card{max-width:calc(100vw - 20px);padding:16px;overflow:hidden;width:100%!important}.login-card h1{overflow-wrap:anywhere;max-width:calc(100vw - 52px);font-size:clamp(1.65rem,7vw,1.9rem)!important}.login-card p,.login-card label,.login-card form{min-width:0;max-width:100%}.login-card form{gap:14px}.login-card button[type=submit],.form-submit,.form-actions>button,.form-actions>[role=button]{width:100%;min-height:46px}.privacy-shell{max-width:100vw;overflow-x:hidden}.privacy-shell .surface{max-width:calc(100vw - 32px);overflow:hidden}.privacy-shell .login-brand-lockup{width:min(100%,280px);max-width:100%;overflow:hidden}.privacy-shell .brand-logo-asset{object-fit:contain;object-position:left center;width:100%;height:auto;display:block}.privacy-shell :where(h1,h2,p,li,span){overflow-wrap:anywhere;max-width:100%}.privacy-shell h1{width:min(13ch,100%);line-height:1.12;font-size:clamp(1.65rem,7vw,1.95rem)!important}.privacy-shell p,.privacy-shell li>span:last-child{white-space:normal;width:min(31ch,100%)}.role-picker{grid-template-columns:1fr}.data-table__toolbar,.data-table__search,.data-table__pagination,.data-table__pagination>div{width:100%;max-width:none}.data-table__pagination{align-items:stretch}.data-table__pagination>div{justify-content:space-between}.data-table__pagination button{min-width:48px;min-height:44px}.data-table__desktop{display:none}.data-table__mobile-cards,.today-schedule-cards,.appointments-mobile-cards{gap:10px;display:grid}.today-schedule-table,.appointments-table{display:none}.quick-actions-row{grid-template-columns:1fr;display:grid}.quick-actions-row>*{width:100%}.quick-actions-row a,.quick-actions-row button,.dashboard-toolbar button{justify-content:center;width:100%}.dashboard-toolbar,.dashboard-toolbar .data-table__actions{justify-content:stretch;width:100%}.dashboard-toolbar .data-table__updated{text-align:center;width:100%}.action-card{grid-template-columns:auto minmax(0,1fr)}.action-card__action{grid-column:1/-1;justify-content:stretch}.action-card__action>*{width:100%}.calendar-week-surface{padding:12px}.calendar-week-header{align-items:start}.calendar-board{overscroll-behavior-inline:contain;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;gap:10px;padding-bottom:4px;overflow-x:auto;grid-template-columns:none!important;display:flex!important}.calendar-day{scroll-snap-align:start;flex:0 0 min(86vw,320px);min-height:auto}.calendar-appointment{min-height:44px;padding:12px}.table-wrap{max-width:100%;overflow-x:auto}.table{min-width:520px}.odontogram-composer{overflow:visible}.odontogram-workspace{gap:var(--space-3);grid-template-columns:minmax(0,1fr)!important;display:grid!important}.odontogram-side-rail{order:3;padding-bottom:2px;overflow-x:auto;grid-template-columns:none!important;display:flex!important}.odontogram-side-rail__slot{flex:none;min-width:68px;min-height:44px}.odontogram-stage{order:1;padding:12px;overflow:hidden}.odontogram-stage__topline{top:calc(var(--safe-top) + 6px);z-index:5;border:1px solid var(--border);border-radius:var(--radius-md);background:color-mix(in srgb, var(--card), transparent 3%);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);align-items:start;gap:10px;padding:10px;position:sticky}.odontogram-selected{min-width:106px;padding:8px}.odontogram-anatomic-row,.odontogram-face-table__row,.odontogram-arch__teeth{overscroll-behavior-inline:contain;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;overflow-x:auto}.odontogram-anatomic-row{justify-content:flex-start;padding-block:8px}.odontogram-anatomic-tooth,.odontogram-chart-tooth{scroll-snap-align:start;min-width:44px;min-height:56px}.odontogram-face-table{gap:10px}.odontogram-face-tooth{scroll-snap-align:start;min-width:74px}.odontogram-face-segment,.odontogram-current-face__segment{min-width:34px;min-height:34px}.odontogram-inspector{order:2}.odontogram-legend-panel{grid-template-columns:minmax(0,1fr)!important}.odontogram-legend{scroll-snap-type:x mandatory;display:flex;overflow-x:auto}.odontogram-legend__item{scroll-snap-align:start;flex:0 0 min(72vw,240px);min-height:44px}.odontogram-toolbelt,.odontogram-action-grid,.odontogram-total-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}.odontogram-toolbelt__item,.odontogram-action-grid button{min-height:48px;padding:10px}.odontogram-tool-panel,.odontogram-deciduous{padding:12px}.odontogram-image-tool__preview,.odontogram-record-image{aspect-ratio:16/10;width:100%;max-width:100%}}@media (max-width:520px){:root{--content-padding-mobile:10px;--mobile-nav-height:64px}.surface,.collapsible-section,.data-table-card,.today-schedule-item{padding:12px}.field-label{letter-spacing:.06em;line-height:1.25}.calendar-week-header{gap:8px;display:grid}.calendar-board{scroll-snap-type:none;gap:10px;padding-bottom:0;overflow:visible;grid-template-columns:minmax(0,1fr)!important;display:grid!important}.calendar-day{scroll-snap-align:none;flex:none;width:100%;min-width:0}.calendar-empty{min-height:44px}.calendar-appointments{gap:10px}}@media (max-width:390px){.bottom-nav{padding:max(5px, var(--safe-top)) 5px 5px;gap:3px}.bottom-nav__link{min-height:52px;font-size:9px}}@media (max-width:720px) and (max-height:720px){input,select,textarea,button{scroll-margin-bottom:calc(var(--mobile-nav-height) + var(--safe-bottom) + 44px)}.mobile-nav-drawer__panel{max-height:calc(100dvh - 28px)}.login-hero{padding:12px}.login-hero>div:first-child p,.login-hero>div:nth-of-type(2)>div:nth-child(n+2){display:none}}
