@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-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-space-y-reverse:0;--tw-space-x-reverse:0;--tw-border-style:solid;--tw-gradient-position:initial;--tw-gradient-from:#0000;--tw-gradient-via:#0000;--tw-gradient-to:#0000;--tw-gradient-stops:initial;--tw-gradient-via-stops:initial;--tw-gradient-from-position:0%;--tw-gradient-via-position:50%;--tw-gradient-to-position:100%;--tw-leading:initial;--tw-font-weight:initial;--tw-tracking:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-outline-style:solid;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial;--tw-backdrop-blur:initial;--tw-backdrop-brightness:initial;--tw-backdrop-contrast:initial;--tw-backdrop-grayscale:initial;--tw-backdrop-hue-rotate:initial;--tw-backdrop-invert:initial;--tw-backdrop-opacity:initial;--tw-backdrop-saturate:initial;--tw-backdrop-sepia:initial;--tw-duration:initial;--tw-scale-x:1;--tw-scale-y:1;--tw-scale-z:1;--tw-animation-delay:0s;--tw-animation-direction:normal;--tw-animation-duration:initial;--tw-animation-fill-mode:none;--tw-animation-iteration-count:1;--tw-enter-blur:0;--tw-enter-opacity:1;--tw-enter-rotate:0;--tw-enter-scale:1;--tw-enter-translate-x:0;--tw-enter-translate-y:0;--tw-exit-blur:0;--tw-exit-opacity:1;--tw-exit-rotate:0;--tw-exit-scale:1;--tw-exit-translate-x:0;--tw-exit-translate-y:0}}}@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-orange-100:oklch(95.4% .038 75.164);--color-orange-500:oklch(70.5% .213 47.604);--color-amber-50:oklch(98.7% .022 95.277);--color-amber-100:oklch(96.2% .059 95.617);--color-amber-200:oklch(92.4% .12 95.746);--color-amber-400:oklch(82.8% .189 84.429);--color-amber-500:oklch(76.9% .188 70.08);--color-amber-600:oklch(66.6% .179 58.318);--color-amber-700:oklch(55.5% .163 48.998);--color-yellow-100:oklch(97.3% .071 103.193);--color-yellow-400:oklch(85.2% .199 91.936);--color-yellow-500:oklch(79.5% .184 86.047);--color-emerald-50:oklch(97.9% .021 166.113);--color-emerald-100:oklch(95% .052 163.051);--color-emerald-400:oklch(76.5% .177 163.223);--color-emerald-500:oklch(69.6% .17 162.48);--color-emerald-600:oklch(59.6% .145 163.225);--color-emerald-700:oklch(50.8% .118 165.612);--color-teal-50:oklch(98.4% .014 180.72);--color-teal-100:oklch(95.3% .051 180.801);--color-teal-400:oklch(77.7% .152 181.912);--color-teal-500:oklch(70.4% .14 182.503);--color-teal-600:oklch(60% .118 184.704);--color-cyan-50:oklch(98.4% .019 200.873);--color-cyan-100:oklch(95.6% .045 203.388);--color-cyan-400:oklch(78.9% .154 211.53);--color-cyan-500:oklch(71.5% .143 215.221);--color-blue-50:oklch(97% .014 254.604);--color-blue-100:oklch(93.2% .032 255.585);--color-pink-100:oklch(94.8% .028 342.258);--color-rose-200:oklch(89.2% .058 10.001);--color-gray-100:oklch(96.7% .003 264.542);--color-gray-400:oklch(70.7% .022 261.325);--color-gray-500:oklch(55.1% .027 264.364);--color-gray-600:oklch(44.6% .03 256.802);--color-gray-700:oklch(37.3% .034 259.733);--color-gray-800:oklch(27.8% .033 256.848);--color-gray-900:oklch(21% .034 264.665);--color-white:#fff;--spacing:.25rem;--container-xl:36rem;--container-2xl:42rem;--container-3xl:48rem;--container-4xl:56rem;--container-5xl:64rem;--container-6xl:72rem;--container-7xl:80rem;--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: 1.5 ;--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: 1.2 ;--text-4xl:2.25rem;--text-4xl--line-height:calc(2.5 / 2.25);--text-5xl:3rem;--text-5xl--line-height:1;--text-6xl:3.75rem;--text-6xl--line-height:1;--font-weight-medium:500;--font-weight-semibold:600;--font-weight-bold:700;--font-weight-extrabold:800;--tracking-wide:.025em;--leading-relaxed:1.625;--drop-shadow-sm:0 1px 2px #00000026;--animate-ping:ping 1s cubic-bezier(0, 0, .2, 1) infinite;--animate-pulse:pulse 2s cubic-bezier(.4, 0, .6, 1) infinite;--animate-bounce:bounce 1s infinite;--blur-sm:8px;--blur-lg:16px;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4, 0, .2, 1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,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;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}*{border-color:var(--border);outline-color:var(--ring)}@supports (color:color-mix(in lab,red,red)){*{outline-color:color-mix(in oklab,var(--ring) 50%,transparent)}}body{background-color:var(--background);color:var(--foreground)}}@layer components;@layer utilities{.\@container\/card-header{container:card-header/inline-size}.pointer-events-none{pointer-events:none}.collapse{visibility:collapse}.invisible{visibility:hidden}.visible{visibility:visible}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.static{position:static}.-inset-6{inset:calc(var(--spacing) * -6)}.-inset-12{inset:calc(var(--spacing) * -12)}.inset-0{inset:calc(var(--spacing) * 0)}.start{inset-inline-start:var(--spacing)}.end{inset-inline-end:var(--spacing)}.-top-1\.5{top:calc(var(--spacing) * -1.5)}.-top-2\.5{top:calc(var(--spacing) * -2.5)}.-top-4{top:calc(var(--spacing) * -4)}.top-0{top:calc(var(--spacing) * 0)}.top-1\/2{top:50%}.top-1\/3{top:33.3333%}.top-1\/4{top:25%}.top-3{top:calc(var(--spacing) * 3)}.top-36{top:calc(var(--spacing) * 36)}.top-48{top:calc(var(--spacing) * 48)}.-right-0\.5{right:calc(var(--spacing) * -.5)}.-right-1\.5{right:calc(var(--spacing) * -1.5)}.-right-4{right:calc(var(--spacing) * -4)}.-right-8{right:calc(var(--spacing) * -8)}.right-0{right:calc(var(--spacing) * 0)}.right-3{right:calc(var(--spacing) * 3)}.right-\[3\%\]{right:3%}.right-\[18\%\]{right:18%}.right-\[25\%\]{right:25%}.-bottom-0\.5{bottom:calc(var(--spacing) * -.5)}.-bottom-2{bottom:calc(var(--spacing) * -2)}.bottom-0{bottom:calc(var(--spacing) * 0)}.bottom-16{bottom:calc(var(--spacing) * 16)}.bottom-20{bottom:calc(var(--spacing) * 20)}.bottom-48{bottom:calc(var(--spacing) * 48)}.-left-6{left:calc(var(--spacing) * -6)}.-left-10{left:calc(var(--spacing) * -10)}.left-0{left:calc(var(--spacing) * 0)}.left-1\/2{left:50%}.left-3{left:calc(var(--spacing) * 3)}.left-\[18\%\]{left:18%}.z-10{z-index:10}.col-start-2{grid-column-start:2}.row-span-2{grid-row:span 2/span 2}.row-start-1{grid-row-start:1}.container{width:100%}@media(min-width:40rem){.container{max-width:40rem}}@media(min-width:48rem){.container{max-width:48rem}}@media(min-width:64rem){.container{max-width:64rem}}@media(min-width:80rem){.container{max-width:80rem}}@media(min-width:96rem){.container{max-width:96rem}}.mx-auto{margin-inline:auto}.mt-1{margin-top:calc(var(--spacing) * 1)}.mt-2{margin-top:calc(var(--spacing) * 2)}.mt-6{margin-top:calc(var(--spacing) * 6)}.mt-10{margin-top:calc(var(--spacing) * 10)}.mt-16{margin-top:calc(var(--spacing) * 16)}.mt-24{margin-top:calc(var(--spacing) * 24)}.mr-1{margin-right:calc(var(--spacing) * 1)}.mr-2{margin-right:calc(var(--spacing) * 2)}.mr-3{margin-right:calc(var(--spacing) * 3)}.mr-4{margin-right:calc(var(--spacing) * 4)}.mr-5{margin-right:calc(var(--spacing) * 5)}.mr-6{margin-right:calc(var(--spacing) * 6)}.mr-7{margin-right:calc(var(--spacing) * 7)}.mr-8{margin-right:calc(var(--spacing) * 8)}.mr-9{margin-right:calc(var(--spacing) * 9)}.mr-10{margin-right:calc(var(--spacing) * 10)}.mb-1{margin-bottom:calc(var(--spacing) * 1)}.mb-2{margin-bottom:calc(var(--spacing) * 2)}.mb-4{margin-bottom:calc(var(--spacing) * 4)}.mb-6{margin-bottom:calc(var(--spacing) * 6)}.mb-12{margin-bottom:calc(var(--spacing) * 12)}.mb-20{margin-bottom:calc(var(--spacing) * 20)}.ml-2{margin-left:calc(var(--spacing) * 2)}.ml-3{margin-left:calc(var(--spacing) * 3)}.block{display:block}.block\!{display:block!important}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline{display:inline}.inline-block{display:inline-block}.inline-flex{display:inline-flex}.table{display:table}.size-8{width:calc(var(--spacing) * 8);height:calc(var(--spacing) * 8)}.size-9{width:calc(var(--spacing) * 9);height:calc(var(--spacing) * 9)}.size-10{width:calc(var(--spacing) * 10);height:calc(var(--spacing) * 10)}.h-0\.5{height:calc(var(--spacing) * .5)}.h-1\.5{height:calc(var(--spacing) * 1.5)}.h-2\.5{height:calc(var(--spacing) * 2.5)}.h-3{height:calc(var(--spacing) * 3)}.h-3\.5{height:calc(var(--spacing) * 3.5)}.h-4{height:calc(var(--spacing) * 4)}.h-5{height:calc(var(--spacing) * 5)}.h-6{height:calc(var(--spacing) * 6)}.h-8{height:calc(var(--spacing) * 8)}.h-9{height:calc(var(--spacing) * 9)}.h-10{height:calc(var(--spacing) * 10)}.h-14{height:calc(var(--spacing) * 14)}.h-24{height:calc(var(--spacing) * 24)}.h-44{height:calc(var(--spacing) * 44)}.h-full{height:100%}.min-h-screen{min-height:100vh}.w-1\.5{width:calc(var(--spacing) * 1.5)}.w-2\.5{width:calc(var(--spacing) * 2.5)}.w-3{width:calc(var(--spacing) * 3)}.w-3\.5{width:calc(var(--spacing) * 3.5)}.w-4{width:calc(var(--spacing) * 4)}.w-5{width:calc(var(--spacing) * 5)}.w-6{width:calc(var(--spacing) * 6)}.w-8{width:calc(var(--spacing) * 8)}.w-10{width:calc(var(--spacing) * 10)}.w-14{width:calc(var(--spacing) * 14)}.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-6xl{max-width:var(--container-6xl)}.max-w-7xl{max-width:var(--container-7xl)}.max-w-xl{max-width:var(--container-xl)}.min-w-0{min-width:calc(var(--spacing) * 0)}.flex-1{flex:1}.flex-shrink-0,.shrink-0{flex-shrink:0}.-translate-x-1\/2{--tw-translate-x: -50% ;translate:var(--tw-translate-x) var(--tw-translate-y)}.translate-x-\[-200\%\]{--tw-translate-x:-200%;translate:var(--tw-translate-x) var(--tw-translate-y)}.rotate-\[-25deg\]{rotate:-25deg}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.animate-bounce{animation:var(--animate-bounce)}.animate-ping{animation:var(--animate-ping)}.animate-pulse{animation:var(--animate-pulse)}.cursor-pointer{cursor:pointer}.resize{resize:both}.auto-rows-min{grid-auto-rows:min-content}.grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid-rows-\[auto_auto\]{grid-template-rows:auto auto}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.items-center{align-items:center}.items-end{align-items:flex-end}.items-start{align-items:flex-start}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.justify-end{justify-content:flex-end}.gap-0\.5{gap:calc(var(--spacing) * .5)}.gap-1{gap:calc(var(--spacing) * 1)}.gap-1\.5{gap:calc(var(--spacing) * 1.5)}.gap-2{gap:calc(var(--spacing) * 2)}.gap-2\.5{gap:calc(var(--spacing) * 2.5)}.gap-3{gap:calc(var(--spacing) * 3)}.gap-4{gap:calc(var(--spacing) * 4)}.gap-6{gap:calc(var(--spacing) * 6)}.gap-8{gap:calc(var(--spacing) * 8)}.gap-12{gap:calc(var(--spacing) * 12)}.gap-16{gap:calc(var(--spacing) * 16)}:where(.space-y-1>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 1) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 1) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-4>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 4) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 4) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-8>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 8) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 8) * calc(1 - var(--tw-space-y-reverse)))}:where(.-space-x-3>:not(:last-child)){--tw-space-x-reverse:0;margin-inline-start:calc(calc(var(--spacing) * -3) * var(--tw-space-x-reverse));margin-inline-end:calc(calc(var(--spacing) * -3) * calc(1 - var(--tw-space-x-reverse)))}.self-start{align-self:flex-start}.justify-self-end{justify-self:flex-end}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.overflow-hidden{overflow:hidden}.rounded-2xl{border-radius:calc(var(--radius) + 8px)}.rounded-3xl{border-radius:calc(var(--radius) + 12px)}.rounded-\[2rem\]{border-radius:2rem}.rounded-\[3rem\]{border-radius:3rem}.rounded-\[4rem\]{border-radius:4rem}.rounded-full{border-radius:3.40282e38px}.rounded-md{border-radius:calc(var(--radius) - 2px)}.rounded-xl{border-radius:calc(var(--radius) + 4px)}.border{border-style:var(--tw-border-style);border-width:1px}.border-0{border-style:var(--tw-border-style);border-width:0}.border-2{border-style:var(--tw-border-style);border-width:2px}.border-3{border-style:var(--tw-border-style);border-width:3px}.border-t{border-top-style:var(--tw-border-style);border-top-width:1px}.border-amber-200{border-color:var(--color-amber-200)}.border-border\/50{border-color:var(--border)}@supports (color:color-mix(in lab,red,red)){.border-border\/50{border-color:color-mix(in oklab,var(--border) 50%,transparent)}}.border-emerald-100{border-color:var(--color-emerald-100)}.border-gray-100{border-color:var(--color-gray-100)}.border-input{border-color:var(--input)}.border-primary\/10{border-color:var(--primary)}@supports (color:color-mix(in lab,red,red)){.border-primary\/10{border-color:color-mix(in oklab,var(--primary) 10%,transparent)}}.border-primary\/20{border-color:var(--primary)}@supports (color:color-mix(in lab,red,red)){.border-primary\/20{border-color:color-mix(in oklab,var(--primary) 20%,transparent)}}.border-transparent{border-color:#0000}.border-white{border-color:var(--color-white)}.border-white\/10{border-color:#ffffff1a}@supports (color:color-mix(in lab,red,red)){.border-white\/10{border-color:color-mix(in oklab,var(--color-white) 10%,transparent)}}.bg-amber-500{background-color:var(--color-amber-500)}.bg-background{background-color:var(--background)}.bg-border{background-color:var(--border)}.bg-card{background-color:var(--card)}.bg-destructive{background-color:var(--destructive)}.bg-emerald-400{background-color:var(--color-emerald-400)}.bg-emerald-500{background-color:var(--color-emerald-500)}.bg-primary{background-color:var(--primary)}.bg-secondary{background-color:var(--secondary)}.bg-transparent{background-color:#0000}.bg-white{background-color:var(--color-white)}.bg-white\/0{background-color:#0000}@supports (color:color-mix(in lab,red,red)){.bg-white\/0{background-color:color-mix(in oklab,var(--color-white) 0%,transparent)}}.bg-white\/5{background-color:#ffffff0d}@supports (color:color-mix(in lab,red,red)){.bg-white\/5{background-color:color-mix(in oklab,var(--color-white) 5%,transparent)}}.bg-white\/80{background-color:#fffc}@supports (color:color-mix(in lab,red,red)){.bg-white\/80{background-color:color-mix(in oklab,var(--color-white) 80%,transparent)}}.bg-white\/95{background-color:#fffffff2}@supports (color:color-mix(in lab,red,red)){.bg-white\/95{background-color:color-mix(in oklab,var(--color-white) 95%,transparent)}}.bg-gradient-to-b{--tw-gradient-position:to bottom in oklab;background-image:linear-gradient(var(--tw-gradient-stops))}.bg-gradient-to-br{--tw-gradient-position:to bottom right in oklab;background-image:linear-gradient(var(--tw-gradient-stops))}.bg-gradient-to-r{--tw-gradient-position:to right in oklab;background-image:linear-gradient(var(--tw-gradient-stops))}.bg-gradient-to-tr{--tw-gradient-position:to top right in oklab;background-image:linear-gradient(var(--tw-gradient-stops))}.from-amber-50{--tw-gradient-from:var(--color-amber-50);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.from-amber-100{--tw-gradient-from:var(--color-amber-100);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.from-amber-400{--tw-gradient-from:var(--color-amber-400);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.from-background{--tw-gradient-from:var(--background);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.from-blue-100{--tw-gradient-from:var(--color-blue-100);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.from-cyan-100{--tw-gradient-from:var(--color-cyan-100);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.from-cyan-400\/10{--tw-gradient-from:#00d2ef1a}@supports (color:color-mix(in lab,red,red)){.from-cyan-400\/10{--tw-gradient-from:color-mix(in oklab, var(--color-cyan-400) 10%, transparent)}}.from-cyan-400\/10{--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.from-emerald-50{--tw-gradient-from:var(--color-emerald-50);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.from-emerald-400{--tw-gradient-from:var(--color-emerald-400);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.from-primary{--tw-gradient-from:var(--primary);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.from-primary\/5{--tw-gradient-from:var(--primary)}@supports (color:color-mix(in lab,red,red)){.from-primary\/5{--tw-gradient-from:color-mix(in oklab, var(--primary) 5%, transparent)}}.from-primary\/5{--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.from-primary\/10{--tw-gradient-from:var(--primary)}@supports (color:color-mix(in lab,red,red)){.from-primary\/10{--tw-gradient-from:color-mix(in oklab, var(--primary) 10%, transparent)}}.from-primary\/10{--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.from-primary\/20{--tw-gradient-from:var(--primary)}@supports (color:color-mix(in lab,red,red)){.from-primary\/20{--tw-gradient-from:color-mix(in oklab, var(--primary) 20%, transparent)}}.from-primary\/20{--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.from-rose-200{--tw-gradient-from:var(--color-rose-200);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.from-teal-500\/5{--tw-gradient-from:#00baa70d}@supports (color:color-mix(in lab,red,red)){.from-teal-500\/5{--tw-gradient-from:color-mix(in oklab, var(--color-teal-500) 5%, transparent)}}.from-teal-500\/5{--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.from-transparent{--tw-gradient-from:transparent;--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.from-white\/0{--tw-gradient-from:#0000}@supports (color:color-mix(in lab,red,red)){.from-white\/0{--tw-gradient-from:color-mix(in oklab, var(--color-white) 0%, transparent)}}.from-white\/0{--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.via-background{--tw-gradient-via:var(--background);--tw-gradient-via-stops:var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-via) var(--tw-gradient-via-position), var(--tw-gradient-to) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-via-stops)}.via-pink-100{--tw-gradient-via:var(--color-pink-100);--tw-gradient-via-stops:var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-via) var(--tw-gradient-via-position), var(--tw-gradient-to) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-via-stops)}.via-primary\/40{--tw-gradient-via:var(--primary)}@supports (color:color-mix(in lab,red,red)){.via-primary\/40{--tw-gradient-via:color-mix(in oklab, var(--primary) 40%, transparent)}}.via-primary\/40{--tw-gradient-via-stops:var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-via) var(--tw-gradient-via-position), var(--tw-gradient-to) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-via-stops)}.via-teal-50{--tw-gradient-via:var(--color-teal-50);--tw-gradient-via-stops:var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-via) var(--tw-gradient-via-position), var(--tw-gradient-to) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-via-stops)}.via-teal-400{--tw-gradient-via:var(--color-teal-400);--tw-gradient-via-stops:var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-via) var(--tw-gradient-via-position), var(--tw-gradient-to) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-via-stops)}.via-teal-400\/15{--tw-gradient-via:#00d3bd26}@supports (color:color-mix(in lab,red,red)){.via-teal-400\/15{--tw-gradient-via:color-mix(in oklab, var(--color-teal-400) 15%, transparent)}}.via-teal-400\/15{--tw-gradient-via-stops:var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-via) var(--tw-gradient-via-position), var(--tw-gradient-to) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-via-stops)}.via-teal-500{--tw-gradient-via:var(--color-teal-500);--tw-gradient-via-stops:var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-via) var(--tw-gradient-via-position), var(--tw-gradient-to) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-via-stops)}.via-teal-500\/10{--tw-gradient-via:#00baa71a}@supports (color:color-mix(in lab,red,red)){.via-teal-500\/10{--tw-gradient-via:color-mix(in oklab, var(--color-teal-500) 10%, transparent)}}.via-teal-500\/10{--tw-gradient-via-stops:var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-via) var(--tw-gradient-via-position), var(--tw-gradient-to) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-via-stops)}.via-transparent{--tw-gradient-via:transparent;--tw-gradient-via-stops:var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-via) var(--tw-gradient-via-position), var(--tw-gradient-to) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-via-stops)}.via-white{--tw-gradient-via:var(--color-white);--tw-gradient-via-stops:var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-via) var(--tw-gradient-via-position), var(--tw-gradient-to) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-via-stops)}.via-white\/25{--tw-gradient-via:#ffffff40}@supports (color:color-mix(in lab,red,red)){.via-white\/25{--tw-gradient-via:color-mix(in oklab, var(--color-white) 25%, transparent)}}.via-white\/25{--tw-gradient-via-stops:var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-via) var(--tw-gradient-via-position), var(--tw-gradient-to) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-via-stops)}.to-blue-50{--tw-gradient-to:var(--color-blue-50);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.to-cyan-50\/50{--tw-gradient-to:#ecfeff80}@supports (color:color-mix(in lab,red,red)){.to-cyan-50\/50{--tw-gradient-to:color-mix(in oklab, var(--color-cyan-50) 50%, transparent)}}.to-cyan-50\/50{--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.to-cyan-100{--tw-gradient-to:var(--color-cyan-100);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.to-cyan-400{--tw-gradient-to:var(--color-cyan-400);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.to-cyan-400\/20{--tw-gradient-to:#00d2ef33}@supports (color:color-mix(in lab,red,red)){.to-cyan-400\/20{--tw-gradient-to:color-mix(in oklab, var(--color-cyan-400) 20%, transparent)}}.to-cyan-400\/20{--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.to-cyan-500{--tw-gradient-to:var(--color-cyan-500);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.to-cyan-500\/5{--tw-gradient-to:#00b7d70d}@supports (color:color-mix(in lab,red,red)){.to-cyan-500\/5{--tw-gradient-to:color-mix(in oklab, var(--color-cyan-500) 5%, transparent)}}.to-cyan-500\/5{--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.to-cyan-500\/10{--tw-gradient-to:#00b7d71a}@supports (color:color-mix(in lab,red,red)){.to-cyan-500\/10{--tw-gradient-to:color-mix(in oklab, var(--color-cyan-500) 10%, transparent)}}.to-cyan-500\/10{--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.to-orange-100{--tw-gradient-to:var(--color-orange-100);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.to-orange-500{--tw-gradient-to:var(--color-orange-500);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.to-primary\/10{--tw-gradient-to:var(--primary)}@supports (color:color-mix(in lab,red,red)){.to-primary\/10{--tw-gradient-to:color-mix(in oklab, var(--primary) 10%, transparent)}}.to-primary\/10{--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.to-secondary\/20{--tw-gradient-to:var(--secondary)}@supports (color:color-mix(in lab,red,red)){.to-secondary\/20{--tw-gradient-to:color-mix(in oklab, var(--secondary) 20%, transparent)}}.to-secondary\/20{--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.to-teal-50{--tw-gradient-to:var(--color-teal-50);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.to-teal-100{--tw-gradient-to:var(--color-teal-100);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.to-teal-500{--tw-gradient-to:var(--color-teal-500);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.to-teal-600{--tw-gradient-to:var(--color-teal-600);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.to-transparent{--tw-gradient-to:transparent;--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.to-white\/0{--tw-gradient-to:#0000}@supports (color:color-mix(in lab,red,red)){.to-white\/0{--tw-gradient-to:color-mix(in oklab, var(--color-white) 0%, transparent)}}.to-white\/0{--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.to-yellow-100{--tw-gradient-to:var(--color-yellow-100);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.bg-clip-text{-webkit-background-clip:text;background-clip:text}.fill-yellow-400{fill:var(--color-yellow-400)}.p-1{padding:calc(var(--spacing) * 1)}.p-2{padding:calc(var(--spacing) * 2)}.p-3{padding:calc(var(--spacing) * 3)}.p-3\.5{padding:calc(var(--spacing) * 3.5)}.p-4{padding:calc(var(--spacing) * 4)}.p-5{padding:calc(var(--spacing) * 5)}.p-6{padding:calc(var(--spacing) * 6)}.p-7{padding:calc(var(--spacing) * 7)}.p-8{padding:calc(var(--spacing) * 8)}.p-9{padding:calc(var(--spacing) * 9)}.p-10{padding:calc(var(--spacing) * 10)}.px-2{padding-inline:calc(var(--spacing) * 2)}.px-3{padding-inline:calc(var(--spacing) * 3)}.px-4{padding-inline:calc(var(--spacing) * 4)}.px-5{padding-inline:calc(var(--spacing) * 5)}.px-6{padding-inline:calc(var(--spacing) * 6)}.px-8{padding-inline:calc(var(--spacing) * 8)}.py-0\.5{padding-block:calc(var(--spacing) * .5)}.py-1{padding-block:calc(var(--spacing) * 1)}.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)}.py-7{padding-block:calc(var(--spacing) * 7)}.py-20{padding-block:calc(var(--spacing) * 20)}.py-24{padding-block:calc(var(--spacing) * 24)}.py-28{padding-block:calc(var(--spacing) * 28)}.pt-2{padding-top:calc(var(--spacing) * 2)}.pt-6{padding-top:calc(var(--spacing) * 6)}.pt-10{padding-top:calc(var(--spacing) * 10)}.pt-16{padding-top:calc(var(--spacing) * 16)}.pt-32{padding-top:calc(var(--spacing) * 32)}.pb-4{padding-bottom:calc(var(--spacing) * 4)}.pb-24{padding-bottom:calc(var(--spacing) * 24)}.text-center{text-align:center}.text-left{text-align:left}.text-right{text-align:right}.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-5xl{font-size:var(--text-5xl);line-height:var(--tw-leading,var(--text-5xl--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-\[10px\]{font-size:10px}.leading-none{--tw-leading:1;line-height:1}.leading-relaxed{--tw-leading:var(--leading-relaxed);line-height:var(--leading-relaxed)}.font-bold{--tw-font-weight:var(--font-weight-bold);font-weight:var(--font-weight-bold)}.font-extrabold{--tw-font-weight:var(--font-weight-extrabold);font-weight:var(--font-weight-extrabold)}.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-wide{--tw-tracking:var(--tracking-wide);letter-spacing:var(--tracking-wide)}.whitespace-nowrap{white-space:nowrap}.text-amber-600{color:var(--color-amber-600)}.text-amber-700{color:var(--color-amber-700)}.text-card-foreground{color:var(--card-foreground)}.text-cyan-500{color:var(--color-cyan-500)}.text-emerald-500{color:var(--color-emerald-500)}.text-emerald-600{color:var(--color-emerald-600)}.text-emerald-700{color:var(--color-emerald-700)}.text-foreground{color:var(--foreground)}.text-gray-400{color:var(--color-gray-400)}.text-gray-500{color:var(--color-gray-500)}.text-gray-600{color:var(--color-gray-600)}.text-gray-700{color:var(--color-gray-700)}.text-gray-800{color:var(--color-gray-800)}.text-gray-900{color:var(--color-gray-900)}.text-muted-foreground{color:var(--muted-foreground)}.text-primary{color:var(--primary)}.text-primary-foreground{color:var(--primary-foreground)}.text-primary\/\[0\.05\]{color:var(--primary)}@supports (color:color-mix(in lab,red,red)){.text-primary\/\[0\.05\]{color:color-mix(in oklab,var(--primary) 5%,transparent)}}.text-secondary-foreground{color:var(--secondary-foreground)}.text-teal-500{color:var(--color-teal-500)}.text-transparent{color:#0000}.text-white{color:var(--color-white)}.text-yellow-400{color:var(--color-yellow-400)}.text-yellow-400\/20{color:#fac80033}@supports (color:color-mix(in lab,red,red)){.text-yellow-400\/20{color:color-mix(in oklab,var(--color-yellow-400) 20%,transparent)}}.text-yellow-400\/25{color:#fac80040}@supports (color:color-mix(in lab,red,red)){.text-yellow-400\/25{color:color-mix(in oklab,var(--color-yellow-400) 25%,transparent)}}.text-yellow-400\/30{color:#fac8004d}@supports (color:color-mix(in lab,red,red)){.text-yellow-400\/30{color:color-mix(in oklab,var(--color-yellow-400) 30%,transparent)}}.text-yellow-500{color:var(--color-yellow-500)}.capitalize{text-transform:capitalize}.lowercase{text-transform:lowercase}.uppercase{text-transform:uppercase}.italic{font-style:italic}.underline-offset-4{text-underline-offset:4px}.opacity-0{opacity:0}.opacity-40{opacity:.4}.opacity-60{opacity:.6}.opacity-75{opacity:.75}.opacity-\[0\.02\]{opacity:.02}.shadow{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a), 0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-2xl{--tw-shadow:0 25px 50px -12px var(--tw-shadow-color,#00000040);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-\[0_25px_80px_rgba\(20\,184\,166\,0\.15\)\,0_10px_40px_rgba\(0\,0\,0\,0\.08\)\]{--tw-shadow:0 25px 80px var(--tw-shadow-color,#14b8a626), 0 10px 40px var(--tw-shadow-color,#00000014);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-inner{--tw-shadow:inset 0 2px 4px 0 var(--tw-shadow-color,#0000000d);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-lg{--tw-shadow:0 10px 15px -3px var(--tw-shadow-color,#0000001a), 0 4px 6px -4px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-md{--tw-shadow:0 4px 6px -1px var(--tw-shadow-color,#0000001a), 0 2px 4px -2px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-sm{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a), 0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-xl{--tw-shadow:0 20px 25px -5px var(--tw-shadow-color,#0000001a), 0 8px 10px -6px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-xs{--tw-shadow:0 1px 2px 0 var(--tw-shadow-color,#0000000d);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.ring-2{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(2px + 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)}.ring-primary\/20{--tw-ring-color:var(--primary)}@supports (color:color-mix(in lab,red,red)){.ring-primary\/20{--tw-ring-color:color-mix(in oklab, var(--primary) 20%, transparent)}}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.blur{--tw-blur:blur(8px);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,)}.blur-\[40px\]{--tw-blur:blur(40px);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,)}.blur-\[80px\]{--tw-blur:blur(80px);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,)}.blur-lg{--tw-blur:blur(var(--blur-lg));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,)}.drop-shadow-sm{--tw-drop-shadow-size:drop-shadow(0 1px 2px var(--tw-drop-shadow-color,#00000026));--tw-drop-shadow:drop-shadow(var(--drop-shadow-sm));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,)}.invert{--tw-invert:invert(100%);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,)}.filter{filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.backdrop-blur-sm{--tw-backdrop-blur:blur(var(--blur-sm));-webkit-backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,)}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-\[color\,box-shadow\]{transition-property:color,box-shadow;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-all{transition-property:all;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-colors{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-opacity{transition-property:opacity;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-shadow{transition-property:box-shadow;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-transform{transition-property:transform,translate,scale,rotate;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.duration-300{--tw-duration:.3s;transition-duration:.3s}.duration-700{--tw-duration:.7s;transition-duration:.7s}.outline-none{--tw-outline-style:none;outline-style:none}.select-none{-webkit-user-select:none;user-select:none}.paused{animation-play-state:paused}.running{animation-play-state:running}@media(hover:hover){.group-hover\:translate-x-1:is(:where(.group):hover *){--tw-translate-x:calc(var(--spacing) * 1);translate:var(--tw-translate-x) var(--tw-translate-y)}.group-hover\:translate-x-\[200\%\]:is(:where(.group):hover *){--tw-translate-x:200%;translate:var(--tw-translate-x) var(--tw-translate-y)}.group-hover\:scale-125:is(:where(.group):hover *){--tw-scale-x:125%;--tw-scale-y:125%;--tw-scale-z:125%;scale:var(--tw-scale-x) var(--tw-scale-y)}.group-hover\:bg-white\/40:is(:where(.group):hover *){background-color:#fff6}@supports (color:color-mix(in lab,red,red)){.group-hover\:bg-white\/40:is(:where(.group):hover *){background-color:color-mix(in oklab,var(--color-white) 40%,transparent)}}.group-hover\:opacity-60:is(:where(.group):hover *){opacity:.6}.group-hover\:opacity-100:is(:where(.group):hover *){opacity:1}}.group-data-\[disabled\=true\]\:pointer-events-none:is(:where(.group)[data-disabled=true] *){pointer-events:none}.group-data-\[disabled\=true\]\:opacity-50:is(:where(.group)[data-disabled=true] *){opacity:.5}.peer-disabled\:cursor-not-allowed:is(:where(.peer):disabled~*){cursor:not-allowed}.peer-disabled\:opacity-50:is(:where(.peer):disabled~*){opacity:.5}.selection\:bg-primary ::selection{background-color:var(--primary)}.selection\:bg-primary::selection{background-color:var(--primary)}.selection\:text-primary-foreground ::selection{color:var(--primary-foreground)}.selection\:text-primary-foreground::selection{color:var(--primary-foreground)}.file\:inline-flex::file-selector-button{display:inline-flex}.file\:h-7::file-selector-button{height:calc(var(--spacing) * 7)}.file\:border-0::file-selector-button{border-style:var(--tw-border-style);border-width:0}.file\:bg-transparent::file-selector-button{background-color:#0000}.file\:text-sm::file-selector-button{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.file\:font-medium::file-selector-button{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.file\:text-foreground::file-selector-button{color:var(--foreground)}.placeholder\:text-muted-foreground::placeholder{color:var(--muted-foreground)}@media(hover:hover){.hover\:-translate-y-1:hover{--tw-translate-y:calc(var(--spacing) * -1);translate:var(--tw-translate-x) var(--tw-translate-y)}.hover\:scale-105:hover{--tw-scale-x:105%;--tw-scale-y:105%;--tw-scale-z:105%;scale:var(--tw-scale-x) var(--tw-scale-y)}.hover\:bg-accent:hover{background-color:var(--accent)}.hover\:bg-destructive\/90:hover{background-color:var(--destructive)}@supports (color:color-mix(in lab,red,red)){.hover\:bg-destructive\/90:hover{background-color:color-mix(in oklab,var(--destructive) 90%,transparent)}}.hover\:bg-primary\/90:hover{background-color:var(--primary)}@supports (color:color-mix(in lab,red,red)){.hover\:bg-primary\/90:hover{background-color:color-mix(in oklab,var(--primary) 90%,transparent)}}.hover\:bg-secondary\/80:hover{background-color:var(--secondary)}@supports (color:color-mix(in lab,red,red)){.hover\:bg-secondary\/80:hover{background-color:color-mix(in oklab,var(--secondary) 80%,transparent)}}.hover\:text-accent-foreground:hover{color:var(--accent-foreground)}.hover\:underline:hover{text-decoration-line:underline}.hover\:shadow-lg:hover{--tw-shadow:0 10px 15px -3px var(--tw-shadow-color,#0000001a), 0 4px 6px -4px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.hover\:shadow-md:hover{--tw-shadow:0 4px 6px -1px var(--tw-shadow-color,#0000001a), 0 2px 4px -2px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}}.focus-visible\:border-ring:focus-visible{border-color:var(--ring)}.focus-visible\:ring-\[3px\]:focus-visible{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.focus-visible\:ring-destructive\/20:focus-visible{--tw-ring-color:var(--destructive)}@supports (color:color-mix(in lab,red,red)){.focus-visible\:ring-destructive\/20:focus-visible{--tw-ring-color:color-mix(in oklab, var(--destructive) 20%, transparent)}}.focus-visible\:ring-ring\/50:focus-visible{--tw-ring-color:var(--ring)}@supports (color:color-mix(in lab,red,red)){.focus-visible\:ring-ring\/50:focus-visible{--tw-ring-color:color-mix(in oklab, var(--ring) 50%, transparent)}}.disabled\:pointer-events-none:disabled{pointer-events:none}.disabled\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\:opacity-50:disabled{opacity:.5}.has-data-\[slot\=card-action\]\:grid-cols-\[1fr_auto\]:has([data-slot=card-action]){grid-template-columns:1fr auto}.has-\[\>svg\]\:px-2\.5:has(>svg){padding-inline:calc(var(--spacing) * 2.5)}.has-\[\>svg\]\:px-3:has(>svg){padding-inline:calc(var(--spacing) * 3)}.has-\[\>svg\]\:px-4:has(>svg){padding-inline:calc(var(--spacing) * 4)}.aria-invalid\:border-destructive[aria-invalid=true]{border-color:var(--destructive)}.aria-invalid\:ring-destructive\/20[aria-invalid=true]{--tw-ring-color:var(--destructive)}@supports (color:color-mix(in lab,red,red)){.aria-invalid\:ring-destructive\/20[aria-invalid=true]{--tw-ring-color:color-mix(in oklab, var(--destructive) 20%, transparent)}}.data-\[orientation\=horizontal\]\:h-px[data-orientation=horizontal]{height:1px}.data-\[orientation\=horizontal\]\:w-full[data-orientation=horizontal]{width:100%}.data-\[orientation\=vertical\]\:h-full[data-orientation=vertical]{height:100%}.data-\[orientation\=vertical\]\:w-px[data-orientation=vertical]{width:1px}@media(min-width:40rem){.sm\:inline{display:inline}.sm\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.sm\:flex-row{flex-direction:row}.sm\:items-center{align-items:center}.sm\:p-8{padding:calc(var(--spacing) * 8)}.sm\:px-6{padding-inline:calc(var(--spacing) * 6)}.sm\:text-5xl{font-size:var(--text-5xl);line-height:var(--tw-leading,var(--text-5xl--line-height))}.sm\:text-6xl{font-size:var(--text-6xl);line-height:var(--tw-leading,var(--text-6xl--line-height))}.sm\:text-xl{font-size:var(--text-xl);line-height:var(--tw-leading,var(--text-xl--line-height))}}@media(min-width:48rem){.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\:text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}}@media(min-width:64rem){.lg\:col-span-2{grid-column:span 2/span 2}.lg\:block{display:block}.lg\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.lg\:grid-cols-5{grid-template-columns:repeat(5,minmax(0,1fr))}.lg\:gap-10{gap:calc(var(--spacing) * 10)}.lg\:px-8{padding-inline:calc(var(--spacing) * 8)}.lg\:pl-8{padding-left:calc(var(--spacing) * 8)}.lg\:text-6xl{font-size:var(--text-6xl);line-height:var(--tw-leading,var(--text-6xl--line-height))}}.dark\:border-input:is(.dark *){border-color:var(--input)}.dark\:bg-destructive\/60:is(.dark *){background-color:var(--destructive)}@supports (color:color-mix(in lab,red,red)){.dark\:bg-destructive\/60:is(.dark *){background-color:color-mix(in oklab,var(--destructive) 60%,transparent)}}.dark\:bg-input\/30:is(.dark *){background-color:var(--input)}@supports (color:color-mix(in lab,red,red)){.dark\:bg-input\/30:is(.dark *){background-color:color-mix(in oklab,var(--input) 30%,transparent)}}@media(hover:hover){.dark\:hover\:bg-accent\/50:is(.dark *):hover{background-color:var(--accent)}@supports (color:color-mix(in lab,red,red)){.dark\:hover\:bg-accent\/50:is(.dark *):hover{background-color:color-mix(in oklab,var(--accent) 50%,transparent)}}.dark\:hover\:bg-input\/50:is(.dark *):hover{background-color:var(--input)}@supports (color:color-mix(in lab,red,red)){.dark\:hover\:bg-input\/50:is(.dark *):hover{background-color:color-mix(in oklab,var(--input) 50%,transparent)}}}.dark\:focus-visible\:ring-destructive\/40:is(.dark *):focus-visible{--tw-ring-color:var(--destructive)}@supports (color:color-mix(in lab,red,red)){.dark\:focus-visible\:ring-destructive\/40:is(.dark *):focus-visible{--tw-ring-color:color-mix(in oklab, var(--destructive) 40%, transparent)}}.dark\:aria-invalid\:ring-destructive\/40:is(.dark *)[aria-invalid=true]{--tw-ring-color:var(--destructive)}@supports (color:color-mix(in lab,red,red)){.dark\:aria-invalid\:ring-destructive\/40:is(.dark *)[aria-invalid=true]{--tw-ring-color:color-mix(in oklab, var(--destructive) 40%, transparent)}}.\[\&_svg\]\:pointer-events-none svg{pointer-events:none}.\[\&_svg\]\:shrink-0 svg{flex-shrink:0}.\[\&_svg\:not\(\[class\*\=\'size-\'\]\)\]\:size-4 svg:not([class*=size-]){width:calc(var(--spacing) * 4);height:calc(var(--spacing) * 4)}.\[\.border-b\]\:pb-6.border-b{padding-bottom:calc(var(--spacing) * 6)}.\[\.border-t\]\:pt-6.border-t{padding-top:calc(var(--spacing) * 6)}.\[\&\>svg\]\:pointer-events-none>svg{pointer-events:none}.\[\&\>svg\]\:size-3>svg{width:calc(var(--spacing) * 3);height:calc(var(--spacing) * 3)}@media(hover:hover){a.\[a\&\]\:hover\:bg-accent:hover{background-color:var(--accent)}a.\[a\&\]\:hover\:bg-destructive\/90:hover{background-color:var(--destructive)}@supports (color:color-mix(in lab,red,red)){a.\[a\&\]\:hover\:bg-destructive\/90:hover{background-color:color-mix(in oklab,var(--destructive) 90%,transparent)}}a.\[a\&\]\:hover\:bg-primary\/90:hover{background-color:var(--primary)}@supports (color:color-mix(in lab,red,red)){a.\[a\&\]\:hover\:bg-primary\/90:hover{background-color:color-mix(in oklab,var(--primary) 90%,transparent)}}a.\[a\&\]\:hover\:bg-secondary\/90:hover{background-color:var(--secondary)}@supports (color:color-mix(in lab,red,red)){a.\[a\&\]\:hover\:bg-secondary\/90:hover{background-color:color-mix(in oklab,var(--secondary) 90%,transparent)}}a.\[a\&\]\:hover\:text-accent-foreground:hover{color:var(--accent-foreground)}}}@property --tw-animation-delay{syntax:"*";inherits:false;initial-value:0s}@property --tw-animation-direction{syntax:"*";inherits:false;initial-value:normal}@property --tw-animation-duration{syntax:"*";inherits:false}@property --tw-animation-fill-mode{syntax:"*";inherits:false;initial-value:none}@property --tw-animation-iteration-count{syntax:"*";inherits:false;initial-value:1}@property --tw-enter-blur{syntax:"*";inherits:false;initial-value:0}@property --tw-enter-opacity{syntax:"*";inherits:false;initial-value:1}@property --tw-enter-rotate{syntax:"*";inherits:false;initial-value:0}@property --tw-enter-scale{syntax:"*";inherits:false;initial-value:1}@property --tw-enter-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-enter-translate-y{syntax:"*";inherits:false;initial-value:0}@property --tw-exit-blur{syntax:"*";inherits:false;initial-value:0}@property --tw-exit-opacity{syntax:"*";inherits:false;initial-value:1}@property --tw-exit-rotate{syntax:"*";inherits:false;initial-value:0}@property --tw-exit-scale{syntax:"*";inherits:false;initial-value:1}@property --tw-exit-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-exit-translate-y{syntax:"*";inherits:false;initial-value:0}:root{--radius:.625rem;--background:oklch(99.5% .002 240);--foreground:oklch(20% .02 240);--card:oklch(100% 0 0);--card-foreground:oklch(20% .02 240);--popover:oklch(100% 0 0);--popover-foreground:oklch(20% .02 240);--primary:oklch(65% .18 180);--primary-foreground:oklch(100% 0 0);--secondary:oklch(96% .01 240);--secondary-foreground:oklch(20% .02 240);--muted:oklch(96% .01 240);--muted-foreground:oklch(50% .02 240);--accent:oklch(85% .12 180);--accent-foreground:oklch(20% .02 240);--destructive:oklch(57.7% .245 27.325);--border:oklch(92% .01 240);--input:oklch(92% .01 240);--ring:oklch(65% .18 180);--chart-1:oklch(64.6% .222 41.116);--chart-2:oklch(60% .118 184.704);--chart-3:oklch(39.8% .07 227.392);--chart-4:oklch(82.8% .189 84.429);--chart-5:oklch(76.9% .188 70.08);--sidebar:oklch(98.5% 0 0);--sidebar-foreground:oklch(14.5% 0 0);--sidebar-primary:oklch(20.5% 0 0);--sidebar-primary-foreground:oklch(98.5% 0 0);--sidebar-accent:oklch(97% 0 0);--sidebar-accent-foreground:oklch(20.5% 0 0);--sidebar-border:oklch(92.2% 0 0);--sidebar-ring:oklch(70.8% 0 0)}.dark{--background:oklch(14.5% 0 0);--foreground:oklch(98.5% 0 0);--card:oklch(20.5% 0 0);--card-foreground:oklch(98.5% 0 0);--popover:oklch(20.5% 0 0);--popover-foreground:oklch(98.5% 0 0);--primary:oklch(92.2% 0 0);--primary-foreground:oklch(20.5% 0 0);--secondary:oklch(26.9% 0 0);--secondary-foreground:oklch(98.5% 0 0);--muted:oklch(26.9% 0 0);--muted-foreground:oklch(70.8% 0 0);--accent:oklch(26.9% 0 0);--accent-foreground:oklch(98.5% 0 0);--destructive:oklch(70.4% .191 22.216);--border:oklch(100% 0 0/.1);--input:oklch(100% 0 0/.15);--ring:oklch(55.6% 0 0);--chart-1:oklch(48.8% .243 264.376);--chart-2:oklch(69.6% .17 162.48);--chart-3:oklch(76.9% .188 70.08);--chart-4:oklch(62.7% .265 303.9);--chart-5:oklch(64.5% .246 16.439);--sidebar:oklch(20.5% 0 0);--sidebar-foreground:oklch(98.5% 0 0);--sidebar-primary:oklch(48.8% .243 264.376);--sidebar-primary-foreground:oklch(98.5% 0 0);--sidebar-accent:oklch(26.9% 0 0);--sidebar-accent-foreground:oklch(98.5% 0 0);--sidebar-border:oklch(100% 0 0/.1);--sidebar-ring:oklch(55.6% 0 0)}@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-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-space-y-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-space-x-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-gradient-position{syntax:"*";inherits:false}@property --tw-gradient-from{syntax:"<color>";inherits:false;initial-value:#0000}@property --tw-gradient-via{syntax:"<color>";inherits:false;initial-value:#0000}@property --tw-gradient-to{syntax:"<color>";inherits:false;initial-value:#0000}@property --tw-gradient-stops{syntax:"*";inherits:false}@property --tw-gradient-via-stops{syntax:"*";inherits:false}@property --tw-gradient-from-position{syntax:"<length-percentage>";inherits:false;initial-value:0%}@property --tw-gradient-via-position{syntax:"<length-percentage>";inherits:false;initial-value:50%}@property --tw-gradient-to-position{syntax:"<length-percentage>";inherits:false;initial-value:100%}@property --tw-leading{syntax:"*";inherits:false}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-tracking{syntax:"*";inherits:false}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-outline-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}@property --tw-backdrop-blur{syntax:"*";inherits:false}@property --tw-backdrop-brightness{syntax:"*";inherits:false}@property --tw-backdrop-contrast{syntax:"*";inherits:false}@property --tw-backdrop-grayscale{syntax:"*";inherits:false}@property --tw-backdrop-hue-rotate{syntax:"*";inherits:false}@property --tw-backdrop-invert{syntax:"*";inherits:false}@property --tw-backdrop-opacity{syntax:"*";inherits:false}@property --tw-backdrop-saturate{syntax:"*";inherits:false}@property --tw-backdrop-sepia{syntax:"*";inherits:false}@property --tw-duration{syntax:"*";inherits:false}@property --tw-scale-x{syntax:"*";inherits:false;initial-value:1}@property --tw-scale-y{syntax:"*";inherits:false;initial-value:1}@property --tw-scale-z{syntax:"*";inherits:false;initial-value:1}@keyframes ping{75%,to{opacity:0;transform:scale(2)}}@keyframes pulse{50%{opacity:.5}}@keyframes bounce{0%,to{animation-timing-function:cubic-bezier(.8,0,1,1);transform:translateY(-25%)}50%{animation-timing-function:cubic-bezier(0,0,.2,1);transform:none}}@keyframes logo-glow{0%,to{box-shadow:0 0 15px #14b8a64d,0 0 30px #14b8a61a}50%{box-shadow:0 0 20px #14b8a680,0 0 40px #14b8a633}}@keyframes tooth-wiggle{0%,to{transform:rotate(0) scale(1)}25%{transform:rotate(-5deg) scale(1.05)}75%{transform:rotate(5deg) scale(1.05)}}@keyframes badge-pulse{0%,to{transform:scale(1);opacity:1}50%{transform:scale(1.1);opacity:.8}}@keyframes shine-sweep{0%{left:-100%}to{left:200%}}@keyframes nav-appear{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}@keyframes mobile-menu-slide{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}@keyframes underline-grow{0%{width:0;left:50%}to{width:100%;left:0}}.navbar{position:fixed;top:0;left:0;right:0;z-index:1000;background:#ffffffd9;backdrop-filter:blur(20px) saturate(180%);-webkit-backdrop-filter:blur(20px) saturate(180%);border-bottom:1px solid rgba(20,184,166,.1);transition:all .4s cubic-bezier(.4,0,.2,1);animation:nav-appear .6s ease}.navbar.scrolled{background:#fffffff2;box-shadow:0 4px 30px #0000000d,0 1px 3px #00000008;border-bottom-color:#14b8a626}.navbar-container{max-width:1400px;margin:0 auto;padding:0 24px;display:flex;justify-content:space-between;align-items:center;height:72px}.navbar-logo{display:flex;align-items:center;gap:14px;text-decoration:none;transition:transform .3s ease}.navbar-logo:hover{transform:scale(1.02)}.navbar-logo-icon{position:relative;width:48px;height:48px;background:linear-gradient(135deg,#14b8a6,#06b6d4,#0891b2);border-radius:14px;display:flex;align-items:center;justify-content:center;box-shadow:0 4px 15px #14b8a64d;transition:all .3s ease}.navbar-logo:hover .navbar-logo-icon{animation:logo-glow 1.5s ease-in-out infinite;transform:rotate(-5deg)}.navbar-logo-icon svg{width:28px;height:28px;fill:#fff;transition:transform .3s ease}.navbar-logo:hover .navbar-logo-icon svg{animation:tooth-wiggle .5s ease}.navbar-logo-badge{position:absolute;top:-6px;right:-6px;background:linear-gradient(135deg,#fbbf24,#f59e0b);color:#fff;font-size:.6rem;font-weight:800;padding:2px 6px;border-radius:6px;box-shadow:0 2px 8px #fbbf2466;animation:badge-pulse 2s ease-in-out infinite}.navbar-logo-text{font-size:1.6rem;font-weight:800;background:linear-gradient(135deg,#0d9488,#14b8a6,#06b6d4);background-size:200% auto;-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;letter-spacing:-.5px}.navbar-logo:hover .navbar-logo-text{animation:gradient-flow 2s ease infinite}.navbar-nav{display:none;align-items:center;gap:8px}@media(min-width:768px){.navbar-nav{display:flex}}.navbar-link{position:relative;padding:10px 18px;color:#475569;font-size:.95rem;font-weight:500;text-decoration:none;border-radius:10px;transition:all .3s ease;display:flex;align-items:center;gap:6px}.navbar-link:before{content:"";position:absolute;bottom:4px;left:50%;width:0;height:2px;background:linear-gradient(90deg,#14b8a6,#06b6d4);border-radius:2px;transition:all .3s ease}.navbar-link:hover{color:#0d9488;background:#14b8a614}.navbar-link:hover:before{width:calc(100% - 36px);left:18px}.navbar-link-icon{font-size:.9rem;opacity:.7}.navbar-link.active{color:#0d9488;background:#14b8a61a}.navbar-link.active:before{width:calc(100% - 36px);left:18px}.navbar-actions{display:flex;align-items:center;gap:12px}.navbar-btn-login{padding:10px 20px;color:#475569;font-size:.95rem;font-weight:600;background:transparent;border:none;border-radius:10px;cursor:pointer;transition:all .3s ease;display:flex;align-items:center;gap:8px}.navbar-btn-login:hover{color:#0d9488;background:#14b8a614}.navbar-btn-login-icon{width:18px;height:18px}.navbar-btn-cta{position:relative;padding:12px 24px;background:linear-gradient(135deg,#14b8a6,#06b6d4,#0891b2);background-size:200% auto;color:#fff;font-size:.95rem;font-weight:700;border:none;border-radius:12px;cursor:pointer;transition:all .4s cubic-bezier(.4,0,.2,1);box-shadow:0 4px 15px #14b8a659,inset 0 1px #fff3;overflow:hidden;display:flex;align-items:center;gap:8px}.navbar-btn-cta:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.3),transparent);transition:left .5s ease}.navbar-btn-cta:hover{transform:translateY(-2px);box-shadow:0 8px 25px #14b8a673,inset 0 1px #fff3;background-position:right center}.navbar-btn-cta:hover:before{left:100%}.navbar-btn-cta-icon{width:18px;height:18px;transition:transform .3s ease}.navbar-btn-cta:hover .navbar-btn-cta-icon{transform:translate(3px)}.navbar-btn-cta-tooth{font-size:1.1rem;transition:transform .3s ease}.navbar-btn-cta:hover .navbar-btn-cta-tooth{animation:tooth-wiggle .4s ease}.navbar-mobile-toggle{display:flex;align-items:center;justify-content:center;width:44px;height:44px;background:#14b8a61a;border:none;border-radius:12px;cursor:pointer;transition:all .3s ease}@media(min-width:768px){.navbar-mobile-toggle{display:none}}.navbar-mobile-toggle:hover{background:#14b8a633}.navbar-mobile-toggle svg{width:24px;height:24px;color:#0d9488;transition:transform .3s ease}.navbar-mobile-toggle.open svg{transform:rotate(90deg)}.navbar-mobile-menu{display:none;position:absolute;top:100%;left:0;right:0;background:#fffffffa;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border-bottom:1px solid rgba(20,184,166,.1);box-shadow:0 20px 40px #0000001a;padding:20px;animation:mobile-menu-slide .3s ease}.navbar-mobile-menu.open{display:block}@media(min-width:768px){.navbar-mobile-menu{display:none!important}}.navbar-mobile-nav{display:flex;flex-direction:column;gap:8px;margin-bottom:20px}.navbar-mobile-link{padding:14px 18px;color:#475569;font-size:1rem;font-weight:500;text-decoration:none;border-radius:12px;transition:all .3s ease;display:flex;align-items:center;gap:10px}.navbar-mobile-link:hover{color:#0d9488;background:#14b8a61a}.navbar-mobile-link-icon{font-size:1.1rem}.navbar-mobile-actions{display:flex;flex-direction:column;gap:12px;padding-top:16px;border-top:1px solid rgba(20,184,166,.1)}.navbar-mobile-btn-login{padding:14px;color:#475569;font-size:1rem;font-weight:600;background:#14b8a614;border:none;border-radius:12px;cursor:pointer;text-align:center}.navbar-mobile-btn-cta{padding:16px;background:linear-gradient(135deg,#14b8a6,#06b6d4);color:#fff;font-size:1rem;font-weight:700;border:none;border-radius:12px;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:10px;box-shadow:0 4px 15px #14b8a64d}.navbar-scroll-indicator{position:absolute;bottom:0;left:0;height:2px;background:linear-gradient(90deg,#14b8a6,#06b6d4,#0891b2);transition:width .1s ease}.navbar-decoration{position:absolute;bottom:-1px;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent 0%,rgba(20,184,166,.3) 20%,rgba(6,182,212,.3) 50%,rgba(20,184,166,.3) 80%,transparent 100%)}@keyframes dental-float{0%,to{transform:translateY(0) rotate(0)}25%{transform:translateY(-15px) rotate(3deg)}75%{transform:translateY(-8px) rotate(-2deg)}}@keyframes dental-glow{0%,to{box-shadow:0 0 20px #14b8a64d,0 0 40px #14b8a61a}50%{box-shadow:0 0 30px #14b8a680,0 0 60px #14b8a633}}@keyframes tooth-shine{0%{background-position:-200% center}to{background-position:200% center}}@keyframes smile-wave{0%,to{d:path("M0,15 Q50,5 100,15 T200,15")}50%{d:path("M0,12 Q50,8 100,12 T200,12")}}@keyframes sparkle-dance{0%,to{transform:scale(1) rotate(0);opacity:.3}50%{transform:scale(1.3) rotate(180deg);opacity:.6}}@keyframes orb-drift{0%,to{transform:translate(0) scale(1)}33%{transform:translate(20px,-10px) scale(1.05)}66%{transform:translate(-15px,15px) scale(.95)}}@keyframes dental-pulse{0%,to{transform:scale(1);opacity:.7}50%{transform:scale(1.1);opacity:1}}.hero-section{position:relative;min-height:100vh;overflow:hidden;background:linear-gradient(135deg,var(--background) 0%,var(--background) 50%,oklch(.95 .03 180 / 20%) 100%)}.hero-bg-gradient{position:absolute;inset:0;pointer-events:none}.hero-radial-glow{position:absolute;top:-10%;left:50%;transform:translate(-50%);width:1200px;height:700px;background:radial-gradient(ellipse at center,oklch(.65 .18 180 / 15%) 0%,oklch(.7 .15 185 / 8%) 40%,transparent 70%);filter:blur(60px)}.hero-orb{position:absolute;border-radius:50%;filter:blur(80px);animation:orb-drift 20s ease-in-out infinite}.hero-orb-1{top:5%;left:8%;width:400px;height:400px;background:radial-gradient(circle,#00a69240,#00b6af1a 70%);background:radial-gradient(circle,color(xyz 0.154 0.304 0.328 / 0.251),color(xyz 0.221 0.372 0.494 / 0.102) 70%);animation-delay:0s}.hero-orb-2{top:20%;right:5%;width:500px;height:500px;background:radial-gradient(circle,#00b7a833,#61c59414 70%);background:radial-gradient(circle,color(xyz 0.223 0.371 0.443 / 0.2),#61c59414 70%);animation-delay:-7s}.hero-orb-3{bottom:10%;left:15%;width:350px;height:350px;background:radial-gradient(circle,#00bcbc2e,#00a6920d 70%);background:radial-gradient(circle,color(xyz 0.26 0.399 0.56 / 0.18),color(xyz 0.154 0.304 0.328 / 0.051) 70%);animation-delay:-14s}.hero-tooth-decor{position:absolute;opacity:.08;animation:dental-float 8s ease-in-out infinite;filter:drop-shadow(0 4px 20px oklch(.65 .18 180 / 30%))}.hero-tooth-1{top:12%;left:6%;width:80px;height:80px;animation-delay:0s}.hero-tooth-2{top:18%;right:10%;width:100px;height:100px;animation-delay:-2s}.hero-tooth-3{bottom:25%;left:4%;width:60px;height:60px;animation-delay:-4s}.hero-sparkle{position:absolute;animation:sparkle-dance 3s ease-in-out infinite}.hero-badge{display:inline-flex;align-items:center;gap:12px;padding:10px 20px;background:linear-gradient(135deg,#00a6921a,#00b7a81a,#00bcbc1a);background:linear-gradient(135deg,color(xyz 0.154 0.304 0.328 / 0.102),color(xyz 0.223 0.371 0.443 / 0.102),color(xyz 0.26 0.399 0.56 / 0.102));border:1px solid oklch(.65 .18 180 / 25%);border-radius:9999px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);position:relative;overflow:hidden}.hero-badge:before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,transparent 0%,oklch(1 0 0 / 20%) 50%,transparent 100%);background-size:200% 100%;animation:tooth-shine 4s ease-in-out infinite}.hero-badge-pulse{position:relative;display:flex;align-items:center;justify-content:center}.hero-badge-pulse:before{content:"";position:absolute;width:32px;height:32px;background:#00a69240;background:oklch(.65 .18 180 / 25%);border-radius:50%;animation:dental-pulse 2s ease-in-out infinite}.hero-badge-icon{position:relative;width:24px;height:24px;background:linear-gradient(135deg,#00a692,#00b7a8);background:linear-gradient(135deg,color(xyz 0.154 0.304 0.328),color(xyz 0.223 0.371 0.443));border-radius:50%;display:flex;align-items:center;justify-content:center;animation:dental-glow 3s ease-in-out infinite}.hero-title{font-size:clamp(3rem,8vw,4.5rem);font-weight:800;line-height:1.1;letter-spacing:-.02em}.hero-title-gradient{background:linear-gradient(135deg,#00a692,#00b7a8 40%,#00bcbc);background:linear-gradient(135deg,color(xyz 0.154 0.304 0.328),color(xyz 0.223 0.371 0.443) 40%,color(xyz 0.26 0.399 0.56));background-size:200% 200%;-webkit-background-clip:text;background-clip:text;color:transparent;animation:gradient-shift 6s ease infinite}.hero-smile-underline{position:absolute;bottom:-8px;left:0;width:100%;height:16px}.hero-smile-underline path{stroke:url(#heroSmileGradient);stroke-width:4;stroke-linecap:round;fill:none;filter:drop-shadow(0 2px 4px oklch(.65 .18 180 / 30%))}.hero-btn-primary{position:relative;overflow:hidden;background:linear-gradient(135deg,#00a692,#01b09e,#00b7a8);background:linear-gradient(135deg,color(xyz 0.154 0.304 0.328),color(xyz 0.194 0.343 0.387),color(xyz 0.223 0.371 0.443));background-size:200% 200%;padding:1.25rem 2rem;border-radius:1rem;font-weight:600;font-size:1.125rem;color:#fff;border:none;cursor:pointer;transition:all .4s cubic-bezier(.4,0,.2,1);animation:dental-glow 4s ease-in-out infinite}.hero-btn-primary:hover{transform:translateY(-3px);box-shadow:0 20px 40px #00a69259,0 10px 20px #00b7a833;box-shadow:0 20px 40px oklch(.65 .18 180 / 35%),0 10px 20px oklch(.7 .15 185 / 20%);background-position:100% 100%}.hero-btn-primary:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent 0%,oklch(1 0 0 / 30%) 50%,transparent 100%);transition:left .6s ease}.hero-btn-primary:hover:before{left:100%}.hero-btn-secondary{position:relative;padding:1.25rem 2rem;border-radius:1rem;font-weight:600;font-size:1.125rem;background:transparent;border:2px solid oklch(.65 .18 180 / 30%);color:var(--foreground);cursor:pointer;transition:all .3s ease}.hero-btn-secondary:hover{border-color:#00a69299;border-color:oklch(.65 .18 180 / 60%);background:#00a69214;background:oklch(.65 .18 180 / 8%);transform:translateY(-2px);box-shadow:0 10px 30px #00a69226;box-shadow:0 10px 30px oklch(.65 .18 180 / 15%)}.hero-avatar{width:48px;height:48px;border-radius:50%;background:linear-gradient(135deg,#00a69240,#00b7a833,#00bcbc40);background:linear-gradient(135deg,color(xyz 0.154 0.304 0.328 / 0.251),color(xyz 0.223 0.371 0.443 / 0.2),color(xyz 0.26 0.399 0.56 / 0.251));border:3px solid var(--background);display:flex;align-items:center;justify-content:center;font-size:1.25rem;box-shadow:0 4px 15px #0000001a;transition:all .3s cubic-bezier(.4,0,.2,1);cursor:pointer}.hero-avatar:hover{transform:scale(1.15) translateY(-4px);box-shadow:0 8px 25px #00a69240;box-shadow:0 8px 25px oklch(.65 .18 180 / 25%)}.hero-dashboard{position:relative}.hero-dashboard-glow{position:absolute;inset:-32px;background:linear-gradient(135deg,#00a69259,#00b7a840,#00bcbc59);background:linear-gradient(135deg,color(xyz 0.154 0.304 0.328 / 0.349),color(xyz 0.223 0.371 0.443 / 0.251),color(xyz 0.26 0.399 0.56 / 0.349));border-radius:3rem;filter:blur(60px);opacity:.6;animation:dental-pulse 6s ease-in-out infinite}.hero-dashboard-card{position:relative;background:linear-gradient(135deg,#fff 0% 80%,#eefaf78a 90%,#d1f1ea4f 95%,#a8e5d831,#00a69214);background:linear-gradient(135deg,#fff 0% 80%,#eefaf78a 90%,#d1f1ea4f 95%,#a8e5d831,color(xyz 0.154 0.304 0.328 / 0.078));border-radius:2.5rem;padding:4px;box-shadow:0 25px 60px #00000026,0 10px 25px #00a6921a;box-shadow:0 25px 60px #00000026,0 10px 25px oklch(.65 .18 180 / 10%);border:1px solid oklch(.65 .18 180 / 15%);overflow:hidden}.hero-dashboard-card:before{content:"";position:absolute;top:0;left:-100%;width:200%;height:100%;background:linear-gradient(90deg,transparent 0%,oklch(1 0 0 / 10%) 50%,transparent 100%);animation:tooth-shine 6s ease-in-out infinite}.hero-dashboard-inner{background:#fcfefff2;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border-radius:2.25rem;padding:2rem}.hero-logo-3d{position:relative;width:56px;height:56px;border-radius:1rem;background:linear-gradient(135deg,#00a692,#00b7a8,#00bcbc);background:linear-gradient(135deg,color(xyz 0.154 0.304 0.328),color(xyz 0.223 0.371 0.443),color(xyz 0.26 0.399 0.56));display:flex;align-items:center;justify-content:center;box-shadow:0 10px 30px #00a69266,inset 0 1px #fff3;box-shadow:0 10px 30px oklch(.65 .18 180 / 40%),inset 0 1px #fff3;transform:rotate(3deg);transition:transform .3s ease}.hero-logo-3d:hover{transform:rotate(0) scale(1.05)}.hero-logo-sparkle{position:absolute;top:-4px;right:-4px;width:20px;height:20px;background:linear-gradient(135deg,#fac547,#ff8950);background:linear-gradient(135deg,#fac547,color(xyz 0.534 0.393 0.094));border-radius:50%;display:flex;align-items:center;justify-content:center;box-shadow:0 4px 12px #fac54766;animation:sparkle-dance 2s ease-in-out infinite}.hero-dental-arc{position:relative;height:200px}.hero-arc-tooth{fill:#fff;stroke:#d8dfe4;stroke-width:2;filter:drop-shadow(0 4px 8px oklch(0 0 0 / 10%));transition:all .3s ease}.hero-arc-tooth:hover{filter:drop-shadow(0 6px 12px oklch(.65 .18 180 / 30%));transform:scale(1.05)}.hero-arc-tooth-shine{fill:#fff;opacity:.9}.hero-stat-card{background:linear-gradient(135deg,#00a6921f,#00a6920f);background:linear-gradient(135deg,color(xyz 0.154 0.304 0.328 / 0.122),color(xyz 0.154 0.304 0.328 / 0.059));border-radius:1rem;padding:1rem;text-align:center;transition:all .3s cubic-bezier(.4,0,.2,1);cursor:pointer;position:relative;overflow:hidden}.hero-stat-card:before{content:"";position:absolute;inset:0;background:linear-gradient(135deg,#00a69200,#00a69226);background:linear-gradient(135deg,color(xyz 0.154 0.304 0.328 / 0),color(xyz 0.154 0.304 0.328 / 0.149));opacity:0;transition:opacity .3s ease}.hero-stat-card:hover{transform:scale(1.08) translateY(-4px);box-shadow:0 15px 35px #00a69233;box-shadow:0 15px 35px oklch(.65 .18 180 / 20%)}.hero-stat-card:hover:before{opacity:1}.hero-stat-emoji{font-size:1.75rem;margin-bottom:.25rem;transition:transform .3s ease}.hero-stat-card:hover .hero-stat-emoji{transform:scale(1.2) rotate(10deg)}.hero-stat-number{font-size:1.5rem;font-weight:700;background:linear-gradient(135deg,#00a692,#008474);background:linear-gradient(135deg,color(xyz 0.154 0.304 0.328),color(xyz 0.076 0.19 0.204));-webkit-background-clip:text;background-clip:text;color:transparent}.hero-appointment-card{position:relative;background:linear-gradient(135deg,#00a6920f,#00b7a80f,#00bcbc0f);background:linear-gradient(135deg,color(xyz 0.154 0.304 0.328 / 0.059),color(xyz 0.223 0.371 0.443 / 0.059),color(xyz 0.26 0.399 0.56 / 0.059));border-radius:1rem;padding:1rem;border:1px solid oklch(.65 .18 180 / 12%);overflow:hidden}.hero-appointment-card:before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,#00a692,#00b7a8,#00bcbc);background:linear-gradient(90deg,color(xyz 0.154 0.304 0.328),color(xyz 0.223 0.371 0.443),color(xyz 0.26 0.399 0.56))}.hero-floss-decoration{position:absolute;top:-12px;left:50%;transform:translate(-50%);display:flex;align-items:center;gap:4px}.hero-floss-line{width:32px;height:4px;background:linear-gradient(90deg,transparent 0%,oklch(.65 .18 180 / 35%) 50%,transparent 100%);border-radius:2px}.hero-patient-avatar{width:56px;height:56px;border-radius:50%;background:linear-gradient(135deg,#f7dba1,#ffbe92);background:linear-gradient(135deg,#f7dba1,color(xyz 0.651 0.599 0.338));display:flex;align-items:center;justify-content:center;font-size:1.75rem;border:4px solid white;box-shadow:0 6px 20px #0000001f;position:relative}.hero-patient-status{position:absolute;bottom:-4px;right:-4px;width:24px;height:24px;background:#1cce79;border-radius:50%;display:flex;align-items:center;justify-content:center;border:2px solid white;box-shadow:0 4px 10px #1cce794d}.hero-floating-card{background:#fff;border-radius:1rem;padding:.75rem;box-shadow:0 20px 50px #0000001f,0 8px 20px #00000014;border:1px solid oklch(0 0 0 / 5%);animation:dental-float 6s ease-in-out infinite}.hero-floating-card-success{background:linear-gradient(135deg,#e6fcec,#d4f8ed);border-color:#98e2b14d}.hero-floating-card-warning{background:linear-gradient(135deg,#fff4de,#ffead8);background:linear-gradient(135deg,color(xyz 0.868 0.912 0.775),color(xyz 0.841 0.851 0.692));border-color:#f2c86c4d}.hero-star-badge{background:linear-gradient(135deg,#fff4de,#ffead8);background:linear-gradient(135deg,color(xyz 0.868 0.912 0.775),color(xyz 0.841 0.851 0.692));border-radius:50%;padding:1rem;box-shadow:0 15px 40px #fac54740;animation:dental-pulse 3s ease-in-out infinite}.hero-wave{position:absolute;bottom:0;left:0;right:0;width:100%;height:100px;color:#00a69226;color:oklch(.65 .18 180 / 15%)}.hero-wave path{fill:currentColor}@media(max-width:1024px){.hero-tooth-decor,.hero-floating-card{display:none}.hero-dashboard-glow{inset:-16px;filter:blur(40px)}}@media(max-width:768px){.hero-title{font-size:clamp(2.5rem,10vw,3.5rem)}.hero-dashboard-inner{padding:1.25rem}.hero-orb{opacity:.5}}@media(prefers-color-scheme:dark){.hero-dashboard-card{background:linear-gradient(135deg,#12171a 0% 80%,#11282893 90%,#00a69226);background:linear-gradient(135deg,#12171a 0% 80%,#11282893 90%,color(xyz 0.154 0.304 0.328 / 0.149))}.hero-dashboard-inner{background:#080c0ff2}.hero-floating-card{background:#12171a;border-color:#ffffff1a}.hero-arc-tooth{fill:#e9f0f5;stroke:#292f32}}.dark .hero-dashboard-card{background:linear-gradient(135deg,#12171a 0% 80%,#11282893 90%,#00a69226);background:linear-gradient(135deg,#12171a 0% 80%,#11282893 90%,color(xyz 0.154 0.304 0.328 / 0.149))}.dark .hero-dashboard-inner{background:#080c0ff2}.dark .hero-floating-card{background:#12171a;border-color:#ffffff1a}.dark .hero-arc-tooth{fill:#e9f0f5;stroke:#292f32}@keyframes float-3d{0%,to{transform:translateY(0) rotateX(0) rotateY(0)}25%{transform:translateY(-15px) rotateX(5deg) rotateY(5deg)}50%{transform:translateY(-8px) rotateX(0) rotateY(-3deg)}75%{transform:translateY(-12px) rotateX(-3deg) rotateY(3deg)}}@keyframes shimmer{0%{background-position:-1000px 0}to{background-position:1000px 0}}@keyframes glow-pulse{0%,to{filter:drop-shadow(0 0 20px var(--glow-color, rgba(20, 184, 166, .4)));transform:scale(1)}50%{filter:drop-shadow(0 0 40px var(--glow-color, rgba(20, 184, 166, .7)));transform:scale(1.02)}}@keyframes orbit{0%{transform:rotate(0) translate(var(--orbit-radius, 100px)) rotate(0)}to{transform:rotate(360deg) translate(var(--orbit-radius, 100px)) rotate(-360deg)}}@keyframes morph{0%,to{border-radius:60% 40% 30% 70%/60% 30% 70% 40%}25%{border-radius:30% 60% 70% 40%/50% 60% 30%}50%{border-radius:50% 60% 30%/30% 60% 70% 40%}75%{border-radius:60% 40% 60% 30%/70% 30% 50% 60%}}@keyframes text-gradient-flow{0%{background-position:0% 50%}50%{background-position:100% 50%}to{background-position:0% 50%}}@keyframes card-entrance{0%{opacity:0;transform:translateY(60px) scale(.9)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes tooth-sparkle{0%,to{opacity:0;transform:scale(0) rotate(0)}50%{opacity:1;transform:scale(1) rotate(180deg)}}@keyframes wave-motion{0%{transform:translate(0) translateY(0)}25%{transform:translate(5px) translateY(-3px)}50%{transform:translate(0) translateY(-5px)}75%{transform:translate(-5px) translateY(-3px)}to{transform:translate(0) translateY(0)}}@keyframes icon-float{0%,to{transform:translateY(0) rotate(0)}50%{transform:translateY(-10px) rotate(5deg)}}@keyframes ring-expand{0%{transform:scale(.8);opacity:.8}to{transform:scale(1.5);opacity:0}}@keyframes number-count{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.features-section{position:relative;padding:8rem 0;overflow:hidden;background:linear-gradient(180deg,#f8fdfd,#ebf9f5,#f8fdfd)}.features-bg{position:absolute;inset:0;pointer-events:none;overflow:hidden}.features-blob{position:absolute;width:600px;height:600px;background:linear-gradient(135deg,#00a69226,#00b7a81a,#00bcbc26);background:linear-gradient(135deg,color(xyz 0.154 0.304 0.328 / 0.149),color(xyz 0.223 0.371 0.443 / 0.102),color(xyz 0.26 0.399 0.56 / 0.149));filter:blur(80px);animation:morph 20s ease-in-out infinite,float-3d 15s ease-in-out infinite}.features-blob-1{top:-200px;left:-100px;animation-delay:0s}.features-blob-2{bottom:-200px;right:-100px;animation-delay:-10s}.features-blob-3{top:50%;left:50%;transform:translate(-50%,-50%);width:400px;height:400px;opacity:.5;animation-delay:-5s}.features-particle{position:absolute;width:8px;height:8px;background:linear-gradient(135deg,#00a692,#00b1a6,#00bcbc);background:linear-gradient(135deg,color(xyz 0.154 0.304 0.328),color(xyz 0.203 0.349 0.434),color(xyz 0.26 0.399 0.56));border-radius:50%;animation:float-3d 8s ease-in-out infinite;opacity:.4}.features-dots-grid{position:absolute;inset:0;background-image:radial-gradient(oklch(.65 .18 180 / 8%) 1px,transparent 1px);background-size:40px 40px;opacity:.6}.features-header{text-align:center;max-width:900px;margin:0 auto 6rem;position:relative;z-index:10}.features-badge-3d{display:inline-flex;align-items:center;gap:16px;padding:12px 28px 12px 16px;background:#fff;border-radius:100px;box-shadow:0 4px 20px #00000014,0 0 0 1px #00a69226,inset 0 1px #fffc;box-shadow:0 4px 20px #00000014,0 0 0 1px oklch(.65 .18 180 / 15%),inset 0 1px #fffc;margin-bottom:2rem;position:relative;overflow:hidden}.features-badge-3d:before{content:"";position:absolute;top:0;left:-100%;width:200%;height:100%;background:linear-gradient(90deg,transparent 0%,oklch(1 0 0 / 60%) 50%,transparent 100%);animation:shimmer 3s ease-in-out infinite}.features-badge-icon-wrapper{position:relative;width:44px;height:44px}.features-badge-icon-ring{position:absolute;inset:0;border-radius:50%;border:2px solid oklch(.65 .18 180 / 30%);animation:ring-expand 2s ease-out infinite}.features-badge-icon{position:relative;width:44px;height:44px;background:linear-gradient(135deg,#00a692,#00856e);background:linear-gradient(135deg,color(xyz 0.154 0.304 0.328),color(xyz 0.074 0.19 0.171));border-radius:50%;display:flex;align-items:center;justify-content:center;box-shadow:0 4px 15px #00a69266;box-shadow:0 4px 15px oklch(.65 .18 180 / 40%)}.features-badge-text{font-weight:700;font-size:.95rem;background:linear-gradient(135deg,#005449,#004639);background:linear-gradient(135deg,color(xyz 0.028 0.073 0.079),color(xyz 0.011 0.052 0.043));-webkit-background-clip:text;background-clip:text;color:transparent;letter-spacing:-.02em}.features-title{font-size:clamp(2.75rem,7vw,4.5rem);font-weight:800;line-height:1.05;margin-bottom:1.75rem;letter-spacing:-.03em}.features-title-line{display:block;color:#1a222b}.features-title-gradient{display:inline-block;background:linear-gradient(135deg,#00a692,#00967c,#008568,#009488 75%,#00a59b,#00b6af);background:linear-gradient(135deg,color(xyz 0.154 0.304 0.328),color(xyz 0.104 0.244 0.223),color(xyz 0.065 0.192 0.137),color(xyz 0.109 0.243 0.305) 75%,color(xyz 0.161 0.302 0.388),color(xyz 0.227 0.37 0.486));background-size:200% 200%;-webkit-background-clip:text;background-clip:text;color:transparent;animation:text-gradient-flow 5s ease infinite;position:relative}.features-title-gradient:after{content:"✨";position:absolute;top:-.3em;right:-.5em;font-size:.4em;animation:tooth-sparkle 2s ease-in-out infinite}.features-title-smile{display:inline-block;font-size:.8em;margin-left:.2em;animation:icon-float 3s ease-in-out infinite}.features-description{font-size:1.35rem;color:#4d5660;line-height:1.7;max-width:700px;margin:0 auto}.features-description strong{color:#008474;color:oklch(.55 .15 180);font-weight:600}.features-grid-wrapper{position:relative;z-index:10}.features-grid{display:grid;grid-template-columns:repeat(1,1fr);gap:2rem;max-width:1200px;margin:0 auto;perspective:1000px}@media(min-width:768px){.features-grid{grid-template-columns:repeat(2,1fr);gap:2.5rem}}@media(min-width:1024px){.features-grid{grid-template-columns:repeat(3,1fr)}}.feature-card{position:relative;background:#fff;border-radius:2rem;padding:2rem;cursor:pointer;transition:all .5s cubic-bezier(.23,1,.32,1);transform-style:preserve-3d;animation:card-entrance .8s ease-out backwards;border:1px solid oklch(0 0 0 / 5%);overflow:visible}.feature-card:nth-child(1){animation-delay:.1s}.feature-card:nth-child(2){animation-delay:.2s}.feature-card:nth-child(3){animation-delay:.3s}.feature-card:nth-child(4){animation-delay:.4s}.feature-card:nth-child(5){animation-delay:.5s}.feature-card:nth-child(6){animation-delay:.6s}.feature-card:before{content:"";position:absolute;inset:0;border-radius:2rem;background:linear-gradient(135deg,var(--card-color-1) 0%,var(--card-color-2) 100%);opacity:0;transition:opacity .5s ease;z-index:-1}.feature-card:after{content:"";position:absolute;inset:-2px;border-radius:2.1rem;background:linear-gradient(135deg,var(--card-color-1) 0%,var(--card-color-2) 100%);opacity:0;z-index:-2;transition:opacity .5s ease;filter:blur(20px)}.feature-card:hover{transform:translateY(-12px) rotateX(5deg) rotateY(-2deg);box-shadow:0 30px 60px #0000001f,0 15px 30px var(--card-shadow, oklch(.65 .18 180 / 15%))}.feature-card:hover:before{opacity:.08}.feature-card:hover:after{opacity:.4}.feature-card--blue{--card-color-1: oklch(.6 .22 250);--card-color-2: oklch(.7 .18 200);--card-shadow: oklch(.6 .2 250 / 20%)}.feature-card--teal{--card-color-1: oklch(.65 .18 180);--card-color-2: oklch(.7 .15 170);--card-shadow: oklch(.65 .18 180 / 20%)}.feature-card--emerald{--card-color-1: oklch(.7 .18 155);--card-color-2: oklch(.75 .16 145);--card-shadow: oklch(.7 .18 155 / 20%)}.feature-card--violet{--card-color-1: oklch(.55 .25 300);--card-color-2: oklch(.6 .22 280);--card-shadow: oklch(.55 .25 300 / 20%)}.feature-card--amber{--card-color-1: oklch(.8 .16 70);--card-color-2: oklch(.75 .18 50);--card-shadow: oklch(.8 .16 70 / 20%)}.feature-card--rose{--card-color-1: oklch(.65 .22 15);--card-color-2: oklch(.7 .2 350);--card-shadow: oklch(.65 .22 15 / 20%)}.feature-card-icon-wrapper{position:relative;width:80px;height:80px;margin-bottom:1.5rem}.feature-card-icon-bg{position:absolute;inset:0;background:linear-gradient(135deg,var(--card-color-1) 0%,var(--card-color-2) 100%);border-radius:1.5rem;opacity:.12;transform:rotate(-6deg);transition:all .5s ease}.feature-card:hover .feature-card-icon-bg{transform:rotate(0) scale(1.1);opacity:.18}.feature-card-icon{position:relative;width:80px;height:80px;background:linear-gradient(135deg,var(--card-color-1) 0%,var(--card-color-2) 100%);border-radius:1.5rem;display:flex;align-items:center;justify-content:center;font-size:2.25rem;box-shadow:0 10px 30px #0000001a,0 5px 15px var(--card-shadow);transition:all .5s cubic-bezier(.23,1,.32,1)}.feature-card:hover .feature-card-icon{transform:scale(1.1) rotate(5deg);box-shadow:0 15px 40px #00000026,0 8px 20px var(--card-shadow)}.feature-card-orbit{position:absolute;top:50%;left:50%;width:120px;height:120px;margin:-60px 0 0 -60px;border:1px dashed var(--card-color-1);border-radius:50%;opacity:0;transition:opacity .5s ease}.feature-card:hover .feature-card-orbit{opacity:.3}.feature-card-orbit-dot{position:absolute;top:50%;left:50%;width:8px;height:8px;margin:-4px 0 0 -4px;background:var(--card-color-1);border-radius:50%;--orbit-radius: 60px;animation:orbit 8s linear infinite;opacity:0;transition:opacity .5s ease}.feature-card:hover .feature-card-orbit-dot{opacity:.6}.feature-card-stat{position:absolute;top:1.5rem;right:1.5rem;background:#fff;border-radius:1rem;padding:.6rem 1rem;box-shadow:0 4px 15px #00000014,0 0 0 1px #0000000d;text-align:center;transition:all .4s ease}.feature-card:hover .feature-card-stat{transform:translateY(-4px) scale(1.05);box-shadow:0 8px 25px #0000001f,0 0 0 1px var(--card-color-1)}.feature-card-stat-value{font-size:1.5rem;font-weight:800;background:linear-gradient(135deg,var(--card-color-1) 0%,var(--card-color-2) 100%);-webkit-background-clip:text;background-clip:text;color:transparent;line-height:1;animation:number-count .8s ease-out backwards}.feature-card-stat-label{font-size:.65rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:#5b646f;margin-top:2px}.feature-card-content{position:relative;z-index:1}.feature-card-title{font-size:1.35rem;font-weight:700;color:#1a222b;margin-bottom:.75rem;letter-spacing:-.01em;transition:color .3s ease}.feature-card:hover .feature-card-title{color:var(--card-color-1)}.feature-card-description{font-size:1rem;color:#5b646f;line-height:1.65;margin-bottom:1.25rem}.feature-card-link{display:inline-flex;align-items:center;gap:8px;font-size:.9rem;font-weight:600;color:var(--card-color-1);text-decoration:none;transition:all .3s ease}.feature-card-link-arrow{width:24px;height:24px;background:linear-gradient(135deg,var(--card-color-1) 0%,var(--card-color-2) 100%);border-radius:50%;display:flex;align-items:center;justify-content:center;transition:all .3s ease}.feature-card-link-arrow svg{width:12px;height:12px;color:#fff;transition:transform .3s ease}.feature-card:hover .feature-card-link-arrow{transform:translate(4px)}.feature-card:hover .feature-card-link-arrow svg{transform:translate(2px)}.features-dental-smile{display:flex;justify-content:center;align-items:flex-end;margin-top:5rem;gap:6px;position:relative;z-index:10}.features-dental-tooth{position:relative;transition:all .3s cubic-bezier(.23,1,.32,1);cursor:pointer}.features-dental-tooth svg{width:28px;height:40px;color:#00a6924d;color:oklch(.65 .18 180 / 30%);transition:all .3s ease;filter:drop-shadow(0 2px 4px oklch(0 0 0 / 10%))}.features-dental-tooth:nth-child(1){transform:rotate(-18deg) translateY(5px)}.features-dental-tooth:nth-child(2){transform:rotate(-12deg) translateY(2px)}.features-dental-tooth:nth-child(3){transform:rotate(-6deg)}.features-dental-tooth:nth-child(4){transform:rotate(0) scale(1.15)}.features-dental-tooth:nth-child(4) svg{color:#00a6927f;color:oklch(.65 .18 180 / 50%)}.features-dental-tooth:nth-child(5){transform:rotate(6deg)}.features-dental-tooth:nth-child(6){transform:rotate(12deg) translateY(2px)}.features-dental-tooth:nth-child(7){transform:rotate(18deg) translateY(5px)}.features-dental-tooth:hover{transform:translateY(-8px) scale(1.2) rotate(0)!important}.features-dental-tooth:hover svg{color:#00a692;color:oklch(.65 .18 180);filter:drop-shadow(0 8px 20px oklch(.65 .18 180 / 40%))}.features-dental-tooth:after{content:"✨";position:absolute;top:-15px;left:50%;transform:translate(-50%) scale(0);font-size:14px;transition:transform .3s ease}.features-dental-tooth:hover:after{transform:translate(-50%) scale(1)}.dark .features-section{background:linear-gradient(180deg,#080c0f,#000808,#080c0f)}.dark .features-badge-3d{background:#0f171f;box-shadow:0 4px 20px #0000004d,0 0 0 1px #00a69233;box-shadow:0 4px 20px #0000004d,0 0 0 1px oklch(.65 .18 180 / 20%)}.dark .feature-card{background:#0e1216;border-color:#ffffff14}.dark .feature-card:hover{box-shadow:0 30px 60px #0006,0 15px 30px var(--card-shadow)}.dark .feature-card-stat{background:#141b24}.dark .features-title-line{color:#eaeff5}.dark .features-description{color:#86909b}.dark .feature-card-title{color:#eaeff5}.dark .feature-card-description{color:#77818c}@media(max-width:768px){.features-section{padding:5rem 0}.features-header{margin-bottom:4rem}.features-title{font-size:clamp(2.25rem,8vw,3rem)}.features-description{font-size:1.1rem}.feature-card{padding:1.5rem}.feature-card-icon-wrapper{width:64px;height:64px}.feature-card-icon{width:64px;height:64px;font-size:1.75rem}.features-blob{width:300px;height:300px}.features-dental-smile{margin-top:3rem}.features-dental-tooth svg{width:22px;height:32px}}@keyframes gradient-aurora{0%,to{background-position:0% 50%;filter:hue-rotate(0deg)}25%{background-position:50% 100%}50%{background-position:100% 50%;filter:hue-rotate(15deg)}75%{background-position:50% 0%}}@keyframes card-float{0%,to{transform:translateY(0) rotateX(0)}50%{transform:translateY(-12px) rotateX(2deg)}}@keyframes price-pop{0%,to{transform:scale(1)}50%{transform:scale(1.05)}}@keyframes shine-sweep{0%{transform:translate(-100%) rotate(45deg)}to{transform:translate(300%) rotate(45deg)}}@keyframes glow-pulse{0%,to{box-shadow:0 0 20px #14b8a64d,0 0 40px #14b8a633,0 0 60px #14b8a61a}50%{box-shadow:0 0 30px #14b8a680,0 0 60px #14b8a64d,0 0 90px #14b8a633}}@keyframes badge-bounce{0%,to{transform:translateY(0) scale(1)}25%{transform:translateY(-4px) scale(1.02)}50%{transform:translateY(0) scale(1)}75%{transform:translateY(-2px) scale(1.01)}}@keyframes feature-slide{0%{opacity:0;transform:translate(-20px)}to{opacity:1;transform:translate(0)}}@keyframes sparkle-burst{0%,to{transform:scale(1) rotate(0);opacity:1}25%{transform:scale(1.2) rotate(90deg);opacity:.8}50%{transform:scale(1) rotate(180deg);opacity:1}75%{transform:scale(1.1) rotate(270deg);opacity:.9}}@keyframes emoji-wiggle{0%,to{transform:rotate(-5deg) scale(1)}25%{transform:rotate(5deg) scale(1.1)}50%{transform:rotate(-3deg) scale(1)}75%{transform:rotate(3deg) scale(1.05)}}@keyframes wave-bg{0%{transform:translate(-50%) translateY(0) rotate(0)}50%{transform:translate(-50%) translateY(-20px) rotate(2deg)}to{transform:translate(-50%) translateY(0) rotate(0)}}@keyframes star-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes number-glow{0%,to{text-shadow:0 0 20px currentColor;filter:brightness(1)}50%{text-shadow:0 0 40px currentColor,0 0 60px currentColor;filter:brightness(1.2)}}@keyframes line-grow{0%{width:0;opacity:0}to{width:100%;opacity:1}}@keyframes particle-float{0%,to{transform:translateY(0) translate(0);opacity:.6}25%{transform:translateY(-15px) translate(10px);opacity:1}50%{transform:translateY(-5px) translate(-5px);opacity:.8}75%{transform:translateY(-20px) translate(5px);opacity:.9}}.pricing-section{position:relative;overflow:hidden;background:linear-gradient(180deg,var(--background) 0%,rgba(20,184,166,.02) 30%,rgba(6,182,212,.03) 50%,rgba(20,184,166,.02) 70%,var(--background) 100%)}.pricing-aurora{position:absolute;inset:0;background:linear-gradient(135deg,transparent 0%,rgba(20,184,166,.08) 25%,rgba(6,182,212,.05) 50%,rgba(139,92,246,.05) 75%,transparent 100%);background-size:400% 400%;animation:gradient-aurora 20s ease infinite}.pricing-dots-pattern{position:absolute;inset:0;background-image:radial-gradient(circle,rgba(20,184,166,.15) 1px,transparent 1px);background-size:40px 40px;opacity:.5}.pricing-wave{position:absolute;bottom:0;left:50%;width:200%;height:300px;background:linear-gradient(180deg,transparent 0%,rgba(20,184,166,.03) 100%);border-radius:100% 100% 0 0;animation:wave-bg 8s ease-in-out infinite}.pricing-wave:nth-child(2){animation-delay:-4s;opacity:.5}.pricing-card{position:relative;background:#fffffff2;border-radius:24px;overflow:hidden;transition:all .5s cubic-bezier(.4,0,.2,1);transform-style:preserve-3d;perspective:1000px}.pricing-card:before{content:"";position:absolute;inset:0;border-radius:24px;padding:2px;background:linear-gradient(135deg,transparent 40%,rgba(20,184,166,.3) 50%,transparent 60%);-webkit-mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);-webkit-mask-composite:xor;mask-composite:exclude;opacity:0;transition:opacity .5s ease}.pricing-card:hover:before{opacity:1}.pricing-card:hover{transform:translateY(-16px) rotateX(5deg);box-shadow:0 30px 60px -15px #00000026,0 0 40px #14b8a61a}.pricing-card-shine{position:absolute;top:0;left:-100%;width:50%;height:100%;background:linear-gradient(90deg,transparent 0%,rgba(255,255,255,.4) 50%,transparent 100%);transform:skew(-25deg);transition:left .8s ease;pointer-events:none}.pricing-card:hover .pricing-card-shine{left:150%}.pricing-card-basic{border:2px solid rgba(100,116,139,.2);background:linear-gradient(135deg,#fffffffa,#f1f5f9f2)}.pricing-card-basic:hover{border-color:#64748b66}.pricing-card-pro{border:3px solid rgba(20,184,166,.5);background:linear-gradient(135deg,#fff,#f0fdfafa,#e0f7faf2);transform:scale(1.05);z-index:10;animation:glow-pulse 3s ease-in-out infinite}.pricing-card-pro:hover{transform:scale(1.05) translateY(-16px) rotateX(5deg)}.pricing-card-enterprise{border:2px solid rgba(139,92,246,.2);background:linear-gradient(135deg,#fffffffa,#f5f3fff2)}.pricing-card-enterprise:hover{border-color:#8b5cf666}.pricing-card-topbar{position:absolute;top:0;left:0;right:0;height:4px;border-radius:24px 24px 0 0}.pricing-card-topbar-basic{background:linear-gradient(90deg,#64748b,#94a3b8,#64748b);background-size:200% 100%;animation:gradient-aurora 4s ease infinite}.pricing-card-topbar-pro{background:linear-gradient(90deg,#14b8a6,#06b6d4,#0891b2 66%,#14b8a6);background-size:300% 100%;animation:gradient-aurora 3s ease infinite;height:5px}.pricing-card-topbar-enterprise{background:linear-gradient(90deg,#8b5cf6,#a78bfa,#8b5cf6);background-size:200% 100%;animation:gradient-aurora 4s ease infinite}.pricing-popular-badge{position:absolute;top:0;left:50%;transform:translate(-50%);background:linear-gradient(135deg,#14b8a6,#06b6d4,#0891b2);color:#fff;padding:10px 28px;border-radius:0 0 16px 16px;font-weight:700;font-size:.85rem;display:flex;align-items:center;gap:8px;box-shadow:0 8px 20px #14b8a666,inset 0 1px #fff3;animation:badge-bounce 2s ease-in-out infinite;letter-spacing:.5px}.pricing-popular-badge:before,.pricing-popular-badge:after{content:"✨";font-size:.9rem;animation:sparkle-burst 2s ease-in-out infinite}.pricing-popular-badge:after{animation-delay:1s}.pricing-icon-container{width:80px;height:80px;margin:0 auto 20px;position:relative}.pricing-icon-ring{position:absolute;inset:0;border-radius:20px;padding:3px}.pricing-icon-ring-basic{background:linear-gradient(135deg,#64748b,#94a3b8)}.pricing-icon-ring-pro{background:linear-gradient(135deg,#14b8a6,#06b6d4,#0891b2);border-radius:20px}.pricing-icon-ring-enterprise{background:linear-gradient(135deg,#8b5cf6,#a78bfa)}.pricing-icon-inner{width:100%;height:100%;border-radius:18px;background:#fff;display:flex;align-items:center;justify-content:center;font-size:2.5rem;transition:transform .3s ease}.pricing-card:hover .pricing-icon-inner{animation:emoji-wiggle .6s ease}.pricing-icon-particles{position:absolute;inset:-15px;pointer-events:none}.pricing-icon-particle{position:absolute;width:6px;height:6px;background:linear-gradient(135deg,#14b8a699,#06b6d499);border-radius:50%;animation:particle-float 3s ease-in-out infinite;box-shadow:0 0 8px #14b8a666}.pricing-icon-particle:nth-child(1){top:0;left:50%;animation-delay:0s}.pricing-icon-particle:nth-child(2){top:25%;right:0;animation-delay:.5s}.pricing-icon-particle:nth-child(3){bottom:25%;right:0;animation-delay:1s}.pricing-icon-particle:nth-child(4){bottom:0;left:50%;animation-delay:1.5s}.pricing-icon-particle:nth-child(5){bottom:25%;left:0;animation-delay:2s}.pricing-icon-particle:nth-child(6){top:25%;left:0;animation-delay:2.5s}.pricing-price-container{text-align:center;padding:24px 0;position:relative}.pricing-price{display:flex;align-items:baseline;justify-content:center;gap:4px}.pricing-currency{font-size:1.75rem;font-weight:500;opacity:.6;align-self:flex-start;margin-top:8px}.pricing-amount{font-size:5rem;font-weight:800;line-height:1;background-clip:text;-webkit-background-clip:text;-webkit-text-fill-color:transparent;transition:all .3s ease}.pricing-amount-basic{background-image:linear-gradient(135deg,#475569,#64748b)}.pricing-amount-pro{background-image:linear-gradient(135deg,#0d9488,#14b8a6,#06b6d4)}.pricing-amount-enterprise{background-image:linear-gradient(135deg,#7c3aed,#8b5cf6)}.pricing-card:hover .pricing-amount{animation:price-pop .4s ease}.pricing-period{font-size:1.1rem;opacity:.5;font-weight:500}.pricing-savings{display:inline-flex;align-items:center;gap:6px;margin-top:12px;padding:6px 16px;background:linear-gradient(135deg,#14b8a61a,#06b6d41a);border-radius:20px;font-size:.9rem;font-weight:600;color:#0d9488;border:1px solid rgba(20,184,166,.2)}.pricing-features-list{list-style:none;padding:0;margin:0 0 32px;display:flex;flex-direction:column;gap:16px}.pricing-feature-item{display:flex;align-items:center;gap:14px;opacity:0;animation:feature-slide .5s ease forwards}.pricing-feature-item:nth-child(1){animation-delay:.1s}.pricing-feature-item:nth-child(2){animation-delay:.15s}.pricing-feature-item:nth-child(3){animation-delay:.2s}.pricing-feature-item:nth-child(4){animation-delay:.25s}.pricing-feature-item:nth-child(5){animation-delay:.3s}.pricing-feature-item:nth-child(6){animation-delay:.35s}.pricing-feature-check{width:24px;height:24px;border-radius:50%;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:transform .3s ease,box-shadow .3s ease}.pricing-feature-item:hover .pricing-feature-check{transform:scale(1.15)}.pricing-feature-check-basic{background:linear-gradient(135deg,#64748b,#94a3b8);box-shadow:0 4px 12px #64748b4d}.pricing-feature-check-pro{background:linear-gradient(135deg,#14b8a6,#06b6d4);box-shadow:0 4px 12px #14b8a666}.pricing-feature-check-enterprise{background:linear-gradient(135deg,#8b5cf6,#a78bfa);box-shadow:0 4px 12px #8b5cf64d}.pricing-feature-check svg{width:14px;height:14px;color:#fff}.pricing-feature-text{font-size:1rem;color:#374151;font-weight:500}.pricing-feature-text-pro{font-weight:600;color:#0f172a}.pricing-cta-button{width:100%;padding:18px 32px;border-radius:14px;font-size:1.1rem;font-weight:700;display:flex;align-items:center;justify-content:center;gap:10px;cursor:pointer;transition:all .4s cubic-bezier(.4,0,.2,1);position:relative;overflow:hidden;border:none}.pricing-cta-button:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.3),transparent);transition:left .6s ease}.pricing-cta-button:hover:before{left:100%}.pricing-cta-basic{background:#fff;color:#475569;border:2px solid #e2e8f0}.pricing-cta-basic:hover{background:linear-gradient(135deg,#64748b,#475569);color:#fff;border-color:transparent;transform:translateY(-3px);box-shadow:0 12px 24px #64748b40}.pricing-cta-pro{background:linear-gradient(135deg,#14b8a6,#06b6d4,#0891b2);color:#fff;box-shadow:0 8px 24px #14b8a666,inset 0 1px #fff3}.pricing-cta-pro:hover{transform:translateY(-4px) scale(1.02);box-shadow:0 16px 32px #14b8a680,inset 0 1px #ffffff4d}.pricing-cta-enterprise{background:#fff;color:#7c3aed;border:2px solid #e9d5ff}.pricing-cta-enterprise:hover{background:linear-gradient(135deg,#8b5cf6,#7c3aed);color:#fff;border-color:transparent;transform:translateY(-3px);box-shadow:0 12px 24px #8b5cf640}.pricing-cta-icon{transition:transform .3s ease}.pricing-cta-button:hover .pricing-cta-icon{transform:translate(4px)}.pricing-cta-tooth{transition:transform .3s ease}.pricing-cta-button:hover .pricing-cta-tooth{transform:scale(1.2) rotate(10deg)}.pricing-trial-text{text-align:center;font-size:.9rem;color:#6b7280;margin-top:16px}.pricing-trial-highlight{color:#14b8a6;font-weight:600}.pricing-card-decoration{position:absolute;bottom:-30px;right:-30px;width:150px;height:150px;opacity:.05;pointer-events:none}.pricing-card-decoration-pro{opacity:.08}.pricing-card-circles{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:200%;height:200%;pointer-events:none;opacity:0;transition:opacity .5s ease}.pricing-card:hover .pricing-card-circles{opacity:1}.pricing-card-circle{position:absolute;border-radius:50%;border:1px solid;opacity:.1}.pricing-guarantee{display:inline-flex;align-items:center;gap:20px;background:linear-gradient(135deg,#14b8a614,#06b6d40d,#14b8a614);border:2px solid rgba(20,184,166,.2);border-radius:20px;padding:24px 40px;transition:all .4s ease}.pricing-guarantee:hover{border-color:#14b8a666;transform:translateY(-4px);box-shadow:0 16px 40px #14b8a626}.pricing-guarantee-icon{width:64px;height:64px;border-radius:16px;background:linear-gradient(135deg,#14b8a6,#06b6d4);display:flex;align-items:center;justify-content:center;box-shadow:0 8px 20px #14b8a64d}.pricing-guarantee-icon svg{width:32px;height:32px;color:#fff}.pricing-faq-item{text-align:center;padding:24px;border-radius:16px;background:#fff9;border:1px solid rgba(20,184,166,.1);transition:all .4s ease;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.pricing-faq-item:hover{background:#ffffffe6;border-color:#14b8a64d;transform:translateY(-6px);box-shadow:0 12px 30px #00000014}.pricing-faq-emoji{font-size:2.5rem;display:block;margin-bottom:12px;transition:transform .3s ease}.pricing-faq-item:hover .pricing-faq-emoji{transform:scale(1.2)}.pricing-faq-question{font-weight:700;font-size:1.05rem;color:#0f172a;margin-bottom:8px}.pricing-faq-answer{font-size:.95rem;color:#6b7280}@media(max-width:768px){.pricing-card-pro{transform:scale(1)}.pricing-card-pro:hover{transform:translateY(-12px)}.pricing-amount{font-size:4rem}.pricing-popular-badge{padding:8px 20px;font-size:.8rem}}.pricing-tooth-svg{fill:currentColor}.pricing-separator{height:2px;border:none;margin:24px 0;border-radius:2px}.pricing-separator-basic{background:linear-gradient(90deg,transparent 0%,#e2e8f0 50%,transparent 100%)}.pricing-separator-pro{background:linear-gradient(90deg,transparent 0%,rgba(20,184,166,.3) 50%,transparent 100%)}.pricing-separator-enterprise{background:linear-gradient(90deg,transparent 0%,rgba(139,92,246,.2) 50%,transparent 100%)}@keyframes float-testimonial{0%,to{transform:translateY(0)}50%{transform:translateY(-8px)}}@keyframes quote-pulse{0%,to{opacity:.15;transform:scale(1)}50%{opacity:.25;transform:scale(1.05)}}@keyframes avatar-glow{0%,to{box-shadow:0 0 20px #14b8a64d,0 0 40px #14b8a61a}50%{box-shadow:0 0 30px #14b8a680,0 0 60px #14b8a633}}@keyframes card-reveal{0%{opacity:0;transform:translateY(30px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes star-twinkle{0%,to{transform:scale(1);filter:brightness(1)}50%{transform:scale(1.2);filter:brightness(1.3)}}@keyframes blob-morph{0%,to{border-radius:60% 40% 30% 70%/60% 30% 70% 40%;transform:rotate(0)}25%{border-radius:30% 60% 70% 40%/50% 60% 30%}50%{border-radius:40% 60% 60% 40%/40% 50% 60%;transform:rotate(180deg)}75%{border-radius:60% 40% 50% 60%/70% 30% 50% 40%}}@keyframes gradient-flow{0%{background-position:0% 50%}50%{background-position:100% 50%}to{background-position:0% 50%}}@keyframes tooth-float{0%,to{transform:translateY(0) rotate(0);opacity:.08}50%{transform:translateY(-15px) rotate(5deg);opacity:.12}}@keyframes shine-line{0%{left:-100%}to{left:200%}}.testimonials-section{position:relative;overflow:hidden;background:linear-gradient(180deg,#fff,#f0fdfa,#f0f9ff 60%,#fff)}.testimonials-smile-pattern{position:absolute;inset:0;background-image:url("data:image/svg+xml,%3Csvg width='60' height='60' viewBox='0 0 60 60' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M15 35 Q30 45 45 35' stroke='%2314b8a6' stroke-width='2' fill='none' opacity='0.05'/%3E%3C/svg%3E");background-size:80px 80px;opacity:.5}.testimonials-blob{position:absolute;width:400px;height:400px;background:linear-gradient(135deg,#14b8a61a,#06b6d40d);animation:blob-morph 20s ease-in-out infinite;pointer-events:none}.testimonials-blob-1{top:-100px;left:-100px}.testimonials-blob-2{bottom:-150px;right:-100px;animation-delay:-10s;background:linear-gradient(135deg,#06b6d41a,#14b8a60d)}.testimonials-tooth{position:absolute;fill:#14b8a6;animation:tooth-float 6s ease-in-out infinite;pointer-events:none}.testimonials-tooth-1{width:60px;height:60px;top:15%;left:5%;animation-delay:0s}.testimonials-tooth-2{width:45px;height:45px;top:60%;right:8%;animation-delay:-2s}.testimonials-tooth-3{width:35px;height:35px;bottom:20%;left:10%;animation-delay:-4s}.testimonials-badge{display:inline-flex;align-items:center;gap:8px;padding:10px 20px;background:linear-gradient(135deg,#14b8a61a,#06b6d41a);border:1px solid rgba(20,184,166,.2);border-radius:50px;font-weight:700;font-size:.85rem;color:#0d9488;letter-spacing:1px;text-transform:uppercase}.testimonials-badge-icon{font-size:1.1rem}.testimonials-title{font-size:3rem;font-weight:800;color:#0f172a;line-height:1.2}@media(min-width:640px){.testimonials-title{font-size:3.5rem}}.testimonials-title-highlight{background:linear-gradient(135deg,#14b8a6,#06b6d4,#0891b2);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;position:relative}.testimonials-subtitle{font-size:1.25rem;color:#64748b;max-width:600px;margin:0 auto}.testimonial-card{position:relative;background:#fffffff2;border-radius:24px;padding:32px;border:1px solid rgba(20,184,166,.1);box-shadow:0 4px 20px #00000008,0 8px 40px #14b8a60d;transition:all .5s cubic-bezier(.4,0,.2,1);overflow:hidden;animation:card-reveal .8s ease forwards;opacity:0}.testimonial-card:nth-child(1){animation-delay:.1s}.testimonial-card:nth-child(2){animation-delay:.2s}.testimonial-card:nth-child(3){animation-delay:.3s}.testimonial-card:before{content:"";position:absolute;top:0;left:0;right:0;height:4px;background:linear-gradient(90deg,#14b8a6,#06b6d4,#0891b2);opacity:0;transition:opacity .3s ease}.testimonial-card:hover:before{opacity:1}.testimonial-card:hover{transform:translateY(-12px);box-shadow:0 20px 40px #00000014,0 30px 60px #14b8a61f;border-color:#14b8a64d}.testimonial-card-shine{position:absolute;top:0;left:-100%;width:60%;height:100%;background:linear-gradient(90deg,transparent 0%,rgba(255,255,255,.5) 50%,transparent 100%);transform:skew(-20deg);transition:left .7s ease;pointer-events:none}.testimonial-card:hover .testimonial-card-shine{left:150%}.testimonial-quote-icon{position:absolute;top:20px;right:24px;font-size:5rem;line-height:1;color:#14b8a6;opacity:.1;font-family:Georgia,serif;animation:quote-pulse 4s ease-in-out infinite;pointer-events:none}.testimonial-stars{display:flex;gap:4px;margin-bottom:20px}.testimonial-star{width:22px;height:22px;color:#fbbf24;fill:#fbbf24;filter:drop-shadow(0 2px 4px rgba(251,191,36,.4));transition:transform .3s ease}.testimonial-star:hover{animation:star-twinkle .5s ease}.testimonial-content{position:relative;font-size:1.1rem;line-height:1.7;color:#475569;margin-bottom:28px;font-style:italic}.testimonial-content:before,.testimonial-content:after{content:'"';color:#14b8a6;font-weight:700;font-size:1.3rem}.testimonial-author{display:flex;align-items:center;gap:16px;padding-top:20px;border-top:1px solid rgba(20,184,166,.1)}.testimonial-avatar{position:relative;width:60px;height:60px;border-radius:50%;background:linear-gradient(135deg,#14b8a6,#06b6d4,#0891b2);display:flex;align-items:center;justify-content:center;font-size:1.25rem;font-weight:700;color:#fff;flex-shrink:0;transition:all .3s ease}.testimonial-avatar:before{content:"";position:absolute;inset:-3px;border-radius:50%;background:linear-gradient(135deg,#14b8a6,#06b6d4,#0891b2);z-index:-1;opacity:0;transition:opacity .3s ease}.testimonial-card:hover .testimonial-avatar{animation:avatar-glow 2s ease-in-out infinite;transform:scale(1.05)}.testimonial-avatar-tooth{position:absolute;bottom:-4px;right:-4px;width:24px;height:24px;background:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center;box-shadow:0 2px 8px #00000026;font-size:.8rem}.testimonial-info{flex:1}.testimonial-name{font-size:1.1rem;font-weight:700;color:#0f172a;margin-bottom:2px}.testimonial-role{font-size:.9rem;color:#64748b}.testimonial-clinic{font-size:.9rem;color:#14b8a6;font-weight:600;display:flex;align-items:center;gap:6px}.testimonial-clinic-icon{font-size:.85rem}.testimonial-decoration{position:absolute;bottom:-20px;right:-20px;width:100px;height:100px;background:linear-gradient(135deg,rgba(20,184,166,.05) 0%,transparent 100%);border-radius:50%;pointer-events:none}.testimonial-card-1 .testimonial-avatar{background:linear-gradient(135deg,#14b8a6,#10b981)}.testimonial-card-2 .testimonial-avatar{background:linear-gradient(135deg,#06b6d4,#0891b2)}.testimonial-card-3 .testimonial-avatar{background:linear-gradient(135deg,#0d9488,#14b8a6)}.testimonial-verified{display:inline-flex;align-items:center;gap:6px;padding:4px 12px;background:#10b9811a;border-radius:20px;font-size:.75rem;color:#059669;font-weight:600;margin-top:8px}.testimonial-verified-icon{width:14px;height:14px}.testimonials-cta{position:relative;margin-top:80px;padding:48px;background:linear-gradient(135deg,#14b8a60d,#06b6d414);border-radius:32px;border:2px solid rgba(20,184,166,.15);text-align:center;overflow:hidden}.testimonials-cta:before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,transparent,rgba(255,255,255,.5),transparent);transform:translate(-100%);animation:shine-line 3s infinite}.testimonials-cta-title{font-size:2rem;font-weight:800;color:#0f172a;margin-bottom:12px}@media(min-width:640px){.testimonials-cta-title{font-size:2.5rem}}.testimonials-cta-subtitle{font-size:1.1rem;color:#64748b;max-width:600px;margin:0 auto 32px}.testimonials-cta-buttons{display:flex;flex-wrap:wrap;justify-content:center;gap:16px}.testimonials-cta-btn-primary{display:inline-flex;align-items:center;gap:10px;padding:16px 32px;background:linear-gradient(135deg,#14b8a6,#06b6d4,#0891b2);color:#fff;font-size:1.1rem;font-weight:700;border-radius:14px;border:none;cursor:pointer;transition:all .4s cubic-bezier(.4,0,.2,1);box-shadow:0 8px 24px #14b8a659}.testimonials-cta-btn-primary:hover{transform:translateY(-4px) scale(1.02);box-shadow:0 16px 40px #14b8a673}.testimonials-cta-btn-secondary{display:inline-flex;align-items:center;gap:10px;padding:16px 32px;background:#fff;color:#0f172a;font-size:1.1rem;font-weight:700;border-radius:14px;border:2px solid rgba(20,184,166,.3);cursor:pointer;transition:all .4s ease}.testimonials-cta-btn-secondary:hover{border-color:#14b8a6;background:#14b8a60d;transform:translateY(-3px)}.testimonials-cta-btn-icon{width:20px;height:20px;transition:transform .3s ease}.testimonials-cta-btn-primary:hover .testimonials-cta-btn-icon{transform:translate(4px)}@media(max-width:768px){.testimonial-card{padding:24px}.testimonials-cta{padding:32px 24px}.testimonial-quote-icon{font-size:4rem}}@keyframes gradient-wave{0%{background-position:0% 50%}50%{background-position:100% 50%}to{background-position:0% 50%}}@keyframes float-element{0%,to{transform:translateY(0) rotate(0)}25%{transform:translateY(-10px) rotate(2deg)}75%{transform:translateY(5px) rotate(-2deg)}}@keyframes sparkle-burst{0%,to{transform:scale(1) rotate(0);opacity:.8}50%{transform:scale(1.3) rotate(180deg);opacity:1}}@keyframes pulse-glow{0%,to{box-shadow:0 0 30px #fff3,0 0 60px #14b8a633,0 0 90px #06b6d41a}50%{box-shadow:0 0 40px #ffffff4d,0 0 80px #14b8a64d,0 0 120px #06b6d433}}@keyframes text-shimmer{0%{background-position:-200% center}to{background-position:200% center}}@keyframes button-shine{0%{left:-100%}to{left:200%}}@keyframes particle-rise{0%{transform:translateY(100%) scale(0);opacity:0}50%{opacity:1}to{transform:translateY(-100vh) scale(1);opacity:0}}@keyframes tooth-bounce{0%,to{transform:translateY(0) scale(1)}50%{transform:translateY(-8px) scale(1.1)}}@keyframes orbit{0%{transform:rotate(0) translate(150px) rotate(0)}to{transform:rotate(360deg) translate(150px) rotate(-360deg)}}.cta-section{position:relative;overflow:hidden;background:linear-gradient(180deg,#fff,#f0fdfa,#fff)}.cta-card{position:relative;background:linear-gradient(135deg,#0d9488,#14b8a6,#06b6d4,#0891b2,#0d9488);background-size:400% 400%;animation:gradient-wave 8s ease infinite;border-radius:40px;padding:64px 48px;overflow:hidden;box-shadow:0 25px 80px #14b8a666,0 10px 40px #0000001a,inset 0 1px #fff3;animation:gradient-wave 8s ease infinite,pulse-glow 4s ease-in-out infinite}.cta-tooth-pattern{position:absolute;inset:0;background-image:url("data:image/svg+xml,%3Csvg width='80' height='80' viewBox='0 0 64 64' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M32 4C24 4 18 10 16 18C14 26 12 34 14 42C16 50 20 58 26 60C30 62 32 56 32 56C32 56 34 62 38 60C44 58 48 50 50 42C52 34 50 26 48 18C46 10 40 4 32 4Z' fill='white' opacity='0.03'/%3E%3C/svg%3E");background-size:100px 100px;pointer-events:none}.cta-particles{position:absolute;inset:0;overflow:hidden;pointer-events:none}.cta-particle{position:absolute;width:8px;height:8px;background:#fff9;border-radius:50%;animation:particle-rise 10s linear infinite}.cta-particle:nth-child(1){left:10%;animation-delay:0s;animation-duration:12s}.cta-particle:nth-child(2){left:20%;animation-delay:-2s;animation-duration:10s}.cta-particle:nth-child(3){left:30%;animation-delay:-4s;animation-duration:14s}.cta-particle:nth-child(4){left:50%;animation-delay:-1s;animation-duration:11s}.cta-particle:nth-child(5){left:70%;animation-delay:-3s;animation-duration:13s}.cta-particle:nth-child(6){left:85%;animation-delay:-5s;animation-duration:9s}.cta-particle:nth-child(7){left:95%;animation-delay:-7s;animation-duration:15s}.cta-floating-tooth{position:absolute;fill:#ffffff26;animation:float-element 6s ease-in-out infinite;pointer-events:none}.cta-floating-tooth-1{width:80px;height:80px;top:10%;left:5%;animation-delay:0s}.cta-floating-tooth-2{width:60px;height:60px;top:60%;right:8%;animation-delay:-2s}.cta-floating-tooth-3{width:45px;height:45px;bottom:15%;left:15%;animation-delay:-4s}.cta-orbit-container{position:absolute;top:50%;left:50%;width:300px;height:300px;margin:-150px 0 0 -150px;pointer-events:none}.cta-orbit-element{position:absolute;top:50%;left:50%;width:30px;height:30px;margin:-15px 0 0 -15px;animation:orbit 20s linear infinite}.cta-orbit-element span{font-size:1.5rem}.cta-content{position:relative;z-index:10;text-align:center}.cta-sparkle{display:inline-block;color:#fbbf24;animation:sparkle-burst 2s ease-in-out infinite;margin-bottom:16px}.cta-title{font-size:2.5rem;font-weight:800;color:#fff;margin-bottom:20px;line-height:1.2;text-shadow:0 2px 20px rgba(0,0,0,.2)}@media(min-width:640px){.cta-title{font-size:3.5rem}}@media(min-width:1024px){.cta-title{font-size:4rem}}.cta-title-emoji{display:inline-block;animation:tooth-bounce 2s ease-in-out infinite}.cta-subtitle{font-size:1.25rem;color:#ffffffe6;max-width:650px;margin:0 auto 40px;line-height:1.7}.cta-highlight{color:#fff;font-weight:700;background:#fff3;padding:2px 10px;border-radius:6px}.cta-buttons{display:flex;flex-wrap:wrap;justify-content:center;gap:20px}.cta-btn-primary{display:inline-flex;align-items:center;gap:12px;padding:20px 40px;background:#fff;color:#0d9488;font-size:1.15rem;font-weight:700;border-radius:16px;border:none;cursor:pointer;transition:all .4s cubic-bezier(.4,0,.2,1);box-shadow:0 8px 30px #00000026,inset 0 1px #fff;position:relative;overflow:hidden}.cta-btn-primary:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(20,184,166,.2),transparent);animation:button-shine 3s infinite}.cta-btn-primary:hover{transform:translateY(-5px) scale(1.03);box-shadow:0 16px 50px #0003,inset 0 1px #fff}.cta-btn-primary-icon{width:22px;height:22px;transition:transform .3s ease}.cta-btn-primary:hover .cta-btn-primary-icon:last-child{transform:translate(4px)}.cta-btn-primary:hover .cta-btn-primary-tooth{animation:tooth-bounce .5s ease}.cta-btn-secondary{display:inline-flex;align-items:center;gap:12px;padding:20px 40px;background:transparent;color:#fff;font-size:1.15rem;font-weight:700;border-radius:16px;border:2px solid rgba(255,255,255,.5);cursor:pointer;transition:all .4s ease;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.cta-btn-secondary:hover{background:#ffffff26;border-color:#fff;transform:translateY(-4px)}.cta-btn-secondary-icon{width:20px;height:20px}.cta-trust-badges{display:flex;flex-wrap:wrap;justify-content:center;gap:24px;margin-top:40px;padding-top:32px;border-top:1px solid rgba(255,255,255,.2)}.cta-trust-badge{display:flex;align-items:center;gap:8px;color:#ffffffe6;font-size:.95rem;font-weight:500}.cta-trust-badge-icon{width:20px;height:20px;color:#fbbf24}.cta-side-decoration{position:absolute;width:200px;height:200px;border-radius:50%;background:#ffffff0d;pointer-events:none}.cta-side-decoration-1{top:-50px;left:-50px}.cta-side-decoration-2{bottom:-80px;right:-80px;width:300px;height:300px}@media(max-width:768px){.cta-card{padding:48px 24px;border-radius:28px}.cta-btn-primary,.cta-btn-secondary{padding:16px 28px;font-size:1rem;width:100%;justify-content:center}.cta-buttons{flex-direction:column;align-items:stretch}.cta-floating-tooth{display:none}}@keyframes wave-flow{0%{transform:translate(-100%)}to{transform:translate(100%)}}@keyframes logo-pulse{0%,to{transform:scale(1);box-shadow:0 0 20px #14b8a64d}50%{transform:scale(1.05);box-shadow:0 0 30px #14b8a680}}@keyframes social-pop{0%,to{transform:scale(1)}50%{transform:scale(1.15)}}@keyframes tooth-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes float-gentle{0%,to{transform:translateY(0)}50%{transform:translateY(-5px)}}@keyframes gradient-shift{0%{background-position:0% 50%}50%{background-position:100% 50%}to{background-position:0% 50%}}@keyframes sparkle{0%,to{opacity:.5;transform:scale(1)}50%{opacity:1;transform:scale(1.2)}}.footer-section{position:relative;background:linear-gradient(180deg,#0f172a,#1e293b,#0f172a);color:#fff;overflow:hidden}.footer-tooth-pattern{position:absolute;inset:0;background:radial-gradient(circle at 20% 30%,rgba(20,184,166,.03) 0%,transparent 40%),radial-gradient(circle at 80% 70%,rgba(6,182,212,.03) 0%,transparent 40%),radial-gradient(circle at 50% 50%,rgba(20,184,166,.02) 0%,transparent 60%);pointer-events:none}.footer-wave-top{position:absolute;top:0;left:0;right:0;height:4px;background:linear-gradient(90deg,#14b8a6,#06b6d4,#0891b2,#06b6d4,#14b8a6);background-size:200% 100%;animation:gradient-shift 4s linear infinite}.footer-glow{position:absolute;width:500px;height:500px;border-radius:50%;background:radial-gradient(circle,rgba(20,184,166,.1) 0%,transparent 70%);pointer-events:none}.footer-glow-1{top:-200px;left:-100px}.footer-glow-2{bottom:-200px;right:-100px}.footer-brand{display:flex;flex-direction:column;gap:20px}.footer-logo{display:flex;align-items:center;gap:14px}.footer-logo-icon{width:56px;height:56px;background:linear-gradient(135deg,#14b8a6,#06b6d4,#0891b2);border-radius:16px;display:flex;align-items:center;justify-content:center;box-shadow:0 8px 24px #14b8a64d;transition:all .3s ease}.footer-logo:hover .footer-logo-icon{animation:logo-pulse 1s ease}.footer-logo-icon svg{width:32px;height:32px;fill:#fff}.footer-logo-text{font-size:1.75rem;font-weight:800;background:linear-gradient(135deg,#fff,#e2e8f0);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}.footer-tagline{color:#fff9;font-size:1rem;line-height:1.6;max-width:280px}.footer-social{display:flex;gap:12px;margin-top:8px}.footer-social-link{width:44px;height:44px;border-radius:12px;background:#ffffff0d;border:1px solid rgba(255,255,255,.1);display:flex;align-items:center;justify-content:center;color:#ffffffb3;transition:all .3s ease;cursor:pointer}.footer-social-link:hover{background:linear-gradient(135deg,#14b8a6,#06b6d4);border-color:transparent;color:#fff;transform:translateY(-4px);box-shadow:0 8px 20px #14b8a666}.footer-social-link:hover svg{animation:social-pop .4s ease}.footer-social-link svg{width:20px;height:20px}.footer-column{display:flex;flex-direction:column;gap:16px}.footer-column-title{font-size:1.1rem;font-weight:700;color:#fff;display:flex;align-items:center;gap:8px;margin-bottom:8px}.footer-column-title-icon{font-size:1rem}.footer-links{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:14px}.footer-link{color:#fff9;text-decoration:none;font-size:.95rem;transition:all .3s ease;display:inline-flex;align-items:center;gap:8px;position:relative}.footer-link:before{content:"";position:absolute;left:0;bottom:-2px;width:0;height:2px;background:linear-gradient(90deg,#14b8a6,#06b6d4);transition:width .3s ease}.footer-link:hover{color:#14b8a6;transform:translate(6px)}.footer-link:hover:before{width:100%}.footer-link-icon{width:16px;height:16px;opacity:0;transition:opacity .3s ease}.footer-link:hover .footer-link-icon{opacity:1}.footer-newsletter{display:flex;flex-direction:column;gap:16px}.footer-newsletter-title{font-size:1.1rem;font-weight:700;color:#fff;display:flex;align-items:center;gap:8px}.footer-newsletter-text{color:#fff9;font-size:.9rem;line-height:1.6}.footer-newsletter-form{display:flex;gap:10px}.footer-newsletter-input{flex:1;padding:14px 18px;background:#ffffff14;border:1px solid rgba(255,255,255,.1);border-radius:12px;color:#fff;font-size:.95rem;outline:none;transition:all .3s ease}.footer-newsletter-input::placeholder{color:#fff6}.footer-newsletter-input:focus{border-color:#14b8a6;background:#14b8a61a;box-shadow:0 0 20px #14b8a633}.footer-newsletter-btn{padding:14px 24px;background:linear-gradient(135deg,#14b8a6,#06b6d4);border:none;border-radius:12px;color:#fff;font-weight:600;cursor:pointer;transition:all .3s ease;display:flex;align-items:center;gap:8px}.footer-newsletter-btn:hover{transform:translateY(-3px);box-shadow:0 8px 24px #14b8a666}.footer-newsletter-btn svg{width:18px;height:18px}.footer-separator{height:1px;background:linear-gradient(90deg,transparent 0%,rgba(20,184,166,.3) 20%,rgba(6,182,212,.3) 50%,rgba(20,184,166,.3) 80%,transparent 100%);margin:48px 0 32px;position:relative}.footer-separator:before{content:"";position:absolute;top:0;left:0;right:0;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.5),transparent);animation:wave-flow 3s linear infinite}.footer-separator-tooth{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:40px;height:40px;background:#1e293b;border-radius:50%;display:flex;align-items:center;justify-content:center;border:2px solid rgba(20,184,166,.3)}.footer-separator-tooth svg{width:20px;height:20px;fill:#14b8a6}.footer-bottom{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:20px}.footer-copyright{color:#ffffff80;font-size:.9rem;display:flex;align-items:center;gap:8px}.footer-copyright-heart{color:#ef4444;animation:sparkle 2s ease-in-out infinite}.footer-support{display:flex;align-items:center;gap:10px;color:#fff9;font-size:.9rem;padding:10px 20px;background:#ffffff0d;border-radius:30px;border:1px solid rgba(255,255,255,.1)}.footer-support-icon{width:18px;height:18px;color:#14b8a6}.footer-support-text{color:#ffffffe6}.footer-security-badges{display:flex;align-items:center;gap:16px}.footer-security-badge{display:flex;align-items:center;gap:6px;color:#fff9;font-size:.8rem}.footer-security-badge svg{width:16px;height:16px;color:#10b981}@media(max-width:768px){.footer-bottom{flex-direction:column;text-align:center}.footer-newsletter-form{flex-direction:column}.footer-newsletter-btn{width:100%;justify-content:center}.footer-glow{display:none}}.auth-page{min-height:100vh;min-height:100dvh;display:flex;align-items:center;justify-content:center;position:relative;overflow:hidden;padding:1rem;background:linear-gradient(135deg,#f2fbf9,#fcfeff,#e3f6f7)}.auth-background{position:absolute;inset:0;pointer-events:none;overflow:hidden}.auth-gradient-orb{position:absolute;border-radius:50%;filter:blur(80px);opacity:.4;animation:float-orb 20s ease-in-out infinite}.auth-orb-1{width:600px;height:600px;background:linear-gradient(135deg,#01c9b1,#00b8a1,#00a692);background:linear-gradient(135deg,color(xyz 0.279 0.454 0.492),color(xyz 0.21 0.374 0.404),color(xyz 0.154 0.304 0.328));top:-200px;left:-150px;animation-delay:0s}.auth-orb-2{width:500px;height:500px;background:linear-gradient(135deg,#00b4bb,#00b0b6,#00adb0 25%,#00a5a5 50%,#00948e);background:linear-gradient(135deg,color(xyz 0.253 0.363 0.531),color(xyz 0.235 0.345 0.5),color(xyz 0.219 0.328 0.471) 25%,color(xyz 0.187 0.295 0.416) 50%,color(xyz 0.134 0.236 0.319));bottom:-150px;right:-100px;animation-delay:-7s}.auth-orb-3{width:350px;height:350px;background:linear-gradient(135deg,#76d3b4,#4dc6ab 50%,#31bfa6 75%,#1bbba4,#00b7a1);background:linear-gradient(135deg,#76d3b4,#4dc6ab 50%,#31bfa6 75%,#1bbba4,color(xyz 0.233 0.367 0.398));top:50%;left:50%;transform:translate(-50%,-50%);animation-delay:-14s}@keyframes float-orb{0%,to{transform:translate(0) scale(1)}25%{transform:translate(30px,-30px) scale(1.05)}50%{transform:translate(-20px,20px) scale(.95)}75%{transform:translate(-30px,-20px) scale(1.02)}}.auth-grid-pattern{position:absolute;inset:0;opacity:.03;background-image:url("data:image/svg+xml,%3Csvg width='60' height='60' viewBox='0 0 60 60' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' fill-rule='evenodd'%3E%3Cg fill='%23000000' fill-opacity='1'%3E%3Cpath d='M36 34v-4h-2v4h-4v2h4v4h2v-4h4v-2h-4zm0-30V0h-2v4h-4v2h4v4h2V6h4V4h-4zM6 34v-4H4v4H0v2h4v4h2v-4h4v-2H6zM6 4V0H4v4H0v2h4v4h2V6h4V4H6z'/%3E%3C/g%3E%3C/g%3E%3C/svg%3E")}.auth-tooth{position:absolute;opacity:.05;animation:float-tooth 15s ease-in-out infinite}.auth-tooth-1{width:120px;height:120px;top:10%;left:5%;color:#00a692;color:oklch(.65 .18 180);transform:rotate(-15deg);animation-delay:0s}.auth-tooth-2{width:80px;height:80px;bottom:15%;right:8%;color:#00948e;color:oklch(.6 .15 190);transform:rotate(20deg);animation-delay:-5s}.auth-tooth-3{width:60px;height:60px;top:60%;left:3%;color:#00b4bb;color:oklch(.7 .12 200);transform:rotate(-30deg);animation-delay:-10s}@keyframes float-tooth{0%,to{transform:translateY(0) rotate(var(--rotation, -15deg))}50%{transform:translateY(-20px) rotate(calc(var(--rotation, -15deg) + 5deg))}}.auth-sparkle{position:absolute;color:#fac547;opacity:.3;animation:sparkle 3s ease-in-out infinite}.auth-sparkle-1{top:20%;right:15%;width:24px;height:24px}.auth-sparkle-2{bottom:25%;left:10%;width:20px;height:20px;animation-delay:1s}.auth-sparkle-3{top:45%;right:5%;width:16px;height:16px;animation-delay:2s}@keyframes sparkle{0%,to{opacity:.2;transform:scale(1) rotate(0)}50%{opacity:.5;transform:scale(1.2) rotate(180deg)}}.auth-container{display:grid;grid-template-columns:1fr 1fr;width:100%;max-width:1100px;height:auto;min-height:min(700px,85vh);max-height:90vh;margin:0;background:#fffc;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border-radius:24px;box-shadow:0 0 0 1px #0000000d,0 25px 50px -12px #00000026,0 12px 24px -8px #00a6921a;box-shadow:0 0 0 1px #0000000d,0 25px 50px -12px #00000026,0 12px 24px -8px oklch(.65 .18 180 / 10%);overflow:hidden;position:relative;z-index:10}.auth-container-register{max-width:1200px;max-height:92vh}@media(min-width:1920px){.auth-container{max-width:1280px;min-height:720px;max-height:85vh}.auth-container-register{max-width:1400px}}@media(min-width:2560px){.auth-container{max-width:1400px;min-height:800px}.auth-container-register{max-width:1500px}}.auth-branding{background:linear-gradient(135deg,#008474,#00645f,#005357);background:linear-gradient(135deg,color(xyz 0.083 0.187 0.202),color(xyz 0.048 0.102 0.147),color(xyz 0.039 0.07 0.124));padding:clamp(1.5rem,3vw,3rem);display:flex;flex-direction:column;justify-content:space-between;position:relative;overflow:hidden;overflow-y:auto}.auth-branding:before{content:"";position:absolute;inset:0;background:url("data:image/svg+xml,%3Csvg width='100' height='100' viewBox='0 0 100 100' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M11 18c3.866 0 7-3.134 7-7s-3.134-7-7-7-7 3.134-7 7 3.134 7 7 7zm48 25c3.866 0 7-3.134 7-7s-3.134-7-7-7-7 3.134-7 7 3.134 7 7 7zm-43-7c1.657 0 3-1.343 3-3s-1.343-3-3-3-3 1.343-3 3 1.343 3 3 3zm63 31c1.657 0 3-1.343 3-3s-1.343-3-3-3-3 1.343-3 3 1.343 3 3 3zM34 90c1.657 0 3-1.343 3-3s-1.343-3-3-3-3 1.343-3 3 1.343 3 3 3zm56-76c1.657 0 3-1.343 3-3s-1.343-3-3-3-3 1.343-3 3 1.343 3 3 3zM12 86c2.21 0 4-1.79 4-4s-1.79-4-4-4-4 1.79-4 4 1.79 4 4 4zm28-65c2.21 0 4-1.79 4-4s-1.79-4-4-4-4 1.79-4 4 1.79 4 4 4zm23-11c2.76 0 5-2.24 5-5s-2.24-5-5-5-5 2.24-5 5 2.24 5 5 5zm-6 60c2.21 0 4-1.79 4-4s-1.79-4-4-4-4 1.79-4 4 1.79 4 4 4zm29 22c2.76 0 5-2.24 5-5s-2.24-5-5-5-5 2.24-5 5 2.24 5 5 5zM32 63c2.76 0 5-2.24 5-5s-2.24-5-5-5-5 2.24-5 5 2.24 5 5 5zm57-13c2.76 0 5-2.24 5-5s-2.24-5-5-5-5 2.24-5 5 2.24 5 5 5zm-9-21c1.105 0 2-.895 2-2s-.895-2-2-2-2 .895-2 2 .895 2 2 2zM60 91c1.105 0 2-.895 2-2s-.895-2-2-2-2 .895-2 2 .895 2 2 2zM35 41c1.105 0 2-.895 2-2s-.895-2-2-2-2 .895-2 2 .895 2 2 2zM12 60c1.105 0 2-.895 2-2s-.895-2-2-2-2 .895-2 2 .895 2 2 2z' fill='%23ffffff' fill-opacity='0.05' fill-rule='evenodd'/%3E%3C/svg%3E");opacity:.5}.auth-branding-content{position:relative;z-index:1}.auth-logo{display:flex;align-items:center;gap:.75rem;text-decoration:none;margin-bottom:clamp(1.5rem,3vw,3rem);transition:transform .3s ease}.auth-logo:hover{transform:translate(4px)}.auth-logo-icon{width:48px;height:48px;background:#fff3;border-radius:12px;display:flex;align-items:center;justify-content:center;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);box-shadow:0 4px 12px #0000001a}.auth-logo-text{font-size:1.5rem;font-weight:700;color:#fff;letter-spacing:-.02em}.auth-branding-message{margin-bottom:clamp(1.5rem,2.5vw,2.5rem)}.auth-branding-title{font-size:clamp(1.5rem,2vw,2rem);font-weight:700;color:#fff;line-height:1.2;margin-bottom:.75rem;letter-spacing:-.02em}.auth-title-gradient{background:linear-gradient(135deg,#feedc9,#ffd6a8);background:linear-gradient(135deg,#feedc9,color(xyz 0.737 0.719 0.381));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.auth-branding-description{font-size:1rem;color:#ffffffbf;line-height:1.6}.auth-benefits{display:flex;flex-direction:column;gap:.5rem;margin-bottom:clamp(1rem,2vw,2rem)}.auth-benefit{display:flex;align-items:center;gap:.65rem;color:#ffffffe5;font-size:clamp(.85rem,1vw,.95rem)}.auth-benefit-check{width:22px;height:22px;background:#5dc879;border-radius:50%;display:flex;align-items:center;justify-content:center;color:#fff;flex-shrink:0}.auth-features{display:flex;flex-direction:column;gap:.75rem}.auth-feature{display:flex;align-items:flex-start;gap:.85rem;padding:.85rem;background:#ffffff1a;border-radius:12px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);transition:all .3s ease}.auth-feature:hover{background:#ffffff26;transform:translate(4px)}.auth-feature-icon{width:36px;height:36px;background:#fff3;border-radius:10px;display:flex;align-items:center;justify-content:center;color:#fff;flex-shrink:0}.auth-feature-text{display:flex;flex-direction:column;gap:.15rem}.auth-feature-title{font-weight:600;color:#fff;font-size:clamp(.85rem,1vw,.95rem)}.auth-feature-desc{font-size:clamp(.75rem,.9vw,.85rem);color:#ffffffb3}.auth-branding-decoration{position:relative;z-index:1;margin-top:clamp(1rem,2vw,2rem)}.auth-decoration-line{height:4px;background:linear-gradient(90deg,#ffffff4d,#ffffff1a);border-radius:2px}.auth-form-panel{padding:clamp(1.5rem,3vw,3rem);display:flex;align-items:center;justify-content:center;background:#fff;overflow-y:auto}.auth-form-container{width:100%;max-width:380px}.auth-form-container-register{max-width:440px}.auth-form-header{text-align:center;margin-bottom:clamp(1rem,2vw,2rem)}.auth-form-badge{display:inline-flex;align-items:center;gap:.5rem;padding:.4rem .85rem;background:linear-gradient(135deg,#cbfaf0,#a2f0e0);border-radius:100px;color:#006457;color:oklch(.45 .15 180);font-size:.8rem;font-weight:500;margin-bottom:.75rem}.auth-form-badge-success{background:linear-gradient(135deg,#d8f9dd,#b9eec2);color:#00672d;color:oklch(.45 .15 150)}.auth-form-title{font-size:clamp(1.5rem,1.8vw,1.75rem);font-weight:700;color:#0e171e;margin-bottom:.4rem;letter-spacing:-.02em}.auth-form-subtitle{font-size:clamp(.85rem,1vw,.95rem);color:#59656e}.auth-card{border:1px solid oklch(.92 .01 240);border-radius:16px;box-shadow:0 4px 6px -1px #0000000d,0 2px 4px -1px #00000008}.auth-card-content{padding:clamp(1rem,1.5vw,1.5rem)!important}.auth-form{display:flex;flex-direction:column;gap:clamp(.85rem,1.2vw,1.25rem)}.auth-field{display:flex;flex-direction:column;gap:.5rem}.auth-field-grid{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.auth-label{font-size:.875rem;font-weight:500;color:#252f37}.auth-label-row{display:flex;align-items:center;justify-content:space-between}.auth-forgot-link{font-size:.8rem;color:#008474;color:oklch(.55 .15 180);text-decoration:none;font-weight:500;transition:color .2s ease}.auth-forgot-link:hover{color:#006457;color:oklch(.45 .18 180)}.auth-input-wrapper{position:relative;display:flex;align-items:center}.auth-input-icon{position:absolute;left:12px;width:18px;height:18px;color:#76828b;pointer-events:none;z-index:1}.auth-input{width:100%;padding-left:42px!important;padding-right:12px!important;height:clamp(44px,4.5vh,48px);border-radius:12px;border:1.5px solid oklch(.9 .01 240);background:#f6f9fb;font-size:.95rem;transition:all .2s ease}.auth-input:focus{border-color:#00a692;border-color:oklch(.65 .18 180);box-shadow:0 0 0 3px #00a69226;box-shadow:0 0 0 3px oklch(.65 .18 180 / 15%);background:#fff}.auth-input::placeholder{color:#85919a}.auth-input-password{padding-right:48px!important}.auth-input-success{border-color:#3aa85b}.auth-input-success:focus{box-shadow:0 0 0 3px #3aa85b26}.auth-input-error{border-color:#de3b3d}.auth-input-error:focus{box-shadow:0 0 0 3px #de3b3d26}.auth-password-toggle{position:absolute;right:12px;width:32px;height:32px;display:flex;align-items:center;justify-content:center;background:none;border:none;color:#59656e;cursor:pointer;border-radius:8px;transition:all .2s ease}.auth-password-toggle:hover{color:#252f37;background:#e9f0f5}.auth-field-error{font-size:.8rem;color:#cc272e;margin-top:.25rem}.auth-password-requirements{display:grid;grid-template-columns:1fr 1fr;gap:.5rem;margin-top:.5rem;padding:.75rem;background:#f6f9fb;border-radius:8px}.auth-requirement{display:flex;align-items:center;gap:.5rem;font-size:.75rem;color:#59656e;transition:color .2s ease}.auth-requirement-met{color:#007835;color:oklch(.5 .15 150)}.auth-requirement-icon{width:16px;height:16px;display:flex;align-items:center;justify-content:center;border-radius:50%;background:#d8dfe4;transition:all .2s ease}.auth-requirement-met .auth-requirement-icon{background:#25984d;color:#fff}.auth-requirement-dot{width:4px;height:4px;border-radius:50%;background:#76828b}.auth-terms{margin-top:.5rem}.auth-checkbox-label{display:flex;align-items:flex-start;gap:.75rem;cursor:pointer}.auth-checkbox{position:absolute;opacity:0;pointer-events:none}.auth-checkbox-custom{width:20px;height:20px;border:2px solid oklch(.85 .01 240);border-radius:6px;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:all .2s ease;margin-top:2px}.auth-checkbox:checked+.auth-checkbox-custom{background:#008474;background:oklch(.55 .18 180);border-color:#008474;border-color:oklch(.55 .18 180);color:#fff}.auth-checkbox:focus+.auth-checkbox-custom{box-shadow:0 0 0 3px #00a69233;box-shadow:0 0 0 3px oklch(.65 .18 180 / 20%)}.auth-terms-text{font-size:.85rem;color:#4c575f;line-height:1.5}.auth-terms-link{color:#008474;color:oklch(.55 .15 180);text-decoration:none;font-weight:500;transition:color .2s ease}.auth-terms-link:hover{color:#006457;color:oklch(.45 .18 180);text-decoration:underline}.auth-error{display:flex;align-items:center;gap:.5rem;padding:.75rem 1rem;background:#ffe8e6;background:oklch(.95 .05 25);border:1px solid oklch(.85 .1 25);border-radius:10px;color:#972527;font-size:.875rem}.auth-submit-btn{width:100%;height:clamp(46px,5vh,52px);font-size:.95rem;font-weight:600;border-radius:12px;background:linear-gradient(135deg,#008474,#00736e);background:linear-gradient(135deg,color(xyz 0.083 0.187 0.202),color(xyz 0.07 0.139 0.195));border:none;color:#fff;display:flex;align-items:center;justify-content:center;gap:.5rem;cursor:pointer;transition:all .3s ease;box-shadow:0 4px 12px #0084744d,0 2px 4px #0000001a;box-shadow:0 4px 12px oklch(.55 .18 180 / 30%),0 2px 4px #0000001a}.auth-submit-btn:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 8px 20px #00847466,0 4px 8px #00000026;box-shadow:0 8px 20px oklch(.55 .18 180 / 40%),0 4px 8px #00000026}.auth-submit-btn:active:not(:disabled){transform:translateY(0)}.auth-submit-btn:disabled{opacity:.7;cursor:not-allowed}.auth-submit-btn-register{background:linear-gradient(135deg,#007834,#006641);background:linear-gradient(135deg,color(xyz 0.07 0.137 0.05),color(xyz 0.052 0.1 0.061));box-shadow:0 4px 12px #0078354d,0 2px 4px #0000001a;box-shadow:0 4px 12px oklch(.5 .15 150 / 30%),0 2px 4px #0000001a}.auth-submit-btn-register:hover:not(:disabled){box-shadow:0 8px 20px #00783566,0 4px 8px #00000026;box-shadow:0 8px 20px oklch(.5 .15 150 / 40%),0 4px 8px #00000026}.auth-loading{display:flex;align-items:center;gap:.75rem}.auth-spinner{width:20px;height:20px;border:2px solid oklch(1 0 0 / 30%);border-top-color:#fff;border-radius:50%;animation:spin .8s linear infinite}.auth-divider{display:flex;align-items:center;gap:1rem}.auth-divider-line{flex:1;height:1px;background:#d8dfe4}.auth-divider-text{font-size:.8rem;color:#67737c;white-space:nowrap}.auth-social-buttons{display:grid;grid-template-columns:1fr 1fr;gap:.75rem}.auth-social-btn{height:clamp(42px,4.5vh,48px);display:flex;align-items:center;justify-content:center;gap:.5rem;border-radius:12px;font-size:.9rem;font-weight:500;transition:all .2s ease}.auth-social-btn:hover:not(:disabled){background:#f2f6f8;border-color:#c8cfd4}.auth-social-btn:disabled{opacity:.5;cursor:not-allowed}.auth-security-note{display:flex;align-items:center;justify-content:center;gap:.5rem;padding:.75rem;background:#f6f9fb;border-radius:10px;color:#59656e;font-size:.8rem}.auth-switch-text{text-align:center;margin-top:1.5rem;font-size:.9rem;color:#59656e}.auth-switch-link{color:#008474;color:oklch(.55 .15 180);text-decoration:none;font-weight:600;transition:color .2s ease}.auth-switch-link:hover{color:#006457;color:oklch(.45 .18 180);text-decoration:underline}@media(max-width:1200px){.auth-container{max-width:1000px;min-height:auto}.auth-container-register{max-width:1100px}}@media(max-width:1024px){.auth-container{grid-template-columns:1fr;max-width:480px;margin:0;min-height:auto;max-height:none}.auth-container-register{max-width:520px}.auth-branding{display:none}.auth-form-panel{padding:2rem;min-height:calc(100vh - 2rem);min-height:calc(100dvh - 2rem)}.auth-field-grid{grid-template-columns:1fr}.auth-form-container,.auth-form-container-register{max-width:100%}}@media(max-width:640px){.auth-page{padding:0}.auth-container{margin:0;min-height:100vh;min-height:100dvh;border-radius:0;max-width:100%}.auth-container-register{max-width:100%}.auth-form-panel{padding:2rem 1.25rem}.auth-form-header{margin-bottom:1.25rem}.auth-form-badge{padding:.35rem .75rem;font-size:.75rem}.auth-form-title{font-size:1.35rem}.auth-form-subtitle{font-size:.85rem}.auth-card-content{padding:1rem!important}.auth-social-buttons,.auth-password-requirements{grid-template-columns:1fr}.auth-field-grid{gap:.85rem}.auth-input{height:46px;font-size:16px}.auth-submit-btn{height:48px;font-size:.95rem}.auth-social-btn{height:44px}.auth-switch-text{margin-top:1.25rem}}@media(max-width:380px){.auth-form-panel{padding:1.5rem 1rem 1rem}.auth-card-content{padding:.85rem!important}.auth-form-title{font-size:1.25rem}.auth-form{gap:.75rem}}@media(max-height:700px)and (min-width:640px){.auth-container{max-height:none;min-height:auto}.auth-branding,.auth-form-panel{padding:1.5rem}.auth-logo,.auth-branding-message,.auth-benefits,.auth-form-header{margin-bottom:1rem}.auth-form{gap:.85rem}}@media(min-height:1200px){.auth-container{min-height:800px;max-height:900px}.auth-branding{padding:3.5rem}.auth-branding-title{font-size:2.25rem}.auth-form-panel{padding:3.5rem}.auth-form-title{font-size:2rem}}.gs-overlay{position:fixed;inset:0;background:#0f172a99;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:200;display:flex;justify-content:center;align-items:flex-start;padding-top:15vh}.gs-panel{background:#fff;border-radius:20px;box-shadow:0 25px 50px #00000026;width:100%;max-width:640px;max-height:70vh;display:flex;flex-direction:column;overflow:hidden;animation:gsFadeIn .15s ease-out}@keyframes gsFadeIn{0%{opacity:0;transform:translateY(-8px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}.gs-input-wrap{display:flex;align-items:center;gap:.75rem;padding:1rem 1.25rem;border-bottom:1px solid #e2e8f0}.gs-input-icon{color:#94a3b8;display:flex;align-items:center;flex-shrink:0}.gs-input{flex:1;border:none;outline:none;font-size:1rem;color:#1e293b;background:transparent}.gs-input::placeholder{color:#94a3b8}.gs-input-kbd{font-size:.7rem;background:#f1f5f9;border:1px solid #e2e8f0;border-radius:4px;padding:.15rem .4rem;color:#94a3b8;font-family:inherit;flex-shrink:0}.gs-results{flex:1;overflow-y:auto;padding:.5rem;scrollbar-width:thin;scrollbar-color:#cbd5e1 transparent}.gs-results::-webkit-scrollbar{width:6px}.gs-results::-webkit-scrollbar-track{background:transparent}.gs-results::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:10px}.gs-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:3rem 1rem;color:#94a3b8;gap:.75rem}.gs-empty-icon{display:flex;align-items:center;color:#cbd5e1}.gs-empty-text{font-size:.9rem}.gs-loading{display:flex;align-items:center;justify-content:center;padding:2.5rem 1rem;color:#94a3b8;gap:.5rem;font-size:.9rem}.gs-spinner{width:18px;height:18px;border:2px solid #e2e8f0;border-top-color:#0ea5e9;border-radius:50%;animation:gsSpin .6s linear infinite}@keyframes gsSpin{to{transform:rotate(360deg)}}.gs-category{margin-bottom:.25rem}.gs-category-header{display:flex;align-items:center;gap:.5rem;padding:.5rem .75rem;font-size:.7rem;text-transform:uppercase;letter-spacing:.08em;font-weight:700}.gs-category-icon{display:flex;align-items:center;width:16px;height:16px}.gs-category-title{flex:1}.gs-category-count{font-size:.65rem;padding:.1rem .4rem;border-radius:9999px;font-weight:600}.gs-category--patients .gs-category-header{color:#3b82f6}.gs-category--patients .gs-category-count{background:#eff6ff;color:#3b82f6}.gs-category--appointments .gs-category-header{color:#22c55e}.gs-category--appointments .gs-category-count{background:#f0fdf4;color:#22c55e}.gs-category--treatments .gs-category-header{color:#a855f7}.gs-category--treatments .gs-category-count{background:#faf5ff;color:#a855f7}.gs-category--invoices .gs-category-header{color:#eab308}.gs-category--invoices .gs-category-count{background:#fefce8;color:#ca8a04}.gs-category--documents .gs-category-header{color:#f97316}.gs-category--documents .gs-category-count{background:#fff7ed;color:#f97316}.gs-item{display:flex;align-items:center;gap:.75rem;padding:.6rem .75rem;border-radius:10px;cursor:pointer;transition:background .15s ease;border:1px solid transparent}.gs-item:hover,.gs-item.gs-item--active{background:#ecfeff;border-color:#a5f3fc}.gs-item-icon{width:32px;height:32px;border-radius:8px;display:flex;align-items:center;justify-content:center;flex-shrink:0;color:#fff}.gs-category--patients .gs-item-icon{background:#3b82f6}.gs-category--appointments .gs-item-icon{background:#22c55e}.gs-category--treatments .gs-item-icon{background:#a855f7}.gs-category--invoices .gs-item-icon{background:#eab308}.gs-category--documents .gs-item-icon{background:#f97316}.gs-item-content{flex:1;min-width:0}.gs-item-title{font-size:.875rem;font-weight:550;color:#1e293b;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.gs-item-subtitle{font-size:.75rem;color:#64748b;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-top:1px}.gs-item-arrow{color:#94a3b8;font-size:.8rem;flex-shrink:0;opacity:0;transition:opacity .15s ease}.gs-item:hover .gs-item-arrow,.gs-item.gs-item--active .gs-item-arrow{opacity:1}.gs-footer{display:flex;align-items:center;justify-content:center;gap:1rem;padding:.6rem 1rem;border-top:1px solid #e2e8f0;font-size:.7rem;color:#94a3b8}.gs-footer kbd{font-size:.65rem;background:#f1f5f9;border:1px solid #e2e8f0;border-radius:3px;padding:.1rem .3rem;font-family:inherit}@media(max-width:640px){.gs-overlay{padding-top:0;align-items:stretch}.gs-panel{max-width:100%;max-height:100vh;border-radius:0;height:100%}}.ai-search-overlay{position:fixed;inset:0;background:#0006;z-index:199;opacity:0;pointer-events:none;transition:opacity .3s ease}.ai-search-overlay.visible{opacity:1;pointer-events:auto}.ai-search-panel{position:fixed;top:0;right:0;bottom:0;width:480px;max-width:100vw;background:#fff;border-left:1px solid #e2e8f0;z-index:200;display:flex;flex-direction:column;transform:translate(100%);transition:transform .3s cubic-bezier(.4,0,.2,1);box-shadow:-4px 0 25px #00000014}.ai-search-panel.open{transform:translate(0)}.ai-search-header{display:flex;align-items:center;justify-content:space-between;padding:1rem 1.25rem;border-bottom:1px solid #e2e8f0;background:#f8fafc;flex-shrink:0}.ai-search-header-left{display:flex;align-items:center;gap:.6rem}.ai-search-header-icon{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:8px;background:linear-gradient(135deg,#0284c7,#0369a1);color:#fff}.ai-search-header-icon svg{width:18px;height:18px}.ai-search-title{font-size:.95rem;font-weight:650;color:#0f172a}.ai-search-close{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border:none;background:transparent;border-radius:6px;cursor:pointer;color:#64748b;transition:all .15s}.ai-search-close:hover{background:#f1f5f9;color:#0f172a}.ai-search-messages{flex:1;overflow-y:auto;padding:1.25rem;display:flex;flex-direction:column;gap:1rem}.ai-search-welcome{text-align:center;padding:1.5rem 1rem}.ai-search-welcome-icon{display:flex;align-items:center;justify-content:center;width:48px;height:48px;border-radius:12px;background:linear-gradient(135deg,#e0f2fe,#bae6fd);color:#0284c7;margin:0 auto 1rem}.ai-search-welcome-icon svg{width:24px;height:24px}.ai-search-welcome h3{font-size:1rem;font-weight:650;color:#0f172a;margin:0 0 .4rem}.ai-search-welcome p{font-size:.8rem;color:#64748b;margin:0 0 1.25rem;line-height:1.5}.ai-search-examples{display:flex;flex-direction:column;gap:.5rem}.ai-search-example{display:block;width:100%;padding:.6rem .9rem;border:1px solid #e2e8f0;border-radius:8px;background:#fff;color:#334155;font-size:.78rem;text-align:left;cursor:pointer;transition:all .15s;line-height:1.4}.ai-search-example:hover{border-color:#0284c7;background:#f0f9ff;color:#0284c7}.ai-message{display:flex;flex-direction:column;max-width:92%}.ai-message.user{align-self:flex-end}.ai-message.assistant{align-self:flex-start}.ai-message-bubble{padding:.7rem 1rem;border-radius:12px;font-size:.82rem;line-height:1.6;word-break:break-word}.ai-message.user .ai-message-bubble{background:#0284c7;color:#fff;border-bottom-right-radius:4px}.ai-message.assistant .ai-message-bubble{background:#f1f5f9;color:#1e293b;border-bottom-left-radius:4px}.ai-results-container{margin-top:.6rem}.ai-results-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:.5rem}.ai-results-count{font-size:.72rem;color:#64748b;font-weight:500}.ai-export-btn{display:inline-flex;align-items:center;gap:.35rem;padding:.35rem .7rem;border:1px solid #e2e8f0;border-radius:6px;background:#fff;color:#0284c7;font-size:.72rem;font-weight:550;cursor:pointer;transition:all .15s}.ai-export-btn:hover{background:#f0f9ff;border-color:#0284c7}.ai-export-btn svg{width:14px;height:14px}.ai-results-table-wrap{overflow-x:auto;border:1px solid #e2e8f0;border-radius:8px;max-height:280px;overflow-y:auto}.ai-results-table{width:100%;border-collapse:collapse;font-size:.72rem}.ai-results-table th{position:sticky;top:0;background:#f8fafc;color:#475569;font-weight:600;text-align:left;padding:.45rem .6rem;border-bottom:1px solid #e2e8f0;white-space:nowrap}.ai-results-table td{padding:.4rem .6rem;border-bottom:1px solid #f1f5f9;color:#334155;white-space:nowrap;max-width:200px;overflow:hidden;text-overflow:ellipsis}.ai-results-table tr:hover td{background:#f8fafc}.ai-sql-toggle{display:inline-flex;align-items:center;gap:.3rem;margin-top:.5rem;padding:0;border:none;background:transparent;color:#94a3b8;font-size:.7rem;cursor:pointer;transition:color .15s}.ai-sql-toggle:hover{color:#64748b}.ai-sql-code{margin-top:.4rem;padding:.5rem .7rem;background:#1e293b;border-radius:6px;color:#e2e8f0;font-family:SF Mono,Fira Code,monospace;font-size:.68rem;line-height:1.5;overflow-x:auto;white-space:pre-wrap;word-break:break-all}.ai-loading{display:flex;align-items:center;gap:.6rem;padding:.7rem 1rem;background:#f1f5f9;border-radius:12px 12px 12px 4px;align-self:flex-start;max-width:92%}.ai-loading-dots{display:flex;gap:4px}.ai-loading-dot{width:6px;height:6px;border-radius:50%;background:#94a3b8;animation:aiDotPulse 1.4s ease-in-out infinite}.ai-loading-dot:nth-child(2){animation-delay:.2s}.ai-loading-dot:nth-child(3){animation-delay:.4s}@keyframes aiDotPulse{0%,80%,to{opacity:.3;transform:scale(.8)}40%{opacity:1;transform:scale(1)}}.ai-loading-text{font-size:.78rem;color:#64748b}.ai-search-input-area{padding:.9rem 1.25rem;border-top:1px solid #e2e8f0;background:#f8fafc;flex-shrink:0}.ai-search-input-wrap{display:flex;align-items:center;gap:.5rem;background:#fff;border:1px solid #e2e8f0;border-radius:10px;padding:.15rem .15rem .15rem .9rem;transition:border-color .2s}.ai-search-input-wrap:focus-within{border-color:#22d3ee;box-shadow:0 0 0 3px #22d3ee1a}.ai-search-input{flex:1;border:none;outline:none;font-size:.84rem;color:#0f172a;background:transparent;padding:.55rem 0}.ai-search-input::placeholder{color:#94a3b8}.ai-search-send{display:flex;align-items:center;justify-content:center;width:36px;height:36px;border:none;border-radius:8px;background:#0284c7;color:#fff;cursor:pointer;transition:all .15s;flex-shrink:0}.ai-search-send:hover:not(:disabled){background:#0369a1}.ai-search-send:disabled{background:#cbd5e1;cursor:not-allowed}.ai-search-send svg{width:18px;height:18px}.header-btn-ai{position:relative}.header-btn-ai:hover{color:#0284c7!important;background:#0284c714!important}@media(max-width:640px){.ai-search-panel{width:100vw}}.voice-overlay{position:fixed;inset:0;background:#0006;z-index:199;opacity:0;pointer-events:none;transition:opacity .3s ease}.voice-overlay.visible{opacity:1;pointer-events:auto}.voice-panel{position:fixed;top:0;right:0;bottom:0;width:480px;max-width:100vw;background:#fff;border-left:1px solid #e2e8f0;z-index:200;display:flex;flex-direction:column;transform:translate(100%);transition:transform .3s cubic-bezier(.4,0,.2,1);box-shadow:-4px 0 25px #00000014}.voice-panel.open{transform:translate(0)}.voice-header{display:flex;align-items:center;justify-content:space-between;padding:1rem 1.25rem;border-bottom:1px solid #e2e8f0;background:#f8fafc;flex-shrink:0}.voice-header-left{display:flex;align-items:center;gap:.6rem}.voice-header-icon{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:8px;background:linear-gradient(135deg,#7c3aed,#6d28d9);color:#fff}.voice-header-icon svg{width:18px;height:18px}.voice-title{font-size:.95rem;font-weight:650;color:#0f172a}.voice-close{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border:none;background:transparent;border-radius:6px;cursor:pointer;color:#64748b;transition:all .15s}.voice-close:hover{background:#f1f5f9;color:#0f172a}.voice-messages{flex:1;overflow-y:auto;padding:1.25rem;display:flex;flex-direction:column;gap:1rem}.voice-welcome{text-align:center;padding:1.5rem 1rem}.voice-welcome-icon{display:flex;align-items:center;justify-content:center;width:56px;height:56px;border-radius:50%;background:linear-gradient(135deg,#ede9fe,#ddd6fe);color:#7c3aed;margin:0 auto 1rem}.voice-welcome-icon svg{width:28px;height:28px}.voice-welcome h3{font-size:1rem;font-weight:650;color:#0f172a;margin:0 0 .4rem}.voice-welcome p{font-size:.8rem;color:#64748b;margin:0 0 1.25rem;line-height:1.5}.voice-examples{display:flex;flex-direction:column;gap:.5rem}.voice-example{display:block;width:100%;padding:.6rem .9rem;border:1px solid #e2e8f0;border-radius:8px;background:#fff;color:#334155;font-size:.78rem;text-align:left;cursor:pointer;transition:all .15s;line-height:1.4}.voice-example:hover{border-color:#7c3aed;background:#faf5ff;color:#7c3aed}.voice-message{display:flex;flex-direction:column;max-width:92%}.voice-message.user{align-self:flex-end}.voice-message.assistant{align-self:flex-start}.voice-message-bubble{padding:.7rem 1rem;border-radius:12px;font-size:.82rem;line-height:1.6;word-break:break-word}.voice-message.user .voice-message-bubble{background:#7c3aed;color:#fff;border-bottom-right-radius:4px}.voice-message.assistant .voice-message-bubble{background:#f1f5f9;color:#1e293b;border-bottom-left-radius:4px}.voice-action-card{margin-top:.6rem;border:1px solid #e2e8f0;border-radius:10px;overflow:hidden;background:#fff}.voice-action-card-header{display:flex;align-items:center;gap:.5rem;padding:.6rem .9rem;background:#faf5ff;border-bottom:1px solid #ede9fe;font-size:.75rem;font-weight:600;color:#7c3aed}.voice-action-card-header svg{width:14px;height:14px}.voice-action-card-body{padding:.7rem .9rem}.voice-action-detail{display:flex;justify-content:space-between;padding:.25rem 0;font-size:.75rem}.voice-action-detail-label{color:#64748b;font-weight:500}.voice-action-detail-value{color:#1e293b;font-weight:550;text-align:right}.voice-action-card-actions{display:flex;gap:.5rem;padding:.6rem .9rem;border-top:1px solid #f1f5f9}.voice-btn-confirm{flex:1;padding:.5rem;border:none;border-radius:7px;background:#7c3aed;color:#fff;font-size:.75rem;font-weight:600;cursor:pointer;transition:all .15s}.voice-btn-confirm:hover{background:#6d28d9}.voice-btn-confirm:disabled{background:#c4b5fd;cursor:not-allowed}.voice-btn-cancel{flex:1;padding:.5rem;border:1px solid #e2e8f0;border-radius:7px;background:#fff;color:#64748b;font-size:.75rem;font-weight:600;cursor:pointer;transition:all .15s}.voice-btn-cancel:hover{background:#f8fafc;border-color:#cbd5e1}.voice-patient-list{margin-top:.6rem;display:flex;flex-direction:column;gap:.4rem}.voice-patient-item{display:flex;align-items:center;gap:.6rem;padding:.55rem .8rem;border:1px solid #e2e8f0;border-radius:8px;background:#fff;cursor:pointer;transition:all .15s}.voice-patient-item:hover{border-color:#7c3aed;background:#faf5ff}.voice-patient-avatar{width:30px;height:30px;border-radius:50%;background:linear-gradient(135deg,#ede9fe,#ddd6fe);color:#7c3aed;display:flex;align-items:center;justify-content:center;font-size:.65rem;font-weight:700;flex-shrink:0}.voice-patient-info{flex:1;min-width:0}.voice-patient-name{font-size:.78rem;font-weight:600;color:#1e293b}.voice-patient-record{font-size:.68rem;color:#94a3b8}.voice-agenda-list{margin-top:.6rem;display:flex;flex-direction:column;gap:.35rem}.voice-agenda-item{display:flex;align-items:center;gap:.6rem;padding:.5rem .8rem;border:1px solid #f1f5f9;border-radius:8px;background:#fff;font-size:.75rem}.voice-agenda-time{font-weight:700;color:#7c3aed;white-space:nowrap;min-width:80px}.voice-agenda-patient{flex:1;color:#1e293b;font-weight:550}.voice-agenda-type{color:#94a3b8;font-size:.7rem}.voice-loading{display:flex;align-items:center;gap:.6rem;padding:.7rem 1rem;background:#f1f5f9;border-radius:12px 12px 12px 4px;align-self:flex-start;max-width:92%}.voice-loading-dots{display:flex;gap:4px}.voice-loading-dot{width:6px;height:6px;border-radius:50%;background:#a78bfa;animation:voiceDotPulse 1.4s ease-in-out infinite}.voice-loading-dot:nth-child(2){animation-delay:.2s}.voice-loading-dot:nth-child(3){animation-delay:.4s}@keyframes voiceDotPulse{0%,80%,to{opacity:.3;transform:scale(.8)}40%{opacity:1;transform:scale(1)}}.voice-loading-text{font-size:.78rem;color:#64748b}.voice-listening-indicator{display:flex;align-items:center;gap:.5rem;padding:.5rem 1rem;background:#fef2f2;border-radius:12px 12px 4px;align-self:flex-end;max-width:92%}.voice-listening-bars{display:flex;align-items:center;gap:2px;height:16px}.voice-listening-bar{width:3px;background:#ef4444;border-radius:2px;animation:barBounce 1s ease-in-out infinite}.voice-listening-bar:nth-child(1){height:6px;animation-delay:0s}.voice-listening-bar:nth-child(2){height:10px;animation-delay:.15s}.voice-listening-bar:nth-child(3){height:14px;animation-delay:.3s}.voice-listening-bar:nth-child(4){height:10px;animation-delay:.45s}.voice-listening-bar:nth-child(5){height:6px;animation-delay:.6s}@keyframes barBounce{0%,to{transform:scaleY(.5)}50%{transform:scaleY(1.2)}}.voice-listening-text{font-size:.75rem;color:#ef4444;font-weight:550}.voice-input-area{padding:.9rem 1.25rem;border-top:1px solid #e2e8f0;background:#f8fafc;flex-shrink:0}.voice-input-wrap{display:flex;align-items:center;gap:.5rem;background:#fff;border:1px solid #e2e8f0;border-radius:10px;padding:.15rem .15rem .15rem .9rem;transition:border-color .2s}.voice-input-wrap:focus-within{border-color:#a78bfa;box-shadow:0 0 0 3px #a78bfa1a}.voice-input{flex:1;border:none;outline:none;font-size:.84rem;color:#0f172a;background:transparent;padding:.55rem 0}.voice-input::placeholder{color:#94a3b8}.voice-mic-btn{display:flex;align-items:center;justify-content:center;width:36px;height:36px;border:none;border-radius:50%;background:#f1f5f9;color:#64748b;cursor:pointer;transition:all .2s;flex-shrink:0}.voice-mic-btn:hover{background:#ede9fe;color:#7c3aed}.voice-mic-btn.listening{background:#ef4444;color:#fff;animation:micPulse 1.5s ease-in-out infinite}@keyframes micPulse{0%{box-shadow:0 0 #ef444466}70%{box-shadow:0 0 0 8px #ef444400}to{box-shadow:0 0 #ef444400}}.voice-mic-btn svg{width:16px;height:16px}.voice-send-btn{display:flex;align-items:center;justify-content:center;width:36px;height:36px;border:none;border-radius:8px;background:#7c3aed;color:#fff;cursor:pointer;transition:all .15s;flex-shrink:0}.voice-send-btn:hover:not(:disabled){background:#6d28d9}.voice-send-btn:disabled{background:#cbd5e1;cursor:not-allowed}.voice-send-btn svg{width:18px;height:18px}.voice-no-speech{display:flex;align-items:center;gap:.5rem;padding:.5rem .75rem;background:#fef3c7;border-bottom:1px solid #fde68a;font-size:.72rem;color:#92400e;flex-shrink:0}.voice-no-speech svg{width:14px;height:14px;flex-shrink:0}.voice-success-badge{display:inline-flex;align-items:center;gap:.3rem;margin-top:.4rem;padding:.3rem .6rem;background:#f0fdf4;border:1px solid #bbf7d0;border-radius:6px;font-size:.72rem;color:#15803d;font-weight:550}.voice-success-badge svg{width:12px;height:12px}.header-btn-voice{position:relative}.header-btn-voice:hover{color:#7c3aed!important;background:#7c3aed14!important}.voice-interim{opacity:.5;font-style:italic}@media(max-width:640px){.voice-panel{width:100vw}}.notif-overlay{position:fixed;inset:0;background:#0006;z-index:199;opacity:0;pointer-events:none;transition:opacity .3s ease}.notif-overlay.visible{opacity:1;pointer-events:auto}.notif-panel{position:fixed;top:0;right:0;bottom:0;width:440px;max-width:100vw;background:#fff;border-left:1px solid #e2e8f0;z-index:200;display:flex;flex-direction:column;transform:translate(100%);transition:transform .3s cubic-bezier(.4,0,.2,1);box-shadow:-4px 0 25px #00000014}.notif-panel.open{transform:translate(0)}.notif-header{display:flex;align-items:center;justify-content:space-between;padding:1rem 1.25rem;border-bottom:1px solid #e2e8f0;background:#f8fafc;flex-shrink:0}.notif-header-left{display:flex;align-items:center;gap:.6rem}.notif-header-icon{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:8px;background:linear-gradient(135deg,#f59e0b,#d97706);color:#fff}.notif-title{font-size:.95rem;font-weight:650;color:#0f172a}.notif-header-right{display:flex;align-items:center;gap:.5rem}.notif-badge{display:inline-flex;align-items:center;justify-content:center;min-width:22px;height:22px;padding:0 6px;border-radius:11px;background:#0284c7;color:#fff;font-size:.7rem;font-weight:700;line-height:1}.notif-close{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border:none;background:transparent;border-radius:6px;cursor:pointer;color:#64748b;transition:all .15s}.notif-close:hover{background:#f1f5f9;color:#0f172a}.notif-filters{display:flex;gap:.375rem;padding:.75rem 1.25rem;border-bottom:1px solid #e2e8f0;overflow-x:auto;flex-shrink:0;-webkit-overflow-scrolling:touch}.notif-filters::-webkit-scrollbar{display:none}.notif-chip{display:inline-flex;align-items:center;gap:.3rem;padding:.35rem .7rem;border-radius:20px;border:1px solid #e2e8f0;background:#fff;color:#64748b;font-size:.75rem;font-weight:550;cursor:pointer;white-space:nowrap;transition:all .15s}.notif-chip:hover{background:#f1f5f9;color:#0f172a}.notif-chip.active{background:#0284c7;color:#fff;border-color:#0284c7}.notif-chip-count{display:inline-flex;align-items:center;justify-content:center;min-width:16px;height:16px;padding:0 4px;border-radius:8px;font-size:.65rem;font-weight:700;background:#00000014;line-height:1}.notif-chip.active .notif-chip-count{background:#ffffff40}.notif-body{flex:1;overflow-y:auto;padding:1rem 1.25rem;display:flex;flex-direction:column;gap:1.25rem}.notif-section{display:flex;flex-direction:column;gap:.5rem}.notif-section-header{display:flex;align-items:center;gap:.5rem;margin-bottom:.25rem}.notif-section-icon{width:28px;height:28px;border-radius:8px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.notif-section-icon svg{width:16px;height:16px}.notif-section-icon.blue{background:#3b82f61f;color:#2563eb}.notif-section-icon.orange{background:#fbbf2426;color:#d97706}.notif-section-icon.yellow{background:#eab30826;color:#ca8a04}.notif-section-icon.red{background:#ef44441f;color:#dc2626}.notif-section-icon.purple{background:#8b5cf61f;color:#7c3aed}.notif-section-icon.green{background:#22c55e1f;color:#16a34a}.notif-section-title{font-size:.8rem;font-weight:650;color:#0f172a;flex:1}.notif-section-count{font-size:.7rem;font-weight:600;color:#94a3b8;background:#f1f5f9;padding:.15rem .5rem;border-radius:10px}.notif-item{display:flex;align-items:center;gap:.75rem;padding:.75rem .875rem;border-radius:12px;font-size:.8125rem;transition:all .2s ease;border:1px solid transparent}.notif-item:hover{transform:translate(3px)}.notif-item.blue{background:linear-gradient(135deg,#eff6ff,#dbeafe);color:#1e40af;border-color:#3b82f626}.notif-item.blue:hover{box-shadow:0 3px 10px #3b82f61f}.notif-item.orange{background:linear-gradient(135deg,#fffbeb,#fef3c7);color:#92400e;border-color:#fbbf2426}.notif-item.orange:hover{box-shadow:0 3px 10px #fbbf241f}.notif-item.yellow{background:linear-gradient(135deg,#fefce8,#fef9c3);color:#854d0e;border-color:#eab30826}.notif-item.yellow:hover{box-shadow:0 3px 10px #eab3081f}.notif-item.red{background:linear-gradient(135deg,#fef2f2,#fee2e2);color:#991b1b;border-color:#ef444426}.notif-item.red:hover{box-shadow:0 3px 10px #ef44441f}.notif-item.purple{background:linear-gradient(135deg,#faf5ff,#f3e8ff);color:#6b21a8;border-color:#8b5cf626}.notif-item.purple:hover{box-shadow:0 3px 10px #8b5cf61f}.notif-item.green{background:linear-gradient(135deg,#f0fdf4,#dcfce7);color:#166534;border-color:#22c55e26}.notif-item.green:hover{box-shadow:0 3px 10px #22c55e1f}.notif-item-content{flex:1;min-width:0}.notif-item-name{font-weight:650;font-size:.8125rem;margin-bottom:.125rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.notif-item-detail{font-size:.75rem;opacity:.8;line-height:1.35}.notif-item-meta{font-size:.7rem;opacity:.65;margin-top:.125rem}.notif-item-action{font-size:.7rem;font-weight:600;padding:.3rem .65rem;border-radius:8px;border:none;background:#ffffff8c;color:inherit;cursor:pointer;white-space:nowrap;transition:all .15s;flex-shrink:0}.notif-item-action:hover{background:#ffffffd9;transform:scale(1.03)}.notif-empty{display:flex;align-items:center;justify-content:center;padding:1rem;color:#94a3b8;font-size:.78rem;font-style:italic}.notif-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.75rem;padding:3rem 1rem;color:#94a3b8;font-size:.8rem}.notif-loading-dots{display:flex;gap:4px}.notif-loading-dot{width:8px;height:8px;border-radius:50%;background:#0284c7;animation:notifDotPulse 1.4s ease-in-out infinite}.notif-loading-dot:nth-child(2){animation-delay:.2s}.notif-loading-dot:nth-child(3){animation-delay:.4s}@keyframes notifDotPulse{0%,80%,to{opacity:.3;transform:scale(.8)}40%{opacity:1;transform:scale(1)}}.notif-footer{display:flex;align-items:center;justify-content:space-between;padding:.75rem 1.25rem;border-top:1px solid #e2e8f0;background:#f8fafc;flex-shrink:0}.notif-footer-time{font-size:.72rem;color:#94a3b8}.notif-footer-refresh{display:inline-flex;align-items:center;gap:.35rem;font-size:.75rem;font-weight:600;color:#0284c7;background:none;border:none;cursor:pointer;padding:.3rem .6rem;border-radius:6px;transition:all .15s}.notif-footer-refresh:hover{background:#e0f2fe}.notif-footer-refresh:disabled{color:#94a3b8;cursor:not-allowed}.notif-footer-refresh svg{width:14px;height:14px}.notif-pagination{display:flex;align-items:center;justify-content:center;gap:.5rem;padding:.5rem 0 .25rem;margin-top:.25rem}.notif-page-btn{width:26px;height:26px;border:1px solid #e2e8f0;background:#fff;border-radius:6px;cursor:pointer;font-size:.75rem;color:#334155;display:flex;align-items:center;justify-content:center;transition:all .15s ease}.notif-page-btn:hover:not(:disabled){border-color:#0891b2;color:#0891b2}.notif-page-btn:disabled{opacity:.4;cursor:not-allowed}.notif-page-info{font-size:.75rem;color:#64748b;font-weight:500;min-width:40px;text-align:center}@media(max-width:640px){.notif-panel{width:100vw}}.dashboard-layout{display:flex;min-height:100vh;background-color:#f1f5f9}.sidebar{width:270px;background:linear-gradient(180deg,#0284c7,#0369a1,#075985);color:#fff;display:flex;flex-direction:column;position:fixed;height:100vh;z-index:100;transition:transform .3s ease;box-shadow:4px 0 25px #0369a140}.sidebar.collapsed{transform:translate(-270px)}.sidebar-header{padding:1.75rem 1.5rem;border-bottom:1px solid rgba(255,255,255,.12);background:#00000014}.sidebar-logo{display:flex;align-items:center;justify-content:center}.sidebar-logo-text{font-size:1.35rem;font-weight:700;color:#fff;letter-spacing:-.02em;text-align:center}.module-selector{padding:.75rem 1rem;position:relative}.module-selector-trigger{display:flex;align-items:center;gap:.625rem;width:100%;padding:.6rem .875rem;background:#ffffff1a;border:1px solid rgba(255,255,255,.15);border-radius:10px;color:#fff;cursor:pointer;font-size:.85rem;font-weight:550;transition:all .2s ease}.module-selector-trigger:hover{background:#ffffff2e;border-color:#ffffff40}.module-selector-icon{display:flex;align-items:center;justify-content:center;width:20px;height:20px;opacity:.9}.module-selector-label{flex:1;text-align:left}.module-selector-chevron{display:flex;align-items:center;justify-content:center;opacity:.6;transition:transform .2s ease}.module-selector-chevron.open{transform:rotate(180deg)}.module-dropdown{position:absolute;top:calc(100% - .25rem);left:1rem;right:1rem;background:#064e7a;border:1px solid rgba(255,255,255,.15);border-radius:10px;padding:.375rem;z-index:10;box-shadow:0 8px 24px #0000004d;animation:moduleDropdownIn .15s ease-out}@keyframes moduleDropdownIn{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.module-dropdown-item{display:flex;align-items:center;gap:.625rem;width:100%;padding:.55rem .75rem;background:none;border:none;border-radius:8px;color:#ffffffbf;cursor:pointer;font-size:.825rem;font-weight:450;transition:all .15s ease;text-align:left}.module-dropdown-item:hover{background:#ffffff1a;color:#fff}.module-dropdown-item.active{background:#ffffff26;color:#fff;font-weight:600}.module-dropdown-icon{display:flex;align-items:center;justify-content:center;width:18px;height:18px}.sidebar-nav{flex:1;padding:1.25rem 0;overflow-y:auto;scrollbar-width:thin;scrollbar-color:rgba(255,255,255,.3) transparent}.sidebar-nav::-webkit-scrollbar{width:6px}.sidebar-nav::-webkit-scrollbar-track{background:transparent;margin:8px 0}.sidebar-nav::-webkit-scrollbar-thumb{background:#ffffff40;border-radius:10px;transition:background .2s ease}.sidebar-nav::-webkit-scrollbar-thumb:hover{background:#fff6}.nav-section{margin-bottom:1.75rem}.nav-section-title{padding:.625rem 1.5rem;font-size:.65rem;text-transform:uppercase;letter-spacing:.12em;color:#ffffff80;font-weight:700}.nav-item{display:flex;align-items:center;gap:.875rem;padding:.8rem 1.25rem;color:#fffc;text-decoration:none;transition:all .2s ease;cursor:pointer;border:none;background:none;width:calc(100% - 1.5rem);text-align:left;font-size:.9rem;margin:.2rem .75rem;border-radius:10px;font-weight:450}.nav-item:hover{background:#ffffff1f;color:#fff}.nav-item.active{background:#fff;color:#0369a1;font-weight:600;box-shadow:0 4px 15px #0003}.nav-item-icon{width:22px;height:22px;display:flex;align-items:center;justify-content:center}.nav-item-badge{margin-left:auto;background:#fbbf24;color:#1e293b;font-size:.7rem;padding:.2rem .6rem;border-radius:9999px;font-weight:700}.sidebar-footer{padding:1.25rem 1.5rem;border-top:1px solid rgba(255,255,255,.12);background:#0000001a}.sidebar-user{display:flex;align-items:center;gap:.875rem}.sidebar-user-avatar{width:44px;height:44px;border-radius:50%;background:#fff;display:flex;align-items:center;justify-content:center;font-weight:700;color:#0369a1;font-size:.95rem;box-shadow:0 2px 8px #00000026}.sidebar-user-info{flex:1}.sidebar-user-name{font-weight:600;font-size:.95rem;color:#fff}.sidebar-user-role{font-size:.8rem;color:#fff9}.dashboard-main{flex:1;margin-left:270px;display:flex;flex-direction:column;min-height:100vh;transition:margin-left .3s ease}.dashboard-main.expanded{margin-left:0}.dashboard-header{background-color:#fff;border-bottom:1px solid #e2e8f0;padding:1rem 1.5rem;display:flex;align-items:center;justify-content:space-between;position:sticky;top:0;z-index:50}.header-left{display:flex;align-items:center;gap:1rem}.menu-toggle{display:none;background:none;border:none;padding:.5rem;cursor:pointer;color:#64748b;border-radius:.5rem}.menu-toggle:hover{background-color:#f1f5f9}.header-search{display:flex;align-items:center;gap:.625rem;width:300px;padding:.5rem .75rem;border:1px solid #e2e8f0;border-radius:.5rem;background-color:#f8fafc;cursor:pointer;transition:all .2s ease}.header-search:hover{border-color:#cbd5e1;background-color:#f1f5f9}.header-search-icon{color:#94a3b8;display:flex;align-items:center;flex-shrink:0}.header-search-placeholder{flex:1;color:#94a3b8;font-size:.9rem;-webkit-user-select:none;user-select:none}.header-search-kbd{font-size:.7rem;background:#f1f5f9;border:1px solid #e2e8f0;border-radius:4px;padding:.15rem .4rem;color:#94a3b8;font-family:inherit;flex-shrink:0}.header-right{display:flex;align-items:center;gap:.5rem}.header-btn{position:relative;background:none;border:none;padding:.5rem;cursor:pointer;color:#64748b;border-radius:.5rem;transition:all .2s ease}.header-btn:hover{background-color:#f1f5f9;color:#1e3a5f}.header-btn-badge{position:absolute;top:0;right:0;width:8px;height:8px;background-color:#ef4444;border-radius:50%;border:2px solid white}.header-user{display:flex;align-items:center;gap:.75rem;padding:.5rem;cursor:pointer;border-radius:.5rem;transition:background-color .2s ease}.header-user:hover{background-color:#f1f5f9}.header-user-avatar{width:36px;height:36px;border-radius:50%;background:linear-gradient(135deg,#1e3a5f,#0f2744);display:flex;align-items:center;justify-content:center;color:#fff;font-weight:600;font-size:.875rem}.header-user-info{text-align:left}.header-user-name{font-weight:600;font-size:.875rem;color:#1e293b}.header-user-role{font-size:.75rem;color:#64748b}.dashboard-content{flex:1;padding:1.5rem;display:flex;flex-direction:column}.page-header{margin-bottom:1.5rem}.page-title{font-size:1.5rem;font-weight:700;color:#1e293b;margin:0}.page-subtitle{color:#64748b;font-size:.9rem;margin-top:.25rem}@media(max-width:1024px){.menu-toggle{display:flex}.sidebar{transform:translate(-260px)}.sidebar.open{transform:translate(0)}.dashboard-main{margin-left:0}.header-search{width:200px}}@media(max-width:640px){.header-search,.header-user-info{display:none}.dashboard-content{padding:1rem}}.sidebar-overlay{display:none;position:fixed;inset:0;background-color:#00000080;z-index:99}.sidebar-overlay.visible{display:block}.dashboard-home{padding:1.5rem 2rem;background:linear-gradient(135deg,#f8fafc,#f1f5f9,#e2e8f0);position:relative;overflow:hidden;flex:1}.bg-decoration{position:absolute;border-radius:50%;pointer-events:none;filter:blur(80px);opacity:.5}.bg-decoration-1{top:-100px;right:-100px;width:400px;height:400px;background:radial-gradient(circle,rgba(14,165,233,.15) 0%,transparent 70%)}.bg-decoration-2{bottom:0;left:-150px;width:500px;height:500px;background:radial-gradient(circle,rgba(168,85,247,.1) 0%,transparent 70%)}.dashboard-home>.page-header{margin-bottom:1.25rem;position:relative;z-index:1}.header-content{display:flex;align-items:flex-start;justify-content:space-between;gap:1.5rem}.header-greeting{flex:1}.dashboard-home .page-title{font-size:2rem;font-weight:800;color:#0f172a;margin:0 0 .5rem;letter-spacing:-.03em;line-height:1.2}.dashboard-home .page-subtitle{font-size:1rem;color:#64748b;margin:0;font-weight:400}.date-badge{display:inline-flex;align-items:center;gap:.5rem;padding:.375rem .875rem;background:#fff;border-radius:30px;font-size:.8125rem;color:#475569;box-shadow:0 1px 3px #0000000d}.date-badge svg{color:#0ea5e9}.header-actions{display:flex;gap:.75rem}.header-action-btn{display:flex;align-items:center;gap:.5rem;padding:.625rem 1.125rem;border-radius:12px;font-size:.875rem;font-weight:600;cursor:pointer;transition:all .3s ease;border:none}.header-action-btn.primary{background:linear-gradient(135deg,#0ea5e9,#0284c7);color:#fff;box-shadow:0 4px 12px #0ea5e94d}.header-action-btn.primary:hover{transform:translateY(-2px);box-shadow:0 6px 20px #0ea5e966}.dashboard-home.loading{display:flex;align-items:center;justify-content:center;height:100%;min-height:400px;color:#64748b;font-size:1rem}.dash-loading-spinner{display:flex;flex-direction:column;align-items:center;gap:1rem}.dash-spinner{width:48px;height:48px;border:3px solid rgba(14,165,233,.2);border-top-color:#0ea5e9;border-radius:50%;animation:dashSpin 1s linear infinite}@keyframes dashSpin{to{transform:rotate(360deg)}}.dash-loading-spinner p{color:#64748b;font-size:.9375rem}.stats-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem;margin-bottom:1rem;position:relative;z-index:1}.stat-card{background:linear-gradient(145deg,#fff,#f8fafc);border-radius:16px;padding:1.25rem;display:flex;align-items:flex-start;gap:.875rem;box-shadow:0 1px 3px #0000000a,0 4px 12px #00000008,0 0 0 1px #00000005;transition:all .4s cubic-bezier(.4,0,.2,1);position:relative;overflow:hidden}.stat-card:before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,var(--stat-color, #0ea5e9),var(--stat-color-light, #38bdf8));opacity:0;transition:opacity .3s ease}.stat-card:hover{transform:translateY(-3px);box-shadow:0 4px 12px #0000000f,0 12px 28px #00000014,0 0 0 1px #00000008}.stat-icon{width:48px;height:48px;border-radius:14px;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:transform .3s ease}.stat-card:hover .stat-icon{transform:scale(1.05)}.stat-icon svg{width:22px;height:22px}.stat-icon.blue{background:linear-gradient(145deg,#dbeafe,#bfdbfe);box-shadow:0 4px 12px #3b82f633;color:#2563eb}.stat-card:has(.stat-icon.blue){--stat-color: #3b82f6;--stat-color-light: #60a5fa}.stat-icon.green{background:linear-gradient(145deg,#dcfce7,#bbf7d0);box-shadow:0 4px 12px #22c55e33;color:#16a34a}.stat-card:has(.stat-icon.green){--stat-color: #22c55e;--stat-color-light: #4ade80}.stat-icon.purple{background:linear-gradient(145deg,#f3e8ff,#e9d5ff);box-shadow:0 4px 12px #a855f733;color:#9333ea}.stat-card:has(.stat-icon.purple){--stat-color: #a855f7;--stat-color-light: #c084fc}.stat-icon.orange{background:linear-gradient(145deg,#ffedd5,#fed7aa);box-shadow:0 4px 12px #f9731633;color:#ea580c}.stat-card:has(.stat-icon.orange){--stat-color: #f97316;--stat-color-light: #fb923c}.stat-icon.red{background:linear-gradient(145deg,#fee2e2,#fecaca);box-shadow:0 4px 12px #ef444433;color:#dc2626}.stat-card:has(.stat-icon.red){--stat-color: #ef4444;--stat-color-light: #f87171}.stat-icon.teal{background:linear-gradient(145deg,#ccfbf1,#99f6e4);box-shadow:0 4px 12px #14b8a633;color:#0d9488}.stat-card:has(.stat-icon.teal){--stat-color: #14b8a6;--stat-color-light: #2dd4bf}.stat-icon.cyan{background:linear-gradient(145deg,#cffafe,#a5f3fc);box-shadow:0 4px 12px #06b6d433;color:#0891b2}.stat-card:has(.stat-icon.cyan){--stat-color: #06b6d4;--stat-color-light: #22d3ee}.stat-icon.indigo{background:linear-gradient(145deg,#e0e7ff,#c7d2fe);box-shadow:0 4px 12px #6366f133;color:#4f46e5}.stat-card:has(.stat-icon.indigo){--stat-color: #6366f1;--stat-color-light: #818cf8}.stat-content{flex:1;min-width:0}.stat-label{font-size:.75rem;font-weight:500;color:#64748b;margin-bottom:.375rem;text-transform:uppercase;letter-spacing:.04em}.stat-value{font-size:1.625rem;font-weight:700;color:#0f172a;line-height:1.1;margin-bottom:.375rem;letter-spacing:-.02em}.stat-change{display:inline-flex;align-items:center;gap:.25rem;font-size:.75rem;font-weight:500;padding:.1875rem .5rem;border-radius:20px}.stat-change.positive{color:#059669;background:linear-gradient(135deg,#ecfdf5,#d1fae5)}.stat-change.negative{color:#dc2626;background:linear-gradient(135deg,#fef2f2,#fee2e2)}.dashboard-grid{display:grid;grid-template-columns:1fr 1fr;gap:1rem;position:relative;z-index:1}.grid-waiting{grid-column:1}.grid-actions{grid-column:2}.grid-appointments{grid-column:1}.grid-right-stack{grid-column:2;display:flex;flex-direction:column;gap:1rem}.dashboard-card{background:linear-gradient(145deg,#fff,#fafafa);border-radius:16px;box-shadow:0 1px 3px #0000000a,0 4px 12px #00000008,0 0 0 1px #00000005;overflow:hidden;transition:all .3s ease}.dashboard-card:hover{box-shadow:0 4px 12px #0000000d,0 8px 24px #0000000f,0 0 0 1px #00000008}.card-header{display:flex;align-items:center;justify-content:space-between;padding:1rem 1.25rem;border-bottom:1px solid rgba(0,0,0,.04);background:linear-gradient(180deg,rgba(248,250,252,.8) 0%,transparent 100%)}.card-title-group{display:flex;align-items:center;gap:.75rem}.card-icon{width:36px;height:36px;border-radius:10px;display:flex;align-items:center;justify-content:center}.card-icon svg{width:18px;height:18px}.card-icon.blue{background:linear-gradient(135deg,#dbeafe,#bfdbfe);color:#2563eb}.card-icon.green{background:linear-gradient(135deg,#dcfce7,#bbf7d0);color:#16a34a}.card-icon.yellow{background:linear-gradient(135deg,#fef3c7,#fde68a);color:#d97706}.card-icon.red{background:linear-gradient(135deg,#fee2e2,#fecaca);color:#dc2626}.card-icon.purple{background:linear-gradient(135deg,#f3e8ff,#e9d5ff);color:#9333ea}.card-icon.orange{background:linear-gradient(135deg,#ffedd5,#fed7aa);color:#ea580c}.card-icon.teal{background:linear-gradient(135deg,#ccfbf1,#99f6e4);color:#0d9488}.card-title{font-size:.9375rem;font-weight:600;color:#1e293b;margin:0;letter-spacing:-.01em}.card-subtitle{font-size:.75rem;color:#94a3b8;margin:.125rem 0 0}.card-action{display:flex;align-items:center;gap:.25rem;font-size:.75rem;font-weight:600;color:#0ea5e9;background:linear-gradient(135deg,#0ea5e91a,#06b6d41a);border:none;padding:.375rem .75rem;border-radius:8px;cursor:pointer;transition:all .2s ease}.card-action svg{width:14px;height:14px;transition:transform .2s ease}.card-action:hover{background:linear-gradient(135deg,#0ea5e933,#06b6d433)}.card-action:hover svg{transform:translate(3px)}.card-body{padding:1rem 1.25rem}.waiting-room-list{display:flex;flex-direction:column;gap:.5rem}.waiting-room-item{display:flex;align-items:center;justify-content:space-between;padding:.75rem 1rem;background:linear-gradient(135deg,#f8fafc,#f1f5f9);border-radius:12px;transition:all .3s ease;animation:fadeInUp .4s ease-out backwards}.waiting-room-item:hover{background:linear-gradient(135deg,#fff,#f8fafc);box-shadow:0 2px 8px #0000000a}.waiting-patient-info{flex:1;min-width:0}.waiting-patient-name{font-size:.875rem;font-weight:600;color:#1e293b;margin-bottom:.125rem}.waiting-patient-meta{display:flex;align-items:center;gap:.375rem;font-size:.75rem;color:#64748b}.waiting-divider{color:#cbd5e1}.waiting-time{display:flex;align-items:center;gap:.25rem;font-size:.75rem;font-weight:600;padding:.25rem .625rem;border-radius:20px;flex-shrink:0}.waiting-time svg{width:12px;height:12px}.waiting-time.wait-green{background:linear-gradient(135deg,#ecfdf5,#d1fae5);color:#059669}.waiting-time.wait-orange{background:linear-gradient(135deg,#fffbeb,#fef3c7);color:#d97706}.waiting-time.wait-red{background:linear-gradient(135deg,#fef2f2,#fee2e2);color:#dc2626}.appointments-list{display:flex;flex-direction:column;gap:.5rem}.appointment-item{display:flex;align-items:center;gap:.75rem;padding:.75rem 1rem;background:linear-gradient(135deg,#f8fafc,#f1f5f9);border-radius:12px;transition:all .3s cubic-bezier(.4,0,.2,1);border:1px solid transparent;position:relative;overflow:hidden}.appointment-item:before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;background:var(--appointment-color, #0ea5e9);border-radius:0 4px 4px 0;opacity:0;transition:opacity .3s ease}.appointment-item:hover{background:linear-gradient(135deg,#fff,#f8fafc);border-color:#0ea5e926;transform:translate(4px);box-shadow:0 4px 12px #0000000a}.appointment-item:hover:before{opacity:1}.appointment-time{min-width:60px;text-align:center;padding:.375rem;background:#fff;border-radius:8px;box-shadow:0 1px 3px #0000000d}.appointment-time-value{font-size:.875rem;font-weight:700;color:#0f172a;letter-spacing:-.01em}.appointment-time-duration{font-size:.6875rem;color:#64748b;margin-top:.0625rem}.appointment-divider{width:4px;height:36px;border-radius:4px;flex-shrink:0;background:linear-gradient(180deg,#0ea5e9,#06b6d4)}.appointment-divider.consultation{background:linear-gradient(180deg,#3b82f6,#60a5fa)}.appointment-divider.cleaning{background:linear-gradient(180deg,#22c55e,#4ade80)}.appointment-divider.extraction{background:linear-gradient(180deg,#ef4444,#f87171)}.appointment-divider.filling{background:linear-gradient(180deg,#a855f7,#c084fc)}.appointment-divider.root-canal{background:linear-gradient(180deg,#f97316,#fb923c)}.appointment-divider.whitening{background:linear-gradient(180deg,#eab308,#facc15)}.appointment-divider.orthodontics{background:linear-gradient(180deg,#ec4899,#f472b6)}.appointment-divider.implant{background:linear-gradient(180deg,#14b8a6,#2dd4bf)}.appointment-info{flex:1;min-width:0}.appointment-patient{font-size:.875rem;font-weight:600;color:#1e293b;margin-bottom:.125rem}.appointment-type{display:flex;align-items:center;gap:.375rem;font-size:.75rem;color:#64748b;font-weight:500}.type-dot{width:5px;height:5px;border-radius:50%;background:#94a3b8}.appointment-status{font-size:.6875rem;font-weight:600;padding:.25rem .625rem;border-radius:20px;text-transform:uppercase;letter-spacing:.04em;flex-shrink:0}.appointment-status.scheduled{background:linear-gradient(135deg,#e0f2fe,#bae6fd);color:#0369a1}.appointment-status.confirmed{background:linear-gradient(135deg,#dcfce7,#bbf7d0);color:#15803d}.appointment-status.in-progress{background:linear-gradient(135deg,#fef3c7,#fde68a);color:#a16207}.appointment-status.completed{background:linear-gradient(135deg,#f3e8ff,#e9d5ff);color:#7c3aed}.appointment-status.cancelled{background:linear-gradient(135deg,#fee2e2,#fecaca);color:#b91c1c}.card-header-centered{display:flex;flex-direction:row;align-items:center;justify-content:flex-start;gap:.5rem;padding:.75rem 1rem}.quick-actions-card{display:flex;flex-direction:column}.quick-actions-card .card-body{padding:.75rem;flex:1;display:flex}.quick-actions{display:grid;grid-template-columns:repeat(3,1fr);grid-template-rows:repeat(3,1fr);gap:.5rem;flex:1;width:100%}.quick-action-btn{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.375rem;padding:.5rem .25rem;background:linear-gradient(145deg,#fff,#f8fafc);border:1px solid rgba(0,0,0,.04);border-radius:12px;cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1);position:relative;overflow:hidden;min-height:0}.quick-action-btn:before{content:"";position:absolute;inset:0;background:linear-gradient(135deg,#0ea5e90d,#06b6d40d);opacity:0;transition:opacity .3s ease}.quick-action-btn:hover{transform:translateY(-2px);border-color:#0ea5e933;box-shadow:0 4px 12px #0ea5e91a}.quick-action-btn:hover:before{opacity:1}.quick-action-icon{width:36px;height:36px;border-radius:10px;display:flex;align-items:center;justify-content:center;position:relative;z-index:1;transition:transform .3s ease}.quick-action-icon svg{width:18px;height:18px}.quick-action-icon.blue{background:linear-gradient(135deg,#dbeafe,#bfdbfe);color:#2563eb}.quick-action-icon.green{background:linear-gradient(135deg,#dcfce7,#bbf7d0);color:#16a34a}.quick-action-icon.purple{background:linear-gradient(135deg,#f3e8ff,#e9d5ff);color:#9333ea}.quick-action-icon.orange{background:linear-gradient(135deg,#ffedd5,#fed7aa);color:#ea580c}.quick-action-icon.teal{background:linear-gradient(135deg,#ccfbf1,#99f6e4);color:#0d9488}.quick-action-icon.red{background:linear-gradient(135deg,#fee2e2,#fecaca);color:#dc2626}.quick-action-icon.cyan{background:linear-gradient(135deg,#cffafe,#a5f3fc);color:#0891b2}.quick-action-icon.indigo{background:linear-gradient(135deg,#e0e7ff,#c7d2fe);color:#4f46e5}.quick-action-icon.emerald{background:linear-gradient(135deg,#d1fae5,#a7f3d0);color:#059669}.quick-action-btn:hover .quick-action-icon{transform:scale(1.1)}.quick-action-label{font-size:.6875rem;color:#475569;font-weight:600;position:relative;z-index:1;letter-spacing:-.01em;text-align:center}.ia-tools-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:.5rem}.ia-tool-btn{display:flex;flex-direction:column;align-items:center;gap:.375rem;padding:.75rem .375rem;background:linear-gradient(145deg,#faf5ff,#f3e8ff);border:1px solid rgba(168,85,247,.15);border-radius:12px;cursor:pointer;transition:all .3s ease;font-size:.6875rem;font-weight:600;color:#7c3aed;text-align:center}.ia-tool-btn:hover{transform:translateY(-2px);background:linear-gradient(145deg,#f3e8ff,#e9d5ff);box-shadow:0 4px 16px #a855f733;border-color:#a855f74d}.ia-tool-icon{width:32px;height:32px;border-radius:8px;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#a855f7,#7c3aed);color:#fff;transition:transform .3s ease}.ia-tool-icon svg{width:16px;height:16px}.ia-tool-btn:hover .ia-tool-icon{transform:scale(1.1)}.alerts-list{display:flex;flex-direction:column;gap:.5rem}.alert-item{display:flex;align-items:center;gap:.625rem;padding:.625rem .875rem;border-radius:12px;font-size:.8125rem;transition:all .3s ease;border:1px solid transparent}.alert-item:hover{transform:translate(4px)}.alert-icon-wrapper{width:32px;height:32px;border-radius:8px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.alert-icon-wrapper svg{width:16px;height:16px}.alert-icon-wrapper.warning{background:#fbbf2433;color:#d97706}.alert-icon-wrapper.info{background:#3b82f633;color:#2563eb}.alert-icon-wrapper.danger{background:#ef444433;color:#dc2626}.alert-item.warning{background:linear-gradient(135deg,#fffbeb,#fef3c7);color:#92400e;border-color:#fbbf2433}.alert-item.warning:hover{box-shadow:0 4px 12px #fbbf2426}.alert-item.danger{background:linear-gradient(135deg,#fef2f2,#fee2e2);color:#991b1b;border-color:#ef444433}.alert-item.danger:hover{box-shadow:0 4px 12px #ef444426}.alert-item.info{background:linear-gradient(135deg,#eff6ff,#dbeafe);color:#1e40af;border-color:#3b82f633}.alert-item.info:hover{box-shadow:0 4px 12px #3b82f626}.alert-title{font-weight:700;margin-bottom:.0625rem;letter-spacing:-.01em;font-size:.75rem}.alert-message{opacity:.85;line-height:1.3;font-size:.6875rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.alert-action{font-size:.6875rem;font-weight:600;padding:.25rem .625rem;border-radius:6px;border:none;background:#ffffff80;color:inherit;cursor:pointer;transition:all .2s ease;flex-shrink:0}.alert-action:hover{background:#fffc}.dashboard-bottom-row{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;margin-top:1rem;position:relative;z-index:1}.financial-grid{display:grid;grid-template-columns:1fr 1fr;gap:.5rem;margin-bottom:.75rem}.financial-item{display:flex;flex-direction:column;gap:.125rem;padding:.625rem;background:linear-gradient(135deg,#f8fafc,#f1f5f9);border-radius:10px}.financial-label{font-size:.625rem;font-weight:500;color:#94a3b8;text-transform:uppercase;letter-spacing:.04em}.financial-value{font-size:1rem;font-weight:700;color:#0f172a}.financial-value.green{color:#059669}.financial-value.orange{color:#d97706}.financial-value.red{color:#dc2626}.financial-bar{margin-top:.25rem}.financial-bar-track{display:flex;height:6px;border-radius:3px;background:#e2e8f0;overflow:hidden;margin-bottom:.375rem}.financial-bar-fill{height:100%;transition:width .6s ease}.financial-bar-fill.paid{background:linear-gradient(90deg,#22c55e,#4ade80)}.financial-bar-fill.pending{background:linear-gradient(90deg,#f59e0b,#fbbf24)}.financial-bar-legend{display:flex;gap:.75rem;font-size:.625rem;color:#64748b}.legend-item{display:flex;align-items:center;gap:.25rem}.legend-dot{width:6px;height:6px;border-radius:50%}.legend-dot.paid{background:#22c55e}.legend-dot.pending{background:#f59e0b}.lab-orders-list{display:flex;flex-direction:column;gap:.5rem}.lab-order-item{display:flex;align-items:center;justify-content:space-between;padding:.625rem .875rem;background:linear-gradient(135deg,#f8fafc,#f1f5f9);border-radius:10px;transition:all .3s ease;animation:fadeInUp .4s ease-out backwards;border:1px solid transparent}.lab-order-item:hover{background:linear-gradient(135deg,#fff,#f8fafc);box-shadow:0 2px 8px #0000000a}.lab-order-item.overdue{border-color:#ef444433;background:linear-gradient(135deg,#fff5f5,#fef2f2)}.lab-order-info{flex:1;min-width:0}.lab-order-number{font-size:.75rem;font-weight:700;color:#1e293b;margin-bottom:.0625rem}.lab-order-meta{font-size:.625rem;color:#64748b;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.lab-order-divider{color:#cbd5e1;margin:0 .25rem}.lab-order-right{display:flex;flex-direction:column;align-items:flex-end;gap:.25rem;flex-shrink:0}.lab-order-status{font-size:.5625rem;font-weight:600;padding:.1875rem .375rem;border-radius:10px;text-transform:uppercase;letter-spacing:.04em}.lab-order-status.pending{background:linear-gradient(135deg,#e0f2fe,#bae6fd);color:#0369a1}.lab-order-status.in-progress{background:linear-gradient(135deg,#fef3c7,#fde68a);color:#a16207}.lab-order-status.quality-check{background:linear-gradient(135deg,#f3e8ff,#e9d5ff);color:#7c3aed}.lab-order-status.ready{background:linear-gradient(135deg,#dcfce7,#bbf7d0);color:#15803d}.lab-order-date{font-size:.625rem;color:#64748b;font-weight:500}.lab-order-date.overdue{color:#dc2626;font-weight:700}.patients-list{display:flex;flex-direction:column;gap:.375rem}.patient-item{display:flex;align-items:center;gap:.625rem;padding:.5rem .75rem;border-radius:10px;transition:all .3s ease;cursor:pointer;animation:fadeInUp .4s ease-out backwards}.patient-item:hover{background:linear-gradient(135deg,#f0f9ff,#e0f2fe)}.patient-avatar{width:36px;height:36px;border-radius:10px;background:linear-gradient(145deg,#0ea5e9,#0284c7);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:.75rem;letter-spacing:.02em;box-shadow:0 3px 8px #0ea5e94d;flex-shrink:0}.patient-info{flex:1;min-width:0}.patient-name{font-size:.8125rem;font-weight:600;color:#1e293b;margin-bottom:.0625rem}.patient-meta{display:flex;align-items:center;gap:.375rem;font-size:.6875rem;color:#64748b}.patient-divider{color:#cbd5e1}.patient-email{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.patient-badge{font-size:.5625rem;font-weight:600;padding:.1875rem .375rem;border-radius:20px;background:linear-gradient(135deg,#dcfce7,#bbf7d0);color:#15803d;text-transform:uppercase;letter-spacing:.04em}.patient-action{width:28px;height:28px;border-radius:8px;border:none;background:transparent;color:#94a3b8;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s ease}.patient-action svg{width:14px;height:14px;transition:transform .2s ease}.patient-item:hover .patient-action{background:linear-gradient(135deg,#e0f2fe,#bae6fd);color:#0284c7}.patient-item:hover .patient-action svg{transform:translate(2px)}@media(max-width:1280px){.stats-grid{grid-template-columns:repeat(2,1fr)}.dashboard-grid{grid-template-columns:1fr}.grid-waiting,.grid-actions,.grid-appointments,.grid-right-stack{grid-column:1}.dashboard-bottom-row{grid-template-columns:1fr}}@media(max-width:768px){.dashboard-home{padding:1rem}.dashboard-home .page-title{font-size:1.5rem}.stats-grid{gap:.75rem}.stat-card{padding:1rem}.stat-icon{width:40px;height:40px}.stat-value{font-size:1.375rem}.card-header,.card-body{padding:.875rem 1rem}}@media(max-width:640px){.stats-grid{grid-template-columns:1fr}.quick-actions,.ia-tools-grid{grid-template-columns:repeat(3,1fr)}.appointment-item{flex-wrap:wrap;gap:.5rem}.appointment-status{width:100%;text-align:center}.financial-grid{grid-template-columns:1fr}.header-content{flex-direction:column}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}.stat-card{animation:fadeInUp .4s ease-out backwards}.stat-card:nth-child(1){animation-delay:.03s}.stat-card:nth-child(2){animation-delay:.06s}.stat-card:nth-child(3){animation-delay:.09s}.stat-card:nth-child(4){animation-delay:.12s}.stat-card:nth-child(5){animation-delay:.15s}.stat-card:nth-child(6){animation-delay:.18s}.stat-card:nth-child(7){animation-delay:.21s}.stat-card:nth-child(8){animation-delay:.24s}.dashboard-card{animation:fadeInUp .4s ease-out backwards;animation-delay:.2s}.dashboard-bottom-row .dashboard-card:nth-child(1){animation-delay:.25s}.dashboard-bottom-row .dashboard-card:nth-child(2){animation-delay:.28s}.dashboard-bottom-row .dashboard-card:nth-child(3){animation-delay:.31s}.appointments-card .appointment-item{animation:fadeInUp .3s ease-out backwards}.empty-state{text-align:center;padding:1.5rem 1rem;color:#64748b}.empty-state-icon{width:48px;height:48px;margin:0 auto .5rem;border-radius:12px;background:linear-gradient(135deg,#f1f5f9,#e2e8f0);display:flex;align-items:center;justify-content:center;color:#94a3b8}.empty-state-icon svg{width:22px;height:22px}.empty-state-text{font-size:.8125rem;font-weight:500;margin-bottom:.5rem}.empty-state-btn{display:inline-flex;align-items:center;gap:.375rem;padding:.5rem 1rem;background:linear-gradient(135deg,#0ea5e9,#0284c7);color:#fff;border:none;border-radius:8px;font-size:.8125rem;font-weight:600;cursor:pointer;transition:all .3s ease}.empty-state-btn:hover{transform:translateY(-2px);box-shadow:0 4px 12px #0ea5e94d}.patients-page{min-height:100%;padding-bottom:2rem}.patients-header{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:2rem;flex-wrap:wrap;gap:1.5rem}.patients-header-left h1{font-size:2rem;font-weight:700;color:#0f172a;margin:0 0 .5rem;display:flex;align-items:center;gap:.75rem}.patients-header-left h1:before{content:"";width:4px;height:28px;background:linear-gradient(180deg,#06b6d4,#0891b2);border-radius:4px}.patients-header-left p{color:#64748b;font-size:.95rem;margin:0}.patients-header-right{display:flex;gap:.75rem}.btn-export:hover{border-color:#0891b2;color:#0891b2;background:#f0fdfa}.btn-new-patient{display:flex;align-items:center;gap:.5rem;padding:.75rem 1.5rem;background:linear-gradient(135deg,#0891b2,#0e7490);color:#fff;border:none;border-radius:12px;font-size:.875rem;font-weight:600;cursor:pointer;transition:all .3s ease;box-shadow:0 4px 14px #0891b240}.btn-new-patient:hover{background:linear-gradient(135deg,#0e7490,#155e75);transform:translateY(-2px);box-shadow:0 6px 20px #0891b259}.patients-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1.25rem;margin-bottom:2rem}.stat-card{background:#fff;border-radius:16px;padding:1.5rem;display:flex;align-items:center;gap:1rem;box-shadow:0 1px 3px #0000000d;border:1px solid #f1f5f9;transition:all .3s ease}.stat-card:hover{transform:translateY(-2px);box-shadow:0 8px 25px #00000014}.stat-icon{width:52px;height:52px;border-radius:14px;display:flex;align-items:center;justify-content:center;font-size:1.5rem}.stat-icon.total{background:linear-gradient(135deg,#dbeafe,#bfdbfe)}.stat-icon.new{background:linear-gradient(135deg,#fef3c7,#fde68a)}.stat-icon.inactive{background:linear-gradient(135deg,#fce7f3,#fbcfe8)}.patients-controls{background:#fff;border-radius:16px;padding:1.25rem;margin-bottom:1.5rem;display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:1rem;box-shadow:0 1px 3px #0000000d;border:1px solid #f1f5f9}.search-box{position:relative;flex:1;max-width:400px}.search-box input:focus{outline:none;border-color:#0891b2;background:#fff;box-shadow:0 0 0 3px #0891b21a}.filter-tabs{display:flex;background:#f1f5f9;border-radius:10px;padding:4px;gap:4px}.filter-tab{padding:.625rem 1.25rem;border:none;background:transparent;border-radius:8px;font-size:.875rem;font-weight:500;color:#64748b;cursor:pointer;transition:all .2s ease}.filter-tab.active{background:#fff;color:#0891b2;box-shadow:0 1px 3px #0000001a}.view-toggle{display:flex;gap:.5rem}.view-btn{width:40px;height:40px;border:1px solid #e2e8f0;background:#fff;border-radius:10px;display:flex;align-items:center;justify-content:center;cursor:pointer;color:#64748b;transition:all .2s ease;font-size:1.1rem}.view-btn:hover{border-color:#0891b2;color:#0891b2}.view-btn.active{background:#0891b2;border-color:#0891b2;color:#fff}.patients-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:1.5rem}@media(min-width:1400px){.patients-grid{grid-template-columns:repeat(4,1fr)}}@media(min-width:1800px){.patients-grid{grid-template-columns:repeat(5,1fr)}}.patient-card{background:#fff;border-radius:20px;overflow:hidden;box-shadow:0 1px 3px #0000000d;border:1px solid #f1f5f9;transition:all .3s ease;position:relative}.patient-card:hover{transform:translateY(-4px);box-shadow:0 20px 40px #0000001a;border-color:transparent}.patient-card-header{position:relative;padding:1.5rem 1.5rem 1rem;background:linear-gradient(135deg,#f0fdfa,#ecfeff)}.patient-card-header:after{content:"";position:absolute;bottom:0;left:0;right:0;height:30px;background:#fff;border-radius:30px 30px 0 0}.patient-status-badge{position:absolute;top:1rem;right:1rem;padding:.35rem .75rem;border-radius:20px;font-size:.7rem;font-weight:600;text-transform:uppercase;letter-spacing:.5px}.patient-status-badge.active{background:linear-gradient(135deg,#d1fae5,#a7f3d0);color:#047857}.patient-status-badge.inactive{background:linear-gradient(135deg,#fee2e2,#fecaca);color:#dc2626}.patient-avatar{width:90px;height:90px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:2rem;font-weight:700;color:#fff;background:linear-gradient(135deg,#0891b2,#0e7490);border:4px solid white;box-shadow:0 8px 25px #0891b24d;position:relative;overflow:hidden}.patient-avatar img{width:100%;height:100%;object-fit:cover}.patient-avatar.female{background:linear-gradient(135deg,#ec4899,#db2777);box-shadow:0 8px 25px #ec48994d}.patient-avatar.male{background:linear-gradient(135deg,#3b82f6,#2563eb);box-shadow:0 8px 25px #3b82f64d}.patient-avatar-wrapper{position:relative;z-index:1;display:flex;justify-content:center}.online-indicator{position:absolute;bottom:2px;right:calc(50% - 53px);width:18px;height:18px;background:linear-gradient(135deg,#22c55e,#16a34a);border:3px solid white;border-radius:50%;box-shadow:0 2px 8px #22c55e66;z-index:10}.patient-card-body{padding:.5rem 1.5rem 1.25rem;text-align:center}.patient-name{font-size:1.1rem;font-weight:700;color:#0f172a;margin:0 0 .25rem}.patient-email{font-size:.8rem;color:#64748b;margin:0;word-break:break-all}.patient-info-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:.5rem;padding:1rem 1.5rem;background:#f8fafc;border-top:1px solid #f1f5f9}.patient-info-item{text-align:center;padding:.5rem}.patient-info-item .label{font-size:.65rem;color:#94a3b8;text-transform:uppercase;letter-spacing:.5px;margin-bottom:.25rem}.patient-info-item .value{font-size:.85rem;font-weight:600;color:#334155}.patient-card-footer{display:flex;border-top:1px solid #f1f5f9}.patient-action-btn{flex:1;padding:.875rem;border:none;background:transparent;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:.5rem;font-size:.8rem;font-weight:500;color:#64748b;transition:all .2s ease}.patient-action-btn:hover{background:#f0fdfa;color:#0891b2}.patient-action-btn:not(:last-child){border-right:1px solid #f1f5f9}.patient-action-btn.primary{color:#0891b2}.patient-action-btn.danger:hover{background:#fef2f2;color:#dc2626}.patient-tags{display:flex;flex-wrap:wrap;gap:.5rem;padding:0 1.5rem 1rem;justify-content:center}.patient-tag{padding:.35rem .75rem;background:#f1f5f9;border-radius:20px;font-size:.7rem;color:#475569;display:flex;align-items:center;gap:.35rem}.patient-tag.warning{background:#fef3c7;color:#92400e}.patient-tag.danger{background:#fee2e2;color:#dc2626}.patients-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:4rem 2rem;gap:1rem}.loading-spinner{width:50px;height:50px;border:3px solid #e2e8f0;border-top-color:#0891b2;border-radius:50%;animation:spin 1s linear infinite}.patients-loading p{color:#64748b;font-size:.95rem}.patients-empty{text-align:center;padding:4rem 2rem;background:#fff;border-radius:20px;border:2px dashed #e2e8f0}.patients-empty-icon{width:100px;height:100px;background:linear-gradient(135deg,#f0fdfa,#ecfeff);border-radius:50%;display:flex;align-items:center;justify-content:center;margin:0 auto 1.5rem;font-size:2.5rem}.patients-empty h3{font-size:1.25rem;color:#0f172a;margin:0 0 .5rem}.patients-empty p{color:#64748b;margin:0 0 1.5rem}.patients-pagination{display:flex;align-items:center;justify-content:space-between;padding:1.5rem 0;margin-top:1rem;flex-wrap:wrap;gap:1rem}.pagination-info strong{color:#0f172a}.pagination-btn{min-width:40px;height:40px;padding:0 .75rem;border:1px solid #e2e8f0;background:#fff;border-radius:10px;font-size:.875rem;font-weight:500;color:#475569;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;justify-content:center}.pagination-btn:hover:not(:disabled){border-color:#0891b2;color:#0891b2}.pagination-btn.active{background:linear-gradient(135deg,#0891b2,#0e7490);border-color:#0891b2;color:#fff}.modal-overlay{position:fixed;inset:0;background:#0f172a99;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:1000;padding:1rem}.modal-premium{background:#fff;border-radius:24px;width:100%;max-width:600px;max-height:90vh;overflow:hidden;box-shadow:0 25px 50px #00000040;animation:modalSlideIn .3s ease}.modal-premium-header{padding:1.5rem 2rem;background:linear-gradient(135deg,#f0fdfa,#ecfeff);border-bottom:1px solid #e2e8f0;display:flex;align-items:center;justify-content:space-between}.modal-premium-header h2{font-size:1.25rem;font-weight:700;color:#0f172a;margin:0;display:flex;align-items:center;gap:.75rem}.modal-close-btn{width:36px;height:36px;border:none;background:#fff;border-radius:10px;cursor:pointer;display:flex;align-items:center;justify-content:center;color:#64748b;font-size:1.25rem;transition:all .2s ease;box-shadow:0 1px 3px #0000001a}.modal-premium-body{padding:2rem;max-height:60vh;overflow-y:auto}.form-section{margin-bottom:1.5rem}.form-section-title{font-size:.8rem;font-weight:600;color:#0891b2;text-transform:uppercase;letter-spacing:.5px;margin-bottom:1rem;display:flex;align-items:center;gap:.5rem}.form-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem}.form-group.full-width{grid-column:1 / -1}.form-label{font-size:.85rem;font-weight:500;color:#374151}.form-input,.form-select{padding:.75rem 1rem;border:2px solid #e2e8f0;border-radius:10px;font-size:.9rem;transition:all .2s ease;background:#f8fafc}.form-input:focus,.form-select:focus{outline:none;border-color:#0891b2;background:#fff;box-shadow:0 0 0 3px #0891b21a}.form-textarea{padding:.75rem 1rem;border:2px solid #e2e8f0;border-radius:10px;font-size:.9rem;min-height:100px;resize:vertical;transition:all .2s ease;background:#f8fafc;font-family:inherit}.form-textarea:focus{outline:none;border-color:#0891b2;background:#fff;box-shadow:0 0 0 3px #0891b21a}.modal-premium-footer{padding:1.25rem 2rem;background:#f8fafc;border-top:1px solid #e2e8f0;display:flex;justify-content:flex-end;gap:.75rem}.btn-cancel{padding:.75rem 1.5rem;border:1px solid #e2e8f0;background:#fff;border-radius:10px;font-size:.875rem;font-weight:500;color:#64748b;cursor:pointer;transition:all .2s ease}.btn-cancel:hover{border-color:#dc2626;color:#dc2626;background:#fef2f2}.btn-save{padding:.75rem 1.5rem;background:linear-gradient(135deg,#0891b2,#0e7490);color:#fff;border:none;border-radius:10px;font-size:.875rem;font-weight:600;cursor:pointer;transition:all .2s ease;box-shadow:0 4px 14px #0891b240}.btn-save:hover{background:linear-gradient(135deg,#0e7490,#155e75);transform:translateY(-1px);box-shadow:0 6px 20px #0891b259}.patients-list{display:flex;flex-direction:column;gap:1rem}.patient-list-item{background:#fff;border-radius:16px;padding:1.25rem 1.5rem;display:flex;align-items:center;gap:1.5rem;box-shadow:0 1px 3px #0000000d;border:1px solid #f1f5f9;transition:all .3s ease}.patient-list-item:hover{transform:translate(4px);box-shadow:0 8px 25px #00000014;border-color:#0891b2}.patient-list-avatar-wrapper{position:relative;flex-shrink:0}.patient-list-avatar{width:56px;height:56px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:1.25rem;font-weight:700;color:#fff;background:linear-gradient(135deg,#0891b2,#0e7490)}.patient-list-avatar.female{background:linear-gradient(135deg,#ec4899,#db2777)}.patient-list-avatar.male{background:linear-gradient(135deg,#3b82f6,#2563eb)}.patient-list-avatar-wrapper .online-indicator{position:absolute;bottom:0;right:-2px;width:14px;height:14px}.patient-list-info{flex:1;min-width:0}.patient-list-name{font-size:1rem;font-weight:600;color:#0f172a;margin:0 0 .25rem;display:flex;align-items:center;gap:.75rem}.patient-list-email{font-size:.85rem;color:#64748b;margin:0}.patient-list-details{display:flex;align-items:center;gap:2rem;flex-shrink:0}.patient-list-detail{text-align:center;min-width:80px}.patient-list-detail .label{font-size:.7rem;color:#94a3b8;text-transform:uppercase;letter-spacing:.5px;margin-bottom:.25rem}.patient-list-detail .value{font-size:.9rem;font-weight:600;color:#334155}.patient-list-tags,.patient-list-actions{display:flex;gap:.5rem;flex-shrink:0}.patient-list-action-btn{width:38px;height:38px;border:1px solid #e2e8f0;background:#fff;border-radius:10px;display:flex;align-items:center;justify-content:center;cursor:pointer;color:#64748b;transition:all .2s ease;font-size:1rem}.patient-list-action-btn:hover{border-color:#0891b2;color:#0891b2;background:#f0fdfa}.patient-list-action-btn.primary{background:linear-gradient(135deg,#0891b2,#0e7490);border-color:#0891b2;color:#fff}.patient-list-action-btn.primary:hover{background:linear-gradient(135deg,#0e7490,#155e75)}@media(max-width:1024px){.patient-list-details{display:none}}@media(max-width:768px){.patients-header{flex-direction:column;align-items:stretch}.patients-header-right{justify-content:flex-end}.patients-controls{flex-direction:column;align-items:stretch}.search-box{max-width:100%}.filter-tabs{justify-content:center}.patients-grid,.form-grid{grid-template-columns:1fr}.patient-info-grid{grid-template-columns:repeat(3,1fr)}.patient-list-item{flex-wrap:wrap}.patient-list-tags{display:none}}.btn-filter-toggle{display:flex;align-items:center;gap:.5rem;padding:.75rem 1.25rem;background:#fff;color:#475569;border:1px solid #e2e8f0;border-radius:12px;font-size:.875rem;font-weight:500;cursor:pointer;transition:all .2s ease}.btn-filter-toggle:hover,.btn-filter-toggle.active{border-color:#0891b2;color:#0891b2;background:#f0fdfa}.filter-count{background:#0891b2;color:#fff;padding:.1rem .4rem;border-radius:8px;font-size:.7rem;font-weight:600}.patients-advanced-filters{background:#fff;border-radius:16px;padding:1.5rem;margin-bottom:1.5rem;display:flex;flex-wrap:wrap;gap:1.5rem;align-items:flex-end;box-shadow:0 1px 3px #0000000d;border:1px solid #f1f5f9;animation:modalSlideIn .2s ease}.advanced-filter-section{display:flex;flex-direction:column;gap:.5rem}.advanced-filter-label{font-size:.75rem;font-weight:600;color:#0891b2;text-transform:uppercase;letter-spacing:.5px}.advanced-filter-tags{display:flex;flex-wrap:wrap;gap:.4rem}.advanced-filter-tag{display:inline-flex;align-items:center;gap:.35rem;padding:.4rem .75rem;background:#f8fafc;border:1px solid #e2e8f0;border-radius:20px;font-size:.8rem;color:#475569;cursor:pointer;transition:all .2s ease}.advanced-filter-tag:hover{border-color:#0891b2}.advanced-filter-tag.selected{font-weight:600}.tag-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}.no-tags-text{font-size:.8rem;color:#94a3b8}.advanced-filter-row{display:flex;align-items:center;gap:.5rem}.form-input.small{width:80px;padding:.5rem .75rem;font-size:.85rem}.advanced-filter-clear{padding:.5rem 1rem;background:none;border:1px solid #e2e8f0;border-radius:10px;color:#64748b;font-size:.8rem;cursor:pointer;transition:all .2s ease;align-self:flex-end}.advanced-filter-clear:hover{border-color:#dc2626;color:#dc2626;background:#fef2f2}.duplicate-warning{display:flex;gap:.75rem;padding:1rem 1.25rem;background:linear-gradient(135deg,#fef3c7,#fde68a);border-radius:12px;margin-bottom:1.5rem;border:1px solid #f59e0b}.duplicate-warning-icon{font-size:1.5rem;flex-shrink:0}.duplicate-warning strong{font-size:.9rem;color:#78350f;display:block;margin-bottom:.25rem}.duplicate-warning p{font-size:.8rem;color:#92400e;margin:.15rem 0 0}.patient-detail-page{min-height:100%;padding-bottom:2rem}.pd-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:4rem 2rem;gap:1rem}.pd-loading p{color:#64748b;font-size:.95rem}.pd-empty{text-align:center;padding:4rem 2rem;background:#fff;border-radius:20px;border:2px dashed #e2e8f0}.pd-empty-icon{width:100px;height:100px;background:linear-gradient(135deg,#f0fdfa,#ecfeff);border-radius:50%;display:flex;align-items:center;justify-content:center;margin:0 auto 1.5rem;font-size:2.5rem}.pd-empty h3{font-size:1.25rem;color:#0f172a;margin:0 0 1rem}.btn-back{padding:.75rem 1.5rem;background:linear-gradient(135deg,#0891b2,#0e7490);color:#fff;border:none;border-radius:12px;cursor:pointer;font-weight:600}.pd-back-btn{display:inline-flex;align-items:center;gap:.5rem;padding:.5rem 1rem;background:none;border:1px solid #e2e8f0;border-radius:10px;color:#64748b;font-size:.85rem;cursor:pointer;margin-bottom:1.25rem;transition:all .2s ease}.pd-back-btn:hover{border-color:#0891b2;color:#0891b2;background:#f0fdfa}.pd-header-main{background:#fff;border-radius:20px;padding:2rem;box-shadow:0 1px 3px #0000000d;border:1px solid #f1f5f9;display:flex;align-items:flex-start;justify-content:space-between;gap:1.5rem;flex-wrap:wrap}.pd-header-left{display:flex;gap:1.5rem;align-items:flex-start;flex:1;min-width:0}.pd-avatar{width:80px;height:80px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:1.75rem;font-weight:700;color:#fff;background:linear-gradient(135deg,#0891b2,#0e7490);box-shadow:0 8px 25px #0891b24d;flex-shrink:0;overflow:hidden}.pd-avatar img{width:100%;height:100%;object-fit:cover}.pd-avatar.female{background:linear-gradient(135deg,#ec4899,#db2777);box-shadow:0 8px 25px #ec48994d}.pd-avatar.male{background:linear-gradient(135deg,#3b82f6,#2563eb);box-shadow:0 8px 25px #3b82f64d}.pd-header-info{flex:1;min-width:0}.pd-header-name-row{display:flex;align-items:center;gap:.75rem;flex-wrap:wrap;margin-bottom:.5rem}.pd-header-name-row h1{font-size:1.5rem;font-weight:700;color:#0f172a;margin:0}.pd-status-badge{padding:.3rem .75rem;border-radius:20px;font-size:.7rem;font-weight:600;text-transform:uppercase;letter-spacing:.5px}.pd-status-badge.active{background:linear-gradient(135deg,#d1fae5,#a7f3d0);color:#047857}.pd-status-badge.inactive{background:linear-gradient(135deg,#fee2e2,#fecaca);color:#dc2626}.pd-status-badge.archived{background:linear-gradient(135deg,#f1f5f9,#e2e8f0);color:#64748b}.pd-alert-indicator{padding:.3rem .75rem;background:linear-gradient(135deg,#fef3c7,#fde68a);color:#92400e;border:none;border-radius:20px;font-size:.75rem;font-weight:600;cursor:pointer;transition:all .2s ease}.pd-alert-indicator:hover{transform:scale(1.05)}.pd-header-meta{display:flex;flex-wrap:wrap;gap:1rem;margin-bottom:.75rem}.pd-header-meta span{font-size:.85rem;color:#64748b;display:flex;align-items:center;gap:.35rem}.pd-tags-row{display:flex;flex-wrap:wrap;gap:.5rem;align-items:center;position:relative}.pd-tag-pill{display:inline-flex;align-items:center;gap:.35rem;padding:.3rem .75rem;border-radius:20px;font-size:.75rem;font-weight:600;border:1px solid;transition:all .2s ease}.pd-tag-remove{background:none;border:none;cursor:pointer;font-size:.9rem;line-height:1;opacity:.6;padding:0;color:inherit}.pd-tag-remove:hover{opacity:1}.pd-tag-add{padding:.3rem .75rem;background:#f1f5f9;border:1px dashed #cbd5e1;border-radius:20px;font-size:.75rem;color:#64748b;cursor:pointer;transition:all .2s ease}.pd-tag-add:hover{border-color:#0891b2;color:#0891b2;background:#f0fdfa}.pd-tag-picker{position:absolute;top:100%;left:0;margin-top:.5rem;background:#fff;border-radius:12px;box-shadow:0 10px 30px #00000026;border:1px solid #e2e8f0;padding:.5rem;z-index:100;min-width:200px;animation:modalSlideIn .2s ease}.pd-tag-picker-item{display:block;width:100%;padding:.6rem .75rem;background:none;border:none;border-left:3px solid;text-align:left;font-size:.85rem;color:#334155;cursor:pointer;border-radius:0 8px 8px 0;transition:background .15s ease}.pd-tag-picker-item:hover{background:#f0fdfa}.pd-tag-picker-empty{padding:.75rem;color:#94a3b8;font-size:.8rem;text-align:center;margin:0}.pd-tabs{display:flex;background:#fff;border-radius:16px;padding:6px;margin:1.5rem 0;box-shadow:0 1px 3px #0000000d;border:1px solid #f1f5f9;gap:4px}.pd-tab{flex:1;padding:.875rem 1.5rem;background:transparent;border:none;border-radius:12px;font-size:.9rem;font-weight:500;color:#64748b;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:.5rem;transition:all .2s ease}.pd-tab:hover{color:#0891b2;background:#f0fdfa}.pd-tab.active{background:linear-gradient(135deg,#0891b2,#0e7490);color:#fff;box-shadow:0 4px 14px #0891b240}.pd-section-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:1.5rem}.pd-section-header h3{font-size:1.25rem;font-weight:700;color:#0f172a;margin:0}.pd-empty-section{text-align:center;padding:3rem 2rem;background:#fff;border-radius:16px;border:2px dashed #e2e8f0}.pd-empty-section-icon{font-size:2rem;margin-bottom:.75rem}.pd-empty-section p{color:#94a3b8;margin:0}.pd-profile-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1.5rem}.pd-card{background:#fff;border-radius:16px;box-shadow:0 1px 3px #0000000d;border:1px solid #f1f5f9;overflow:hidden;transition:all .3s ease}.pd-card:hover{box-shadow:0 8px 25px #00000014}.pd-card-header{padding:1.25rem 1.5rem .75rem;font-size:.8rem;font-weight:600;color:#0891b2;text-transform:uppercase;letter-spacing:.5px;display:flex;align-items:center;gap:.5rem}.pd-card-body{padding:0 1.5rem 1.25rem}.pd-card-divider{height:1px;background:#f1f5f9;margin:0 1.5rem}.pd-info-row{display:flex;justify-content:space-between;align-items:flex-start;padding:.6rem 0;border-bottom:1px solid #f8fafc}.pd-info-row:last-child{border-bottom:none}.pd-info-row-highlight{background:#f8fafc;margin:.5rem -1.5rem 0;padding:.75rem 1.5rem;border-radius:0 0 16px 16px;border-bottom:none}.pd-info-label{font-size:.85rem;color:#94a3b8;flex-shrink:0}.pd-info-value{font-size:.9rem;font-weight:500;color:#334155;text-align:right}.pd-info-tags{display:flex;flex-wrap:wrap;gap:.4rem;justify-content:flex-end}.pd-mini-tag{padding:.2rem .6rem;background:#f1f5f9;border-radius:12px;font-size:.7rem;font-weight:500;color:#475569}.pd-mini-tag.warning{background:#fef3c7;color:#92400e}.pd-mini-tag.info{background:#dbeafe;color:#1e40af}.pd-implants-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:1.25rem}.pd-implant-card{background:#fff;border-radius:16px;padding:1.5rem;box-shadow:0 1px 3px #0000000d;border:1px solid #f1f5f9;transition:all .3s ease}.pd-implant-card:hover{transform:translateY(-2px);box-shadow:0 8px 25px #00000014}.pd-implant-card-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.pd-implant-brand{font-size:1.1rem;font-weight:700;color:#0f172a}.pd-implant-info{display:flex;flex-direction:column;gap:.4rem}.pd-implant-row{font-size:.85rem;color:#475569}.pd-implant-row span{color:#94a3b8;font-weight:500}.pd-notes-list{display:flex;flex-direction:column;gap:1rem}.pd-note-item{background:#fff;border-radius:16px;padding:1.25rem 1.5rem;box-shadow:0 1px 3px #0000000d;border:1px solid #f1f5f9;transition:all .2s ease}.pd-note-item.alert{border-left:4px solid}.pd-note-item.alert.severity-info{border-left-color:#3b82f6;background:#f0f7ff}.pd-note-item.alert.severity-warning{border-left-color:#f59e0b;background:#fffbeb}.pd-note-item.alert.severity-critical{border-left-color:#ef4444;background:#fef2f2}.pd-note-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.5rem}.pd-note-meta{display:flex;align-items:center;gap:.75rem}.pd-note-severity{font-size:.75rem;font-weight:600;color:#92400e}.pd-note-author{font-size:.8rem;font-weight:600;color:#475569}.pd-note-date{font-size:.75rem;color:#94a3b8}.pd-note-dismiss{width:28px;height:28px;border:1px solid #e2e8f0;background:#fff;border-radius:8px;cursor:pointer;color:#94a3b8;display:flex;align-items:center;justify-content:center;transition:all .2s ease}.pd-note-dismiss:hover{background:#fee2e2;color:#dc2626;border-color:#fecaca}.pd-note-content{font-size:.9rem;color:#334155;line-height:1.6;margin:0}.pd-finance-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1.25rem;margin-bottom:1.5rem}.pd-finance-card{background:#fff;border-radius:16px;padding:1.5rem;display:flex;align-items:center;gap:1rem;box-shadow:0 1px 3px #0000000d;border:1px solid #f1f5f9;transition:all .3s ease}.pd-finance-card:hover{transform:translateY(-2px);box-shadow:0 8px 25px #00000014}.pd-finance-card-icon{width:48px;height:48px;border-radius:14px;display:flex;align-items:center;justify-content:center;font-size:1.25rem;flex-shrink:0}.pd-finance-card-icon.total{background:linear-gradient(135deg,#dbeafe,#bfdbfe)}.pd-finance-card-icon.paid{background:linear-gradient(135deg,#d1fae5,#a7f3d0)}.pd-finance-card-icon.pending{background:linear-gradient(135deg,#fef3c7,#fde68a)}.pd-finance-card-icon.advance{background:linear-gradient(135deg,#e0e7ff,#c7d2fe)}.pd-finance-amount{font-size:1.25rem;font-weight:700;color:#0f172a}.pd-finance-label{font-size:.8rem;color:#64748b;margin-top:.15rem}.pd-finance-subtabs{display:flex;background:#f1f5f9;border-radius:10px;padding:4px;gap:4px;margin-bottom:1.5rem}.pd-finance-subtab{flex:1;padding:.625rem 1rem;border:none;background:transparent;border-radius:8px;font-size:.85rem;font-weight:500;color:#64748b;cursor:pointer;transition:all .2s ease}.pd-finance-subtab:hover{color:#0891b2}.pd-finance-subtab.active{background:#fff;color:#0891b2;box-shadow:0 1px 3px #0000001a}.pd-finance-list{display:flex;flex-direction:column;gap:.75rem}.pd-finance-row{background:#fff;border-radius:14px;padding:1.25rem 1.5rem;display:flex;align-items:center;justify-content:space-between;gap:1.5rem;box-shadow:0 1px 3px #0000000d;border:1px solid #f1f5f9;transition:all .2s ease}.pd-finance-row:hover{box-shadow:0 4px 15px #00000014}.pd-finance-row-main{display:flex;align-items:center;gap:.75rem;min-width:200px}.pd-finance-row-number{font-weight:600;color:#0f172a;font-size:.9rem}.pd-invoice-status{padding:.3rem .75rem;border-radius:20px;font-size:.7rem;font-weight:600;text-transform:uppercase;letter-spacing:.5px}.pd-invoice-status.draft,.pd-invoice-status.expired{background:linear-gradient(135deg,#f1f5f9,#e2e8f0);color:#475569}.pd-invoice-status.sent,.pd-invoice-status.pending,.pd-invoice-status.partial{background:linear-gradient(135deg,#fef3c7,#fde68a);color:#92400e}.pd-invoice-status.accepted,.pd-invoice-status.paid,.pd-invoice-status.converted{background:linear-gradient(135deg,#d1fae5,#a7f3d0);color:#047857}.pd-invoice-status.rejected,.pd-invoice-status.overdue,.pd-invoice-status.cancelled{background:linear-gradient(135deg,#fee2e2,#fecaca);color:#dc2626}.pd-finance-row-details{display:flex;gap:1rem;flex:1}.pd-finance-row-details span{font-size:.8rem;color:#94a3b8}.pd-finance-row-amount{font-size:1.1rem;font-weight:700;color:#0f172a;min-width:100px;text-align:right}.pd-finance-row-amount.refund{color:#dc2626}.pd-payment-method{padding:.2rem .6rem;background:#f1f5f9;border-radius:8px;font-size:.7rem;color:#64748b;text-transform:uppercase}.pd-finance-summary{max-width:600px}.pd-alert-modal{background:#fff;border-radius:24px;width:100%;max-width:500px;overflow:hidden;box-shadow:0 25px 50px #00000040;animation:modalSlideIn .3s ease}.pd-alert-modal-header{padding:1.25rem 1.5rem;background:linear-gradient(135deg,#fef3c7,#fde68a);display:flex;justify-content:space-between;align-items:center}.pd-alert-modal-header h2{font-size:1.1rem;font-weight:700;color:#78350f;margin:0}.pd-alert-modal-body{padding:1.5rem;max-height:400px;overflow-y:auto;display:flex;flex-direction:column;gap:.75rem}.pd-alert-item{display:flex;gap:.75rem;padding:1rem;border-radius:12px;border:1px solid #f1f5f9}.pd-alert-item.severity-critical{background:#fef2f2;border-color:#fecaca}.pd-alert-item.severity-warning{background:#fffbeb;border-color:#fde68a}.pd-alert-item.severity-info{background:#f0f7ff;border-color:#bfdbfe}.pd-alert-severity{font-size:1.25rem;flex-shrink:0}.pd-alert-content p{margin:0 0 .35rem;font-size:.9rem;color:#334155;font-weight:500}.pd-alert-meta{font-size:.75rem;color:#94a3b8}.pd-modal-wide{max-width:700px}@media(max-width:1024px){.pd-profile-grid{grid-template-columns:1fr}.pd-finance-row{flex-wrap:wrap}.pd-finance-row-details{order:3;width:100%;flex-wrap:wrap}}@media(max-width:768px){.pd-header-main{flex-direction:column}.pd-header-left{flex-direction:column;align-items:center;text-align:center}.pd-header-meta,.pd-tags-row{justify-content:center}.pd-tabs{flex-wrap:wrap}.pd-tab{flex:1 1 45%;font-size:.8rem}.pd-finance-cards{grid-template-columns:repeat(2,1fr)}.pd-implants-grid,.form-grid{grid-template-columns:1fr}}.page-container{display:flex;flex-direction:column;gap:1.5rem}.data-table-container{background:#fff;border-radius:12px;box-shadow:0 1px 3px #0000001a;overflow:hidden}.table-header{display:flex;align-items:center;justify-content:space-between;padding:1rem 1.25rem;border-bottom:1px solid #f1f5f9;flex-wrap:wrap;gap:1rem}.table-search{position:relative;flex:1;max-width:300px}.table-search input{width:100%;padding:.5rem 1rem .5rem 2.5rem;border:1px solid #e2e8f0;border-radius:8px;font-size:.875rem}.table-search input:focus{outline:none;border-color:#22d3ee}.table-search-icon{position:absolute;left:.75rem;top:50%;transform:translateY(-50%);color:#94a3b8}.table-filters{display:flex;gap:.5rem}.filter-btn{padding:.5rem 1rem;border:1px solid #e2e8f0;background:#fff;border-radius:8px;font-size:.875rem;cursor:pointer;color:#475569;transition:all .2s ease}.filter-btn:hover{border-color:#22d3ee;color:#0891b2}.filter-btn.active{background-color:#0891b2;border-color:#0891b2;color:#fff}.btn-primary{display:flex;align-items:center;gap:.5rem;padding:.5rem 1rem;background:linear-gradient(135deg,#0891b2,#0e7490);color:#fff;border:none;border-radius:8px;font-size:.875rem;font-weight:500;cursor:pointer;transition:all .2s ease}.btn-primary:hover{background:linear-gradient(135deg,#0e7490,#155e75);transform:translateY(-1px)}.btn-secondary{display:flex;align-items:center;gap:.5rem;padding:.5rem 1rem;background:#fff;color:#475569;border:1px solid #e2e8f0;border-radius:8px;font-size:.875rem;font-weight:500;cursor:pointer;transition:all .2s ease}.btn-secondary:hover{background:#f8fafc;border-color:#cbd5e1}.data-table{width:100%;border-collapse:collapse}.data-table th{text-align:left;padding:.75rem 1rem;background-color:#f8fafc;font-size:.75rem;font-weight:600;color:#64748b;text-transform:uppercase;letter-spacing:.05em;border-bottom:1px solid #e2e8f0}.data-table td{padding:.875rem 1rem;font-size:.875rem;color:#1e293b;border-bottom:1px solid #f1f5f9}.data-table tbody tr{transition:background-color .15s ease}.data-table tbody tr:hover{background-color:#f8fafc}.data-table tbody tr:last-child td{border-bottom:none}.user-cell{display:flex;align-items:center;gap:.75rem}.user-avatar{width:36px;height:36px;border-radius:50%;background:linear-gradient(135deg,#1e3a5f,#0f2744);display:flex;align-items:center;justify-content:center;color:#fff;font-weight:600;font-size:.8rem}.user-info{display:flex;flex-direction:column}.user-name{font-weight:600;color:#1e293b}.user-email{font-size:.8rem;color:#64748b}.status-badge{display:inline-flex;padding:.25rem .75rem;border-radius:9999px;font-size:.75rem;font-weight:500}.status-badge.active{background-color:#dcfce7;color:#16a34a}.status-badge.inactive{background-color:#f1f5f9;color:#64748b}.status-badge.pending{background-color:#fef3c7;color:#d97706}.status-badge.paid{background-color:#dcfce7;color:#16a34a}.status-badge.overdue{background-color:#fee2e2;color:#dc2626}.status-badge.in-stock{background-color:#dcfce7;color:#16a34a}.status-badge.low-stock{background-color:#fef3c7;color:#d97706}.status-badge.out-of-stock{background-color:#fee2e2;color:#dc2626}.action-buttons{display:flex;gap:.25rem}.action-btn{padding:.375rem;background:none;border:none;border-radius:6px;cursor:pointer;color:#64748b;transition:all .15s ease}.action-btn:hover{background-color:#f1f5f9;color:#1e293b}.action-btn.delete:hover{background-color:#fee2e2;color:#dc2626}.table-pagination{display:flex;align-items:center;justify-content:space-between;padding:1rem 1.25rem;border-top:1px solid #f1f5f9}.pagination-buttons{display:flex;gap:.25rem}.pagination-btn{padding:.375rem .75rem;background:#fff;border:1px solid #e2e8f0;border-radius:6px;font-size:.875rem;cursor:pointer;color:#475569;transition:all .15s ease}.pagination-btn:hover:not(:disabled){border-color:#22d3ee;color:#0891b2}.pagination-btn.active{background-color:#0891b2;border-color:#0891b2;color:#fff}.empty-state{text-align:center;padding:3rem 2rem}.empty-state-icon{font-size:3rem;margin-bottom:1rem}.empty-state-title{font-size:1.125rem;font-weight:600;color:#1e293b;margin-bottom:.5rem}.empty-state-message{color:#64748b;margin-bottom:1.5rem}.modal-overlay{position:fixed;inset:0;background-color:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;padding:1rem}.modal{background:#fff;border-radius:16px;width:100%;max-width:500px;max-height:90vh;overflow-y:auto;box-shadow:0 25px 50px -12px #00000040}.modal-header{display:flex;align-items:center;justify-content:space-between;padding:1.25rem 1.5rem;border-bottom:1px solid #f1f5f9}.modal-title{font-size:1.125rem;font-weight:600;color:#1e293b;margin:0}.modal-close{background:none;border:none;padding:.5rem;cursor:pointer;color:#64748b;border-radius:8px}.modal-close:hover{background-color:#f1f5f9}.modal-body{padding:1.5rem}.modal-footer{display:flex;justify-content:flex-end;gap:.75rem;padding:1rem 1.5rem;border-top:1px solid #f1f5f9}.form-group{margin-bottom:1.25rem}.form-label{display:block;font-size:.875rem;font-weight:500;color:#374151;margin-bottom:.5rem}.form-input{width:100%;padding:.625rem .875rem;border:1px solid #e2e8f0;border-radius:8px;font-size:.875rem;transition:border-color .15s ease}.form-input:focus{outline:none;border-color:#22d3ee;box-shadow:0 0 0 3px #22d3ee1a}.form-select{width:100%;padding:.625rem .875rem;border:1px solid #e2e8f0;border-radius:8px;font-size:.875rem;background-color:#fff;cursor:pointer}.form-select:focus{outline:none;border-color:#22d3ee}.form-textarea{width:100%;padding:.625rem .875rem;border:1px solid #e2e8f0;border-radius:8px;font-size:.875rem;resize:vertical;min-height:80px}.form-textarea:focus{outline:none;border-color:#22d3ee}@media(max-width:768px){.table-header{flex-direction:column;align-items:stretch}.table-search{max-width:none}.table-filters{overflow-x:auto;padding-bottom:.5rem}.data-table{display:block;overflow-x:auto}.form-row{grid-template-columns:1fr}}.appointments-page{display:flex;flex-direction:column;gap:1.5rem;animation:fadeIn .5s ease}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.appointments-header{background:linear-gradient(135deg,#1e3a5f,#0891b2,#22d3ee);border-radius:20px;padding:2rem;position:relative;overflow:hidden}.appointments-header:before{content:"";position:absolute;top:-50%;right:-20%;width:60%;height:200%;background:radial-gradient(ellipse,rgba(255,255,255,.1) 0%,transparent 70%);transform:rotate(-15deg)}.appointments-header:after{content:"";position:absolute;bottom:-30%;left:-10%;width:40%;height:150%;background:radial-gradient(ellipse,rgba(34,211,238,.2) 0%,transparent 60%)}.header-content{display:flex;justify-content:space-between;align-items:center;position:relative;z-index:1}.header-title-section{display:flex;align-items:center;gap:1rem}.header-icon{width:56px;height:56px;background:#ffffff26;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:16px;display:flex;align-items:center;justify-content:center;border:1px solid rgba(255,255,255,.2)}.header-icon svg{width:28px;height:28px;color:#fff}.header-title{font-size:1.75rem;font-weight:700;color:#fff;margin:0;text-shadow:0 2px 10px rgba(0,0,0,.1)}.header-subtitle{color:#fffc;margin:.25rem 0 0;font-size:.95rem}.btn-new-appointment{display:flex;align-items:center;gap:.5rem;padding:.875rem 1.5rem;background:#fff;color:#1e3a5f;border:none;border-radius:12px;font-size:.95rem;font-weight:600;cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1);box-shadow:0 4px 15px #00000026}.btn-new-appointment:hover{transform:translateY(-2px);box-shadow:0 8px 25px #0003}.btn-new-appointment .btn-icon{font-size:1.25rem;font-weight:300}.stats-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem}.stat-card{background:#fff;border-radius:16px;padding:1.25rem;display:flex;align-items:center;gap:1rem;position:relative;overflow:hidden;box-shadow:0 2px 12px #0000000f;transition:all .3s ease}.stat-card:hover{transform:translateY(-4px);box-shadow:0 8px 25px #0000001a}.stat-card:before{content:"";position:absolute;top:0;left:0;width:4px;height:100%}.stat-today:before{background:linear-gradient(180deg,#22d3ee,#0891b2)}.stat-week:before{background:linear-gradient(180deg,#8b5cf6,#6366f1)}.stat-pending:before{background:linear-gradient(180deg,#10b981,#059669)}.stat-warning:before{background:linear-gradient(180deg,#f59e0b,#d97706)}.stat-icon{width:48px;height:48px;border-radius:12px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.stat-today .stat-icon{background:linear-gradient(135deg,#cffafe,#a5f3fc)}.stat-week .stat-icon{background:linear-gradient(135deg,#ede9fe,#ddd6fe)}.stat-pending .stat-icon{background:linear-gradient(135deg,#d1fae5,#a7f3d0)}.stat-warning .stat-icon{background:linear-gradient(135deg,#fef3c7,#fde68a)}.stat-icon svg{width:24px;height:24px}.stat-today .stat-icon svg{color:#0891b2}.stat-week .stat-icon svg{color:#7c3aed}.stat-pending .stat-icon svg{color:#059669}.stat-warning .stat-icon svg{color:#d97706}.stat-content{display:flex;flex-direction:column;flex:1}.stat-value{font-size:1.75rem;font-weight:700;color:#1e293b;line-height:1}.stat-label{font-size:.8rem;color:#64748b;margin-top:.25rem}.stat-trend{display:flex;align-items:center;gap:.25rem;font-size:.75rem;font-weight:600;padding:.25rem .5rem;border-radius:6px}.stat-trend.positive{background:#d1fae5;color:#059669}.stat-trend svg{width:14px;height:14px}.stat-progress{width:60px;height:6px;background:#e2e8f0;border-radius:3px;overflow:hidden}.progress-bar{height:100%;background:linear-gradient(90deg,#8b5cf6,#6366f1);border-radius:3px;transition:width .5s ease}.stat-badge{font-size:.7rem;font-weight:600;padding:.25rem .5rem;border-radius:6px}.stat-badge.success{background:#d1fae5;color:#059669}.stat-badge.warning{background:#fef3c7;color:#d97706}.controls-bar{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:1rem}.view-switcher{display:flex;background:#fff;padding:.375rem;border-radius:12px;box-shadow:0 2px 8px #0000000f}.view-option{display:flex;align-items:center;gap:.5rem;padding:.625rem 1.25rem;border:none;background:transparent;border-radius:8px;font-size:.875rem;font-weight:500;color:#64748b;cursor:pointer;transition:all .2s ease}.view-option svg{width:18px;height:18px}.view-option:hover{color:#1e293b}.view-option.active{background:linear-gradient(135deg,#0891b2,#0e7490);color:#fff;box-shadow:0 2px 8px #0891b24d}.filter-pills{display:flex;gap:.5rem}.filter-pill{padding:.5rem 1rem;border:2px solid #e2e8f0;background:#fff;border-radius:20px;font-size:.8rem;font-weight:500;color:#64748b;cursor:pointer;transition:all .2s ease}.filter-pill:hover{border-color:#22d3ee;color:#0891b2}.filter-pill.active{background:linear-gradient(135deg,#0891b2,#0e7490);border-color:transparent;color:#fff}.calendar-layout{display:grid;grid-template-columns:1fr 380px;gap:1.5rem}.calendar-section{background:#fff;border-radius:20px;padding:1.5rem;box-shadow:0 4px 20px #0000000f}.calendar-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:1.5rem}.calendar-nav{width:40px;height:40px;border:none;background:#f1f5f9;border-radius:10px;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s ease}.calendar-nav:hover{background:#e2e8f0;transform:scale(1.05)}.calendar-nav svg{width:20px;height:20px;color:#475569}.calendar-title{display:flex;align-items:center;gap:1rem}.calendar-title h2{font-size:1.25rem;font-weight:600;color:#1e293b;text-transform:capitalize;margin:0}.today-btn{padding:.375rem .75rem;border:2px solid #22d3ee;background:transparent;border-radius:8px;font-size:.75rem;font-weight:600;color:#0891b2;cursor:pointer;transition:all .2s ease}.today-btn:hover{background:#0891b2;color:#fff}.calendar-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:.5rem}.calendar-weekday{text-align:center;font-size:.75rem;font-weight:600;color:#94a3b8;padding:.5rem;text-transform:uppercase}.calendar-day{aspect-ratio:1;display:flex;flex-direction:column;align-items:center;justify-content:center;border-radius:12px;cursor:pointer;transition:all .2s ease;position:relative;background:#f8fafc}.calendar-day:hover:not(.empty){background:#e2e8f0;transform:scale(1.05)}.calendar-day.empty{background:transparent;cursor:default}.calendar-day .day-number{font-size:.9rem;font-weight:500;color:#475569}.calendar-day.today{background:linear-gradient(135deg,#0891b2,#0e7490);box-shadow:0 4px 12px #0891b24d}.calendar-day.today .day-number{color:#fff;font-weight:700}.calendar-day.selected:not(.today){background:#1e3a5f}.calendar-day.selected:not(.today) .day-number{color:#fff}.calendar-day.has-appointments:after{content:"";position:absolute;bottom:6px;width:6px;height:6px;background:#22d3ee;border-radius:50%}.calendar-day.today.has-appointments:after{background:#fff}.appointment-dots{display:flex;gap:3px;position:absolute;bottom:6px}.appointment-dots .dot{width:5px;height:5px;background:#22d3ee;border-radius:50%}.calendar-day.today .dot{background:#fff}.more-indicator{font-size:.6rem;color:#64748b}.day-details{background:#fff;border-radius:20px;padding:1.5rem;box-shadow:0 4px 20px #0000000f;display:flex;flex-direction:column}.day-details-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem;padding-bottom:1rem;border-bottom:2px solid #f1f5f9}.day-details-header h3{font-size:1.1rem;font-weight:600;color:#1e293b;margin:0;text-transform:capitalize}.appointment-count{font-size:.8rem;font-weight:600;padding:.375rem .75rem;background:linear-gradient(135deg,#cffafe,#a5f3fc);color:#0891b2;border-radius:20px}.day-timeline{flex:1;overflow-y:auto}.no-appointments{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:3rem 1rem;text-align:center}.no-appointments .empty-icon{font-size:3rem;margin-bottom:1rem;opacity:.5}.no-appointments p{color:#64748b;margin-bottom:1rem}.btn-add-small{padding:.5rem 1rem;border:2px dashed #22d3ee;background:transparent;border-radius:10px;color:#0891b2;font-size:.875rem;font-weight:500;cursor:pointer;transition:all .2s ease}.btn-add-small:hover{background:#cffafe}.timeline-item{display:flex;gap:1rem;padding:1rem;background:#f8fafc;border-radius:14px;margin-bottom:.75rem;animation:slideIn .3s ease forwards;opacity:0;transform:translate(-10px)}@keyframes slideIn{to{opacity:1;transform:translate(0)}}.timeline-time{display:flex;flex-direction:column;align-items:center;min-width:50px}.time-start{font-size:.875rem;font-weight:600;color:#1e293b}.time-end{font-size:.7rem;color:#94a3b8}.timeline-connector{display:flex;flex-direction:column;align-items:center;padding:.25rem 0}.connector-dot{width:10px;height:10px;background:linear-gradient(135deg,#22d3ee,#0891b2);border-radius:50%;flex-shrink:0}.connector-line{width:2px;flex:1;background:#e2e8f0;margin-top:4px}.timeline-header{display:flex;align-items:center;gap:.5rem;margin-bottom:.5rem}.type-icon{font-size:1rem}.type-name{font-weight:600;font-size:.9rem;color:#1e293b}.status-pill{margin-left:auto;font-size:.65rem;font-weight:600;padding:.25rem .5rem;border-radius:6px}.status-pill.active{background:#d1fae5;color:#059669}.status-pill.pending{background:#fef3c7;color:#d97706}.status-pill.inactive{background:#e2e8f0;color:#64748b}.status-pill.overdue{background:#fee2e2;color:#dc2626}.timeline-patient{display:flex;align-items:center;gap:.75rem;margin-bottom:.75rem}.patient-avatar{width:36px;height:36px;background:linear-gradient(135deg,#1e3a5f,#0891b2);border-radius:10px;display:flex;align-items:center;justify-content:center;color:#fff;font-size:.75rem;font-weight:600}.patient-info{display:flex;flex-direction:column}.patient-name{font-size:.85rem;font-weight:500;color:#1e293b}.dentist-name{font-size:.75rem;color:#64748b}.timeline-actions{display:flex;gap:.5rem}.timeline-actions .action-btn{width:32px;height:32px;border:none;border-radius:8px;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s ease}.timeline-actions .action-btn svg{width:16px;height:16px}.action-btn.confirm{background:#d1fae5;color:#059669}.action-btn.confirm:hover{background:#a7f3d0}.action-btn.edit{background:#dbeafe;color:#2563eb}.action-btn.edit:hover{background:#bfdbfe}.action-btn.cancel{background:#fee2e2;color:#dc2626}.action-btn.cancel:hover{background:#fecaca}.list-container{background:#fff;border-radius:20px;padding:1.5rem;box-shadow:0 4px 20px #0000000f}.loading-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:4rem}.loading-spinner{width:48px;height:48px;border:4px solid #e2e8f0;border-top-color:#0891b2;border-radius:50%;animation:spin 1s linear infinite;margin-bottom:1rem}.loading-state p{color:#64748b}.empty-icon-wrapper{width:80px;height:80px;background:linear-gradient(135deg,#f1f5f9,#e2e8f0);border-radius:20px;display:flex;align-items:center;justify-content:center;margin-bottom:1.5rem}.empty-icon-wrapper svg{width:40px;height:40px;color:#94a3b8}.empty-state-premium h3{font-size:1.25rem;font-weight:600;color:#1e293b;margin:0 0 .5rem}.appointments-list{display:flex;flex-direction:column;gap:.75rem}.appointment-card{display:flex;background:#f8fafc;border-radius:16px;overflow:hidden;transition:all .3s ease;animation:cardSlide .4s ease forwards;opacity:0;transform:translateY(10px)}@keyframes cardSlide{to{opacity:1;transform:translateY(0)}}.appointment-card:hover{transform:translateY(-2px);box-shadow:0 8px 25px #00000014}.card-accent{width:4px;flex-shrink:0}.appointment-card.scheduled .card-accent{background:linear-gradient(180deg,#fbbf24,#d97706)}.appointment-card.confirmed .card-accent{background:linear-gradient(180deg,#34d399,#059669)}.appointment-card.completed .card-accent{background:linear-gradient(180deg,#94a3b8,#64748b)}.appointment-card.cancelled .card-accent{background:linear-gradient(180deg,#f87171,#dc2626)}.card-content{display:flex;align-items:center;padding:1rem 1.25rem;flex:1;gap:1.5rem}.card-left{display:flex;align-items:center;gap:1rem;min-width:140px}.card-date{display:flex;flex-direction:column;align-items:center;background:#fff;padding:.5rem .75rem;border-radius:10px;box-shadow:0 2px 6px #0000000f}.date-day{font-size:1.5rem;font-weight:700;color:#1e293b;line-height:1}.date-month{font-size:.7rem;color:#64748b;text-transform:uppercase;font-weight:600}.card-time{display:flex;align-items:center;gap:.375rem;font-size:.85rem;color:#475569}.card-time svg{width:16px;height:16px;color:#94a3b8}.card-center{flex:1;display:flex;flex-direction:column;gap:.5rem}.card-type{display:flex;align-items:center;gap:.5rem}.card-type .type-icon{font-size:1.25rem}.card-type .type-text{font-weight:600;color:#1e293b}.card-patient{display:flex;align-items:center;gap:.75rem}.patient-avatar-small{width:32px;height:32px;background:linear-gradient(135deg,#1e3a5f,#0891b2);border-radius:8px;display:flex;align-items:center;justify-content:center;color:#fff;font-size:.7rem;font-weight:600}.patient-details{display:flex;flex-direction:column}.patient-details .patient-name{font-size:.85rem;color:#1e293b}.dentist-info{font-size:.75rem;color:#64748b}.card-right{display:flex;flex-direction:column;align-items:flex-end;gap:.75rem}.status-badge-premium{padding:.375rem .75rem;border-radius:20px;font-size:.75rem;font-weight:600}.status-badge-premium.active{background:linear-gradient(135deg,#d1fae5,#a7f3d0);color:#059669}.status-badge-premium.pending{background:linear-gradient(135deg,#fef3c7,#fde68a);color:#d97706}.status-badge-premium.inactive{background:linear-gradient(135deg,#f1f5f9,#e2e8f0);color:#64748b}.status-badge-premium.overdue{background:linear-gradient(135deg,#fee2e2,#fecaca);color:#dc2626}.card-actions{display:flex;gap:.375rem}.card-action-btn{width:28px;height:28px;border:none;background:#fff;border-radius:6px;font-size:.875rem;color:#64748b;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;justify-content:center}.card-action-btn:hover{background:#e2e8f0;color:#1e293b}.card-action-btn.danger:hover{background:#fee2e2;color:#dc2626}.modal-premium{background:#fff;border-radius:24px;width:100%;max-width:560px;max-height:90vh;overflow:hidden;display:flex;flex-direction:column;box-shadow:0 25px 50px -12px #00000040;animation:modalSlide .3s ease}@keyframes modalSlide{0%{opacity:0;transform:scale(.95) translateY(20px)}to{opacity:1;transform:scale(1) translateY(0)}}.modal-header-premium{display:flex;align-items:center;gap:1rem;padding:1.5rem;background:linear-gradient(135deg,#1e3a5f,#0891b2);color:#fff}.modal-icon{width:48px;height:48px;background:#ffffff26;border-radius:12px;display:flex;align-items:center;justify-content:center}.modal-icon svg{width:24px;height:24px}.modal-header-premium h2{font-size:1.25rem;font-weight:600;margin:0}.modal-header-premium p{font-size:.875rem;opacity:.8;margin:.25rem 0 0}.modal-close-btn{margin-left:auto;width:36px;height:36px;background:#ffffff1a;border:none;border-radius:10px;display:flex;align-items:center;justify-content:center;color:#fff;cursor:pointer;transition:all .2s ease}.modal-close-btn:hover{background:#fff3}.modal-close-btn svg{width:20px;height:20px}.modal-body-premium{padding:1.5rem;overflow-y:auto;display:flex;flex-direction:column;gap:1.25rem}.form-section{display:flex;flex-direction:column;gap:.5rem}.form-label-premium{display:flex;align-items:center;gap:.5rem;font-size:.875rem;font-weight:600;color:#475569}.form-label-premium svg{width:16px;height:16px;color:#94a3b8}.form-select-premium,.form-input-premium{padding:.75rem 1rem;border:2px solid #e2e8f0;border-radius:12px;font-size:.9rem;color:#1e293b;background:#f8fafc;transition:all .2s ease}.form-select-premium:focus,.form-input-premium:focus{outline:none;border-color:#22d3ee;background:#fff;box-shadow:0 0 0 3px #22d3ee1a}.type-selector{display:grid;grid-template-columns:repeat(4,1fr);gap:.5rem}.type-option{display:flex;flex-direction:column;align-items:center;gap:.25rem;padding:.75rem .5rem;border:2px solid #e2e8f0;background:#f8fafc;border-radius:12px;cursor:pointer;transition:all .2s ease}.type-option:hover{border-color:#22d3ee;background:#cffafe}.type-option.selected{border-color:#0891b2;background:#cffafe}.type-option-icon{font-size:1.5rem}.type-option span:last-child{font-size:.7rem;font-weight:500;color:#475569}.form-textarea-premium{padding:.75rem 1rem;border:2px solid #e2e8f0;border-radius:12px;font-size:.9rem;color:#1e293b;background:#f8fafc;min-height:80px;resize:vertical;font-family:inherit;transition:all .2s ease}.form-textarea-premium:focus{outline:none;border-color:#22d3ee;background:#fff;box-shadow:0 0 0 3px #22d3ee1a}.modal-footer-premium{display:flex;justify-content:flex-end;gap:.75rem;padding:1.25rem 1.5rem;background:#f8fafc;border-top:1px solid #e2e8f0}.btn-cancel-premium{padding:.75rem 1.5rem;border:2px solid #e2e8f0;background:#fff;border-radius:12px;font-size:.9rem;font-weight:500;color:#64748b;cursor:pointer;transition:all .2s ease}.btn-cancel-premium:hover{border-color:#cbd5e1;color:#475569}.btn-confirm-premium{display:flex;align-items:center;gap:.5rem;padding:.75rem 1.5rem;border:none;background:linear-gradient(135deg,#0891b2,#0e7490);border-radius:12px;font-size:.9rem;font-weight:600;color:#fff;cursor:pointer;transition:all .2s ease;box-shadow:0 4px 12px #0891b24d}.btn-confirm-premium:hover{background:linear-gradient(135deg,#0e7490,#155e75);transform:translateY(-1px);box-shadow:0 6px 16px #0891b266}.btn-confirm-premium svg{width:18px;height:18px}@media(max-width:1024px){.calendar-layout{grid-template-columns:1fr}.day-details{max-height:400px}.stats-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:768px){.appointments-header{padding:1.5rem}.header-content{flex-direction:column;gap:1rem;align-items:stretch}.header-title-section,.btn-new-appointment{justify-content:center}.controls-bar{flex-direction:column;align-items:stretch}.view-switcher{justify-content:center}.filter-pills{justify-content:center;flex-wrap:wrap}.card-content{flex-direction:column;align-items:flex-start;gap:1rem}.card-left{width:100%;justify-content:space-between}.card-right{flex-direction:row;width:100%;justify-content:space-between;align-items:center}.type-selector{grid-template-columns:repeat(4,1fr)}.form-row-premium{grid-template-columns:1fr}}@media(max-width:480px){.stats-grid{grid-template-columns:1fr}.calendar-grid{gap:.25rem}.calendar-day{font-size:.8rem}.type-selector{grid-template-columns:repeat(2,1fr)}}.appointments-pagination{display:flex;align-items:center;justify-content:space-between;padding:1.25rem 1.5rem;margin-top:1rem;background:#fff;border-radius:12px;box-shadow:0 1px 3px #00000014}.appointments-pagination-info{font-size:.875rem;color:#64748b}.appointments-pagination-controls{display:flex;align-items:center;gap:.5rem}.appointments-page-btn{width:36px;height:36px;border:1px solid #e2e8f0;background:#fff;border-radius:8px;cursor:pointer;font-size:.875rem;color:#334155;display:flex;align-items:center;justify-content:center;transition:all .15s ease}.appointments-page-btn:hover:not(:disabled){border-color:#0891b2;color:#0891b2}.appointments-page-btn.active{background:#0891b2;border-color:#0891b2;color:#fff}.appointments-page-btn:disabled{opacity:.5;cursor:not-allowed}@media(max-width:640px){.appointments-pagination{flex-direction:column;gap:.75rem}}.agenda-page{display:flex;flex-direction:column;gap:1.5rem;animation:agendaFadeIn .4s ease}@keyframes agendaFadeIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.agenda-header{display:flex;justify-content:space-between;align-items:flex-start;flex-wrap:wrap;gap:1.5rem}.agenda-header-left h1{font-size:2rem;font-weight:700;color:#0f172a;margin:0 0 .25rem;display:flex;align-items:center;gap:.75rem}.agenda-header-left h1:before{content:"";width:4px;height:28px;background:linear-gradient(180deg,#06b6d4,#0891b2);border-radius:4px}.agenda-header-left p{color:#64748b;font-size:.9rem;margin:0}.agenda-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:1rem}.agenda-stat{background:#fff;border-radius:16px;padding:1.25rem;display:flex;align-items:center;gap:1rem;box-shadow:0 1px 3px #0000000d;border:1px solid #f1f5f9;transition:all .3s ease}.agenda-stat:hover{transform:translateY(-2px);box-shadow:0 8px 25px #00000014}.agenda-stat-icon{width:44px;height:44px;border-radius:12px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.agenda-stat-icon svg{width:20px;height:20px;color:#fff}.stat-icon-total{background:linear-gradient(135deg,#dbeafe,#bfdbfe)}.stat-icon-total svg{color:#2563eb}.stat-icon-citado{background:linear-gradient(135deg,#f1f5f9,#e2e8f0)}.stat-icon-citado svg{color:#475569}.stat-icon-sala{background:linear-gradient(135deg,#e0f2fe,#bae6fd)}.stat-icon-sala svg{color:#0284c7}.stat-icon-gabinete{background:linear-gradient(135deg,#dbeafe,#93c5fd)}.stat-icon-gabinete svg{color:#1e40af}.stat-icon-fin{background:linear-gradient(135deg,#d1fae5,#a7f3d0)}.stat-icon-fin svg{color:#047857}.stat-icon-cancel{background:linear-gradient(135deg,#fee2e2,#fecaca)}.stat-icon-cancel svg{color:#dc2626}.agenda-stat-content h3{font-size:1.5rem;font-weight:700;color:#1e293b;margin:0;line-height:1}.agenda-stat-content p{font-size:.75rem;color:#64748b;font-weight:500;margin:.125rem 0 0}.agenda-toolbar{background:#fff;border-radius:16px;padding:1.25rem;box-shadow:0 1px 3px #0000000d;border:1px solid #f1f5f9;display:flex;flex-direction:column;gap:1rem}.toolbar-row{display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap}.toolbar-nav{display:flex;align-items:center;gap:.5rem}.nav-btn{width:40px;height:40px;border:1px solid #e2e8f0;background:#fff;border-radius:10px;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s ease}.nav-btn:hover{border-color:#0891b2;color:#0891b2;background:#f0fdfa}.nav-btn svg{width:18px;height:18px;color:#475569}.nav-btn:hover svg{color:#0891b2}.nav-today{padding:.5rem 1rem;background:#fff;border:1px solid #e2e8f0;border-radius:10px;font-size:.85rem;font-weight:600;color:#475569;cursor:pointer;transition:all .2s ease}.nav-today:hover{border-color:#0891b2;color:#0891b2;background:#f0fdfa}.toolbar-date{font-size:1.05rem;font-weight:600;color:#1e293b;text-transform:capitalize;margin-left:.5rem}.agenda-toolbar-actions{display:flex;gap:.75rem;flex-wrap:wrap}.agenda-action-btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;padding:.75rem 1.25rem;border-radius:12px;font-size:.875rem;font-weight:600;cursor:pointer;transition:all .2s ease;white-space:nowrap;border:1px solid #e2e8f0;background:#fff;color:#475569;line-height:1}.agenda-action-btn svg{width:16px;height:16px;flex-shrink:0}.agenda-action-btn.secondary:hover{border-color:#0891b2;color:#0891b2;background:#f0fdfa}.agenda-action-btn.primary{background:linear-gradient(135deg,#0891b2,#0e7490);color:#fff;border:none;box-shadow:0 4px 14px #0891b240}.agenda-action-btn.primary:hover{transform:translateY(-2px);box-shadow:0 6px 20px #0891b259}.toolbar-views,.toolbar-group{display:flex;align-items:center;gap:4px;background:#f1f5f9;padding:4px;border-radius:10px}.view-tab,.group-tab{padding:.625rem 1.25rem;border:none;background:transparent;border-radius:8px;font-size:.875rem;font-weight:500;color:#64748b;cursor:pointer;transition:all .2s ease}.view-tab.active,.group-tab.active{background:#fff;color:#0891b2;box-shadow:0 1px 3px #0000001a;font-weight:600}.group-label{font-size:.75rem;color:#94a3b8;padding:0 .5rem;font-weight:600}.toolbar-filters{margin-left:auto}.filter-select{padding:.5rem .875rem;border:1px solid #e2e8f0;border-radius:10px;font-size:.85rem;color:#475569;background:#fff;cursor:pointer;transition:all .2s ease}.filter-select:focus{outline:none;border-color:#0891b2;box-shadow:0 0 0 3px #0891b21a}.agenda-error{display:flex;align-items:center;justify-content:space-between;background:#fee2e2;color:#991b1b;padding:.75rem 1rem;border-radius:12px;font-size:.85rem;font-weight:500;border:1px solid #fecaca}.agenda-error button{background:none;border:none;color:#991b1b;cursor:pointer;padding:.25rem}.agenda-error button svg{width:18px;height:18px}.agenda-loading{display:flex;flex-direction:column;align-items:center;padding:4rem;color:#64748b}.agenda-loading .loading-spinner{width:48px;height:48px;border:4px solid #e2e8f0;border-top-color:#0891b2;border-radius:50%;animation:agendaSpin 1s linear infinite;margin-bottom:1rem}@keyframes agendaSpin{to{transform:rotate(360deg)}}.agenda-body{background:#fff;border-radius:20px;box-shadow:0 1px 3px #0000000d;border:1px solid #f1f5f9;overflow:hidden}.agenda-dayview{width:100%}.agenda-scroll{overflow:auto;max-height:70vh;position:relative}.agenda-grid{display:grid;min-width:min-content}.agenda-corner{position:sticky;top:0;z-index:30;background:#fff;border-bottom:2px solid #e2e8f0;border-right:1px solid #e2e8f0}.agenda-col-header{position:sticky;top:0;z-index:25;background:#fff;border-bottom:2px solid #e2e8f0;border-right:1px solid #f1f5f9;padding:.75rem .5rem;text-align:center;display:flex;flex-direction:column;align-items:center;gap:.125rem}.agenda-col-header:last-child{border-right:none}.agenda-col-name{font-size:.8rem;font-weight:600;color:#1e293b;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}.agenda-col-sub{font-size:.65rem;color:#94a3b8;text-transform:capitalize}.agenda-col-weekday{font-size:.65rem;font-weight:600;color:#94a3b8;text-transform:uppercase;letter-spacing:.05em}.agenda-col-daynum{font-size:1.1rem;font-weight:700;color:#1e293b;line-height:1}.agenda-col-daynum.today-num{background:#0891b2;color:#fff;width:28px;height:28px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:.85rem}.agenda-col-today{background:#f0fdfa}.agenda-col-holiday{background:#fef2f2}.agenda-col-holiday-name{font-size:.6rem;color:#dc2626;font-weight:500}.agenda-times{position:relative;border-right:1px solid #e2e8f0;background:#fafbfc}.agenda-time{font-size:.8rem;color:#64748b;font-weight:500;text-align:right;padding-left:12px;padding-right:10px;transform:translateY(-9px);white-space:nowrap;line-height:1}.agenda-col{border-right:1px solid #f1f5f9;transition:background .1s ease}.agenda-col:last-child{border-right:none}.agenda-col-over{background:#22d3ee0f}.agenda-hour-line{position:absolute;left:0;right:0;height:1px;background:#e2e8f0;pointer-events:none;z-index:1}.agenda-half-hour-line{position:absolute;left:0;right:0;height:0;border-top:1px dashed #eff1f5;pointer-events:none;z-index:1}.agenda-time-half{font-size:.7rem;color:#b0b8c4}.current-time-line{position:absolute;left:0;right:0;height:2px;background:#ef4444;z-index:20;pointer-events:none}.current-time-dot{position:absolute;left:-5px;top:-4px;width:10px;height:10px;border-radius:50%;background:#ef4444;box-shadow:0 0 6px #ef444466}.apt-block{border-radius:8px;padding:4px 6px;overflow:hidden;display:flex;flex-direction:column;gap:1px;box-shadow:0 1px 3px #00000014;transition:box-shadow .15s ease}.apt-block:hover{box-shadow:0 4px 12px #0000001f}.apt-alert-dot{position:absolute;top:3px;right:3px;width:8px;height:8px;border-radius:50%;background:#f97316;border:1.5px solid white;z-index:2}.apt-top-row{display:flex;justify-content:space-between;align-items:center;gap:2px}.apt-time{font-size:.65rem;font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.apt-status{font-size:.55rem;font-weight:600;padding:1px 4px;border-radius:4px;color:#fff;white-space:nowrap;flex-shrink:0;line-height:1.4}.apt-patient{font-size:.7rem;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.apt-detail{font-size:.6rem;opacity:.7;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.blocked-slot{border-radius:6px;overflow:hidden;pointer-events:none;display:flex;align-items:flex-start;padding:4px 6px}.blocked-block{background:repeating-linear-gradient(45deg,#94a3b80f,#94a3b80f 6px,#94a3b824 6px 12px);border:1px dashed #94a3b8}.blocked-holiday{background:repeating-linear-gradient(-45deg,#ef44440a,#ef44440a 6px,#ef44441a 6px 12px);border:1px dashed #fca5a5}.blocked-label{font-size:.6rem;font-weight:500;color:#64748b}.blocked-holiday .blocked-label{color:#dc2626}.state-panel-overlay{position:fixed;inset:0;background:#0f172a99;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:1000;padding:1rem;animation:agendaFadeIn .15s ease}.state-panel{background:#fff;border-radius:20px;width:100%;max-width:440px;padding:1.5rem;box-shadow:0 25px 50px #00000040;display:flex;flex-direction:column;gap:1.25rem}.state-panel-header{display:flex;justify-content:space-between;align-items:flex-start}.state-panel-header h3{font-size:1.1rem;font-weight:600;color:#1e293b;margin:0}.state-panel-header p{font-size:.8rem;color:#64748b;margin:.25rem 0 0}.state-panel-close{width:36px;height:36px;border:none;background:#fff;border-radius:10px;display:flex;align-items:center;justify-content:center;cursor:pointer;color:#64748b;border:1px solid #e2e8f0;transition:all .2s ease}.state-panel-close:hover{background:#fee2e2;color:#dc2626;border-color:#fecaca}.state-panel-close svg{width:18px;height:18px}.state-current{display:flex;align-items:center;gap:.75rem}.state-label{font-size:.75rem;font-weight:600;color:#94a3b8;text-transform:uppercase;letter-spacing:.05em}.state-badge{display:inline-flex;padding:.375rem .75rem;border-radius:20px;font-size:.8rem;font-weight:600}.status-citado{background:#f1f5f9;color:#475569}.status-cancelado{background:#fee2e2;color:#991b1b}.status-en_sala_espera{background:#e0f2fe;color:#075985}.status-en_gabinete{background:#dbeafe;color:#1e3a8a}.status-salido_gabinete{background:#dcfce7;color:#166534}.status-finalizado{background:#d1fae5;color:#14532d}.state-notes{display:flex;flex-direction:column;gap:.375rem}.state-notes p{margin:0;font-size:.85rem;color:#475569;background:#f8fafc;padding:.5rem .75rem;border-radius:8px}.state-actions{display:flex;flex-direction:column;gap:.625rem}.state-buttons{display:flex;flex-direction:column;gap:.5rem}.state-action-btn{display:flex;align-items:center;gap:.5rem;padding:.75rem 1rem;border:2px solid;background:#fff;border-radius:12px;font-size:.875rem;font-weight:600;cursor:pointer;transition:all .2s ease}.state-action-btn:hover{transform:translateY(-1px);box-shadow:0 4px 12px #00000014}.state-final{text-align:center;padding:1rem;background:#f8fafc;border-radius:10px;color:#64748b;font-size:.85rem}.cancellation-alert-modal{background:#fff;border-radius:20px;padding:2rem;max-width:440px;text-align:center;box-shadow:0 25px 50px #0003}.alert-icon-wrapper{width:64px;height:64px;background:linear-gradient(135deg,#fff7ed,#fed7aa);border-radius:50%;display:flex;align-items:center;justify-content:center;margin:0 auto 1rem}.alert-icon-wrapper svg{width:32px;height:32px;color:#f97316}.cancellation-alert-modal h3{font-size:1.25rem;font-weight:600;color:#1e293b;margin:0 0 .75rem}.cancellation-alert-modal p{color:#475569;font-size:.9rem;margin:0 0 .5rem;line-height:1.5}.alert-note{font-size:.8rem;color:#64748b}.alert-orange{color:#f97316;font-weight:700}.alert-actions{display:flex;gap:.75rem;margin-top:1.5rem;justify-content:center}.duration-selector{display:flex;gap:.375rem;flex-wrap:wrap}.duration-btn{padding:.5rem .875rem;border:2px solid #e2e8f0;background:#f8fafc;border-radius:10px;font-size:.8rem;font-weight:500;color:#64748b;cursor:pointer;transition:all .15s ease}.duration-btn:hover{border-color:#22d3ee;color:#0891b2}.duration-btn.active{border-color:#0891b2;background:#cffafe;color:#0891b2;font-weight:600}.slot-results{margin-top:.5rem}.no-slots{text-align:center;padding:2rem;color:#64748b}.slots-list{display:flex;flex-direction:column;gap:.5rem;max-height:300px;overflow-y:auto}.slot-item{display:flex;align-items:center;gap:1rem;padding:.75rem 1rem;background:#f8fafc;border-radius:12px;cursor:pointer;transition:all .15s ease;border:1px solid #f1f5f9}.slot-item:hover{background:#e0f2fe;transform:translate(4px)}.slot-date{display:flex;flex-direction:column;align-items:center;min-width:44px}.slot-day{font-size:1.25rem;font-weight:700;color:#1e293b;line-height:1}.slot-month{font-size:.65rem;color:#64748b;text-transform:uppercase}.slot-weekday{font-size:.6rem;color:#94a3b8;text-transform:capitalize}.slot-info{flex:1;display:flex;flex-direction:column}.slot-time{font-size:.875rem;font-weight:600;color:#1e293b}.slot-detail{font-size:.75rem;color:#64748b}.slot-select-btn{padding:.5rem 1rem;border:1px solid #e2e8f0;background:#fff;border-radius:10px;font-size:.8rem;font-weight:600;color:#0891b2;cursor:pointer;transition:all .2s ease}.slot-select-btn:hover{background:#0891b2;color:#fff;border-color:#0891b2}.block-tabs{display:flex;border-bottom:2px solid #e2e8f0}.block-tab{flex:1;padding:.75rem 1rem;border:none;background:transparent;font-size:.85rem;font-weight:500;color:#64748b;cursor:pointer;border-bottom:2px solid transparent;margin-bottom:-2px;transition:all .2s ease}.block-tab.active{color:#0891b2;border-bottom-color:#0891b2;font-weight:600}.block-form-row{display:flex;gap:.5rem;flex-wrap:wrap;align-items:flex-end}.block-form-row .form-input-premium,.block-form-row .form-select-premium{flex:1;min-width:120px;padding:.5rem .75rem;font-size:.8rem}.block-list{display:flex;flex-direction:column;gap:.375rem;margin-top:.5rem}.block-item{display:flex;align-items:center;justify-content:space-between;padding:.625rem .875rem;background:#f8fafc;border-radius:10px;border:1px solid #f1f5f9}.block-item:hover{background:#f1f5f9}.block-item-info{display:flex;flex-direction:column}.block-item-name{font-size:.85rem;font-weight:600;color:#1e293b}.block-item-detail{font-size:.7rem;color:#64748b}.block-delete-btn{width:28px;height:28px;border:none;background:#fee2e2;border-radius:6px;display:flex;align-items:center;justify-content:center;cursor:pointer;color:#dc2626}.block-delete-btn:hover{background:#fecaca}.block-delete-btn svg{width:14px;height:14px}.modal-overlay{position:fixed;inset:0;background:#0f172a99;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:1000;padding:1rem;animation:modalSlideIn .2s ease}.modal-premium{background:#fff;border-radius:24px;width:100%;max-width:560px;max-height:90vh;overflow:hidden;box-shadow:0 25px 50px #00000040;display:flex;flex-direction:column}.modal-header-premium{display:flex;align-items:center;gap:1rem;padding:1.5rem 2rem;background:linear-gradient(135deg,#f0fdfa,#ecfeff);border-bottom:1px solid #e2e8f0}.modal-header-premium h2{font-size:1.2rem;font-weight:700;color:#0f172a;margin:0}.modal-header-premium p{font-size:.8rem;color:#64748b;margin:.125rem 0 0}.modal-icon{width:44px;height:44px;background:linear-gradient(135deg,#0891b2,#22d3ee);border-radius:12px;display:flex;align-items:center;justify-content:center;flex-shrink:0;box-shadow:0 4px 12px #0891b24d}.modal-icon svg{width:22px;height:22px;color:#fff}.modal-close-btn{width:36px;height:36px;border:none;background:#fff;border-radius:10px;display:flex;align-items:center;justify-content:center;cursor:pointer;color:#64748b;transition:all .2s ease;margin-left:auto;flex-shrink:0}.modal-close-btn:hover{background:#fee2e2;color:#dc2626}.modal-close-btn svg{width:16px;height:16px}.modal-body-premium{padding:1.5rem 2rem;display:flex;flex-direction:column;gap:1rem;overflow-y:auto;max-height:60vh}.form-section{display:flex;flex-direction:column;gap:.375rem}.form-label-premium{display:flex;align-items:center;gap:.375rem;font-size:.8rem;font-weight:600;color:#475569}.form-label-premium svg{width:14px;height:14px;color:#94a3b8}.form-input-premium{width:100%;padding:.75rem 1rem;border:2px solid #e2e8f0;border-radius:10px;font-size:.875rem;color:#1e293b;background:#f8fafc;transition:all .2s ease;box-sizing:border-box}.form-input-premium:focus{outline:none;border-color:#0891b2;background:#fff;box-shadow:0 0 0 3px #0891b21a}.form-select-premium{width:100%;padding:.75rem 1rem;border:2px solid #e2e8f0;border-radius:10px;font-size:.875rem;color:#1e293b;background:#f8fafc;cursor:pointer;transition:all .2s ease;box-sizing:border-box}.form-select-premium:focus{outline:none;border-color:#0891b2;background:#fff;box-shadow:0 0 0 3px #0891b21a}.form-textarea-premium{width:100%;padding:.75rem 1rem;border:2px solid #e2e8f0;border-radius:10px;font-size:.875rem;color:#1e293b;background:#f8fafc;resize:vertical;min-height:70px;transition:all .2s ease;box-sizing:border-box;font-family:inherit}.form-textarea-premium:focus{outline:none;border-color:#0891b2;background:#fff;box-shadow:0 0 0 3px #0891b21a}.form-row-premium{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.btn-confirm-premium{display:inline-flex;align-items:center;gap:.5rem;padding:.75rem 1.5rem;background:linear-gradient(135deg,#0891b2,#0e7490);color:#fff;border:none;border-radius:10px;font-size:.875rem;font-weight:600;cursor:pointer;transition:all .2s ease;box-shadow:0 4px 14px #0891b240}.btn-confirm-premium:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 6px 20px #0891b259}.btn-confirm-premium:disabled{opacity:.6;cursor:not-allowed}.btn-confirm-premium svg{width:16px;height:16px}.btn-cancel-premium{padding:.75rem 1.5rem;background:#fff;color:#64748b;border:1px solid #e2e8f0;border-radius:10px;font-size:.875rem;font-weight:500;cursor:pointer;transition:all .2s ease}.btn-cancel-premium:hover{border-color:#dc2626;color:#dc2626;background:#fef2f2}.type-selector{display:flex;flex-wrap:wrap;gap:.375rem}.type-option{display:flex;align-items:center;gap:.375rem;padding:.5rem .75rem;border:2px solid #e2e8f0;background:#f8fafc;border-radius:10px;font-size:.8rem;font-weight:500;color:#64748b;cursor:pointer;transition:all .2s ease}.type-option:hover{border-color:#22d3ee;color:#0891b2}.type-option.selected{border-color:#0891b2;background:#cffafe;color:#0891b2;font-weight:600}.type-option-icon{font-size:1rem;line-height:1}.form-error{background:#fee2e2;color:#991b1b;padding:.625rem 1rem;border-radius:10px;font-size:.85rem;font-weight:500;border:1px solid #fecaca}.patient-dropdown{position:absolute;top:100%;left:0;right:0;background:#fff;border:2px solid #e2e8f0;border-top:none;border-radius:0 0 10px 10px;box-shadow:0 8px 20px #0000001a;z-index:50;max-height:240px;overflow-y:auto}.patient-dropdown-item{padding:.625rem .875rem;cursor:pointer;display:flex;justify-content:space-between;align-items:center;transition:background .1s ease;border-bottom:1px solid #f8fafc}.patient-dropdown-item:hover{background:#f0fdfa}.patient-dropdown-item:last-child{border-bottom:none}.patient-dropdown-name{font-size:.85rem;font-weight:600;color:#1e293b}.patient-dropdown-detail{font-size:.75rem;color:#94a3b8}.state-log{display:flex;flex-direction:column;gap:.375rem}.state-log-list{display:flex;flex-direction:column;gap:.25rem;padding-left:.5rem;border-left:2px solid #e2e8f0;margin-left:.25rem}.state-log-entry{display:flex;align-items:center;gap:.5rem;padding:.375rem 0}.state-log-dot{width:8px;height:8px;border-radius:50%;background:#0891b2;flex-shrink:0;margin-left:-.8rem}.state-log-info{display:flex;flex-direction:column;gap:.125rem}.state-log-transition{font-size:.8rem;font-weight:500;color:#1e293b}.state-log-time{font-size:.7rem;color:#94a3b8}.state-confirm{background:#fef2f2;border:1px solid #fecaca;border-radius:10px;padding:1rem;display:flex;flex-direction:column;gap:.75rem}.state-confirm p{margin:0;font-size:.875rem;color:#991b1b}.month-view{background:#fff;border-radius:20px;box-shadow:0 1px 3px #0000000d;border:1px solid #f1f5f9;overflow:hidden;padding:1.5rem}.month-header{display:grid;grid-template-columns:repeat(7,1fr);gap:4px;margin-bottom:.75rem}.month-weekday{text-align:center;font-size:.75rem;font-weight:600;color:#94a3b8;text-transform:uppercase;letter-spacing:.05em;padding:.5rem 0}.month-week{display:grid;grid-template-columns:repeat(7,1fr);gap:4px;margin-bottom:4px}.month-cell{min-height:85px;background:#f8fafc;border-radius:12px;padding:.625rem;cursor:pointer;transition:all .2s ease;display:flex;flex-direction:column;gap:.25rem;border:1px solid transparent}.month-cell:hover{background:#e0f2fe;transform:translateY(-1px);box-shadow:0 4px 12px #00000014;border-color:#bae6fd}.month-cell-empty{background:transparent;cursor:default}.month-cell-empty:hover{background:transparent;transform:none;box-shadow:none;border-color:transparent}.month-cell-today{background:#f0fdfa;border:2px solid #22d3ee}.month-cell-holiday{background:#fef2f2}.month-day-num{font-size:.85rem;font-weight:600;color:#1e293b}.month-today-num{background:#0891b2;color:#fff;width:24px;height:24px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;font-size:.75rem}.month-cell-badges{display:flex;flex-direction:column;gap:.25rem;margin-top:auto}.month-cell-total{font-size:.65rem;color:#64748b;font-weight:500}.month-cell-dots{display:flex;gap:3px;flex-wrap:wrap}.month-dot{width:6px;height:6px;border-radius:50%}@media(max-width:1024px){.toolbar-row{flex-direction:column;align-items:stretch}.agenda-toolbar-actions,.toolbar-nav{justify-content:center}.toolbar-filters{margin-left:0}.agenda-stats{grid-template-columns:repeat(3,1fr)}}@media(max-width:768px){.agenda-header-left h1{font-size:1.5rem}.agenda-stats{grid-template-columns:repeat(2,1fr);gap:.75rem}.agenda-stat{padding:1rem}.form-row-premium{grid-template-columns:1fr}.modal-premium{max-width:100%;border-radius:16px}.modal-header-premium,.modal-body-premium{padding:1.25rem}.modal-footer-premium{padding:1rem 1.25rem}.type-selector{gap:.25rem}.type-option{padding:.375rem .5rem;font-size:.75rem}.month-cell{min-height:60px;padding:.375rem}}.treatments-page{min-height:100%;padding-bottom:2rem}.treatments-header{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:2rem;flex-wrap:wrap;gap:1.5rem}.treatments-header-left h1{font-size:2rem;font-weight:700;color:#0f172a;margin:0 0 .5rem;display:flex;align-items:center;gap:.75rem}.treatments-header-left h1:before{content:"";width:4px;height:28px;background:linear-gradient(180deg,#8b5cf6,#7c3aed);border-radius:4px}.treatments-header-left p{color:#64748b;font-size:.95rem;margin:0}.treatments-header-right{display:flex;gap:.75rem}.btn-export{display:flex;align-items:center;gap:.5rem;padding:.75rem 1.25rem;background:#fff;color:#475569;border:1px solid #e2e8f0;border-radius:12px;font-size:.875rem;font-weight:500;cursor:pointer;transition:all .2s ease}.btn-export:hover{border-color:#8b5cf6;color:#8b5cf6;background:#faf5ff}.btn-new-treatment{display:flex;align-items:center;gap:.5rem;padding:.75rem 1.5rem;background:linear-gradient(135deg,#8b5cf6,#7c3aed);color:#fff;border:none;border-radius:12px;font-size:.875rem;font-weight:600;cursor:pointer;transition:all .3s ease;box-shadow:0 4px 14px #8b5cf659}.btn-new-treatment:hover{background:linear-gradient(135deg,#7c3aed,#6d28d9);transform:translateY(-2px);box-shadow:0 6px 20px #8b5cf673}.treatments-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1.25rem;margin-bottom:2rem}.stat-card{background:#fff;border-radius:16px;padding:1.5rem;display:flex;align-items:center;gap:1rem;box-shadow:0 1px 3px #0000000d;border:1px solid #f1f5f9;transition:all .3s ease;position:relative;overflow:hidden}.stat-card:before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,transparent,rgba(139,92,246,.3),transparent);opacity:0;transition:opacity .3s ease}.stat-card:hover{transform:translateY(-4px);box-shadow:0 12px 30px #8b5cf626}.stat-card:hover:before{opacity:1}.stat-icon{width:56px;height:56px;border-radius:16px;display:flex;align-items:center;justify-content:center;font-size:1.5rem;position:relative}.stat-icon.total{background:linear-gradient(135deg,#ede9fe,#ddd6fe)}.stat-icon.active{background:linear-gradient(135deg,#d1fae5,#a7f3d0)}.stat-icon.popular{background:linear-gradient(135deg,#fef3c7,#fde68a)}.stat-icon.revenue{background:linear-gradient(135deg,#dbeafe,#bfdbfe)}.stat-content h3{font-size:1.75rem;font-weight:700;color:#0f172a;margin:0;line-height:1.2}.stat-content p{font-size:.85rem;color:#64748b;margin:.25rem 0 0}.stat-trend{display:flex;align-items:center;gap:.25rem;font-size:.75rem;font-weight:600;margin-top:.35rem}.stat-trend.up{color:#10b981}.stat-trend.down{color:#ef4444}.treatments-controls{background:#fff;border-radius:16px;padding:1.25rem;margin-bottom:1.5rem;display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:1rem;box-shadow:0 1px 3px #0000000d;border:1px solid #f1f5f9}.search-box{position:relative;flex:1;max-width:350px}.search-box input{width:100%;padding:.875rem 1rem .875rem 3rem;border:2px solid #e2e8f0;border-radius:12px;font-size:.9rem;transition:all .2s ease;background:#f8fafc}.search-box input:focus{outline:none;border-color:#8b5cf6;background:#fff;box-shadow:0 0 0 3px #8b5cf61a}.search-box input::placeholder{color:#94a3b8}.search-icon{position:absolute;left:1rem;top:50%;transform:translateY(-50%);color:#94a3b8;font-size:1.1rem}.category-filters{display:flex;gap:.5rem;flex-wrap:wrap}.category-pill{padding:.5rem 1rem;border:2px solid #e2e8f0;background:#fff;border-radius:25px;font-size:.8rem;font-weight:500;cursor:pointer;color:#64748b;transition:all .25s ease;display:flex;align-items:center;gap:.4rem}.category-pill:hover{border-color:#8b5cf6;color:#8b5cf6;transform:translateY(-1px)}.category-pill.active{background:linear-gradient(135deg,#8b5cf6,#7c3aed);border-color:transparent;color:#fff;box-shadow:0 4px 12px #8b5cf64d}.category-pill .pill-icon{font-size:.9rem}.view-controls{display:flex;gap:.5rem}.view-btn{width:42px;height:42px;border:1px solid #e2e8f0;background:#fff;border-radius:10px;display:flex;align-items:center;justify-content:center;cursor:pointer;color:#64748b;transition:all .2s ease;font-size:1.1rem}.view-btn:hover{border-color:#8b5cf6;color:#8b5cf6}.view-btn.active{background:linear-gradient(135deg,#8b5cf6,#7c3aed);border-color:transparent;color:#fff}.treatments-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:1.5rem}@media(min-width:1400px){.treatments-grid{grid-template-columns:repeat(4,1fr)}}.treatment-card{background:#fff;border-radius:20px;overflow:hidden;box-shadow:0 1px 3px #0000000d;border:1px solid #f1f5f9;transition:all .4s cubic-bezier(.4,0,.2,1);position:relative}.treatment-card:hover{transform:translateY(-6px) scale(1.01);box-shadow:0 25px 50px #8b5cf626;border-color:transparent}.treatment-card-header{position:relative;padding:1.75rem 1.5rem 1.25rem;overflow:hidden}.treatment-card-header:before{content:"";position:absolute;inset:0;opacity:.95;z-index:0}.treatment-card-header.preventive:before{background:linear-gradient(135deg,#d1fae5,#a7f3d0)}.treatment-card-header.restorative:before{background:linear-gradient(135deg,#dbeafe,#bfdbfe)}.treatment-card-header.cosmetic:before{background:linear-gradient(135deg,#fce7f3,#fbcfe8)}.treatment-card-header.orthodontic:before{background:linear-gradient(135deg,#ede9fe,#ddd6fe)}.treatment-card-header.surgical:before{background:linear-gradient(135deg,#fee2e2,#fecaca)}.treatment-card-header.endodontic:before{background:linear-gradient(135deg,#ffedd5,#fed7aa)}.treatment-card-header.periodontic:before{background:linear-gradient(135deg,#cffafe,#a5f3fc)}.treatment-card-header.prosthodontic:before{background:linear-gradient(135deg,#fef3c7,#fde68a)}.treatment-card-header:after{content:"";position:absolute;bottom:0;left:0;right:0;height:20px;background:#fff;border-radius:20px 20px 0 0;z-index:1}.treatment-category-icon{position:relative;z-index:2;width:60px;height:60px;border-radius:16px;background:#fff;display:flex;align-items:center;justify-content:center;font-size:1.75rem;box-shadow:0 8px 20px #0000001a;margin-bottom:.5rem}.treatment-status-badge{position:absolute;top:1rem;right:1rem;z-index:2;padding:.35rem .85rem;border-radius:20px;font-size:.7rem;font-weight:600;text-transform:uppercase;letter-spacing:.5px;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.treatment-status-badge.active{background:#ffffffe6;color:#059669;border:1px solid rgba(5,150,105,.2)}.treatment-status-badge.inactive{background:#ffffffe6;color:#dc2626;border:1px solid rgba(220,38,38,.2)}.treatment-card-body{padding:0 1.5rem 1.25rem;position:relative}.treatment-name{font-size:1.1rem;font-weight:700;color:#0f172a;margin:0 0 .35rem;line-height:1.3}.treatment-description{font-size:.85rem;color:#64748b;margin:0 0 1rem;display:-webkit-box;-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;line-height:1.5}.treatment-category-tag{display:inline-flex;align-items:center;gap:.35rem;padding:.35rem .75rem;border-radius:8px;font-size:.75rem;font-weight:600;margin-bottom:1rem}.treatment-category-tag.preventive{background:#d1fae5;color:#047857}.treatment-category-tag.restorative{background:#dbeafe;color:#1d4ed8}.treatment-category-tag.cosmetic{background:#fce7f3;color:#be185d}.treatment-category-tag.orthodontic{background:#ede9fe;color:#6d28d9}.treatment-category-tag.surgical{background:#fee2e2;color:#dc2626}.treatment-category-tag.endodontic{background:#ffedd5;color:#c2410c}.treatment-category-tag.periodontic{background:#cffafe;color:#0e7490}.treatment-category-tag.prosthodontic{background:#fef3c7;color:#b45309}.treatment-meta{display:flex;align-items:center;justify-content:space-between;padding:1rem 1.5rem;background:#f8fafc;border-top:1px solid #f1f5f9}.treatment-duration{display:flex;align-items:center;gap:.5rem;font-size:.85rem;color:#64748b}.treatment-duration .icon{font-size:1rem}.treatment-price{font-size:1.25rem;font-weight:700;background:linear-gradient(135deg,#059669,#047857);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.treatment-card-footer{display:flex;border-top:1px solid #f1f5f9}.treatment-action-btn{flex:1;padding:.875rem;border:none;background:transparent;color:#64748b;font-size:.85rem;font-weight:500;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;justify-content:center;gap:.5rem}.treatment-action-btn:first-child{border-right:1px solid #f1f5f9}.treatment-action-btn:hover{background:#f8fafc;color:#8b5cf6}.treatment-action-btn.delete:hover{background:#fef2f2;color:#dc2626}.loading-container{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:4rem 2rem;gap:1.5rem}.loading-spinner{width:50px;height:50px;border:3px solid #e2e8f0;border-top-color:#8b5cf6;border-radius:50%;animation:spin .8s linear infinite}.loading-text{color:#64748b;font-size:.95rem}.empty-state{text-align:center;padding:4rem 2rem;background:#fff;border-radius:20px;border:2px dashed #e2e8f0}.empty-state-icon{font-size:4rem;margin-bottom:1rem;opacity:.8}.empty-state-title{font-size:1.25rem;font-weight:600;color:#1e293b;margin:0 0 .5rem}.empty-state-message{color:#64748b;margin:0 0 1.5rem}.modal-overlay{position:fixed;inset:0;background:#0f172a99;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:1000;padding:1rem;animation:fadeIn .2s ease}.modal{background:#fff;border-radius:24px;width:100%;max-width:560px;max-height:90vh;overflow:hidden;box-shadow:0 25px 60px #00000040;animation:slideUp .3s ease}@keyframes slideUp{0%{opacity:0;transform:translateY(20px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}.modal-header{display:flex;align-items:center;justify-content:space-between;padding:1.5rem 1.75rem;background:linear-gradient(135deg,#8b5cf6,#7c3aed);color:#fff}.modal-header-content h2{font-size:1.25rem;font-weight:600;margin:0 0 .25rem}.modal-header-content p{font-size:.85rem;opacity:.85;margin:0}.modal-close{width:36px;height:36px;border-radius:10px;background:#ffffff26;border:none;color:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:1.25rem;transition:all .2s ease}.modal-close:hover{background:#ffffff40;transform:rotate(90deg)}.modal-body{padding:1.75rem;max-height:60vh;overflow-y:auto}.form-group{margin-bottom:1.5rem}.form-label{display:flex;align-items:center;gap:.5rem;font-size:.875rem;font-weight:600;color:#374151;margin-bottom:.5rem}.form-label .label-icon{font-size:1rem}.form-input{width:100%;padding:.875rem 1rem;border:2px solid #e2e8f0;border-radius:12px;font-size:.9rem;transition:all .2s ease;background:#f8fafc}.form-input:focus{outline:none;border-color:#8b5cf6;background:#fff;box-shadow:0 0 0 3px #8b5cf61a}.form-input::placeholder{color:#94a3b8}.form-textarea{width:100%;padding:.875rem 1rem;border:2px solid #e2e8f0;border-radius:12px;font-size:.9rem;transition:all .2s ease;background:#f8fafc;resize:vertical;min-height:100px;font-family:inherit}.form-textarea:focus{outline:none;border-color:#8b5cf6;background:#fff;box-shadow:0 0 0 3px #8b5cf61a}.form-select{width:100%;padding:.875rem 1rem;border:2px solid #e2e8f0;border-radius:12px;font-size:.9rem;transition:all .2s ease;background:#f8fafc;cursor:pointer;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke='%2394a3b8'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M19 9l-7 7-7-7'%3E%3C/path%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 1rem center;background-size:1.25rem}.form-select:focus{outline:none;border-color:#8b5cf6;background-color:#fff;box-shadow:0 0 0 3px #8b5cf61a}.form-row .form-group{margin-bottom:0}.input-with-icon{position:relative}.input-with-icon .input-icon{position:absolute;left:1rem;top:50%;transform:translateY(-50%);color:#94a3b8}.input-with-icon .form-input{padding-left:2.75rem}.modal-footer{display:flex;justify-content:flex-end;gap:.75rem;padding:1.25rem 1.75rem;background:#f8fafc;border-top:1px solid #f1f5f9}.btn-cancel{padding:.75rem 1.5rem;background:#fff;color:#64748b;border:2px solid #e2e8f0;border-radius:12px;font-size:.875rem;font-weight:600;cursor:pointer;transition:all .2s ease}.btn-cancel:hover{border-color:#cbd5e1;background:#f8fafc}.btn-save{padding:.75rem 1.5rem;background:linear-gradient(135deg,#8b5cf6,#7c3aed);color:#fff;border:none;border-radius:12px;font-size:.875rem;font-weight:600;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;gap:.5rem;box-shadow:0 4px 14px #8b5cf659}.btn-save:hover{background:linear-gradient(135deg,#7c3aed,#6d28d9);transform:translateY(-1px);box-shadow:0 6px 20px #8b5cf673}.treatments-table-container{background:#fff;border-radius:20px;overflow:hidden;box-shadow:0 1px 3px #0000000d;border:1px solid #f1f5f9}.treatments-table{width:100%;border-collapse:collapse}.treatments-table th{text-align:left;padding:1rem 1.25rem;background:linear-gradient(135deg,#f8fafc,#f1f5f9);font-size:.75rem;font-weight:700;color:#64748b;text-transform:uppercase;letter-spacing:.05em;border-bottom:2px solid #e2e8f0}.treatments-table td{padding:1rem 1.25rem;font-size:.9rem;color:#1e293b;border-bottom:1px solid #f1f5f9;vertical-align:middle}.treatments-table tbody tr{transition:all .2s ease}.treatments-table tbody tr:hover{background:linear-gradient(135deg,#faf5ff,#f5f3ff)}.treatments-table tbody tr:last-child td{border-bottom:none}.treatment-cell{display:flex;align-items:center;gap:1rem}.treatment-cell-icon{width:48px;height:48px;border-radius:12px;display:flex;align-items:center;justify-content:center;font-size:1.25rem}.treatment-cell-icon.preventive{background:linear-gradient(135deg,#d1fae5,#a7f3d0)}.treatment-cell-icon.restorative{background:linear-gradient(135deg,#dbeafe,#bfdbfe)}.treatment-cell-icon.cosmetic{background:linear-gradient(135deg,#fce7f3,#fbcfe8)}.treatment-cell-icon.orthodontic{background:linear-gradient(135deg,#ede9fe,#ddd6fe)}.treatment-cell-icon.surgical{background:linear-gradient(135deg,#fee2e2,#fecaca)}.treatment-cell-icon.endodontic{background:linear-gradient(135deg,#ffedd5,#fed7aa)}.treatment-cell-icon.periodontic{background:linear-gradient(135deg,#cffafe,#a5f3fc)}.treatment-cell-icon.prosthodontic{background:linear-gradient(135deg,#fef3c7,#fde68a)}.treatment-cell-info{display:flex;flex-direction:column}.treatment-cell-name{font-weight:600;color:#0f172a}.treatment-cell-desc{font-size:.8rem;color:#64748b;max-width:250px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.table-price{font-weight:700;font-size:1rem;color:#059669}.table-duration{display:flex;align-items:center;gap:.5rem;color:#64748b}.table-status-badge{display:inline-flex;padding:.35rem .85rem;border-radius:20px;font-size:.75rem;font-weight:600}.table-status-badge.active{background:linear-gradient(135deg,#d1fae5,#a7f3d0);color:#047857}.table-status-badge.inactive{background:linear-gradient(135deg,#fee2e2,#fecaca);color:#dc2626}.table-actions{display:flex;gap:.5rem}.table-action-btn{width:36px;height:36px;border:1px solid #e2e8f0;background:#fff;border-radius:10px;display:flex;align-items:center;justify-content:center;cursor:pointer;color:#64748b;transition:all .2s ease}.table-action-btn:hover{border-color:#8b5cf6;color:#8b5cf6;background:#faf5ff}.table-action-btn.delete:hover{border-color:#dc2626;color:#dc2626;background:#fef2f2}@media(max-width:768px){.treatments-header{flex-direction:column;align-items:stretch}.treatments-header-right{width:100%}.btn-new-treatment{flex:1;justify-content:center}.treatments-controls{flex-direction:column;align-items:stretch}.search-box{max-width:none}.category-filters{overflow-x:auto;padding-bottom:.5rem;flex-wrap:nowrap}.treatments-grid,.form-row{grid-template-columns:1fr}.treatments-table{display:block;overflow-x:auto}}.catalog-page{display:flex;flex-direction:column;gap:2rem;animation:fadeInUp .5s ease}.catalog-header{display:flex;justify-content:space-between;align-items:flex-start;flex-wrap:wrap;gap:1.5rem}.catalog-header-content h1{font-size:2rem;font-weight:700;background:linear-gradient(135deg,#1e3a5f,#0891b2);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;margin-bottom:.5rem}.catalog-header-content p{color:#64748b;font-size:1rem}.catalog-header-actions{display:flex;gap:.75rem}.catalog-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:1.5rem}.catalog-stat-card{background:#fff;border-radius:20px;padding:1.75rem;position:relative;overflow:hidden;transition:all .4s cubic-bezier(.4,0,.2,1);box-shadow:0 4px 20px #0000000d;border:1px solid rgba(0,0,0,.05)}.catalog-stat-card:before{content:"";position:absolute;top:0;left:0;right:0;height:4px;background:linear-gradient(90deg,var(--card-accent),var(--card-accent-light))}.catalog-stat-card:hover{transform:translateY(-5px);box-shadow:0 20px 40px #0000001a}.catalog-stat-card.total{--card-accent: #0891b2;--card-accent-light: #22d3ee}.catalog-stat-card.active{--card-accent: #10b981;--card-accent-light: #34d399}.catalog-stat-card.pricelists{--card-accent: #6366f1;--card-accent-light: #818cf8}.catalog-stat-card.avgprice{--card-accent: #f59e0b;--card-accent-light: #fbbf24}.catalog-stat-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:1rem}.catalog-stat-icon{width:52px;height:52px;border-radius:14px;display:flex;align-items:center;justify-content:center;font-size:1.5rem;background:linear-gradient(135deg,var(--card-accent) 0%,var(--card-accent-light) 100%);box-shadow:0 4px 15px #00000026}.catalog-stat-body h3{font-size:2rem;font-weight:700;color:#1e293b;margin-bottom:.25rem;letter-spacing:-.02em}.catalog-stat-body p{color:#64748b;font-size:.9rem;font-weight:500}.catalog-tabs-nav{display:flex;gap:.5rem;padding:.5rem;background:#fff;border-radius:16px;box-shadow:0 4px 20px #0000000d;border:1px solid rgba(0,0,0,.05);overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none}.catalog-tabs-nav::-webkit-scrollbar{display:none}.catalog-tab-btn{display:flex;align-items:center;gap:.5rem;padding:.75rem 1.5rem;background:transparent;border:none;border-radius:12px;font-size:.9rem;font-weight:600;color:#64748b;cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1);white-space:nowrap}.catalog-tab-btn:hover{color:#0891b2;background:#0891b20d}.catalog-tab-btn.active{background:linear-gradient(135deg,#0891b2,#0e7490);color:#fff;box-shadow:0 4px 15px #0891b24d}.catalog-tab-icon{font-size:1.1rem}.catalog-tab-label{font-size:.85rem}.catalog-tab-content{animation:fadeInUp .3s ease}.catalogo-tab{display:flex;flex-direction:column;gap:1.5rem}.catalogo-controls{display:flex;align-items:center;gap:1rem;flex-wrap:wrap}.catalogo-search{position:relative;flex:1;min-width:200px;max-width:350px}.catalogo-search input{width:100%;padding:.75rem 1rem .75rem 2.75rem;background:#fff;border:2px solid #e2e8f0;border-radius:12px;font-size:.875rem;transition:all .3s ease}.catalogo-search input:focus{outline:none;border-color:#0891b2;box-shadow:0 0 0 4px #0891b21a}.catalogo-search .search-icon{position:absolute;left:1rem;top:50%;transform:translateY(-50%);color:#94a3b8;font-size:1rem}.catalogo-category-pills{display:flex;gap:.4rem;flex-wrap:wrap}.cat-pill{display:flex;align-items:center;gap:.35rem;padding:.5rem .9rem;border:2px solid #e2e8f0;border-radius:20px;background:#fff;font-size:.8rem;font-weight:600;color:#64748b;cursor:pointer;transition:all .3s ease;white-space:nowrap}.cat-pill:hover{border-color:#0891b2;color:#0891b2}.cat-pill.active{background:linear-gradient(135deg,#0891b2,#0e7490);color:#fff;border-color:transparent;box-shadow:0 2px 10px #0891b24d}.catalogo-view-toggle{display:flex;gap:.25rem;padding:.25rem;background:#f1f5f9;border-radius:10px;margin-left:auto}.view-toggle-btn{padding:.5rem .75rem;border:none;border-radius:8px;background:transparent;color:#64748b;cursor:pointer;transition:all .2s ease;font-size:1rem}.view-toggle-btn.active{background:#fff;color:#0891b2;box-shadow:0 2px 8px #00000014}.catalogo-new-btn{display:flex;align-items:center;gap:.5rem;padding:.75rem 1.25rem;background:linear-gradient(135deg,#0891b2,#0e7490);color:#fff;border:none;border-radius:12px;font-size:.85rem;font-weight:600;cursor:pointer;transition:all .3s ease;box-shadow:0 4px 15px #0891b24d;white-space:nowrap}.catalogo-new-btn:hover{transform:translateY(-2px);box-shadow:0 8px 25px #0891b266}.catalogo-table-card{background:#fff;border-radius:20px;box-shadow:0 4px 20px #0000000d;overflow:hidden;border:1px solid rgba(0,0,0,.05)}.code-badge{display:inline-flex;align-items:center;padding:.3rem .6rem;background:linear-gradient(135deg,#f0f9ff,#e0f2fe);border:1px solid #bae6fd;border-radius:6px;font-size:.75rem;font-weight:700;color:#0369a1;font-family:SF Mono,Consolas,monospace;letter-spacing:.03em}.treatment-name-cell{display:flex;align-items:center;gap:.75rem}.treatment-name-cell .name-icon{width:40px;height:40px;border-radius:10px;display:flex;align-items:center;justify-content:center;font-size:1.1rem;background:linear-gradient(135deg,#f8fafc,#e2e8f0);border:1px solid #e2e8f0;flex-shrink:0}.treatment-name-cell .name-info strong{display:block;font-weight:600;color:#1e293b;font-size:.9rem}.treatment-name-cell .name-info span{font-size:.75rem;color:#94a3b8}.category-tag{display:inline-flex;align-items:center;gap:.3rem;padding:.35rem .75rem;border-radius:8px;font-size:.75rem;font-weight:600;white-space:nowrap}.category-tag.preventive{background:#dcfce7;color:#15803d}.category-tag.restorative{background:#dbeafe;color:#1d4ed8}.category-tag.cosmetic{background:#fce7f3;color:#be185d}.category-tag.orthodontic{background:#ede9fe;color:#6d28d9}.category-tag.surgical{background:#fee2e2;color:#b91c1c}.category-tag.endodontic{background:#fef3c7;color:#b45309}.category-tag.periodontic{background:#ccfbf1;color:#0f766e}.category-tag.prosthodontic{background:#f3e8ff;color:#7e22ce}.link-indicator{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:8px;font-size:.85rem}.link-indicator.linked{background:#dcfce7;color:#16a34a}.link-indicator.unlinked{background:#f1f5f9;color:#cbd5e1}.catalog-status-badge{display:inline-flex;align-items:center;gap:.4rem;padding:.4rem .8rem;border-radius:8px;font-size:.78rem;font-weight:600}.catalog-status-badge.active{background:linear-gradient(135deg,#dcfce7,#d1fae5);color:#15803d}.catalog-status-badge.inactive{background:linear-gradient(135deg,#f3f4f6,#e5e7eb);color:#6b7280}.catalog-status-dot{width:7px;height:7px;border-radius:50%;background:currentColor}.catalogo-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:1.25rem}.catalogo-grid-card{background:#fff;border-radius:20px;overflow:hidden;box-shadow:0 4px 20px #0000000d;border:1px solid rgba(0,0,0,.05);transition:all .4s cubic-bezier(.4,0,.2,1)}.catalogo-grid-card:hover{transform:translateY(-5px);box-shadow:0 20px 40px #0000001a}.grid-card-top{display:flex;justify-content:space-between;align-items:flex-start;padding:1.25rem 1.25rem 0}.grid-card-body{padding:1rem 1.25rem}.grid-card-body h4{font-size:1.05rem;font-weight:600;color:#1e293b;margin-bottom:.25rem}.grid-card-body .grid-desc{font-size:.8rem;color:#94a3b8;margin-bottom:.75rem;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.grid-card-meta{display:flex;gap:.75rem;padding:0 1.25rem}.grid-meta-item{display:flex;align-items:center;gap:.3rem;font-size:.8rem;color:#64748b}.grid-card-links{display:flex;gap:.5rem;padding:0 1.25rem;margin-top:.75rem}.grid-link-badge{display:flex;align-items:center;gap:.3rem;padding:.25rem .6rem;border-radius:6px;font-size:.7rem;font-weight:600}.grid-link-badge.active{background:#dcfce7;color:#15803d}.grid-link-badge.inactive{background:#f1f5f9;color:#94a3b8}.grid-card-footer{display:flex;justify-content:space-between;align-items:center;padding:1rem 1.25rem;margin-top:.75rem;border-top:1px solid #f1f5f9}.grid-price{font-size:1.2rem;font-weight:700;color:#1e293b;font-family:SF Mono,Consolas,monospace}.grid-actions{display:flex;gap:.4rem}.catalog-modal-overlay{position:fixed;inset:0;background:#00000080;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:1000;animation:fadeIn .2s ease}.catalog-modal{background:#fff;border-radius:24px;width:100%;max-width:650px;max-height:90vh;overflow:hidden;box-shadow:0 25px 80px #0000004d;animation:modalSlideIn .4s cubic-bezier(.4,0,.2,1)}.catalog-modal-header{display:flex;align-items:center;justify-content:space-between;padding:1.5rem 2rem;background:linear-gradient(135deg,#1e3a5f,#0e7490);color:#fff}.catalog-modal-header h2{font-size:1.25rem;font-weight:600;margin:0;display:flex;align-items:center;gap:.75rem}.catalog-modal-close{width:36px;height:36px;background:#ffffff26;border:none;border-radius:10px;color:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:1.25rem;transition:all .2s ease}.catalog-modal-close:hover{background:#ffffff40}.catalog-modal-body{padding:2rem;overflow-y:auto;max-height:60vh}.catalog-modal-footer{display:flex;justify-content:flex-end;gap:.75rem;padding:1.25rem 2rem;background:#f8fafc;border-top:1px solid #e2e8f0}.catalog-toggle{display:flex;align-items:center;gap:.75rem;cursor:pointer}.catalog-toggle-track{width:44px;height:24px;background:#e2e8f0;border-radius:12px;position:relative;transition:background .3s ease}.catalog-toggle-track.on{background:#0891b2}.catalog-toggle-thumb{position:absolute;top:2px;left:2px;width:20px;height:20px;background:#fff;border-radius:50%;transition:transform .3s ease;box-shadow:0 2px 6px #00000026}.catalog-toggle-track.on .catalog-toggle-thumb{transform:translate(20px)}.catalog-toggle-label{font-size:.875rem;color:#374151;font-weight:500}.catalog-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:4rem 2rem;text-align:center}.catalog-empty-icon{width:80px;height:80px;background:linear-gradient(135deg,#f8fafc,#e2e8f0);border-radius:20px;display:flex;align-items:center;justify-content:center;font-size:2.5rem;margin-bottom:1.5rem}.catalog-empty h3{font-size:1.25rem;font-weight:600;color:#1e293b;margin-bottom:.5rem}.catalog-empty p{color:#64748b}.catalog-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:4rem;gap:1rem}.catalog-loading .spinner{width:48px;height:48px;border:4px solid #e2e8f0;border-top-color:#0891b2;border-radius:50%;animation:spin 1s linear infinite}.masiva-tab{display:flex;flex-direction:column;gap:1.5rem}.masiva-config-card{background:#fff;border-radius:20px;padding:2rem;box-shadow:0 4px 20px #0000000d;border:1px solid rgba(0,0,0,.05)}.masiva-config-card h3{font-size:1.15rem;font-weight:600;color:#1e293b;margin-bottom:1.5rem;display:flex;align-items:center;gap:.5rem}.masiva-form-row{display:grid;grid-template-columns:repeat(3,1fr);gap:1.25rem;margin-bottom:1.5rem}.masiva-field label{display:block;font-size:.85rem;font-weight:600;color:#374151;margin-bottom:.5rem}.masiva-field select,.masiva-field input{width:100%;padding:.875rem 1rem;border:2px solid #e2e8f0;border-radius:12px;font-size:.9rem;background:#f8fafc;transition:all .3s ease}.masiva-field select:focus,.masiva-field input:focus{outline:none;border-color:#0891b2;background:#fff;box-shadow:0 0 0 4px #0891b21a}.masiva-percentage-wrapper{position:relative}.masiva-percentage-wrapper .pct-symbol{position:absolute;right:1rem;top:50%;transform:translateY(-50%);color:#64748b;font-weight:600}.masiva-actions{display:flex;gap:.75rem}.masiva-preview-btn{display:flex;align-items:center;gap:.5rem;padding:.75rem 1.5rem;background:linear-gradient(135deg,#0891b2,#0e7490);color:#fff;border:none;border-radius:12px;font-size:.9rem;font-weight:600;cursor:pointer;transition:all .3s ease;box-shadow:0 4px 15px #0891b24d}.masiva-preview-btn:hover{transform:translateY(-2px);box-shadow:0 8px 25px #0891b266}.masiva-preview-btn:disabled{opacity:.5;cursor:not-allowed;transform:none}.masiva-preview-card{background:#fff;border-radius:20px;overflow:hidden;box-shadow:0 4px 20px #0000000d;border:1px solid rgba(0,0,0,.05)}.masiva-preview-header{display:flex;justify-content:space-between;align-items:center;padding:1.25rem 1.5rem;border-bottom:1px solid #f1f5f9}.masiva-preview-header h3{font-size:1.1rem;font-weight:600;color:#1e293b;margin:0}.masiva-apply-btn{display:flex;align-items:center;gap:.5rem;padding:.6rem 1.25rem;background:linear-gradient(135deg,#10b981,#059669);color:#fff;border:none;border-radius:10px;font-size:.85rem;font-weight:600;cursor:pointer;transition:all .3s ease;box-shadow:0 4px 12px #10b9814d}.masiva-apply-btn:hover{transform:translateY(-2px);box-shadow:0 8px 20px #10b98166}.masiva-diff-positive{color:#dc2626;font-weight:600}.masiva-diff-negative{color:#16a34a;font-weight:600}.masiva-result-card{background:linear-gradient(135deg,#ecfdf5,#d1fae5);border-radius:20px;padding:2rem;border:1px solid #a7f3d0;display:flex;align-items:center;gap:1.5rem}.masiva-result-icon{width:64px;height:64px;background:#fff;border-radius:16px;display:flex;align-items:center;justify-content:center;font-size:2rem;box-shadow:0 4px 12px #10b98133;flex-shrink:0}.masiva-result-text h3{font-size:1.15rem;font-weight:600;color:#065f46;margin-bottom:.25rem}.masiva-result-text p{color:#047857;font-size:.9rem}@media(max-width:992px){.catalog-stats{grid-template-columns:repeat(2,1fr)}.catalogo-controls{flex-direction:column;align-items:stretch}.catalogo-search{max-width:100%}.masiva-form-row{grid-template-columns:1fr}}@media(max-width:768px){.catalog-header{flex-direction:column;align-items:stretch}.catalog-header-actions{justify-content:stretch}.catalog-header-actions button{flex:1;justify-content:center}.catalog-stats{grid-template-columns:1fr}.catalog-tab-btn{padding:.6rem 1rem;font-size:.8rem}.catalogo-grid,.form-row-premium{grid-template-columns:1fr}}.tarifas-tab{display:flex;flex-direction:column;gap:1.5rem}.tab-header-row{display:flex;justify-content:space-between;align-items:flex-start;flex-wrap:wrap;gap:1rem}.tab-header-left h2{font-size:1.35rem;font-weight:700;color:#1e293b;margin-bottom:.25rem}.tab-subtitle{font-size:.9rem;color:#64748b}.tab-header-actions{display:flex;gap:.75rem}.tarifas-filters{display:flex;align-items:center;gap:1rem;flex-wrap:wrap}.tarifas-insurance-filter{max-width:220px}.category-badge{display:inline-block;padding:.3rem .75rem;border-radius:8px;font-size:.75rem;font-weight:600;background:#f1f5f9;color:#475569}.particular-badge{background:linear-gradient(135deg,#dbeafe,#bfdbfe)!important;color:#1d4ed8!important}.mutua-badge{background:linear-gradient(135deg,#fef3c7,#fde68a)!important;color:#92400e!important}.tarifas-compare-card{background:#fff;border-radius:20px;padding:1.5rem;box-shadow:0 4px 20px #0000000d;border:1px solid rgba(0,0,0,.05)}.compare-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.25rem;flex-wrap:wrap;gap:1rem}.compare-header h3{font-size:1.1rem;font-weight:600;color:#1e293b;margin:0}.compare-table-wrapper{overflow-x:auto}.compare-table th,.compare-table td{white-space:nowrap;min-width:100px}.price-lower{color:#16a34a;font-weight:700}.no-tarifa{color:#cbd5e1}@media(max-width:768px){.tab-header-row{flex-direction:column}.tarifas-filters{flex-direction:column;align-items:stretch}.tarifas-insurance-filter{max-width:none}}.mutuas-tab{display:flex;flex-direction:column;gap:1.5rem}.mutuas-stats-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1.5rem}.cif-code{font-family:SF Mono,Consolas,monospace;font-size:.85rem;color:#475569}.email-link{color:#0891b2;font-size:.85rem}.franchise-toolbar{padding:1rem 1.5rem;border-bottom:1px solid #f1f5f9}.franchise-company-filter{max-width:250px}.franchise-matrix-wrapper{overflow-x:auto}.franchise-matrix th,.franchise-matrix td{white-space:nowrap;min-width:120px;text-align:center}.franchise-matrix td:first-child{text-align:left;min-width:200px}.matrix-cell{vertical-align:middle}.matrix-copay{display:flex;flex-direction:column;align-items:center;gap:.15rem}.copay-free{color:#16a34a;font-weight:700}.copay-amount{color:#1e293b;font-weight:600}.matrix-coverage{font-size:.7rem;color:#64748b}.coverage-bar-wrapper{display:flex;align-items:center;gap:.5rem}.coverage-bar{height:6px;border-radius:3px;background:linear-gradient(90deg,#0891b2,#10b981);max-width:80px;min-width:10px;transition:width .3s ease}.coverage-bar-wrapper span{font-size:.8rem;font-weight:600;color:#475569}@media(max-width:992px){.mutuas-stats-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:768px){.mutuas-stats-grid{grid-template-columns:1fr}.franchise-company-filter{max-width:none}}.sepa-tab{display:flex;flex-direction:column;gap:1.5rem}.sepa-stats-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1.5rem}.iban-code{font-family:SF Mono,Consolas,monospace;font-size:.8rem;color:#475569;letter-spacing:.03em}.return-reason{font-size:.75rem;color:#dc2626;margin-top:.25rem;font-style:italic}@media(max-width:992px){.sepa-stats-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:768px){.sepa-stats-grid{grid-template-columns:1fr}}.impagos-tab{display:flex;flex-direction:column;gap:1.5rem}.impago-severity-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:1rem}.severity-card{background:#fff;border-radius:16px;padding:1.25rem;display:flex;align-items:center;gap:1rem;box-shadow:0 4px 15px #0000000d;border:1px solid rgba(0,0,0,.05);transition:all .3s ease;position:relative;overflow:hidden}.severity-card:before{content:"";position:absolute;top:0;left:0;right:0;height:3px}.severity-card:hover{transform:translateY(-3px);box-shadow:0 8px 25px #0000001a}.severity-card.total:before{background:linear-gradient(90deg,#6366f1,#818cf8)}.severity-card.low:before{background:linear-gradient(90deg,#10b981,#34d399)}.severity-card.medium:before{background:linear-gradient(90deg,#f59e0b,#fbbf24)}.severity-card.high:before{background:linear-gradient(90deg,#f97316,#fb923c)}.severity-card.critical:before{background:linear-gradient(90deg,#ef4444,#f87171)}.severity-card-icon{font-size:1.5rem}.severity-card-body h3{font-size:1.15rem;font-weight:700;color:#1e293b;margin-bottom:.1rem}.severity-card-body p{font-size:.8rem;color:#64748b;margin-bottom:.15rem}.severity-count{font-size:.7rem;color:#94a3b8}.impago-row.severity-low{border-left:3px solid #10b981}.impago-row.severity-medium{border-left:3px solid #f59e0b}.impago-row.severity-high{border-left:3px solid #f97316}.impago-row.severity-critical{border-left:3px solid #ef4444}.days-badge{display:inline-flex;align-items:center;padding:.3rem .75rem;border-radius:8px;font-size:.8rem;font-weight:700}.days-badge.severity-low{background:#dcfce7;color:#16a34a}.days-badge.severity-medium{background:#fef3c7;color:#b45309}.days-badge.severity-high{background:#ffedd5;color:#c2410c}.days-badge.severity-critical{background:#fee2e2;color:#b91c1c}.impago-status-pending{background:linear-gradient(135deg,#f3f4f6,#e5e7eb)!important;color:#4b5563!important}.impago-status-first-notice{background:linear-gradient(135deg,#fef3c7,#fef9c3)!important;color:#b45309!important}.impago-status-second-notice{background:linear-gradient(135deg,#ffedd5,#fed7aa)!important;color:#c2410c!important}.impago-status-demand{background:linear-gradient(135deg,#fee2e2,#fecaca)!important;color:#b91c1c!important}.impago-status-collections{background:linear-gradient(135deg,#fce7f3,#fbcfe8)!important;color:#9d174d!important}.impago-status-failed{background:linear-gradient(135deg,#f1f5f9,#e2e8f0)!important;color:#64748b!important}.impago-status-resolved{background:linear-gradient(135deg,#dcfce7,#d1fae5)!important;color:#15803d!important}.reminder-info{display:flex;flex-direction:column;gap:.15rem}.reminder-count{font-size:.85rem;font-weight:600;color:#1e293b}.reminder-date{font-size:.7rem;color:#94a3b8}.impago-detail-modal{max-width:650px}.impago-detail-summary{display:grid;grid-template-columns:1fr 1fr;gap:1rem;padding:1rem;background:#f8fafc;border-radius:12px;margin-bottom:1.5rem}.detail-item{display:flex;flex-direction:column;gap:.25rem}.detail-label{font-size:.75rem;color:#64748b;text-transform:uppercase;font-weight:600;letter-spacing:.05em}.detail-value{font-size:.95rem;font-weight:600;color:#1e293b}.impago-notes{padding:.75rem 1rem;background:#fffbeb;border-radius:8px;border-left:3px solid #f59e0b;font-size:.875rem;color:#92400e;margin-bottom:1.5rem}.impago-timeline h3{font-size:1rem;font-weight:600;color:#1e293b;margin-bottom:1rem}.no-actions{color:#94a3b8;font-size:.875rem;text-align:center;padding:1rem}.timeline-list{display:flex;flex-direction:column;gap:0}.timeline-item{display:flex;gap:1rem;border-left:2px solid #e2e8f0;padding:.75rem 0 .75rem 1.25rem;position:relative}.timeline-marker{position:absolute;left:-6px;top:1rem;width:10px;height:10px;border-radius:50%;background:#0891b2;border:2px solid white;box-shadow:0 0 0 2px #e2e8f0}.timeline-content{flex:1}.timeline-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.25rem}.timeline-type{font-size:.8rem;font-weight:600;color:#0891b2;background:#ecfeff;padding:.2rem .6rem;border-radius:6px}.timeline-date{font-size:.75rem;color:#94a3b8}.timeline-content p{font-size:.85rem;color:#475569;margin:.25rem 0}.timeline-result{font-size:.8rem;color:#16a34a;font-weight:500;display:block}.timeline-author{font-size:.7rem;color:#94a3b8}@media(max-width:1200px){.impago-severity-grid{grid-template-columns:repeat(3,1fr)}}@media(max-width:768px){.impago-severity-grid{grid-template-columns:1fr 1fr}.impago-detail-summary{grid-template-columns:1fr}}.caja-tab{display:flex;flex-direction:column;gap:1.5rem}.caja-status-banner{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:1rem;padding:1.25rem 1.75rem;border-radius:16px;background:#fff;box-shadow:0 4px 20px #0000000d;border:1px solid rgba(0,0,0,.05);position:relative;overflow:hidden}.caja-status-banner:before{content:"";position:absolute;top:0;left:0;right:0;height:4px}.caja-status-banner[data-status=open]:before{background:linear-gradient(90deg,#10b981,#34d399)}.caja-status-banner[data-status=closed]:before,.caja-status-banner[data-status=reconciled]:before{background:linear-gradient(90deg,#ef4444,#f87171)}.caja-status-banner[data-status=none]:before{background:linear-gradient(90deg,#94a3b8,#cbd5e1)}.caja-status-left{display:flex;align-items:center;gap:1rem}.caja-status-icon{font-size:1.5rem}.caja-status-info h2{font-size:1.15rem;font-weight:700;color:#1e293b;margin-bottom:.15rem}.caja-status-info span{font-size:.85rem;color:#64748b}.caja-status-actions{display:flex;gap:.75rem}.caja-close-btn{border-color:#ef4444!important;color:#ef4444!important}.caja-close-btn:hover{background:#ef4444!important;color:#fff!important}.caja-summary-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1.5rem}.caja-methods-row{display:flex;gap:1rem;flex-wrap:wrap}.caja-method-card{flex:1;min-width:150px;display:flex;align-items:center;gap:.75rem;padding:1rem 1.25rem;background:#fff;border-radius:14px;box-shadow:0 2px 10px #0000000a;border:1px solid rgba(0,0,0,.05);transition:all .3s ease}.caja-method-card:hover{transform:translateY(-2px);box-shadow:0 6px 20px #00000014}.caja-method-icon{font-size:1.5rem}.caja-method-info strong{display:block;font-size:.85rem;color:#1e293b;margin-bottom:.2rem}.caja-method-amounts{display:flex;gap:.5rem;font-size:.8rem}.method-income{color:#16a34a;font-weight:600}.method-expense{color:#dc2626;font-weight:600}.method-zero{color:#94a3b8}.caja-method-badge{display:inline-flex;align-items:center;gap:.35rem;padding:.3rem .6rem;background:#f8fafc;border-radius:8px;font-size:.8rem;color:#475569;font-weight:500}.income-amount{color:#16a34a!important}.expense-amount{color:#dc2626!important}.caja-totals-row{background:linear-gradient(180deg,#f8fafc,#f1f5f9)}.caja-totals-row td{padding:1rem 1.25rem!important;border-top:2px solid #e2e8f0}.caja-toolbar{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:1rem;padding:1rem 1.5rem;background:#fff;border-radius:14px;box-shadow:0 2px 10px #0000000a;border:1px solid rgba(0,0,0,.05)}.caja-toolbar-left{display:flex;align-items:center;gap:1rem}.caja-toolbar-right{display:flex;align-items:center;gap:.75rem}.caja-user-filter{display:flex;align-items:center;gap:.5rem;font-size:.85rem;color:#475569}.caja-filter-select{width:auto;min-width:160px;padding:.4rem .75rem;font-size:.85rem}.caja-fund-btn{display:inline-flex;align-items:center;gap:.4rem;padding:.5rem 1rem;background:#f0fdf4;border:1px solid #bbf7d0;border-radius:10px;color:#16a34a;font-weight:600;font-size:.85rem;cursor:pointer;transition:all .2s}.caja-fund-btn:hover{background:#dcfce7;border-color:#86efac}.caja-discrepancy-toggle{display:inline-flex;align-items:center;gap:.4rem;padding:.5rem 1rem;background:#f8fafc;border:1px solid #e2e8f0;border-radius:10px;color:#475569;font-weight:600;font-size:.85rem;cursor:pointer;transition:all .2s}.caja-discrepancy-toggle:hover{background:#f1f5f9;border-color:#cbd5e1}.caja-discrepancy-toggle.active{background:#eff6ff;border-color:#93c5fd;color:#2563eb}.caja-discrepancy-panel{background:#fff;border-radius:16px;padding:1.5rem;box-shadow:0 4px 20px #0000000d;border:1px solid rgba(0,0,0,.05);animation:slideDown .3s ease}@keyframes slideDown{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.discrepancy-stats-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem;margin-bottom:1.5rem}.discrepancy-stat-card{text-align:center;padding:1rem;background:#f8fafc;border-radius:12px;border:1px solid #e2e8f0}.discrepancy-stat-card.deficit{background:#fef2f2;border-color:#fecaca}.discrepancy-stat-card.surplus{background:#eff6ff;border-color:#bfdbfe}.discrepancy-stat-value{font-size:1.25rem;font-weight:700;color:#1e293b;margin-bottom:.25rem}.discrepancy-stat-card.deficit .discrepancy-stat-value{color:#dc2626}.discrepancy-stat-card.surplus .discrepancy-stat-value{color:#2563eb}.discrepancy-stat-label{font-size:.8rem;color:#64748b}.discrepancy-table{margin-top:0}.mov-type-toggle{display:flex;gap:0;margin-bottom:1.5rem;border-radius:12px;overflow:hidden;border:2px solid #e2e8f0}.mov-type-btn{flex:1;padding:.75rem 1rem;border:none;background:#fff;cursor:pointer;font-weight:600;font-size:.9rem;transition:all .2s;color:#64748b}.mov-type-btn.income.active{background:#dcfce7;color:#16a34a}.mov-type-btn.expense.active{background:#fee2e2;color:#dc2626}.mov-type-btn:hover:not(.active){background:#f8fafc}.mov-method-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:.5rem}.mov-method-btn{display:flex;flex-direction:column;align-items:center;gap:.35rem;padding:.75rem .5rem;background:#f8fafc;border:2px solid #e2e8f0;border-radius:12px;cursor:pointer;transition:all .2s;color:#475569}.mov-method-btn:hover{border-color:#cbd5e1;background:#f1f5f9}.mov-method-btn.active{border-color:#6366f1;background:#eef2ff;color:#4338ca}.mov-method-btn-icon{font-size:1.25rem}.mov-method-btn-label{font-size:.7rem;font-weight:600}.mov-change-section{background:#fffbeb;border:1px solid #fde68a;border-radius:12px;padding:1rem;margin-top:-.5rem;margin-bottom:.5rem}.mov-change-section .form-label-premium{color:#92400e}.mov-change-section .form-input-premium{margin-top:.5rem}.mov-change-result{margin-top:.75rem;padding:.6rem 1rem;background:#fef3c7;border-radius:8px;font-size:.9rem;color:#92400e;font-weight:500}.mov-change-result.deficit{background:#fee2e2;color:#dc2626}.open-fund-info{display:flex;justify-content:space-between;align-items:center;padding:1rem 1.25rem;background:#f0fdfa;border:1px solid #99f6e4;border-radius:12px;margin-bottom:1.5rem;color:#0f766e}.open-fund-info span{font-size:.9rem}.open-fund-info strong{font-size:1.1rem}.open-balance-alert{padding:.75rem 1rem;background:#fffbeb;border:1px solid #fde68a;border-radius:10px;font-size:.85rem;color:#92400e;margin-bottom:1rem}.caja-close-modal{max-width:720px;width:90vw}.close-section-title{font-size:.95rem;font-weight:700;color:#1e293b;margin:1.5rem 0 .75rem;padding-bottom:.5rem;border-bottom:2px solid #e2e8f0}.close-section-title:first-child{margin-top:0}.close-methods-breakdown{background:#f8fafc;border-radius:12px;padding:1rem;margin-bottom:1rem}.close-methods-header,.close-method-row{display:grid;grid-template-columns:1.5fr 1fr 1fr 1fr;gap:.5rem;padding:.5rem;font-size:.85rem;align-items:center}.close-methods-header{font-weight:600;color:#64748b;font-size:.8rem;border-bottom:1px solid #e2e8f0;padding-bottom:.75rem;margin-bottom:.25rem}.close-method-row{color:#475569}.close-method-row.total{border-top:2px solid #e2e8f0;margin-top:.5rem;padding-top:.75rem}.close-summary{background:#f8fafc;border-radius:12px;padding:1.25rem;margin-bottom:1rem}.close-summary-row{display:flex;justify-content:space-between;padding:.5rem 0;font-size:.9rem;color:#475569}.close-summary-row.total{border-top:2px solid #e2e8f0;margin-top:.5rem;padding-top:1rem;font-weight:700;color:#1e293b;font-size:1rem}.denomination-mode-toggle{display:flex;gap:0;margin-bottom:1rem;border-radius:10px;overflow:hidden;border:2px solid #e2e8f0}.denomination-mode-btn{flex:1;padding:.6rem 1rem;border:none;background:#fff;cursor:pointer;font-weight:600;font-size:.8rem;transition:all .2s;color:#64748b}.denomination-mode-btn.active{background:#eff6ff;color:#2563eb}.denomination-mode-btn:hover:not(.active){background:#f8fafc}.denomination-grid{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem}.denomination-column h4{font-size:.85rem;font-weight:700;color:#475569;margin-bottom:.75rem;text-transform:uppercase;letter-spacing:.05em}.denomination-row{display:grid;grid-template-columns:80px 60px 1fr;gap:.5rem;align-items:center;margin-bottom:.4rem}.denomination-label{font-size:.8rem;font-weight:600;color:#475569}.denomination-input{width:100%;padding:.35rem .5rem;border:1px solid #e2e8f0;border-radius:8px;font-size:.85rem;text-align:center;background:#fff;transition:border-color .2s}.denomination-input:focus{outline:none;border-color:#6366f1;box-shadow:0 0 0 2px #6366f11a}.denomination-subtotal{font-size:.8rem;color:#64748b;text-align:right}.denomination-total-display{display:flex;justify-content:space-between;align-items:center;padding:1rem 1.25rem;background:#f1f5f9;border-radius:12px;margin-top:1rem;margin-bottom:.5rem}.denomination-total-display span{font-size:.95rem;color:#475569}.denomination-total-display strong{font-size:1.2rem;color:#1e293b}.close-difference{display:flex;justify-content:space-between;align-items:center;padding:1rem;border-radius:12px;margin-top:.5rem;margin-bottom:1rem}.close-difference.exact{background:#dcfce7;color:#16a34a}.close-difference.surplus{background:#dbeafe;color:#2563eb}.close-difference.deficit{background:#fee2e2;color:#dc2626}.close-difference strong{font-size:.9rem}.close-difference span{font-size:1.1rem;font-weight:700}.fund-info-cards{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin-bottom:1.5rem}.fund-info-card{padding:1rem;background:#f8fafc;border-radius:12px;border:1px solid #e2e8f0;text-align:center}.fund-info-card span{display:block;font-size:.8rem;color:#64748b;margin-bottom:.35rem}.fund-info-card strong{font-size:1.1rem;color:#1e293b}.fund-help-text{margin-top:1rem;padding:.75rem 1rem;background:#eff6ff;border-radius:10px;font-size:.82rem;color:#1e40af;line-height:1.5}@media(max-width:992px){.caja-summary-grid,.discrepancy-stats-grid{grid-template-columns:repeat(2,1fr)}.denomination-grid{grid-template-columns:1fr}.mov-method-grid{grid-template-columns:repeat(3,1fr)}.close-methods-header,.close-method-row{grid-template-columns:1.2fr 1fr 1fr 1fr;font-size:.8rem}}@media(max-width:768px){.caja-status-banner{flex-direction:column;align-items:flex-start}.caja-summary-grid{grid-template-columns:1fr}.caja-methods-row{flex-direction:column}.caja-toolbar{flex-direction:column;align-items:flex-start}.caja-toolbar-right{width:100%;justify-content:flex-start;flex-wrap:wrap}.discrepancy-stats-grid{grid-template-columns:repeat(2,1fr)}.mov-method-grid{grid-template-columns:repeat(3,1fr)}.fund-info-cards{grid-template-columns:1fr}.close-methods-header,.close-method-row{font-size:.75rem}.caja-close-modal{max-width:100%;width:95vw}}.descuentos-tab{display:flex;flex-direction:column;gap:1.5rem}.descuentos-subnav{display:flex;gap:.5rem;padding:.35rem;border-radius:12px;background:#f1f5f9b3;width:fit-content}.descuentos-subnav-btn{display:flex;align-items:center;gap:.5rem;padding:.6rem 1.1rem;border-radius:10px;border:none;background:transparent;font-size:.85rem;font-weight:500;color:#64748b;cursor:pointer;transition:all .2s ease}.descuentos-subnav-btn:hover{background:#fff9;color:#334155}.descuentos-subnav-btn.active{background:#fff;color:#1e293b;font-weight:600;box-shadow:0 2px 8px #00000014}.scope-badge{display:inline-flex;align-items:center;gap:.3rem;padding:.25rem .7rem;border-radius:8px;font-size:.73rem;font-weight:600;white-space:nowrap}.scope-treatment{background:linear-gradient(135deg,#ede9fe,#ddd6fe);color:#6d28d9}.scope-patient{background:linear-gradient(135deg,#cffafe,#a5f3fc);color:#0e7490}.scope-campaign{background:linear-gradient(135deg,#ffedd5,#fed7aa);color:#c2410c}.scope-volume{background:linear-gradient(135deg,#e0e7ff,#c7d2fe);color:#4338ca}.promo-code-badge{display:inline-block;padding:.3rem .75rem;border-radius:6px;font-family:SF Mono,Fira Code,Cascadia Code,monospace;font-size:.8rem;font-weight:700;letter-spacing:.5px;background:#06b6d414;color:#0891b2;border:1.5px dashed rgba(6,182,212,.35)}.value-badge{display:inline-flex;align-items:center;gap:.25rem;padding:.25rem .6rem;border-radius:8px;font-size:.8rem;font-weight:700}.value-percentage{background:linear-gradient(135deg,#dcfce7,#bbf7d0);color:#15803d}.value-fixed{background:linear-gradient(135deg,#dbeafe,#bfdbfe);color:#1d4ed8}.usage-progress-wrapper{display:flex;flex-direction:column;gap:.25rem;min-width:100px}.usage-progress-bar{height:6px;border-radius:3px;background:#f1f5f9;overflow:hidden}.usage-progress-fill{height:100%;border-radius:3px;transition:width .3s ease;background:linear-gradient(90deg,#06b6d4,#3b82f6)}.usage-progress-fill.high{background:linear-gradient(90deg,#f59e0b,#ef4444)}.usage-progress-text{font-size:.72rem;color:#64748b;text-align:right}.descuentos-stats-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem}.descuentos-stat-card{background:#fff;border-radius:16px;padding:1.25rem;border:1px solid rgba(0,0,0,.05);box-shadow:0 2px 12px #0000000a;display:flex;flex-direction:column;gap:.5rem}.descuentos-stat-card .stat-icon{font-size:1.5rem;width:40px;height:40px;border-radius:12px;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#f0f9ff,#e0f2fe)}.descuentos-stat-card h3{font-size:1.6rem;font-weight:800;color:#1e293b;margin:0}.descuentos-stat-card p{font-size:.82rem;color:#64748b;margin:0}.descuentos-resumen-grid{display:grid;grid-template-columns:1fr 1fr;gap:1.25rem}.descuentos-panel{background:#fff;border-radius:16px;padding:1.25rem;border:1px solid rgba(0,0,0,.05);box-shadow:0 2px 12px #0000000a}.descuentos-panel h3{font-size:1rem;font-weight:600;color:#1e293b;margin:0 0 1rem;display:flex;align-items:center;gap:.5rem}.top-discount-item{display:flex;justify-content:space-between;align-items:center;padding:.6rem 0;border-bottom:1px solid #f1f5f9}.top-discount-item:last-child{border-bottom:none}.top-discount-rank{width:24px;height:24px;border-radius:6px;display:flex;align-items:center;justify-content:center;font-size:.7rem;font-weight:700;background:#f1f5f9;color:#475569;flex-shrink:0}.top-discount-name{font-size:.85rem;color:#334155;font-weight:500;flex:1;margin-left:.6rem}.top-discount-savings{font-size:.85rem;color:#16a34a;font-weight:700}.top-discount-uses{font-size:.75rem;color:#94a3b8;margin-left:.5rem}.impact-bar-item{display:flex;align-items:center;gap:.75rem;padding:.5rem 0}.impact-bar-label{font-size:.82rem;color:#475569;width:100px;flex-shrink:0}.impact-bar-track{flex:1;height:8px;border-radius:4px;background:#f1f5f9;overflow:hidden}.impact-bar-fill{height:100%;border-radius:4px;background:linear-gradient(90deg,#06b6d4,#8b5cf6)}.impact-bar-value{font-size:.82rem;color:#1e293b;font-weight:600;width:80px;text-align:right}.original-price{font-size:.82rem;color:#94a3b8;text-decoration:line-through}.discount-amount{font-size:.82rem;color:#16a34a;font-weight:600}.final-price{font-size:.9rem;color:#1e293b;font-weight:700}.descuentos-filters{display:flex;align-items:center;gap:1rem;flex-wrap:wrap}.treatments-list{display:flex;flex-wrap:wrap;gap:.25rem}.treatment-tag{display:inline-block;padding:.15rem .5rem;border-radius:6px;font-size:.7rem;background:#f1f5f9;color:#475569}.form-section-title{font-size:.85rem;font-weight:600;color:#475569;padding-bottom:.5rem;border-bottom:1px solid #f1f5f9;margin-top:.5rem}@media(max-width:1024px){.descuentos-stats-grid{grid-template-columns:repeat(2,1fr)}.descuentos-resumen-grid{grid-template-columns:1fr}}@media(max-width:768px){.descuentos-stats-grid{grid-template-columns:1fr}.tab-header-row{flex-direction:column}.descuentos-filters{flex-direction:column;align-items:stretch}.descuentos-subnav{flex-wrap:wrap;width:100%}.descuentos-subnav-btn{flex:1;justify-content:center}}.seguimiento-tab{display:flex;flex-direction:column;gap:1.5rem}.seguimiento-severity-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:1rem}.seg-severity-card{background:#fff;border-radius:16px;padding:1.25rem;display:flex;align-items:center;gap:1rem;box-shadow:0 4px 15px #0000000d;border:1px solid rgba(0,0,0,.05);transition:all .3s ease;position:relative;overflow:hidden}.seg-severity-card:before{content:"";position:absolute;top:0;left:0;right:0;height:3px}.seg-severity-card:hover{transform:translateY(-3px);box-shadow:0 8px 25px #0000001a}.seg-severity-card.total:before{background:linear-gradient(90deg,#8b5cf6,#a78bfa)}.seg-severity-card.fresh:before{background:linear-gradient(90deg,#10b981,#34d399)}.seg-severity-card.first:before{background:linear-gradient(90deg,#f59e0b,#fbbf24)}.seg-severity-card.second:before{background:linear-gradient(90deg,#f97316,#fb923c)}.seg-severity-card.last:before{background:linear-gradient(90deg,#ef4444,#f87171)}.seg-severity-icon{font-size:1.5rem}.seg-severity-body h3{font-size:1.15rem;font-weight:700;color:#1e293b;margin-bottom:.1rem}.seg-severity-body p{font-size:.8rem;color:#64748b;margin-bottom:.15rem}.seg-severity-count{font-size:.7rem;color:#94a3b8}.seg-actions-bar{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:1rem;padding:1rem 1.5rem;background:linear-gradient(135deg,#f8fafc,#f1f5f9);border-radius:12px;border:1px solid rgba(0,0,0,.05)}.seg-actions-left{display:flex;align-items:center;gap:.75rem}.seg-actions-count{display:flex;align-items:center;gap:.5rem;padding:.5rem 1rem;background:linear-gradient(135deg,#0891b2,#0e7490);color:#fff;border-radius:10px;font-size:.85rem;font-weight:600}.seg-actions-right{display:flex;gap:.75rem}.seg-row.seg-fresh{border-left:3px solid #10b981}.seg-row.seg-first{border-left:3px solid #f59e0b}.seg-row.seg-second{border-left:3px solid #f97316}.seg-row.seg-last{border-left:3px solid #ef4444}.seg-days-badge{display:inline-flex;align-items:center;padding:.3rem .75rem;border-radius:8px;font-size:.8rem;font-weight:700}.seg-days-badge.seg-fresh{background:#dcfce7;color:#16a34a}.seg-days-badge.seg-first{background:#fef3c7;color:#b45309}.seg-days-badge.seg-second{background:#ffedd5;color:#c2410c}.seg-days-badge.seg-last{background:#fee2e2;color:#b91c1c}.seg-status-pending{background:linear-gradient(135deg,#f3f4f6,#e5e7eb)!important;color:#4b5563!important}.seg-status-contacted{background:linear-gradient(135deg,#dbeafe,#bfdbfe)!important;color:#1d4ed8!important}.seg-status-negotiating{background:linear-gradient(135deg,#fef3c7,#fef9c3)!important;color:#b45309!important}.seg-status-desestimado{background:linear-gradient(135deg,#fee2e2,#fecaca)!important;color:#b91c1c!important}.seg-status-converted{background:linear-gradient(135deg,#dcfce7,#d1fae5)!important;color:#15803d!important}.seg-next-action{display:flex;flex-direction:column;gap:.15rem}.seg-next-action-type{font-size:.8rem;font-weight:600;color:#0891b2;display:flex;align-items:center;gap:.35rem}.seg-next-action-date{font-size:.7rem;color:#94a3b8}.seg-detail-modal{max-width:700px}.seg-detail-summary{display:grid;grid-template-columns:1fr 1fr;gap:1rem;padding:1rem;background:#f8fafc;border-radius:12px;margin-bottom:1.5rem}.seg-detail-item{display:flex;flex-direction:column;gap:.25rem}.seg-detail-label{font-size:.75rem;color:#64748b;text-transform:uppercase;font-weight:600;letter-spacing:.05em}.seg-detail-value{font-size:.95rem;font-weight:600;color:#1e293b}.seg-treatments-box{padding:.75rem 1rem;background:#f0f9ff;border-radius:8px;border-left:3px solid #0891b2;font-size:.875rem;color:#0c4a6e;margin-bottom:1.5rem}.seg-timeline h3{font-size:1rem;font-weight:600;color:#1e293b;margin-bottom:1rem}.seg-no-actions{color:#94a3b8;font-size:.875rem;text-align:center;padding:1rem}.seg-timeline-list{display:flex;flex-direction:column;gap:0}.seg-timeline-item{display:flex;gap:1rem;border-left:2px solid #e2e8f0;padding:.75rem 0 .75rem 1.25rem;position:relative}.seg-timeline-marker{position:absolute;left:-6px;top:1rem;width:10px;height:10px;border-radius:50%;background:#0891b2;border:2px solid white;box-shadow:0 0 0 2px #e2e8f0}.seg-timeline-content{flex:1}.seg-timeline-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.25rem}.seg-timeline-type{font-size:.8rem;font-weight:600;color:#0891b2;background:#ecfeff;padding:.2rem .6rem;border-radius:6px}.seg-timeline-date{font-size:.75rem;color:#94a3b8}.seg-timeline-content p{font-size:.85rem;color:#475569;margin:.25rem 0}.seg-timeline-result{font-size:.8rem;color:#16a34a;font-weight:500;display:block}.seg-timeline-author{font-size:.7rem;color:#94a3b8}.seg-action-buttons{display:flex;flex-wrap:wrap;gap:.5rem}.seg-action-btn{display:flex;align-items:center;gap:.35rem;padding:.6rem 1rem;border-radius:10px;font-size:.8rem;font-weight:600;cursor:pointer;border:none;transition:all .3s ease}.seg-action-btn.call{background:#dcfce7;color:#15803d}.seg-action-btn.call:hover{background:#16a34a;color:#fff}.seg-action-btn.email{background:#dbeafe;color:#1d4ed8}.seg-action-btn.email:hover{background:#2563eb;color:#fff}.seg-action-btn.desestimado{background:#fee2e2;color:#b91c1c}.seg-action-btn.desestimado:hover{background:#ef4444;color:#fff}.seg-action-btn.converted{background:#dcfce7;color:#15803d}.seg-action-btn.converted:hover{background:#10b981;color:#fff}.seg-rejection-modal{max-width:480px}.seg-rejection-options{display:flex;flex-direction:column;gap:.75rem;margin-bottom:1.5rem}.seg-rejection-option{display:flex;align-items:center;gap:.75rem;padding:.875rem 1rem;background:#f8fafc;border:2px solid transparent;border-radius:12px;cursor:pointer;transition:all .2s ease}.seg-rejection-option:hover{border-color:#0891b2;background:#f0f9ff}.seg-rejection-option.selected{border-color:#0891b2;background:#ecfeff}.seg-rejection-option input[type=radio]{accent-color:#0891b2;width:18px;height:18px}.seg-rejection-option label{font-size:.9rem;font-weight:500;color:#1e293b;cursor:pointer}.seg-rejection-notes{width:100%;min-height:80px;padding:.875rem 1rem;border:2px solid #e2e8f0;border-radius:12px;font-size:.9rem;resize:vertical;background:#f8fafc;transition:all .3s ease;font-family:inherit}.seg-rejection-notes:focus{outline:none;border-color:#0891b2;background:#fff;box-shadow:0 0 0 4px #0891b21a}.seg-stats-panel{background:#fff;border-radius:16px;padding:1.5rem;box-shadow:0 4px 15px #0000000d;border:1px solid rgba(0,0,0,.05)}.seg-stats-header{display:flex;align-items:center;justify-content:space-between;cursor:pointer;-webkit-user-select:none;user-select:none}.seg-stats-header h3{font-size:1.1rem;font-weight:600;color:#1e293b;display:flex;align-items:center;gap:.5rem}.seg-stats-toggle{font-size:1.2rem;transition:transform .3s ease}.seg-stats-toggle.open{transform:rotate(180deg)}.seg-stats-content{margin-top:1.5rem;display:flex;flex-direction:column;gap:1.5rem}.seg-stat-section h4{font-size:.9rem;font-weight:600;color:#475569;margin-bottom:.75rem;display:flex;align-items:center;gap:.5rem}.seg-conversion-rate{display:flex;align-items:center;gap:1rem;padding:1rem;background:linear-gradient(135deg,#f0fdf4,#dcfce7);border-radius:12px}.seg-conversion-number{font-size:2rem;font-weight:800;color:#15803d}.seg-conversion-detail{font-size:.85rem;color:#166534}.seg-reason-bars{display:flex;flex-direction:column;gap:.5rem}.seg-reason-bar{display:flex;align-items:center;gap:.75rem}.seg-reason-label{font-size:.8rem;color:#475569;width:100px;flex-shrink:0}.seg-reason-track{flex:1;height:8px;background:#f1f5f9;border-radius:4px;overflow:hidden}.seg-reason-fill{height:100%;border-radius:4px;background:linear-gradient(90deg,#ef4444,#f87171);transition:width .5s ease}.seg-reason-count{font-size:.8rem;font-weight:600;color:#1e293b;width:24px;text-align:right}.seg-dentist-stats{display:flex;flex-direction:column;gap:.5rem}.seg-dentist-row{display:flex;align-items:center;justify-content:space-between;padding:.75rem 1rem;background:#f8fafc;border-radius:10px}.seg-dentist-name{font-size:.85rem;font-weight:600;color:#1e293b}.seg-dentist-info{display:flex;align-items:center;gap:1rem}.seg-dentist-rate{font-size:.8rem;font-weight:700;padding:.2rem .6rem;border-radius:6px;background:#dcfce7;color:#15803d}.seg-dentist-total{font-size:.75rem;color:#94a3b8}@media(max-width:1200px){.seguimiento-severity-grid{grid-template-columns:repeat(3,1fr)}}@media(max-width:768px){.seguimiento-severity-grid{grid-template-columns:1fr 1fr}.seg-detail-summary{grid-template-columns:1fr}.seg-actions-bar{flex-direction:column;align-items:stretch}.seg-action-buttons{justify-content:center}}.billing-page{display:flex;flex-direction:column;gap:2rem;animation:fadeInUp .5s ease}.billing-header{display:flex;justify-content:space-between;align-items:flex-start;flex-wrap:wrap;gap:1.5rem}.billing-header-content h1{font-size:2rem;font-weight:700;background:linear-gradient(135deg,#1e3a5f,#0891b2);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;margin-bottom:.5rem}.billing-header-content p{color:#64748b;font-size:1rem}.billing-header-actions{display:flex;gap:.75rem}.btn-premium{display:flex;align-items:center;gap:.5rem;padding:.75rem 1.5rem;background:linear-gradient(135deg,#0891b2,#0e7490,#155e75);color:#fff;border:none;border-radius:12px;font-size:.9rem;font-weight:600;cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1);box-shadow:0 4px 15px #0891b24d;position:relative;overflow:hidden}.btn-premium:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.2),transparent);transition:left .5s}.btn-premium:hover:before{left:100%}.btn-premium:hover{transform:translateY(-2px);box-shadow:0 8px 25px #0891b266}.btn-outline-premium{display:flex;align-items:center;gap:.5rem;padding:.75rem 1.25rem;background:#fff;color:#0891b2;border:2px solid #0891b2;border-radius:12px;font-size:.9rem;font-weight:600;cursor:pointer;transition:all .3s ease}.btn-outline-premium:hover{background:#0891b2;color:#fff;transform:translateY(-2px)}.financial-overview{display:grid;grid-template-columns:repeat(4,1fr);gap:1.5rem}.finance-card{background:#fff;border-radius:20px;padding:1.75rem;position:relative;overflow:hidden;transition:all .4s cubic-bezier(.4,0,.2,1);box-shadow:0 4px 20px #0000000d;border:1px solid rgba(0,0,0,.05)}.finance-card:before{content:"";position:absolute;top:0;left:0;right:0;height:4px;background:linear-gradient(90deg,var(--card-accent),var(--card-accent-light))}.finance-card:hover{transform:translateY(-5px);box-shadow:0 20px 40px #0000001a}.finance-card.revenue{--card-accent: #10b981;--card-accent-light: #34d399}.finance-card.pending{--card-accent: #f59e0b;--card-accent-light: #fbbf24}.finance-card.overdue{--card-accent: #ef4444;--card-accent-light: #f87171}.finance-card.invoices{--card-accent: #6366f1;--card-accent-light: #818cf8}.finance-card-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:1rem}.finance-card-icon{width:52px;height:52px;border-radius:14px;display:flex;align-items:center;justify-content:center;font-size:1.5rem;background:linear-gradient(135deg,var(--card-accent) 0%,var(--card-accent-light) 100%);box-shadow:0 4px 15px #00000026}.finance-card-trend{display:flex;align-items:center;gap:.25rem;padding:.35rem .75rem;border-radius:20px;font-size:.75rem;font-weight:600}.finance-card-trend.positive{background:#dcfce7;color:#16a34a}.finance-card-trend.negative{background:#fee2e2;color:#dc2626}.finance-card-trend.neutral{background:#f3f4f6;color:#6b7280}.finance-card-body h3{font-size:2rem;font-weight:700;color:#1e293b;margin-bottom:.25rem;letter-spacing:-.02em}.finance-card-body p{color:#64748b;font-size:.9rem;font-weight:500}.finance-card-footer{display:flex;align-items:center;gap:.5rem;margin-top:1rem;padding-top:1rem;border-top:1px solid #f1f5f9;font-size:.8rem;color:#94a3b8}.quick-stats-bar{display:flex;gap:1rem;padding:1rem 1.5rem;background:linear-gradient(135deg,#1e3a5f,#0f2744);border-radius:16px;color:#fff}.quick-stat{flex:1;display:flex;align-items:center;gap:1rem;padding:.75rem 1rem;background:#ffffff1a;border-radius:12px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);transition:all .3s ease}.quick-stat:hover{background:#ffffff26}.quick-stat-icon{width:40px;height:40px;background:#fff3;border-radius:10px;display:flex;align-items:center;justify-content:center;font-size:1.2rem}.quick-stat-content h4{font-size:1.25rem;font-weight:700;margin-bottom:.125rem}.quick-stat-content span{font-size:.8rem;opacity:.8}.billing-content-grid{display:grid;grid-template-columns:2fr 1fr;gap:1.5rem}.invoices-card{background:#fff;border-radius:20px;box-shadow:0 4px 20px #0000000d;overflow:hidden;border:1px solid rgba(0,0,0,.05)}.invoices-card-header{display:flex;justify-content:space-between;align-items:center;padding:1.5rem 1.75rem;border-bottom:1px solid #f1f5f9;flex-wrap:wrap;gap:1rem}.invoices-card-title{display:flex;align-items:center;gap:.75rem}.invoices-card-title h2{font-size:1.25rem;font-weight:600;color:#1e293b;margin:0}.invoice-count-badge{background:linear-gradient(135deg,#0891b2,#0e7490);color:#fff;padding:.25rem .75rem;border-radius:20px;font-size:.75rem;font-weight:600}.filter-tabs{display:flex;gap:.5rem;padding:.25rem;background:#f8fafc;border-radius:12px}.filter-tab{position:relative;padding:.6rem 1.25rem;background:transparent;border:none;border-radius:10px;font-size:.85rem;font-weight:500;color:#64748b;cursor:pointer;transition:all .3s ease}.filter-tab:hover{color:#0891b2}.filter-tab.active{background:#fff;color:#0891b2;box-shadow:0 2px 10px #00000014}.filter-tab .count{margin-left:.5rem;padding:.15rem .5rem;background:#e2e8f0;border-radius:10px;font-size:.7rem;color:#64748b}.filter-tab.active .count{background:#0891b2;color:#fff}.search-bar-premium{position:relative;max-width:280px}.search-bar-premium input{width:100%;padding:.7rem 1rem .7rem 2.75rem;background:#f8fafc;border:2px solid transparent;border-radius:12px;font-size:.875rem;transition:all .3s ease}.search-bar-premium input:focus{outline:none;background:#fff;border-color:#0891b2;box-shadow:0 0 0 4px #0891b21a}.search-bar-premium .search-icon{position:absolute;left:1rem;top:50%;transform:translateY(-50%);color:#94a3b8;font-size:1rem}.premium-table{width:100%;border-collapse:separate;border-spacing:0}.premium-table thead{background:linear-gradient(180deg,#f8fafc,#f1f5f9)}.premium-table th{padding:1rem 1.25rem;text-align:left;font-size:.75rem;font-weight:700;color:#475569;text-transform:uppercase;letter-spacing:.08em;border-bottom:2px solid #e2e8f0}.premium-table td{padding:1.25rem;font-size:.9rem;color:#334155;border-bottom:1px solid #f1f5f9;transition:all .2s ease}.premium-table tbody tr{transition:all .3s ease}.premium-table tbody tr:hover{background:linear-gradient(90deg,rgba(8,145,178,.03) 0%,transparent 100%)}.premium-table tbody tr:hover td{color:#1e293b}.invoice-number-cell{display:flex;align-items:center;gap:.75rem}.invoice-icon{width:40px;height:40px;background:linear-gradient(135deg,#f8fafc,#e2e8f0);border-radius:10px;display:flex;align-items:center;justify-content:center;font-size:1rem;border:1px solid #e2e8f0}.invoice-number-info strong{display:block;font-weight:700;color:#1e293b;font-size:.95rem}.invoice-number-info span{font-size:.75rem;color:#94a3b8}.patient-cell-premium{display:flex;align-items:center;gap:.75rem}.patient-avatar-premium{width:42px;height:42px;border-radius:12px;background:linear-gradient(135deg,#1e3a5f,#0e7490);display:flex;align-items:center;justify-content:center;color:#fff;font-weight:700;font-size:.9rem;box-shadow:0 4px 12px #1e3a5f40}.patient-info-premium strong{display:block;font-weight:600;color:#1e293b}.patient-info-premium span{font-size:.8rem;color:#64748b}.amount-cell{font-weight:700;font-size:1rem!important;color:#1e293b;font-family:SF Mono,Consolas,monospace}.status-badge-premium{display:inline-flex;align-items:center;gap:.5rem;padding:.5rem 1rem;border-radius:10px;font-size:.8rem;font-weight:600;letter-spacing:.02em}.status-badge-premium .status-dot{width:8px;height:8px;border-radius:50%;animation:pulse 2s infinite}.status-badge-premium.paid{background:linear-gradient(135deg,#dcfce7,#d1fae5);color:#15803d}.status-badge-premium.paid .status-dot{background:#16a34a}.status-badge-premium.pending{background:linear-gradient(135deg,#fef3c7,#fef9c3);color:#b45309}.status-badge-premium.pending .status-dot{background:#f59e0b;animation:pulse 1.5s infinite}.status-badge-premium.overdue{background:linear-gradient(135deg,#fee2e2,#fecaca);color:#b91c1c}.status-badge-premium.overdue .status-dot{background:#dc2626;animation:pulse 1s infinite}.status-badge-premium.draft{background:linear-gradient(135deg,#f3f4f6,#e5e7eb);color:#4b5563}.status-badge-premium.draft .status-dot{background:#6b7280;animation:none}.status-badge-premium.cancelled{background:linear-gradient(135deg,#f1f5f9,#e2e8f0);color:#64748b}.status-badge-premium.cancelled .status-dot{background:#94a3b8;animation:none}.status-badge-premium.refunded{background:linear-gradient(135deg,#ede9fe,#ddd6fe);color:#6d28d9}.status-badge-premium.refunded .status-dot{background:#7c3aed}.actions-cell-premium{display:flex;gap:.5rem}.action-btn-premium{width:36px;height:36px;border:none;border-radius:10px;background:#f8fafc;color:#64748b;cursor:pointer;transition:all .3s ease;display:flex;align-items:center;justify-content:center;font-size:1rem}.action-btn-premium:hover{background:#0891b2;color:#fff;transform:scale(1.1)}.action-btn-premium.pay:hover{background:#10b981}.action-btn-premium.delete:hover{background:#ef4444}.billing-sidebar{display:flex;flex-direction:column;gap:1.5rem}.payment-methods-card{background:#fff;border-radius:20px;padding:1.5rem;box-shadow:0 4px 20px #0000000d;border:1px solid rgba(0,0,0,.05)}.sidebar-card-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.25rem}.sidebar-card-header h3{font-size:1rem;font-weight:600;color:#1e293b;margin:0}.sidebar-card-header a{font-size:.8rem;color:#0891b2;text-decoration:none;font-weight:500}.payment-method-list{display:flex;flex-direction:column;gap:.75rem}.payment-method-item{display:flex;align-items:center;justify-content:space-between;padding:1rem;background:#f8fafc;border-radius:12px;transition:all .3s ease}.payment-method-item:hover{background:#f1f5f9;transform:translate(5px)}.payment-method-info{display:flex;align-items:center;gap:.75rem}.payment-method-icon{width:42px;height:42px;border-radius:10px;display:flex;align-items:center;justify-content:center;font-size:1.25rem;background:#fff;box-shadow:0 2px 8px #00000014}.payment-method-details strong{display:block;font-size:.9rem;color:#1e293b}.payment-method-details span{font-size:.8rem;color:#64748b}.payment-method-amount{font-weight:700;color:#1e293b;font-size:.95rem}.recent-activity-card{background:#fff;border-radius:20px;padding:1.5rem;box-shadow:0 4px 20px #0000000d;border:1px solid rgba(0,0,0,.05)}.activity-list{display:flex;flex-direction:column;gap:1rem}.activity-item{display:flex;gap:.75rem;padding-bottom:1rem;border-bottom:1px solid #f1f5f9}.activity-item:last-child{border-bottom:none;padding-bottom:0}.activity-icon{width:36px;height:36px;border-radius:10px;display:flex;align-items:center;justify-content:center;font-size:.9rem;flex-shrink:0}.activity-icon.paid{background:#dcfce7}.activity-icon.pending{background:#fef3c7}.activity-icon.created{background:#dbeafe}.activity-content{flex:1}.activity-content strong{display:block;font-size:.85rem;color:#1e293b;margin-bottom:.125rem}.activity-content span{font-size:.75rem;color:#64748b}.activity-amount{font-weight:600;font-size:.85rem;color:#1e293b}.chart-card{background:#fff;border-radius:20px;padding:1.5rem;box-shadow:0 4px 20px #0000000d;border:1px solid rgba(0,0,0,.05)}.chart-placeholder{height:200px;background:linear-gradient(180deg,#f8fafc,#f1f5f9);border-radius:12px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.5rem;color:#94a3b8}.chart-bars{display:flex;align-items:flex-end;gap:.5rem;height:80px}.chart-bar{width:24px;border-radius:6px 6px 0 0;background:linear-gradient(180deg,#0891b2,#0e7490);transition:all .3s ease}.chart-bar:hover{opacity:.8}.empty-state-premium{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:4rem 2rem;text-align:center}.empty-state-icon-premium{width:80px;height:80px;background:linear-gradient(135deg,#f8fafc,#e2e8f0);border-radius:20px;display:flex;align-items:center;justify-content:center;font-size:2.5rem;margin-bottom:1.5rem}.empty-state-premium h3{font-size:1.25rem;font-weight:600;color:#1e293b;margin-bottom:.5rem}.empty-state-premium p{color:#64748b;margin-bottom:1.5rem}.loading-premium{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:4rem 2rem;gap:1rem}.loading-spinner{width:48px;height:48px;border:4px solid #e2e8f0;border-top-color:#0891b2;border-radius:50%;animation:spin 1s linear infinite}.modal-premium{background:#fff;border-radius:24px;width:100%;max-width:600px;max-height:90vh;overflow:hidden;box-shadow:0 25px 80px #0000004d;animation:modalSlideIn .4s cubic-bezier(.4,0,.2,1)}.modal-header-premium{display:flex;align-items:center;justify-content:space-between;padding:1.5rem 2rem;background:linear-gradient(135deg,#1e3a5f,#0e7490);color:#fff}.modal-header-premium h2{font-size:1.25rem;font-weight:600;margin:0;display:flex;align-items:center;gap:.75rem}.modal-close-premium{width:36px;height:36px;background:#ffffff26;border:none;border-radius:10px;color:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:1.25rem;transition:all .2s ease}.modal-close-premium:hover{background:#ffffff40}.modal-body-premium{padding:2rem;overflow-y:auto;max-height:60vh}.form-group-premium{margin-bottom:1.5rem}.form-label-premium{display:block;font-size:.875rem;font-weight:600;color:#374151;margin-bottom:.5rem}.form-input-premium{width:100%;padding:.875rem 1rem;border:2px solid #e2e8f0;border-radius:12px;font-size:.9rem;transition:all .3s ease;background:#f8fafc}.form-input-premium:focus{outline:none;border-color:#0891b2;background:#fff;box-shadow:0 0 0 4px #0891b21a}.form-select-premium{width:100%;padding:.875rem 1rem;border:2px solid #e2e8f0;border-radius:12px;font-size:.9rem;background:#f8fafc;cursor:pointer;transition:all .3s ease}.form-select-premium:focus{outline:none;border-color:#0891b2;background:#fff}.form-row-premium{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem}.treatment-items-container{background:#f8fafc;border-radius:12px;padding:1rem;margin-top:.5rem}.treatment-item-row{display:flex;align-items:center;justify-content:space-between;padding:.75rem;background:#fff;border-radius:8px;margin-bottom:.5rem}.treatment-item-row:last-child{margin-bottom:0}.add-treatment-btn{width:100%;padding:.75rem;background:transparent;border:2px dashed #cbd5e1;border-radius:8px;color:#64748b;cursor:pointer;transition:all .3s ease;display:flex;align-items:center;justify-content:center;gap:.5rem;font-size:.875rem;margin-top:.5rem}.add-treatment-btn:hover{border-color:#0891b2;color:#0891b2;background:#0891b20d}.invoice-summary{background:linear-gradient(135deg,#f8fafc,#f1f5f9);border-radius:12px;padding:1.25rem;margin-top:1.5rem}.summary-row{display:flex;justify-content:space-between;align-items:center;padding:.5rem 0;font-size:.9rem}.summary-row.total{border-top:2px solid #e2e8f0;margin-top:.5rem;padding-top:1rem;font-size:1.1rem;font-weight:700;color:#1e293b}.modal-footer-premium{display:flex;justify-content:flex-end;gap:.75rem;padding:1.25rem 2rem;background:#f8fafc;border-top:1px solid #e2e8f0}.btn-cancel{padding:.75rem 1.5rem;background:#fff;border:2px solid #e2e8f0;border-radius:12px;font-size:.9rem;font-weight:600;color:#64748b;cursor:pointer;transition:all .3s ease}.btn-cancel:hover{background:#f8fafc;border-color:#cbd5e1}.table-pagination-premium{display:flex;align-items:center;justify-content:space-between;padding:1.25rem 1.5rem;border-top:1px solid #f1f5f9}.pagination-info-premium{font-size:.875rem;color:#64748b}.page-btn{width:36px;height:36px;border:1px solid #e2e8f0;background:#fff;border-radius:8px;color:#64748b;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s ease;font-size:.875rem}.page-btn:hover:not(:disabled){border-color:#0891b2;color:#0891b2}.page-btn.active{background:#0891b2;border-color:#0891b2;color:#fff}.page-btn:disabled{opacity:.5;cursor:not-allowed}.billing-tabs-nav{display:flex;gap:.5rem;padding:.5rem;background:#fff;border-radius:16px;box-shadow:0 4px 20px #0000000d;border:1px solid rgba(0,0,0,.05);overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none}.billing-tabs-nav::-webkit-scrollbar{display:none}.billing-tab-btn{display:flex;align-items:center;gap:.5rem;padding:.75rem 1.5rem;background:transparent;border:none;border-radius:12px;font-size:.9rem;font-weight:600;color:#64748b;cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1);white-space:nowrap;position:relative}.billing-tab-btn:hover{color:#0891b2;background:#0891b20d}.billing-tab-btn.active{background:linear-gradient(135deg,#0891b2,#0e7490);color:#fff;box-shadow:0 4px 15px #0891b24d}.billing-tab-icon{font-size:1.1rem}.billing-tab-label{font-size:.85rem}.billing-tab-content{animation:fadeInUp .3s ease}.billing-analytics-section{display:flex;flex-direction:column;gap:1.5rem}.billing-analytics-header{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:1rem}.billing-analytics-header h2{font-size:1.4rem;font-weight:700;background:linear-gradient(135deg,#1e3a5f,#0891b2);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;margin:0}.billing-analytics-period{display:flex;gap:.375rem;padding:.25rem;background:#f8fafc;border-radius:12px;border:1px solid #e2e8f0}.analytics-period-btn{padding:.5rem 1rem;background:transparent;border:none;border-radius:10px;font-size:.8rem;font-weight:600;color:#64748b;cursor:pointer;transition:all .3s ease}.analytics-period-btn:hover{color:#0891b2}.analytics-period-btn.active{background:#fff;color:#0891b2;box-shadow:0 2px 8px #00000014}.billing-charts-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1.5rem}.billing-chart-card{background:#fff;border-radius:20px;box-shadow:0 4px 20px #0000000d;border:1px solid rgba(0,0,0,.05);overflow:hidden;transition:all .4s cubic-bezier(.4,0,.2,1)}.billing-chart-card:hover{box-shadow:0 12px 35px #00000014;transform:translateY(-2px)}.billing-chart-card-header{display:flex;justify-content:space-between;align-items:center;padding:1.25rem 1.5rem;border-bottom:1px solid #f1f5f9}.billing-chart-title{display:flex;align-items:center;gap:.75rem}.billing-chart-icon{width:40px;height:40px;background:linear-gradient(135deg,#f8fafc,#e2e8f0);border-radius:10px;display:flex;align-items:center;justify-content:center;font-size:1.15rem}.billing-chart-title h3{font-size:1rem;font-weight:600;color:#1e293b;margin:0}.billing-chart-title span{font-size:.8rem;color:#94a3b8}.billing-chart-badge{padding:.3rem .75rem;border-radius:20px;font-size:.75rem;font-weight:700}.billing-chart-badge.positive{background:#dcfce7;color:#16a34a}.billing-chart-badge.negative{background:#fee2e2;color:#dc2626}.billing-chart-body{padding:1rem 1rem .5rem}.billing-chart-body-pie{display:flex;align-items:center;gap:.5rem}.billing-pie-legend{display:flex;flex-direction:column;gap:.5rem;min-width:130px;padding-right:1rem}.billing-pie-legend-item{display:flex;align-items:center;gap:.5rem}.billing-pie-legend-dot{width:10px;height:10px;border-radius:3px;flex-shrink:0}.billing-pie-legend-label{font-size:.8rem;color:#64748b;flex:1}.billing-pie-legend-value{font-size:.8rem;font-weight:700;color:#1e293b}@media(max-width:1200px){.billing-content-grid{grid-template-columns:1fr}.billing-sidebar{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem}}@media(max-width:992px){.financial-overview{grid-template-columns:repeat(2,1fr)}.quick-stats-bar{flex-wrap:wrap}.quick-stat{flex:1 1 45%}.billing-charts-grid{grid-template-columns:1fr}.billing-chart-body-pie{flex-direction:column}.billing-pie-legend{flex-direction:row;flex-wrap:wrap;gap:.75rem;min-width:unset;padding:0 1rem 1rem;justify-content:center}}@media(max-width:768px){.billing-header{flex-direction:column;align-items:stretch}.billing-header-actions{justify-content:stretch}.billing-header-actions button{flex:1;justify-content:center}.financial-overview,.billing-sidebar{grid-template-columns:1fr}.invoices-card-header{flex-direction:column;align-items:stretch}.filter-tabs{overflow-x:auto;padding-bottom:.5rem}.form-row-premium{grid-template-columns:1fr}.quick-stat{flex:1 1 100%}.billing-tab-btn{padding:.6rem 1rem;font-size:.8rem}.billing-tab-label{font-size:.75rem}}.inventory-page{display:flex;flex-direction:column;gap:2rem;animation:inventoryFadeIn .6s ease}@keyframes inventoryFadeIn{0%{opacity:0;transform:translateY(25px)}to{opacity:1;transform:translateY(0)}}.inventory-header{display:flex;justify-content:space-between;align-items:flex-start;flex-wrap:wrap;gap:1.5rem}.inventory-header-content h1{font-size:2.25rem;font-weight:800;background:linear-gradient(135deg,#1e3a5f,#0891b2,#06b6d4);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;margin-bottom:.5rem;letter-spacing:-.02em}.inventory-header-content p{color:#64748b;font-size:1.05rem;display:flex;align-items:center;gap:.5rem}.inventory-header-content p:before{content:"";display:inline-block;width:8px;height:8px;background:linear-gradient(135deg,#10b981,#34d399);border-radius:50%;animation:pulse 2s ease infinite}@keyframes pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.7;transform:scale(1.2)}}.inventory-header-actions{display:flex;gap:.75rem;flex-wrap:wrap}.btn-inventory-primary{display:flex;align-items:center;gap:.5rem;padding:.875rem 1.75rem;background:linear-gradient(135deg,#0891b2,#0e7490,#155e75);color:#fff;border:none;border-radius:14px;font-size:.925rem;font-weight:600;cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1);box-shadow:0 4px 20px #0891b259;position:relative;overflow:hidden}.btn-inventory-primary:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.25),transparent);transition:left .6s}.btn-inventory-primary:hover:before{left:100%}.btn-inventory-primary:hover{transform:translateY(-3px);box-shadow:0 10px 30px #0891b273}.btn-inventory-secondary{display:flex;align-items:center;gap:.5rem;padding:.875rem 1.5rem;background:#fff;color:#0891b2;border:2px solid rgba(8,145,178,.3);border-radius:14px;font-size:.925rem;font-weight:600;cursor:pointer;transition:all .3s ease;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.btn-inventory-secondary:hover{background:#0891b21a;border-color:#0891b2;transform:translateY(-2px)}.btn-inventory-icon{display:flex;align-items:center;justify-content:center;width:44px;height:44px;background:#fff;border:2px solid #e2e8f0;border-radius:12px;cursor:pointer;transition:all .3s ease;font-size:1.1rem}.btn-inventory-icon:hover{background:#f8fafc;border-color:#0891b2;transform:translateY(-2px)}.inventory-stats-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1.25rem}@media(max-width:1200px){.inventory-stats-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:640px){.inventory-stats-grid{grid-template-columns:1fr}}.inventory-stat-card{background:#fff;border-radius:20px;padding:1.75rem;position:relative;overflow:hidden;transition:all .4s cubic-bezier(.4,0,.2,1);box-shadow:0 4px 25px #0000000a;border:1px solid rgba(0,0,0,.04)}.inventory-stat-card:before{content:"";position:absolute;top:0;left:0;right:0;height:4px;background:linear-gradient(90deg,var(--stat-color),var(--stat-color-light))}.inventory-stat-card:after{content:"";position:absolute;top:-50%;right:-50%;width:200px;height:200px;background:radial-gradient(circle,var(--stat-bg) 0%,transparent 70%);opacity:.5;transition:all .4s ease}.inventory-stat-card:hover{transform:translateY(-6px) scale(1.01);box-shadow:0 20px 50px #0000001a}.inventory-stat-card:hover:after{opacity:.8;transform:scale(1.2)}.inventory-stat-card.total{--stat-color: #6366f1;--stat-color-light: #a5b4fc;--stat-bg: rgba(99, 102, 241, .1)}.inventory-stat-card.value{--stat-color: #10b981;--stat-color-light: #6ee7b7;--stat-bg: rgba(16, 185, 129, .1)}.inventory-stat-card.low-stock{--stat-color: #f59e0b;--stat-color-light: #fcd34d;--stat-bg: rgba(245, 158, 11, .1)}.inventory-stat-card.out-of-stock{--stat-color: #ef4444;--stat-color-light: #fca5a5;--stat-bg: rgba(239, 68, 68, .1)}.stat-card-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:1.25rem;position:relative;z-index:1}.stat-card-icon{width:52px;height:52px;border-radius:16px;display:flex;align-items:center;justify-content:center;font-size:1.5rem;background:linear-gradient(135deg,var(--stat-color) 0%,var(--stat-color-light) 100%);box-shadow:0 8px 20px #00000026}.stat-card-trend{display:flex;align-items:center;gap:.25rem;padding:.35rem .75rem;border-radius:20px;font-size:.75rem;font-weight:600}.stat-card-trend.up{background:#10b9811a;color:#10b981}.stat-card-trend.down{background:#ef44441a;color:#ef4444}.stat-card-trend.neutral{background:#64748b1a;color:#64748b}.stat-card-value{position:relative;z-index:1}.stat-card-value h3{font-size:2rem;font-weight:800;color:#1e293b;margin-bottom:.25rem;letter-spacing:-.02em}.stat-card-value p{font-size:.875rem;color:#64748b;font-weight:500}.inventory-quick-actions{display:flex;align-items:center;justify-content:space-between;background:linear-gradient(135deg,#f8fafc,#f1f5f9);border-radius:16px;padding:1rem 1.5rem;gap:1rem;flex-wrap:wrap;border:1px solid rgba(0,0,0,.04)}.quick-action-group{display:flex;gap:.75rem;flex-wrap:wrap}.quick-action-btn{display:flex;align-items:center;gap:.5rem;padding:.625rem 1.25rem;background:#fff;border:1px solid #e2e8f0;border-radius:10px;font-size:.875rem;font-weight:500;color:#475569;cursor:pointer;transition:all .25s ease}.quick-action-btn:hover{background:#0891b2;color:#fff;border-color:#0891b2;transform:translateY(-2px);box-shadow:0 4px 12px #0891b240}.quick-action-btn.active{background:#0891b2;color:#fff;border-color:#0891b2}.quick-action-btn .icon{font-size:1rem}.view-toggle{display:flex;background:#fff;border-radius:10px;padding:.25rem;border:1px solid #e2e8f0}.view-toggle-btn{padding:.5rem .875rem;background:transparent;border:none;border-radius:8px;font-size:.875rem;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;gap:.375rem;color:#64748b}.view-toggle-btn.active{background:#0891b2;color:#fff}.view-toggle-btn:hover:not(.active){background:#f1f5f9}.inventory-main-content{display:grid;grid-template-columns:1fr 320px;gap:1.5rem}@media(max-width:1200px){.inventory-main-content{grid-template-columns:1fr}}.inventory-table-container{background:#fff;border-radius:24px;box-shadow:0 4px 30px #0000000f;overflow:hidden;border:1px solid rgba(0,0,0,.04)}.inventory-table-header{padding:1.5rem 1.75rem;border-bottom:1px solid #f1f5f9;display:flex;flex-direction:column;gap:1.25rem}.inventory-search-row{display:flex;align-items:center;gap:1rem;flex-wrap:wrap}.inventory-search-box{position:relative;flex:1;min-width:280px}.inventory-search-box input{width:100%;padding:.875rem 1.25rem .875rem 3rem;border:2px solid #e2e8f0;border-radius:14px;font-size:.925rem;transition:all .3s ease;background:#f8fafc}.inventory-search-box input:focus{outline:none;border-color:#0891b2;background:#fff;box-shadow:0 0 0 4px #0891b21a}.inventory-search-box input::placeholder{color:#94a3b8}.inventory-search-icon{position:absolute;left:1rem;top:50%;transform:translateY(-50%);color:#94a3b8;font-size:1.1rem}.inventory-filter-chips{display:flex;gap:.5rem;flex-wrap:wrap}.filter-chip{display:flex;align-items:center;gap:.375rem;padding:.5rem 1rem;background:#f1f5f9;border:1px solid transparent;border-radius:100px;font-size:.8rem;font-weight:500;color:#475569;cursor:pointer;transition:all .25s ease}.filter-chip:hover{background:#e2e8f0}.filter-chip.active{background:linear-gradient(135deg,#0891b2,#0e7490);color:#fff;box-shadow:0 2px 8px #0891b24d}.filter-chip .chip-count{background:#fff3;padding:.125rem .5rem;border-radius:100px;font-size:.7rem}.filter-chip:not(.active) .chip-count{background:#00000014}.inventory-table{width:100%;border-collapse:separate;border-spacing:0}.inventory-table thead{background:linear-gradient(135deg,#f8fafc,#f1f5f9);position:sticky;top:0;z-index:10}.inventory-table th{text-align:left;padding:1rem 1.25rem;font-size:.75rem;font-weight:700;color:#475569;text-transform:uppercase;letter-spacing:.08em;border-bottom:2px solid #e2e8f0;white-space:nowrap}.inventory-table th.sortable{cursor:pointer;transition:color .2s ease}.inventory-table th.sortable:hover{color:#0891b2}.inventory-table th .sort-icon{margin-left:.5rem;opacity:.5}.inventory-table th.sorted .sort-icon{opacity:1;color:#0891b2}.inventory-table td{padding:1.125rem 1.25rem;font-size:.9rem;color:#1e293b;border-bottom:1px solid #f1f5f9;vertical-align:middle}.inventory-table tbody tr{transition:all .2s ease}.inventory-table tbody tr:hover{background:linear-gradient(90deg,#0891b208,#0891b20f)}.inventory-table tbody tr.low-stock-row{background:#f59e0b0a}.inventory-table tbody tr.out-of-stock-row{background:#ef44440a}.product-cell{display:flex;align-items:center;gap:1rem}.product-image{width:48px;height:48px;border-radius:12px;background:linear-gradient(135deg,#e2e8f0,#f1f5f9);display:flex;align-items:center;justify-content:center;font-size:1.25rem;flex-shrink:0;border:2px solid white;box-shadow:0 2px 8px #00000014}.product-image.materials{background:linear-gradient(135deg,#dbeafe,#bfdbfe)}.product-image.instruments{background:linear-gradient(135deg,#fce7f3,#fbcfe8)}.product-image.medications{background:linear-gradient(135deg,#dcfce7,#bbf7d0)}.product-image.disposables{background:linear-gradient(135deg,#fef3c7,#fde68a)}.product-image.equipment{background:linear-gradient(135deg,#e0e7ff,#c7d2fe)}.product-image.cleaning{background:linear-gradient(135deg,#cffafe,#a5f3fc)}.product-details{display:flex;flex-direction:column;min-width:0}.product-name{font-weight:600;color:#1e293b;margin-bottom:.25rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.product-description{font-size:.8rem;color:#64748b;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:200px}.sku-badge{display:inline-flex;padding:.375rem .75rem;background:#f1f5f9;border-radius:8px;font-family:SF Mono,Monaco,Inconsolata,monospace;font-size:.8rem;font-weight:500;color:#475569;letter-spacing:.02em}.category-tag{display:inline-flex;align-items:center;gap:.375rem;padding:.375rem .875rem;border-radius:100px;font-size:.8rem;font-weight:500;background:var(--category-bg);color:var(--category-color)}.category-tag.materials{--category-bg: #dbeafe;--category-color: #2563eb}.category-tag.instruments{--category-bg: #fce7f3;--category-color: #db2777}.category-tag.medications{--category-bg: #dcfce7;--category-color: #16a34a}.category-tag.disposables{--category-bg: #fef3c7;--category-color: #d97706}.category-tag.equipment{--category-bg: #e0e7ff;--category-color: #4f46e5}.category-tag.cleaning{--category-bg: #cffafe;--category-color: #0891b2}.category-tag.office-supplies{--category-bg: #f3e8ff;--category-color: #9333ea}.quantity-display{display:flex;align-items:center;gap:.75rem}.quantity-value{font-weight:700;font-size:1rem;min-width:60px}.quantity-value.critical{color:#dc2626}.quantity-value.warning{color:#d97706}.quantity-value.healthy{color:#16a34a}.quantity-bar{width:60px;height:6px;background:#e2e8f0;border-radius:100px;overflow:hidden}.quantity-bar-fill{height:100%;border-radius:100px;transition:width .5s ease}.quantity-bar-fill.critical{background:linear-gradient(90deg,#dc2626,#f87171)}.quantity-bar-fill.warning{background:linear-gradient(90deg,#d97706,#fbbf24)}.quantity-bar-fill.healthy{background:linear-gradient(90deg,#16a34a,#4ade80)}.price-display{font-weight:600;color:#1e293b}.price-display .currency{font-size:.8rem;color:#64748b;margin-right:.125rem}.status-pill{display:inline-flex;align-items:center;gap:.375rem;padding:.4rem .875rem;border-radius:100px;font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.04em}.status-pill .status-dot{width:6px;height:6px;border-radius:50%;animation:statusPulse 2s ease infinite}@keyframes statusPulse{0%,to{opacity:1}50%{opacity:.5}}.status-pill.in-stock{background:linear-gradient(135deg,#10b9811a,#34d3991a);color:#059669}.status-pill.in-stock .status-dot{background:#10b981}.status-pill.low-stock{background:linear-gradient(135deg,#f59e0b1a,#fbbf241a);color:#b45309}.status-pill.low-stock .status-dot{background:#f59e0b}.status-pill.out-of-stock{background:linear-gradient(135deg,#ef44441a,#f871711a);color:#dc2626}.status-pill.out-of-stock .status-dot{background:#ef4444}.status-pill.discontinued{background:#64748b1a;color:#475569}.status-pill.discontinued .status-dot{background:#64748b}.inventory-actions{display:flex;gap:.375rem}.inventory-action-btn{width:36px;height:36px;display:flex;align-items:center;justify-content:center;background:transparent;border:1px solid transparent;border-radius:10px;cursor:pointer;transition:all .2s ease;color:#64748b;font-size:1rem}.inventory-action-btn:hover{background:#f1f5f9;color:#1e293b;border-color:#e2e8f0}.inventory-action-btn.add:hover{background:#10b9811a;color:#10b981;border-color:#10b98133}.inventory-action-btn.remove:hover{background:#f59e0b1a;color:#f59e0b;border-color:#f59e0b33}.inventory-action-btn.edit:hover{background:#0891b21a;color:#0891b2;border-color:#0891b233}.inventory-action-btn.delete:hover{background:#ef44441a;color:#ef4444;border-color:#ef444433}.inventory-table-footer{display:flex;align-items:center;justify-content:space-between;padding:1.25rem 1.75rem;border-top:1px solid #f1f5f9;background:#fafafa}.pagination-info{font-size:.875rem;color:#64748b}.pagination-info strong{color:#1e293b;font-weight:600}.pagination-controls{display:flex;align-items:center;gap:.5rem}.pagination-btn{display:flex;align-items:center;justify-content:center;min-width:40px;height:40px;padding:0 .75rem;background:#fff;border:1px solid #e2e8f0;border-radius:10px;font-size:.875rem;font-weight:500;color:#475569;cursor:pointer;transition:all .2s ease}.pagination-btn:hover:not(:disabled){background:#0891b2;color:#fff;border-color:#0891b2}.pagination-btn:disabled{opacity:.5;cursor:not-allowed}.pagination-btn.active{background:#0891b2;color:#fff;border-color:#0891b2}.inventory-sidebar{display:flex;flex-direction:column;gap:1.25rem}.sidebar-card{background:#fff;border-radius:20px;padding:1.5rem;box-shadow:0 4px 20px #0000000a;border:1px solid rgba(0,0,0,.04)}.sidebar-card-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:1.25rem}.sidebar-card-title{font-size:1rem;font-weight:700;color:#1e293b;display:flex;align-items:center;gap:.5rem}.sidebar-card-action{font-size:.8rem;color:#0891b2;font-weight:500;cursor:pointer;transition:color .2s ease}.sidebar-card-action:hover{color:#0e7490}.alerts-list{display:flex;flex-direction:column;gap:.75rem}.alert-item{display:flex;align-items:flex-start;gap:.75rem;padding:.875rem;border-radius:12px;background:#fafafa;transition:all .2s ease;cursor:pointer}.alert-item:hover{background:#f1f5f9;transform:translate(4px)}.alert-item.critical{background:#ef44440d;border-left:3px solid #ef4444}.alert-item.warning{background:#f59e0b0d;border-left:3px solid #f59e0b}.alert-item.info{background:#0891b20d;border-left:3px solid #0891b2}.alert-icon{width:32px;height:32px;border-radius:8px;display:flex;align-items:center;justify-content:center;flex-shrink:0;font-size:.875rem}.alert-item.critical .alert-icon{background:#ef44441a}.alert-item.warning .alert-icon{background:#f59e0b1a}.alert-item.info .alert-icon{background:#0891b21a}.alert-content{flex:1;min-width:0}.alert-title{font-size:.85rem;font-weight:600;color:#1e293b;margin-bottom:.125rem}.alert-description{font-size:.75rem;color:#64748b}.activity-list{display:flex;flex-direction:column}.activity-item{display:flex;align-items:flex-start;gap:.75rem;padding:.875rem 0;border-bottom:1px solid #f1f5f9;position:relative}.activity-item:last-child{border-bottom:none}.activity-item:before{content:"";position:absolute;left:14px;top:40px;bottom:0;width:2px;background:#e2e8f0}.activity-item:last-child:before{display:none}.activity-icon{width:30px;height:30px;border-radius:50%;display:flex;align-items:center;justify-content:center;flex-shrink:0;font-size:.8rem;background:#f1f5f9;position:relative;z-index:1}.activity-icon.add{background:#10b9811a;color:#10b981}.activity-icon.remove{background:#f59e0b1a;color:#f59e0b}.activity-icon.update{background:#0891b21a;color:#0891b2}.activity-content{flex:1;min-width:0}.activity-text{font-size:.85rem;color:#1e293b;margin-bottom:.125rem}.activity-text strong{font-weight:600}.activity-time{font-size:.75rem;color:#94a3b8}.quick-add-widget{background:linear-gradient(135deg,#0891b2,#0e7490);border-radius:16px;padding:1.25rem;color:#fff}.quick-add-header{display:flex;align-items:center;gap:.625rem;margin-bottom:1rem;font-weight:600;font-size:.95rem}.quick-add-form{display:flex;flex-direction:column;gap:.75rem}.quick-add-input{padding:.75rem 1rem;background:#ffffff26;border:1px solid rgba(255,255,255,.2);border-radius:10px;color:#fff;font-size:.875rem}.quick-add-input::placeholder{color:#fff9}.quick-add-input:focus{outline:none;background:#fff3;border-color:#fff6}.quick-add-btn{padding:.75rem;background:#fff;color:#0891b2;border:none;border-radius:10px;font-weight:600;font-size:.875rem;cursor:pointer;transition:all .2s ease}.quick-add-btn:hover{transform:translateY(-2px);box-shadow:0 4px 12px #0003}.inventory-modal-overlay{position:fixed;inset:0;background:#0f172a99;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);display:flex;align-items:center;justify-content:center;z-index:1000;animation:modalOverlayIn .3s ease}@keyframes modalOverlayIn{0%{opacity:0}to{opacity:1}}.inventory-modal{background:#fff;border-radius:24px;width:100%;max-width:600px;max-height:90vh;overflow:hidden;box-shadow:0 25px 80px #00000040;animation:modalSlideIn .4s cubic-bezier(.4,0,.2,1)}@keyframes modalSlideIn{0%{opacity:0;transform:scale(.95) translateY(20px)}to{opacity:1;transform:scale(1) translateY(0)}}.inventory-modal-header{display:flex;align-items:center;justify-content:space-between;padding:1.5rem 2rem;border-bottom:1px solid #f1f5f9;background:linear-gradient(135deg,#f8fafc,#fff)}.inventory-modal-header h2{font-size:1.375rem;font-weight:700;color:#1e293b;display:flex;align-items:center;gap:.625rem}.modal-close-btn{width:40px;height:40px;display:flex;align-items:center;justify-content:center;background:#f1f5f9;border:none;border-radius:10px;cursor:pointer;transition:all .2s ease;color:#64748b;font-size:1.25rem}.modal-close-btn:hover{background:#fee2e2;color:#ef4444;transform:rotate(90deg)}.inventory-modal-body{padding:2rem;overflow-y:auto;max-height:calc(90vh - 180px)}.modal-form{display:flex;flex-direction:column;gap:1.5rem}.form-section{display:flex;flex-direction:column;gap:1rem}.form-section-title{font-size:.8rem;font-weight:700;color:#64748b;text-transform:uppercase;letter-spacing:.08em;padding-bottom:.5rem;border-bottom:1px solid #f1f5f9}.form-row{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem}.form-group{display:flex;flex-direction:column;gap:.5rem}.form-group.full-width{grid-column:span 2}.form-label{font-size:.875rem;font-weight:600;color:#475569}.form-input{padding:.875rem 1rem;border:2px solid #e2e8f0;border-radius:12px;font-size:.925rem;transition:all .25s ease;background:#fafafa}.form-input:focus{outline:none;border-color:#0891b2;background:#fff;box-shadow:0 0 0 4px #0891b21a}.form-select{padding:.875rem 1rem;border:2px solid #e2e8f0;border-radius:12px;font-size:.925rem;background:#fafafa url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%2364748b' d='M6 8L1 3h10z'/%3E%3C/svg%3E") no-repeat right 1rem center;appearance:none;cursor:pointer;transition:all .25s ease}.form-select:focus{outline:none;border-color:#0891b2;background-color:#fff;box-shadow:0 0 0 4px #0891b21a}.form-textarea{padding:.875rem 1rem;border:2px solid #e2e8f0;border-radius:12px;font-size:.925rem;resize:vertical;min-height:100px;transition:all .25s ease;background:#fafafa;font-family:inherit}.form-textarea:focus{outline:none;border-color:#0891b2;background:#fff;box-shadow:0 0 0 4px #0891b21a}.inventory-modal-footer{display:flex;justify-content:flex-end;gap:.75rem;padding:1.5rem 2rem;border-top:1px solid #f1f5f9;background:#fafafa}.modal-btn-cancel{padding:.875rem 1.5rem;background:#fff;color:#64748b;border:2px solid #e2e8f0;border-radius:12px;font-size:.925rem;font-weight:600;cursor:pointer;transition:all .25s ease}.modal-btn-cancel:hover{background:#f1f5f9;border-color:#cbd5e1}.modal-btn-save{padding:.875rem 2rem;background:linear-gradient(135deg,#0891b2,#0e7490);color:#fff;border:none;border-radius:12px;font-size:.925rem;font-weight:600;cursor:pointer;transition:all .3s ease;box-shadow:0 4px 15px #0891b24d}.modal-btn-save:hover{transform:translateY(-2px);box-shadow:0 8px 25px #0891b266}.inventory-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:4rem 2rem;gap:1.5rem}.loading-spinner{width:50px;height:50px;border:4px solid #e2e8f0;border-top-color:#0891b2;border-radius:50%;animation:spin 1s linear infinite}.loading-text{color:#64748b;font-size:.95rem;font-weight:500}.inventory-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:4rem 2rem;text-align:center}.empty-icon{font-size:4rem;margin-bottom:1.5rem;opacity:.3}.empty-title{font-size:1.25rem;font-weight:700;color:#1e293b;margin-bottom:.5rem}.empty-description{color:#64748b;font-size:.95rem;margin-bottom:1.5rem;max-width:400px}.inventory-tab-bar{display:flex;gap:.5rem;background:#fff;border-radius:16px;padding:.5rem;box-shadow:0 4px 20px #0000000a;border:1px solid rgba(0,0,0,.04);flex-wrap:wrap}.inventory-tab{display:flex;align-items:center;gap:.5rem;padding:.75rem 1.5rem;background:transparent;border:none;border-radius:12px;font-size:.9rem;font-weight:600;color:#64748b;cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1);position:relative}.inventory-tab:hover{background:#f1f5f9;color:#1e293b}.inventory-tab.active{background:linear-gradient(135deg,#0891b2,#0e7490);color:#fff;box-shadow:0 4px 15px #0891b24d}.tab-icon{font-size:1.1rem}.tab-badge{display:inline-flex;align-items:center;justify-content:center;min-width:22px;height:22px;padding:0 .375rem;background:#ef4444;color:#fff;border-radius:100px;font-size:.7rem;font-weight:700}.inventory-tab.active .tab-badge{background:#ffffff4d}.section-title{font-size:1rem;font-weight:700;color:#1e293b;display:flex;align-items:center;gap:.5rem}.expiration-badge{display:inline-flex;align-items:center;padding:.35rem .75rem;border-radius:100px;font-size:.75rem;font-weight:600}.expiration-badge.safe{background:#10b9811a;color:#059669}.expiration-badge.warning{background:#f59e0b1a;color:#b45309}.expiration-badge.danger{background:#ef44441a;color:#dc2626}.expiration-badge.expired{background:#1e293b1a;color:#1e293b}.status-pill.lot-active{background:linear-gradient(135deg,#10b9811a,#34d3991a);color:#059669}.status-pill.lot-active .status-dot{background:#10b981}.status-pill.lot-depleted{background:linear-gradient(135deg,#f59e0b1a,#fbbf241a);color:#b45309}.status-pill.lot-depleted .status-dot{background:#f59e0b}.status-pill.lot-expired{background:linear-gradient(135deg,#ef44441a,#f871711a);color:#dc2626}.status-pill.lot-expired .status-dot{background:#ef4444}.status-pill.lot-quarantine{background:#64748b1a;color:#475569}.status-pill.lot-quarantine .status-dot{background:#64748b}.supplier-text{font-size:.875rem;color:#475569}.stock-alerts-list{display:flex;flex-direction:column;gap:.75rem;padding:1.25rem 1.5rem}.stock-alert-card{display:flex;background:#fff;border-radius:16px;overflow:hidden;box-shadow:0 2px 12px #0000000a;border:1px solid rgba(0,0,0,.04);transition:all .3s ease}.stock-alert-card:hover{transform:translateY(-2px);box-shadow:0 8px 25px #00000014}.stock-alert-indicator{width:5px;flex-shrink:0}.stock-alert-card.critical .stock-alert-indicator{background:#ef4444}.stock-alert-card.warning .stock-alert-indicator{background:#f59e0b}.stock-alert-card.info .stock-alert-indicator{background:#0891b2}.stock-alert-body{flex:1;padding:1.25rem}.stock-alert-header{margin-bottom:.75rem}.stock-alert-title-row{display:flex;align-items:center;gap:.5rem;margin-bottom:.5rem;flex-wrap:wrap}.stock-alert-severity-badge{display:inline-flex;align-items:center;padding:.25rem .625rem;border-radius:100px;font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em}.stock-alert-severity-badge.critical{background:#ef44441a;color:#dc2626}.stock-alert-severity-badge.warning{background:#f59e0b1a;color:#b45309}.stock-alert-severity-badge.info{background:#0891b21a;color:#0891b2}.stock-alert-type-badge{display:inline-flex;padding:.25rem .625rem;border-radius:100px;font-size:.7rem;font-weight:500;background:#f1f5f9;color:#475569}.stock-alert-status-badge{display:inline-flex;padding:.25rem .625rem;border-radius:100px;font-size:.7rem;font-weight:600}.stock-alert-status-badge.active{background:#ef444414;color:#dc2626}.stock-alert-status-badge.acknowledged{background:#f59e0b14;color:#b45309}.stock-alert-status-badge.resolved{background:#10b98114;color:#059669}.stock-alert-title{font-size:1rem;font-weight:700;color:#1e293b;margin-bottom:.25rem}.stock-alert-description{font-size:.85rem;color:#64748b;line-height:1.5}.stock-alert-meta{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:.75rem}.stock-alert-date{font-size:.75rem;color:#94a3b8}.stock-alert-actions{display:flex;gap:.5rem}.stock-alert-btn{padding:.4rem 1rem;border-radius:8px;font-size:.8rem;font-weight:600;cursor:pointer;transition:all .2s ease;border:none}.stock-alert-btn.acknowledge{background:#f59e0b1a;color:#b45309}.stock-alert-btn.acknowledge:hover{background:#f59e0b33}.stock-alert-btn.resolve{background:#10b9811a;color:#059669}.stock-alert-btn.resolve:hover{background:#10b98133}.status-pill.order-draft{background:#64748b1a;color:#475569}.status-pill.order-draft .status-dot{background:#94a3b8}.status-pill.order-sent{background:#3b82f61a;color:#2563eb}.status-pill.order-sent .status-dot{background:#3b82f6}.status-pill.order-confirmed{background:#0891b21a;color:#0891b2}.status-pill.order-confirmed .status-dot{background:#06b6d4}.status-pill.order-partial{background:#f59e0b1a;color:#b45309}.status-pill.order-partial .status-dot{background:#f59e0b}.status-pill.order-received{background:#10b9811a;color:#059669}.status-pill.order-received .status-dot{background:#10b981}.status-pill.order-cancelled{background:#ef44441a;color:#dc2626}.status-pill.order-cancelled .status-dot{background:#ef4444}.origin-badge{display:inline-flex;align-items:center;gap:.25rem;padding:.35rem .75rem;border-radius:100px;font-size:.75rem;font-weight:500;background:#f1f5f9;color:#475569}.origin-badge.manual{background:#64748b1a}.origin-badge.auto-consumption{background:#0891b21a;color:#0891b2}.origin-badge.low-stock-alert{background:#f59e0b1a;color:#b45309}.consumption-value{font-weight:600;font-size:.95rem;color:#1e293b}.stockout-badge{display:inline-flex;align-items:center;padding:.35rem .75rem;border-radius:100px;font-size:.75rem;font-weight:600}.stockout-badge.safe{background:#10b9811a;color:#059669}.stockout-badge.warning{background:#f59e0b1a;color:#b45309}.stockout-badge.danger{background:#ef44441a;color:#dc2626}.suggested-qty{font-weight:600;color:#0891b2}.trend-badge{display:inline-flex;align-items:center;gap:.25rem;padding:.35rem .75rem;border-radius:100px;font-size:.75rem;font-weight:500}.trend-badge.increasing{background:#ef444414;color:#dc2626}.trend-badge.stable{background:#64748b14;color:#475569}.trend-badge.decreasing{background:#10b98114;color:#059669}.items-count{font-size:.875rem;color:#475569}.suppliers-list{display:flex;flex-direction:column;gap:.75rem}.supplier-card{padding:1rem;background:#fafafa;border-radius:12px;transition:all .2s ease}.supplier-card:hover{background:#f1f5f9;transform:translate(4px)}.supplier-card-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:.5rem}.supplier-name{font-weight:600;font-size:.9rem;color:#1e293b}.supplier-status{padding:.2rem .5rem;border-radius:100px;font-size:.65rem;font-weight:600;text-transform:uppercase}.supplier-status.active{background:#10b9811a;color:#059669}.supplier-status.inactive{background:#64748b1a;color:#64748b}.supplier-card-details{display:flex;flex-direction:column;gap:.25rem;font-size:.8rem;color:#64748b;margin-bottom:.5rem}.supplier-rating{color:#f59e0b;font-size:.9rem;letter-spacing:2px}.order-items-hint{padding:.875rem 1rem;background:#0891b20d;border:1px dashed rgba(8,145,178,.3);border-radius:12px;font-size:.85rem;color:#0891b2;line-height:1.5}@media(max-width:768px){.inventory-header{flex-direction:column;align-items:flex-start}.inventory-header-content h1{font-size:1.75rem}.inventory-table-header{padding:1.25rem}.inventory-search-row{flex-direction:column}.inventory-search-box{min-width:100%}.form-row{grid-template-columns:1fr}.form-group.full-width{grid-column:span 1}.inventory-modal{margin:1rem;max-width:calc(100% - 2rem)}.inventory-tab-bar{gap:.25rem;padding:.375rem}.inventory-tab{padding:.625rem 1rem;font-size:.8rem}.tab-label{display:none}.stock-alert-title-row,.stock-alert-meta{flex-direction:column;align-items:flex-start}}.viewer-toolbar{position:absolute;bottom:16px;left:50%;transform:translate(-50%);z-index:20;display:flex;align-items:center;gap:8px;background:#1e293bf2;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);padding:8px 16px;border-radius:12px;box-shadow:0 4px 20px #0000004d}.toolbar-section{display:flex;align-items:center;gap:6px}.toolbar-label{font-size:11px;color:#94a3b8;font-weight:500;text-transform:uppercase;letter-spacing:.5px;margin-right:4px}.toolbar-buttons{display:flex;gap:4px}.toolbar-btn{width:32px;height:32px;display:flex;align-items:center;justify-content:center;background:#ffffff1a;border:1px solid rgba(255,255,255,.1);border-radius:8px;cursor:pointer;transition:all .2s ease;font-size:14px}.toolbar-btn:hover{background:#fff3;border-color:#fff3;transform:translateY(-1px)}.toolbar-btn.active{background:#0891b2;border-color:#0891b2;box-shadow:0 0 12px #0891b280}.toolbar-divider{width:1px;height:24px;background:#fff3;margin:0 4px}@media(max-width:768px){.viewer-toolbar{padding:6px 10px;gap:4px;flex-wrap:wrap;max-width:calc(100% - 32px);justify-content:center}.toolbar-label{display:none}.toolbar-btn{width:28px;height:28px;font-size:12px}.toolbar-divider{display:none}}.stl-viewer-page{padding:1.5rem;min-height:100vh;background:linear-gradient(135deg,#f8fafc,#e2e8f0);animation:fadeInUp .5s ease-out}.stl-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem;flex-wrap:wrap;gap:1rem}.stl-header-content h1{font-size:1.75rem;font-weight:700;color:#1e293b;margin:0;display:flex;align-items:center;gap:.5rem}.stl-header-content p{color:#64748b;margin:.25rem 0 0}.stl-header-actions{display:flex;gap:.75rem}.btn-reset{display:flex;align-items:center;gap:.5rem;padding:.75rem 1.25rem;background:linear-gradient(135deg,#ef4444,#dc2626);color:#fff;border:none;border-radius:12px;font-weight:600;cursor:pointer;transition:all .3s ease;box-shadow:0 4px 15px #ef44444d}.btn-reset:hover{transform:translateY(-2px);box-shadow:0 6px 20px #ef444466}.stl-content{display:grid;grid-template-columns:320px 1fr;gap:1.5rem;height:calc(100vh - 180px)}@media(max-width:1024px){.stl-content{grid-template-columns:1fr;height:auto}}.stl-sidebar{display:flex;flex-direction:column;gap:1rem}.stl-card{background:#fff;border-radius:16px;padding:1.25rem;box-shadow:0 4px 20px #00000014;border:1px solid rgba(148,163,184,.1)}.stl-card h3{font-size:1rem;font-weight:600;color:#1e293b;margin:0 0 1rem;display:flex;align-items:center;gap:.5rem}.stl-dropzone{border:2px dashed #cbd5e1;border-radius:12px;padding:2rem;text-align:center;cursor:pointer;transition:all .3s ease;background:#f8fafc}.stl-dropzone:hover{border-color:#0891b2;background:#f0fdfa}.stl-dropzone.dragging{border-color:#0891b2;background:#e0f7fa;transform:scale(1.02)}.stl-dropzone.has-file{border-style:solid;border-color:#10b981;background:#ecfdf5}.dropzone-icon{font-size:2.5rem;display:block;margin-bottom:.5rem}.stl-dropzone p{color:#475569;font-weight:500;margin:0}.dropzone-hint{font-size:.8rem;color:#94a3b8;margin-top:.25rem;display:block}.stl-file-info{display:flex;flex-direction:column;align-items:center;gap:.5rem}.file-icon{font-size:2rem}.file-name{font-weight:600;color:#1e293b;word-break:break-all}.file-loaded{color:#10b981;font-size:.875rem;font-weight:500}.stl-error{margin-top:.75rem;padding:.75rem;background:#fef2f2;border:1px solid #fecaca;border-radius:8px;color:#dc2626;font-size:.875rem}.color-presets{display:flex;gap:.5rem;flex-wrap:wrap;margin-bottom:1rem}.color-preset{width:36px;height:36px;border-radius:50%;border:3px solid transparent;cursor:pointer;transition:all .2s ease;box-shadow:0 2px 8px #00000026}.color-preset:hover{transform:scale(1.1)}.color-preset.active{border-color:#1e293b;transform:scale(1.1)}.color-picker-wrapper{display:flex;align-items:center;gap:.75rem}.color-picker-wrapper label{font-size:.875rem;color:#64748b}.color-picker{width:40px;height:40px;border:none;border-radius:8px;cursor:pointer;overflow:hidden}.color-picker::-webkit-color-swatch-wrapper{padding:0}.color-picker::-webkit-color-swatch{border:none;border-radius:8px}.stl-instructions ul{list-style:none;padding:0;margin:0}.stl-instructions li{padding:.5rem 0;color:#475569;font-size:.875rem;border-bottom:1px solid #f1f5f9}.stl-instructions li:last-child{border-bottom:none}.stl-instructions li strong{color:#1e293b}.stl-viewer-container{background:#fff;border-radius:16px;box-shadow:0 4px 20px #00000014;border:1px solid rgba(148,163,184,.1);overflow:hidden;position:relative;min-height:500px}.stl-viewer-container.fullscreen{position:fixed;inset:0;z-index:9999;border-radius:0;min-height:100vh}.stl-canvas{width:100%!important;height:100%!important;background:linear-gradient(180deg,#1e293b,#334155,#475569)}.stl-empty-state{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);text-align:center;color:#64748b}.empty-icon{font-size:4rem;display:block;margin-bottom:1rem;opacity:.5}.stl-empty-state h2{font-size:1.5rem;color:#475569;margin:0 0 .5rem}.stl-empty-state p{margin:0;color:#94a3b8}.stl-loading{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);text-align:center;z-index:10}.stl-spinner{width:50px;height:50px;border:4px solid #e2e8f0;border-top-color:#0891b2;border-radius:50%;animation:spin 1s linear infinite;margin:0 auto 1rem}.stl-loading p{color:#64748b;font-weight:500}@media(max-width:768px){.stl-viewer-page{padding:1rem}.stl-header-content h1{font-size:1.5rem}.stl-viewer-container{min-height:400px}.stl-dropzone{padding:1.5rem}}.stl-model-info .info-grid{display:grid;grid-template-columns:1fr 1fr;gap:.75rem}.stl-model-info .info-item{background:#f8fafc;padding:.75rem;border-radius:8px;display:flex;flex-direction:column;gap:.25rem}.stl-model-info .info-item.full-width{grid-column:1 / -1}.stl-model-info .info-label{font-size:.75rem;color:#64748b;text-transform:uppercase;letter-spacing:.5px}.stl-model-info .info-value{font-size:1rem;font-weight:600;color:#1e293b}.stl-model-info .info-value.dimensions{font-family:Monaco,Consolas,monospace;font-size:.9rem;color:#0891b2}.display-options{margin-top:1rem;padding-top:1rem;border-top:1px solid #e2e8f0}.checkbox-option{display:flex;align-items:center;gap:.5rem;cursor:pointer;font-size:.875rem;color:#475569;margin-bottom:.75rem}.checkbox-option input[type=checkbox]{width:16px;height:16px;accent-color:#0891b2;cursor:pointer}.opacity-slider{display:flex;flex-direction:column;gap:.5rem}.opacity-slider label{font-size:.875rem;color:#475569}.opacity-slider input[type=range]{width:100%;height:6px;border-radius:3px;background:#e2e8f0;outline:none;cursor:pointer;-webkit-appearance:none;appearance:none}.opacity-slider input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:18px;height:18px;border-radius:50%;background:#0891b2;cursor:pointer;box-shadow:0 2px 6px #0891b266}.stl-measure-tools .measure-buttons{display:flex;flex-direction:column;gap:.5rem}.measure-btn{display:flex;align-items:center;justify-content:center;gap:.5rem;padding:.75rem 1rem;border:2px solid #e2e8f0;background:#fff;border-radius:10px;font-weight:500;color:#475569;cursor:pointer;transition:all .2s ease}.measure-btn:hover{border-color:#0891b2;color:#0891b2;background:#f0fdfa}.measure-btn.active{border-color:#0891b2;background:linear-gradient(135deg,#0891b2,#0e7490);color:#fff}.measure-instructions{margin-top:1rem;padding:.75rem;background:#fef3c7;border-radius:8px;border:1px solid #fcd34d}.measure-instructions p{font-size:.8rem;color:#92400e;margin:0 0 .5rem}.measure-status{display:flex;justify-content:space-between;align-items:center;font-size:.8rem;color:#78350f;font-weight:500}.clear-points-btn{padding:.25rem .5rem;background:#dc2626;color:#fff;border:none;border-radius:4px;font-size:.7rem;cursor:pointer;transition:all .2s ease}.clear-points-btn:hover{background:#b91c1c}.measure-result{margin-top:.75rem;padding:.75rem;border-radius:8px;text-align:center;font-size:1rem}.measure-result.distance{background:linear-gradient(135deg,#fee2e2,#fecaca);border:1px solid #f87171;color:#991b1b}.measure-result.angle{background:linear-gradient(135deg,#fef3c7,#fde68a);border:1px solid #fbbf24;color:#92400e}.measure-point-label{background:#1e293be6;color:#fff;padding:2px 8px;border-radius:12px;font-size:12px;font-weight:700;pointer-events:none;white-space:nowrap}.measure-distance-label{background:linear-gradient(135deg,#ef4444,#dc2626);color:#fff;padding:6px 12px;border-radius:20px;font-size:14px;font-weight:600;box-shadow:0 4px 15px #ef444466;white-space:nowrap}.measure-angle-label{background:linear-gradient(135deg,#f59e0b,#d97706);color:#fff;padding:6px 12px;border-radius:20px;font-size:14px;font-weight:600;box-shadow:0 4px 15px #f59e0b66;white-space:nowrap;transform:translateY(-20px)}.annotation-form{margin-top:1rem;padding:.75rem;background:#ecfdf5;border-radius:8px;border:1px solid #a7f3d0}.annotation-form>p{font-size:.8rem;color:#065f46;margin:0 0 .75rem}.annotation-colors{display:flex;gap:.5rem;margin-bottom:.75rem}.color-preset.small{width:24px;height:24px}.annotation-input{width:100%;padding:.5rem;border:1px solid #d1d5db;border-radius:6px;font-size:.875rem;margin-bottom:.5rem}.annotation-input:focus{outline:none;border-color:#10b981;box-shadow:0 0 0 3px #10b9811a}.add-annotation-btn{width:100%;padding:.5rem;background:linear-gradient(135deg,#10b981,#059669);color:#fff;border:none;border-radius:6px;font-weight:600;cursor:pointer;transition:all .2s ease}.add-annotation-btn:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 4px 12px #10b9814d}.add-annotation-btn:disabled{opacity:.5;cursor:not-allowed}.annotations-list{margin-top:.75rem;padding-top:.75rem;border-top:1px solid #a7f3d0}.annotations-list strong{font-size:.75rem;color:#065f46;display:block;margin-bottom:.5rem}.annotation-item{display:flex;align-items:center;gap:.5rem;padding:.4rem;background:#fff;border-radius:4px;margin-bottom:.25rem;font-size:.8rem}.annotation-dot{width:10px;height:10px;border-radius:50%;flex-shrink:0}.annotation-item span:nth-child(2){flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.annotation-item button{background:none;border:none;color:#ef4444;cursor:pointer;font-size:1rem;line-height:1;padding:0 .25rem}.annotation-label{background:#fff;padding:6px 10px;border-radius:8px;border-left:4px solid;box-shadow:0 4px 15px #0003;display:flex;align-items:center;gap:8px;font-size:12px;max-width:150px}.annotation-text{flex:1;color:#1e293b;font-weight:500}.annotation-delete{background:none;border:none;color:#94a3b8;cursor:pointer;font-size:16px;line-height:1;padding:0;transition:color .2s}.annotation-delete:hover{color:#ef4444}.stl-view-mode .view-mode-buttons{display:flex;gap:.5rem;margin-bottom:1rem}.view-mode-btn{flex:1;padding:.5rem;border:2px solid #e2e8f0;background:#fff;border-radius:8px;font-size:.75rem;font-weight:600;color:#64748b;cursor:pointer;transition:all .2s ease}.view-mode-btn:hover{border-color:#0891b2;color:#0891b2}.view-mode-btn.active{border-color:#0891b2;background:#0891b2;color:#fff}.second-model-upload{padding:.75rem;background:#f1f5f9;border-radius:8px;margin-bottom:.75rem}.second-model-upload label{display:block;font-size:.75rem;color:#64748b;margin-bottom:.5rem}.second-file-input{width:100%;font-size:.8rem}.second-model-info{margin-top:.5rem}.second-model-info .file-loaded{display:block;margin-bottom:.5rem}.color-picker-wrapper.small,.opacity-slider.small{margin-top:.5rem}.color-picker-wrapper.small label,.opacity-slider.small label{font-size:.75rem}.stl-viewer-container.compare-mode{display:flex}.compare-container{display:flex;width:100%;height:100%;gap:2px}.compare-panel{flex:1;position:relative;display:flex;flex-direction:column}.compare-label{position:absolute;top:10px;left:10px;z-index:10;background:#1e293be6;color:#fff;padding:6px 12px;border-radius:20px;font-size:12px;font-weight:600}.compare-panel .stl-canvas{flex:1}.compare-empty{background:#94a3b833;padding:1rem 2rem;border-radius:12px;color:#64748b;font-weight:500;text-align:center}.scale-label{color:#fff;font-size:10px;font-weight:600;text-shadow:0 1px 2px rgba(0,0,0,.5)}.scale-unit{background:#ffffffe6;color:#1e293b;padding:2px 8px;border-radius:4px;font-size:11px;font-weight:600}@media(max-width:768px){.compare-container{flex-direction:column}.compare-panel{min-height:250px}.view-mode-buttons{flex-wrap:wrap}.view-mode-btn{min-width:calc(50% - .25rem)}}.consent-page{min-height:100%;padding-bottom:2rem}.consent-header{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:2rem;flex-wrap:wrap;gap:1.5rem}.consent-header-left h1{font-size:2rem;font-weight:700;color:#0f172a;margin:0 0 .5rem;display:flex;align-items:center;gap:.75rem}.consent-header-left h1:before{content:"";width:4px;height:28px;background:linear-gradient(180deg,#8b5cf6,#7c3aed);border-radius:4px}.consent-header-left p{color:#64748b;font-size:.95rem;margin:0}.consent-header-right{display:flex;gap:.75rem}.consent-btn-export{display:flex;align-items:center;gap:.5rem;padding:.75rem 1.25rem;background:#fff;color:#475569;border:1px solid #e2e8f0;border-radius:12px;font-size:.875rem;font-weight:500;cursor:pointer;transition:all .2s ease}.consent-btn-export:hover{border-color:#8b5cf6;color:#8b5cf6;background:#faf5ff}.consent-btn-new{display:flex;align-items:center;gap:.5rem;padding:.75rem 1.5rem;background:linear-gradient(135deg,#8b5cf6,#7c3aed);color:#fff;border:none;border-radius:12px;font-size:.875rem;font-weight:600;cursor:pointer;transition:all .3s ease;box-shadow:0 4px 14px #8b5cf659}.consent-btn-new:hover{background:linear-gradient(135deg,#7c3aed,#6d28d9);transform:translateY(-2px);box-shadow:0 6px 20px #8b5cf673}.consent-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1.25rem;margin-bottom:2rem}.consent-stat-card{background:#fff;border-radius:16px;padding:1.5rem;display:flex;align-items:center;gap:1rem;box-shadow:0 1px 3px #0000000d;border:1px solid #f1f5f9;transition:all .3s ease;position:relative;overflow:hidden}.consent-stat-card:before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,transparent,rgba(139,92,246,.3),transparent);opacity:0;transition:opacity .3s ease}.consent-stat-card:hover{transform:translateY(-4px);box-shadow:0 12px 30px #8b5cf626}.consent-stat-card:hover:before{opacity:1}.consent-stat-icon{width:56px;height:56px;border-radius:16px;display:flex;align-items:center;justify-content:center;font-size:1.5rem;position:relative}.consent-stat-icon.total{background:linear-gradient(135deg,#ede9fe,#ddd6fe)}.consent-stat-icon.signed{background:linear-gradient(135deg,#d1fae5,#a7f3d0)}.consent-stat-icon.pending{background:linear-gradient(135deg,#fef3c7,#fde68a)}.consent-stat-icon.expired{background:linear-gradient(135deg,#fee2e2,#fecaca)}.consent-stat-content h3{font-size:1.75rem;font-weight:700;color:#0f172a;margin:0;line-height:1.2}.consent-stat-content p{font-size:.85rem;color:#64748b;margin:.25rem 0 0}.consent-stat-trend{display:flex;align-items:center;gap:.25rem;font-size:.75rem;font-weight:600;margin-top:.35rem}.consent-stat-trend.up{color:#10b981}.consent-stat-trend.down{color:#ef4444}.consent-controls{background:#fff;border-radius:16px;padding:1.25rem;margin-bottom:1.5rem;display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:1rem;box-shadow:0 1px 3px #0000000d;border:1px solid #f1f5f9}.consent-search-box{position:relative;flex:1;max-width:350px}.consent-search-box input{width:100%;padding:.875rem 1rem .875rem 3rem;border:2px solid #e2e8f0;border-radius:12px;font-size:.9rem;transition:all .2s ease;background:#f8fafc}.consent-search-box input:focus{outline:none;border-color:#8b5cf6;background:#fff;box-shadow:0 0 0 3px #8b5cf61a}.consent-search-box input::placeholder{color:#94a3b8}.consent-search-icon{position:absolute;left:1rem;top:50%;transform:translateY(-50%);color:#94a3b8;font-size:1.1rem}.consent-category-filters{display:flex;gap:.5rem;flex-wrap:wrap}.consent-category-pill{padding:.5rem 1rem;border:2px solid #e2e8f0;background:#fff;border-radius:25px;font-size:.8rem;font-weight:500;cursor:pointer;color:#64748b;transition:all .25s ease;display:flex;align-items:center;gap:.4rem}.consent-category-pill:hover{border-color:#8b5cf6;color:#8b5cf6;transform:translateY(-1px)}.consent-category-pill.active{background:linear-gradient(135deg,#8b5cf6,#7c3aed);border-color:transparent;color:#fff;box-shadow:0 4px 12px #8b5cf64d}.consent-category-pill .pill-icon{font-size:.9rem}.consent-view-controls{display:flex;gap:.5rem}.consent-view-btn{width:42px;height:42px;border:1px solid #e2e8f0;background:#fff;border-radius:10px;display:flex;align-items:center;justify-content:center;cursor:pointer;color:#64748b;transition:all .2s ease;font-size:1.1rem}.consent-view-btn:hover{border-color:#8b5cf6;color:#8b5cf6}.consent-view-btn.active{background:linear-gradient(135deg,#8b5cf6,#7c3aed);border-color:transparent;color:#fff}.consent-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:1.5rem}@media(min-width:1400px){.consent-grid{grid-template-columns:repeat(4,1fr)}}.consent-card{background:#fff;border-radius:20px;overflow:hidden;box-shadow:0 1px 3px #0000000d;border:1px solid #f1f5f9;transition:all .4s cubic-bezier(.4,0,.2,1);position:relative;cursor:pointer}.consent-card:hover{transform:translateY(-6px) scale(1.01);box-shadow:0 25px 50px #8b5cf626;border-color:transparent}.consent-card-header{position:relative;padding:1.75rem 1.5rem 1.25rem;overflow:hidden}.consent-card-header:before{content:"";position:absolute;inset:0;opacity:.95;z-index:0}.consent-card-header.implantes:before{background:linear-gradient(135deg,#dbeafe,#bfdbfe)}.consent-card-header.ortodoncia:before{background:linear-gradient(135deg,#ede9fe,#ddd6fe)}.consent-card-header.cirugia:before{background:linear-gradient(135deg,#fee2e2,#fecaca)}.consent-card-header.blanqueamiento:before{background:linear-gradient(135deg,#fef3c7,#fde68a)}.consent-card-header.endodoncia:before{background:linear-gradient(135deg,#ffedd5,#fed7aa)}.consent-card-header.periodoncia:before{background:linear-gradient(135deg,#cffafe,#a5f3fc)}.consent-card-header.protesis:before{background:linear-gradient(135deg,#fce7f3,#fbcfe8)}.consent-card-header.general:before{background:linear-gradient(135deg,#d1fae5,#a7f3d0)}.consent-card-header:after{content:"";position:absolute;bottom:0;left:0;right:0;height:20px;background:#fff;border-radius:20px 20px 0 0;z-index:1}.consent-category-icon{position:relative;z-index:2;width:60px;height:60px;border-radius:16px;background:#fff;display:flex;align-items:center;justify-content:center;font-size:1.75rem;box-shadow:0 8px 20px #0000001a;margin-bottom:.5rem}.consent-status-badge{position:absolute;top:1rem;right:1rem;z-index:2;padding:.35rem .85rem;border-radius:20px;font-size:.7rem;font-weight:600;text-transform:uppercase;letter-spacing:.5px;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.consent-status-badge.active{background:#ffffffe6;color:#059669;border:1px solid rgba(5,150,105,.2)}.consent-status-badge.inactive{background:#ffffffe6;color:#dc2626;border:1px solid rgba(220,38,38,.2)}.consent-card-body{padding:0 1.5rem 1.25rem;position:relative}.consent-name{font-size:1.1rem;font-weight:700;color:#0f172a;margin:0 0 .35rem;line-height:1.3}.consent-description{font-size:.85rem;color:#64748b;margin:0 0 1rem;display:-webkit-box;-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;line-height:1.5}.consent-category-tag{display:inline-flex;align-items:center;gap:.35rem;padding:.35rem .75rem;border-radius:8px;font-size:.75rem;font-weight:600;margin-bottom:1rem}.consent-category-tag.implantes{background:#dbeafe;color:#1d4ed8}.consent-category-tag.ortodoncia{background:#ede9fe;color:#6d28d9}.consent-category-tag.cirugia{background:#fee2e2;color:#dc2626}.consent-category-tag.blanqueamiento{background:#fef3c7;color:#b45309}.consent-category-tag.endodoncia{background:#ffedd5;color:#c2410c}.consent-category-tag.periodoncia{background:#cffafe;color:#0e7490}.consent-category-tag.protesis{background:#fce7f3;color:#be185d}.consent-category-tag.general{background:#d1fae5;color:#047857}.consent-meta{display:flex;align-items:center;justify-content:space-between;padding:1rem 1.5rem;background:#f8fafc;border-top:1px solid #f1f5f9}.consent-version{display:flex;align-items:center;gap:.5rem;font-size:.85rem;color:#64748b}.consent-version .icon{font-size:1rem}.consent-compliance{font-size:.75rem;font-weight:600;color:#059669;display:flex;align-items:center;gap:.35rem}.consent-card-footer{display:flex;border-top:1px solid #f1f5f9}.consent-action-btn{flex:1;padding:.875rem;border:none;background:transparent;color:#64748b;font-size:.85rem;font-weight:500;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;justify-content:center;gap:.5rem}.consent-action-btn:first-child{border-right:1px solid #f1f5f9}.consent-action-btn:hover{background:#f8fafc;color:#8b5cf6}.consent-action-btn.delete:hover{background:#fef2f2;color:#dc2626}.consent-loading-container{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:4rem 2rem;gap:1.5rem}.consent-loading-spinner{width:50px;height:50px;border:3px solid #e2e8f0;border-top-color:#8b5cf6;border-radius:50%;animation:consent-spin .8s linear infinite}@keyframes consent-spin{to{transform:rotate(360deg)}}.consent-loading-text{color:#64748b;font-size:.95rem}.consent-empty-state{text-align:center;padding:4rem 2rem;background:#fff;border-radius:20px;border:2px dashed #e2e8f0}.consent-empty-state-icon{font-size:4rem;margin-bottom:1rem;opacity:.8}.consent-empty-state-title{font-size:1.25rem;font-weight:600;color:#1e293b;margin:0 0 .5rem}.consent-empty-state-message{color:#64748b;margin:0 0 1.5rem}.consent-modal-overlay{position:fixed;inset:0;background:#0f172a99;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:1000;padding:1rem;animation:consent-fadeIn .2s ease}@keyframes consent-fadeIn{0%{opacity:0}to{opacity:1}}.consent-modal{background:#fff;border-radius:24px;width:100%;max-width:640px;max-height:90vh;overflow:hidden;box-shadow:0 25px 60px #00000040;animation:consent-slideUp .3s ease;display:flex;flex-direction:column}.consent-modal.large{max-width:800px}@keyframes consent-slideUp{0%{opacity:0;transform:translateY(20px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}.consent-modal-header{display:flex;align-items:center;justify-content:space-between;padding:1.5rem 1.75rem;background:linear-gradient(135deg,#8b5cf6,#7c3aed);color:#fff}.consent-modal-header-content h2{font-size:1.25rem;font-weight:600;margin:0 0 .25rem}.consent-modal-header-content p{font-size:.85rem;opacity:.85;margin:0}.consent-modal-close{width:36px;height:36px;border-radius:10px;background:#ffffff26;border:none;color:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:1.25rem;transition:all .2s ease}.consent-modal-close:hover{background:#ffffff40;transform:rotate(90deg)}.consent-modal-body{padding:1.75rem;max-height:60vh;overflow-y:auto;flex:1}.consent-form-group{margin-bottom:1.5rem}.consent-form-label{display:flex;align-items:center;gap:.5rem;font-size:.875rem;font-weight:600;color:#374151;margin-bottom:.5rem}.consent-form-label .label-icon{font-size:1rem}.consent-form-input{width:100%;padding:.875rem 1rem;border:2px solid #e2e8f0;border-radius:12px;font-size:.9rem;transition:all .2s ease;background:#f8fafc}.consent-form-input:focus{outline:none;border-color:#8b5cf6;background:#fff;box-shadow:0 0 0 3px #8b5cf61a}.consent-form-input::placeholder{color:#94a3b8}.consent-form-textarea{width:100%;padding:.875rem 1rem;border:2px solid #e2e8f0;border-radius:12px;font-size:.9rem;transition:all .2s ease;background:#f8fafc;resize:vertical;min-height:100px;font-family:inherit}.consent-form-textarea:focus{outline:none;border-color:#8b5cf6;background:#fff;box-shadow:0 0 0 3px #8b5cf61a}.consent-form-textarea.large{min-height:200px}.consent-form-select{width:100%;padding:.875rem 1rem;border:2px solid #e2e8f0;border-radius:12px;font-size:.9rem;transition:all .2s ease;background:#f8fafc;cursor:pointer;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke='%2394a3b8'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M19 9l-7 7-7-7'%3E%3C/path%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 1rem center;background-size:1.25rem}.consent-form-select:focus{outline:none;border-color:#8b5cf6;background-color:#fff;box-shadow:0 0 0 3px #8b5cf61a}.consent-form-row{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem}.consent-form-row .consent-form-group{margin-bottom:0}.consent-modal-footer{display:flex;justify-content:flex-end;gap:.75rem;padding:1.25rem 1.75rem;background:#f8fafc;border-top:1px solid #f1f5f9}.consent-btn-cancel{padding:.75rem 1.5rem;background:#fff;color:#64748b;border:2px solid #e2e8f0;border-radius:12px;font-size:.875rem;font-weight:600;cursor:pointer;transition:all .2s ease}.consent-btn-cancel:hover{border-color:#cbd5e1;background:#f8fafc}.consent-btn-save{padding:.75rem 1.5rem;background:linear-gradient(135deg,#8b5cf6,#7c3aed);color:#fff;border:none;border-radius:12px;font-size:.875rem;font-weight:600;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;gap:.5rem;box-shadow:0 4px 14px #8b5cf659}.consent-btn-save:hover{background:linear-gradient(135deg,#7c3aed,#6d28d9);transform:translateY(-1px);box-shadow:0 6px 20px #8b5cf673}.consent-detail-content{background:#f8fafc;border:1px solid #e2e8f0;border-radius:12px;padding:1.5rem;margin-bottom:1.5rem;white-space:pre-line;font-size:.875rem;line-height:1.7;color:#374151;max-height:250px;overflow-y:auto}.consent-detail-meta{display:flex;flex-wrap:wrap;gap:1rem;margin-bottom:1.5rem}.consent-detail-meta-item{display:flex;align-items:center;gap:.5rem;padding:.5rem 1rem;background:#fff;border:1px solid #e2e8f0;border-radius:10px;font-size:.8rem;color:#475569}.consent-detail-meta-item .meta-label{font-weight:600;color:#1e293b}.consent-signature-section{margin-top:1.5rem;padding-top:1.5rem;border-top:2px dashed #e2e8f0}.consent-signature-title{font-size:.95rem;font-weight:600;color:#1e293b;margin:0 0 .75rem;display:flex;align-items:center;gap:.5rem}.consent-signature-canvas-wrapper{border:2px solid #e2e8f0;border-radius:12px;overflow:hidden;background:#fff;margin-bottom:.75rem}.consent-signature-canvas{display:block;width:100%;height:150px;cursor:crosshair}.consent-signature-actions{display:flex;gap:.75rem;margin-bottom:1rem}.consent-btn-clear-signature{padding:.5rem 1rem;background:#fff;color:#64748b;border:1px solid #e2e8f0;border-radius:10px;font-size:.8rem;font-weight:500;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;gap:.35rem}.consent-btn-clear-signature:hover{border-color:#dc2626;color:#dc2626;background:#fef2f2}.consent-btn-sign{padding:.5rem 1.25rem;background:linear-gradient(135deg,#059669,#047857);color:#fff;border:none;border-radius:10px;font-size:.8rem;font-weight:600;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;gap:.35rem;box-shadow:0 4px 12px #0596694d}.consent-btn-sign:hover{background:linear-gradient(135deg,#047857,#065f46);transform:translateY(-1px);box-shadow:0 6px 16px #05966966}.consent-compliance-notice{display:flex;align-items:flex-start;gap:.5rem;padding:.75rem 1rem;background:#f0fdf4;border:1px solid #bbf7d0;border-radius:10px;font-size:.75rem;color:#166534;line-height:1.5}.consent-compliance-notice .notice-icon{font-size:1rem;flex-shrink:0;margin-top:.1rem}.consent-table-container{background:#fff;border-radius:20px;overflow:hidden;box-shadow:0 1px 3px #0000000d;border:1px solid #f1f5f9}.consent-table{width:100%;border-collapse:collapse}.consent-table th{text-align:left;padding:1rem 1.25rem;background:linear-gradient(135deg,#f8fafc,#f1f5f9);font-size:.75rem;font-weight:700;color:#64748b;text-transform:uppercase;letter-spacing:.05em;border-bottom:2px solid #e2e8f0}.consent-table td{padding:1rem 1.25rem;font-size:.9rem;color:#1e293b;border-bottom:1px solid #f1f5f9;vertical-align:middle}.consent-table tbody tr{transition:all .2s ease;cursor:pointer}.consent-table tbody tr:hover{background:linear-gradient(135deg,#faf5ff,#f5f3ff)}.consent-table tbody tr:last-child td{border-bottom:none}.consent-cell{display:flex;align-items:center;gap:1rem}.consent-cell-icon{width:48px;height:48px;border-radius:12px;display:flex;align-items:center;justify-content:center;font-size:1.25rem}.consent-cell-icon.implantes{background:linear-gradient(135deg,#dbeafe,#bfdbfe)}.consent-cell-icon.ortodoncia{background:linear-gradient(135deg,#ede9fe,#ddd6fe)}.consent-cell-icon.cirugia{background:linear-gradient(135deg,#fee2e2,#fecaca)}.consent-cell-icon.blanqueamiento{background:linear-gradient(135deg,#fef3c7,#fde68a)}.consent-cell-icon.endodoncia{background:linear-gradient(135deg,#ffedd5,#fed7aa)}.consent-cell-icon.periodoncia{background:linear-gradient(135deg,#cffafe,#a5f3fc)}.consent-cell-icon.protesis{background:linear-gradient(135deg,#fce7f3,#fbcfe8)}.consent-cell-icon.general{background:linear-gradient(135deg,#d1fae5,#a7f3d0)}.consent-cell-info{display:flex;flex-direction:column}.consent-cell-name{font-weight:600;color:#0f172a}.consent-cell-desc{font-size:.8rem;color:#64748b;max-width:250px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.consent-table-version{font-weight:600;color:#475569}.consent-table-status-badge{display:inline-flex;padding:.35rem .85rem;border-radius:20px;font-size:.75rem;font-weight:600}.consent-table-status-badge.active{background:linear-gradient(135deg,#d1fae5,#a7f3d0);color:#047857}.consent-table-status-badge.inactive{background:linear-gradient(135deg,#fee2e2,#fecaca);color:#dc2626}.consent-table-actions{display:flex;gap:.5rem}.consent-table-action-btn{width:36px;height:36px;border:1px solid #e2e8f0;background:#fff;border-radius:10px;display:flex;align-items:center;justify-content:center;cursor:pointer;color:#64748b;transition:all .2s ease}.consent-table-action-btn:hover{border-color:#8b5cf6;color:#8b5cf6;background:#faf5ff}.consent-table-action-btn.delete:hover{border-color:#dc2626;color:#dc2626;background:#fef2f2}@media(max-width:768px){.consent-header{flex-direction:column;align-items:stretch}.consent-header-right{width:100%}.consent-btn-new{flex:1;justify-content:center}.consent-controls{flex-direction:column;align-items:stretch}.consent-search-box{max-width:none}.consent-category-filters{overflow-x:auto;padding-bottom:.5rem;flex-wrap:nowrap}.consent-grid,.consent-form-row{grid-template-columns:1fr}.consent-table{display:block;overflow-x:auto}}.ch-page{min-height:100%;padding-bottom:2rem}.ch-header{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:2rem;flex-wrap:wrap;gap:1.5rem}.ch-header-left h1{font-size:2rem;font-weight:700;color:#0f172a;margin:0 0 .5rem;display:flex;align-items:center;gap:.75rem}.ch-header-left h1:before{content:"";width:4px;height:28px;background:linear-gradient(180deg,#06b6d4,#0891b2);border-radius:4px}.ch-header-left p{color:#64748b;font-size:.95rem;margin:0}.ch-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1.25rem;margin-bottom:2rem}.ch-stat-card{background:#fff;border-radius:16px;padding:1.5rem;display:flex;align-items:center;gap:1rem;box-shadow:0 1px 3px #0000000d;border:1px solid #f1f5f9;transition:all .3s ease}.ch-stat-card:hover{transform:translateY(-2px);box-shadow:0 8px 25px #00000014}.ch-stat-icon{width:52px;height:52px;border-radius:14px;display:flex;align-items:center;justify-content:center;font-size:1.5rem}.ch-stat-icon.patients{background:linear-gradient(135deg,#dbeafe,#bfdbfe)}.ch-stat-icon.alerts{background:linear-gradient(135deg,#fee2e2,#fecaca)}.ch-stat-icon.prescriptions{background:linear-gradient(135deg,#d1fae5,#a7f3d0)}.ch-stat-icon.consents{background:linear-gradient(135deg,#fef3c7,#fde68a)}.ch-stat-content h3{font-size:1.75rem;font-weight:700;color:#0f172a;margin:0;line-height:1.2}.ch-stat-content p{font-size:.85rem;color:#64748b;margin:.25rem 0 0}.ch-split{display:flex;gap:1.5rem;min-height:70vh}.ch-panel-left{width:320px;flex-shrink:0;background:#fff;border-radius:20px;box-shadow:0 1px 3px #0000000d;border:1px solid #f1f5f9;display:flex;flex-direction:column;overflow:hidden}.ch-search{padding:1.25rem;border-bottom:1px solid #f1f5f9}.ch-search-input{width:100%;padding:.875rem 1rem .875rem 2.75rem;border:2px solid #e2e8f0;border-radius:12px;font-size:.9rem;transition:all .2s ease;background:#f8fafc;box-sizing:border-box}.ch-search-input:focus{outline:none;border-color:#0891b2;background:#fff;box-shadow:0 0 0 3px #0891b21a}.ch-search-wrapper{position:relative}.ch-search-icon{position:absolute;left:.85rem;top:50%;transform:translateY(-50%);color:#94a3b8;font-size:1.1rem}.ch-patient-list{flex:1;overflow-y:auto;padding:.5rem}.ch-patient-item{display:flex;align-items:center;gap:.75rem;padding:.875rem 1rem;border-radius:12px;cursor:pointer;transition:all .2s ease;border:2px solid transparent;position:relative}.ch-patient-item:hover{background:#f0fdfa}.ch-patient-item.selected{background:linear-gradient(135deg,#f0fdfa,#ecfeff);border-color:#0891b2}.ch-patient-avatar{width:44px;height:44px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:.9rem;font-weight:700;color:#fff;flex-shrink:0}.ch-patient-avatar.female{background:linear-gradient(135deg,#ec4899,#db2777)}.ch-patient-avatar.male{background:linear-gradient(135deg,#3b82f6,#2563eb)}.ch-patient-avatar.other{background:linear-gradient(135deg,#0891b2,#0e7490)}.ch-patient-item-info{flex:1;min-width:0}.ch-patient-item-name{font-size:.9rem;font-weight:600;color:#0f172a;margin:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ch-patient-item-detail{font-size:.75rem;color:#64748b;margin:.15rem 0 0}.ch-alert-dot{width:10px;height:10px;border-radius:50%;background:#dc2626;flex-shrink:0;animation:ch-pulse 2s infinite}@keyframes ch-pulse{0%{box-shadow:0 0 #dc262680}70%{box-shadow:0 0 0 8px #dc262600}to{box-shadow:0 0 #dc262600}}.ch-panel-right{flex:1;min-width:0;display:flex;flex-direction:column;gap:1.25rem}.ch-no-selection{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;background:#fff;border-radius:20px;border:2px dashed #e2e8f0;gap:1rem;padding:3rem}.ch-no-selection-icon{width:80px;height:80px;background:linear-gradient(135deg,#f0fdfa,#ecfeff);border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:2rem}.ch-no-selection h3{font-size:1.15rem;color:#0f172a;margin:0}.ch-no-selection p{color:#64748b;margin:0;font-size:.9rem}.ch-alert-banner{background:linear-gradient(135deg,#dc2626,#b91c1c);border-radius:16px;padding:1.25rem 1.5rem;color:#fff;display:flex;align-items:flex-start;gap:1rem;animation:ch-bannerSlideIn .3s ease}@keyframes ch-bannerSlideIn{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.ch-alert-banner-icon{font-size:1.5rem;flex-shrink:0;margin-top:.1rem}.ch-alert-banner-content{flex:1}.ch-alert-banner-title{font-size:1rem;font-weight:700;margin:0 0 .5rem}.ch-alert-banner-list{list-style:none;padding:0;margin:0 0 .5rem}.ch-alert-banner-list li{font-size:.85rem;padding:.25rem 0;opacity:.95}.ch-alert-banner-list li:before{content:"• ";font-weight:700}.ch-alert-banner-dismiss{padding:.5rem 1.25rem;background:#fff3;border:1px solid rgba(255,255,255,.4);border-radius:8px;color:#fff;font-size:.8rem;font-weight:600;cursor:pointer;transition:all .2s ease;flex-shrink:0;align-self:center}.ch-alert-banner-dismiss:hover{background:#ffffff59}.ch-patient-summary{background:#fff;border-radius:16px;padding:1.25rem 1.5rem;display:flex;align-items:center;gap:1.25rem;box-shadow:0 1px 3px #0000000d;border:1px solid #f1f5f9}.ch-summary-avatar{width:56px;height:56px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:1.25rem;font-weight:700;color:#fff;flex-shrink:0}.ch-summary-avatar.female{background:linear-gradient(135deg,#ec4899,#db2777)}.ch-summary-avatar.male{background:linear-gradient(135deg,#3b82f6,#2563eb)}.ch-summary-avatar.other{background:linear-gradient(135deg,#0891b2,#0e7490)}.ch-summary-info{flex:1}.ch-summary-name{font-size:1.1rem;font-weight:700;color:#0f172a;margin:0 0 .25rem}.ch-summary-details{font-size:.8rem;color:#64748b;margin:0}.ch-summary-tags{display:flex;gap:.5rem;flex-wrap:wrap}.ch-summary-tag{padding:.3rem .65rem;background:#f1f5f9;border-radius:20px;font-size:.7rem;color:#475569}.ch-summary-tag.warning{background:#fef3c7;color:#92400e}.ch-tabs{background:#fff;border-radius:16px;box-shadow:0 1px 3px #0000000d;border:1px solid #f1f5f9;overflow:hidden;flex:1;display:flex;flex-direction:column}.ch-tabs-header{display:flex;border-bottom:2px solid #f1f5f9;padding:0 .5rem;overflow-x:auto}.ch-tab-btn{padding:1rem 1.25rem;border:none;background:transparent;font-size:.875rem;font-weight:500;color:#64748b;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;gap:.5rem;white-space:nowrap;position:relative}.ch-tab-btn:hover{color:#0891b2}.ch-tab-btn.active{color:#0891b2;font-weight:600}.ch-tab-btn.active:after{content:"";position:absolute;bottom:-2px;left:0;right:0;height:2px;background:linear-gradient(90deg,#06b6d4,#0891b2);border-radius:2px 2px 0 0}.ch-tab-badge{background:#e2e8f0;color:#475569;padding:.15rem .5rem;border-radius:10px;font-size:.7rem;font-weight:600}.ch-tab-btn.active .ch-tab-badge{background:linear-gradient(135deg,#0891b2,#0e7490);color:#fff}.ch-tabs-content{flex:1;padding:1.5rem;overflow-y:auto}.ch-anamnesis-category{margin-bottom:1.5rem}.ch-anamnesis-category-title{font-size:.8rem;font-weight:600;color:#0891b2;text-transform:uppercase;letter-spacing:.5px;margin-bottom:1rem;display:flex;align-items:center;gap:.5rem;padding-bottom:.5rem;border-bottom:1px solid #f1f5f9}.ch-anamnesis-field{margin-bottom:1rem;display:flex;align-items:flex-start;gap:1rem}.ch-anamnesis-label{flex:1;font-size:.9rem;color:#334155;padding-top:.3rem}.ch-anamnesis-input{width:240px;flex-shrink:0}.ch-anamnesis-input input[type=checkbox]{width:20px;height:20px;accent-color:#0891b2;cursor:pointer}.ch-anamnesis-input textarea{width:100%;padding:.625rem .875rem;border:2px solid #e2e8f0;border-radius:10px;font-size:.85rem;resize:vertical;min-height:60px;font-family:inherit;background:#f8fafc;transition:all .2s ease;box-sizing:border-box}.ch-anamnesis-input textarea:focus{outline:none;border-color:#0891b2;background:#fff;box-shadow:0 0 0 3px #0891b21a}.ch-anamnesis-input select{width:100%;padding:.625rem .875rem;border:2px solid #e2e8f0;border-radius:10px;font-size:.85rem;background:#f8fafc;transition:all .2s ease;cursor:pointer;box-sizing:border-box}.ch-anamnesis-input select:focus{outline:none;border-color:#0891b2;background:#fff;box-shadow:0 0 0 3px #0891b21a}.ch-btn-save-anamnesis{display:flex;align-items:center;gap:.5rem;padding:.75rem 1.5rem;background:linear-gradient(135deg,#0891b2,#0e7490);color:#fff;border:none;border-radius:12px;font-size:.875rem;font-weight:600;cursor:pointer;transition:all .3s ease;box-shadow:0 4px 14px #0891b240;margin-top:1rem}.ch-btn-save-anamnesis:hover{background:linear-gradient(135deg,#0e7490,#155e75);transform:translateY(-2px);box-shadow:0 6px 20px #0891b259}.ch-alerts-header{display:flex;justify-content:flex-end;margin-bottom:1rem}.ch-btn-new{display:flex;align-items:center;gap:.5rem;padding:.625rem 1.25rem;background:linear-gradient(135deg,#0891b2,#0e7490);color:#fff;border:none;border-radius:10px;font-size:.8rem;font-weight:600;cursor:pointer;transition:all .3s ease;box-shadow:0 4px 14px #0891b240}.ch-btn-new:hover{background:linear-gradient(135deg,#0e7490,#155e75);transform:translateY(-1px)}.ch-alerts-grid{display:flex;flex-direction:column;gap:1rem}.ch-alert-card{border-radius:14px;padding:1.25rem;display:flex;align-items:flex-start;gap:1rem;transition:all .2s ease}.ch-alert-card.critical{background:linear-gradient(135deg,#fef2f2,#fee2e2);border:2px solid #dc2626}.ch-alert-card.high{background:#fef2f2;border:2px solid #ef4444}.ch-alert-card.medium{background:#fffbeb;border:2px solid #f59e0b}.ch-alert-card.low{background:#f8fafc;border:2px solid #e2e8f0}.ch-alert-severity-badge{padding:.3rem .65rem;border-radius:8px;font-size:.65rem;font-weight:700;text-transform:uppercase;letter-spacing:.5px;flex-shrink:0}.ch-alert-severity-badge.critical{background:#dc2626;color:#fff}.ch-alert-severity-badge.high{background:#ef4444;color:#fff}.ch-alert-severity-badge.medium{background:#f59e0b;color:#fff}.ch-alert-severity-badge.low{background:#94a3b8;color:#fff}.ch-alert-info{flex:1}.ch-alert-title{font-size:.95rem;font-weight:600;color:#0f172a;margin:0 0 .35rem}.ch-alert-desc{font-size:.8rem;color:#475569;margin:0 0 .5rem;line-height:1.5}.ch-alert-meds{display:flex;flex-wrap:wrap;gap:.35rem}.ch-alert-med-tag{padding:.2rem .5rem;background:#0000000f;border-radius:6px;font-size:.7rem;color:#475569}.ch-alert-actions{flex-shrink:0}.ch-btn-acknowledge{padding:.5rem 1rem;border:1px solid #e2e8f0;background:#fff;border-radius:8px;font-size:.75rem;font-weight:500;color:#64748b;cursor:pointer;transition:all .2s ease}.ch-btn-acknowledge:hover{border-color:#0891b2;color:#0891b2;background:#f0fdfa}.ch-prescriptions-header{display:flex;justify-content:flex-end;margin-bottom:1rem}.ch-prescriptions-grid{display:flex;flex-direction:column;gap:1rem}.ch-prescription-card{background:#f8fafc;border:1px solid #f1f5f9;border-radius:14px;padding:1.25rem;transition:all .2s ease}.ch-prescription-card:hover{border-color:#0891b2;box-shadow:0 4px 12px #0000000f}.ch-prescription-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:.75rem}.ch-prescription-date{font-size:.8rem;color:#64748b}.ch-prescription-status{padding:.25rem .65rem;border-radius:20px;font-size:.7rem;font-weight:600}.ch-prescription-status.active{background:#d1fae5;color:#047857}.ch-prescription-status.completed{background:#e2e8f0;color:#475569}.ch-prescription-status.cancelled{background:#fee2e2;color:#dc2626}.ch-prescription-diagnosis{font-size:.85rem;color:#334155;margin:0 0 1rem;font-weight:500}.ch-medication-list{display:flex;flex-direction:column;gap:.75rem}.ch-medication-item{background:#fff;border-radius:10px;padding:.875rem;border:1px solid #e2e8f0}.ch-medication-name{font-size:.875rem;font-weight:600;color:#0f172a;margin:0 0 .35rem}.ch-medication-details{display:flex;flex-wrap:wrap;gap:.75rem;font-size:.75rem;color:#64748b}.ch-medication-detail{display:flex;align-items:center;gap:.25rem}.ch-medication-instructions{font-size:.75rem;color:#475569;margin:.5rem 0 0;font-style:italic}.ch-consents-header{display:flex;justify-content:flex-end;margin-bottom:1rem}.ch-consents-grid{display:flex;flex-direction:column;gap:1rem}.ch-consent-card{background:#f8fafc;border:1px solid #f1f5f9;border-radius:14px;padding:1.25rem;display:flex;align-items:center;gap:1rem;transition:all .2s ease}.ch-consent-card:hover{border-color:#0891b2;box-shadow:0 4px 12px #0000000f}.ch-consent-info{flex:1}.ch-consent-title{font-size:.95rem;font-weight:600;color:#0f172a;margin:0 0 .25rem}.ch-consent-desc{font-size:.8rem;color:#64748b;margin:0 0 .5rem}.ch-consent-meta{display:flex;gap:1rem;font-size:.75rem;color:#94a3b8}.ch-consent-status{padding:.25rem .65rem;border-radius:20px;font-size:.7rem;font-weight:600;flex-shrink:0}.ch-consent-status.pending{background:#fef3c7;color:#92400e}.ch-consent-status.signed{background:#d1fae5;color:#047857}.ch-consent-status.revoked{background:#fee2e2;color:#dc2626}.ch-consent-status.expired{background:#e2e8f0;color:#475569}.ch-consent-actions{display:flex;gap:.5rem;flex-shrink:0}.ch-btn-sign{padding:.5rem 1rem;background:linear-gradient(135deg,#0891b2,#0e7490);color:#fff;border:none;border-radius:8px;font-size:.75rem;font-weight:600;cursor:pointer;transition:all .2s ease}.ch-btn-sign:hover{background:linear-gradient(135deg,#0e7490,#155e75);transform:translateY(-1px)}.ch-btn-secondary{padding:.5rem 1rem;border:1px solid #e2e8f0;background:#fff;border-radius:8px;font-size:.75rem;font-weight:500;color:#64748b;cursor:pointer;transition:all .2s ease}.ch-btn-secondary:hover{border-color:#0891b2;color:#0891b2}.ch-btn-revoke{padding:.5rem 1rem;border:1px solid #fecaca;background:#fef2f2;border-radius:8px;font-size:.75rem;font-weight:500;color:#dc2626;cursor:pointer;transition:all .2s ease}.ch-btn-revoke:hover{background:#fee2e2;border-color:#dc2626}.ch-modal-overlay{position:fixed;inset:0;background:#0f172a99;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:1000;padding:1rem}.ch-modal{background:#fff;border-radius:24px;width:100%;max-width:600px;max-height:90vh;overflow:hidden;box-shadow:0 25px 50px #00000040;animation:ch-modalSlideIn .3s ease}@keyframes ch-modalSlideIn{0%{opacity:0;transform:translateY(-20px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}.ch-modal-header{padding:1.5rem 2rem;background:linear-gradient(135deg,#f0fdfa,#ecfeff);border-bottom:1px solid #e2e8f0;display:flex;align-items:center;justify-content:space-between}.ch-modal-header h2{font-size:1.25rem;font-weight:700;color:#0f172a;margin:0;display:flex;align-items:center;gap:.75rem}.ch-modal-close{width:36px;height:36px;border:none;background:#fff;border-radius:10px;cursor:pointer;display:flex;align-items:center;justify-content:center;color:#64748b;font-size:1.25rem;transition:all .2s ease;box-shadow:0 1px 3px #0000001a}.ch-modal-close:hover{background:#fee2e2;color:#dc2626}.ch-modal-body{padding:2rem;max-height:60vh;overflow-y:auto}.ch-modal-footer{padding:1.25rem 2rem;background:#f8fafc;border-top:1px solid #e2e8f0;display:flex;justify-content:flex-end;gap:.75rem}.ch-form-group{margin-bottom:1rem}.ch-form-label{display:block;font-size:.85rem;font-weight:500;color:#374151;margin-bottom:.5rem}.ch-form-input,.ch-form-select,.ch-form-textarea{width:100%;padding:.75rem 1rem;border:2px solid #e2e8f0;border-radius:10px;font-size:.9rem;transition:all .2s ease;background:#f8fafc;font-family:inherit;box-sizing:border-box}.ch-form-input:focus,.ch-form-select:focus,.ch-form-textarea:focus{outline:none;border-color:#0891b2;background:#fff;box-shadow:0 0 0 3px #0891b21a}.ch-form-textarea{min-height:80px;resize:vertical}.ch-form-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem}.ch-form-grid .full-width{grid-column:1 / -1}.ch-interaction-warning{background:linear-gradient(135deg,#fef2f2,#fee2e2);border:2px solid #dc2626;border-radius:10px;padding:.875rem 1rem;margin-top:.75rem;display:flex;align-items:flex-start;gap:.75rem;animation:ch-bannerSlideIn .3s ease}.ch-interaction-warning-icon{font-size:1.25rem;flex-shrink:0}.ch-interaction-warning-text{font-size:.8rem;color:#991b1b;line-height:1.5}.ch-interaction-warning-text strong{display:block;font-size:.85rem;margin-bottom:.25rem}.ch-med-entry{background:#f8fafc;border:1px solid #e2e8f0;border-radius:12px;padding:1rem;margin-bottom:1rem}.ch-med-entry-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.75rem}.ch-med-entry-title{font-size:.85rem;font-weight:600;color:#0f172a}.ch-btn-remove-med{width:28px;height:28px;border:none;background:#fee2e2;border-radius:8px;color:#dc2626;cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:.85rem;transition:all .2s ease}.ch-btn-remove-med:hover{background:#fecaca}.ch-btn-add-med{display:flex;align-items:center;gap:.5rem;padding:.625rem 1rem;border:2px dashed #e2e8f0;background:transparent;border-radius:10px;font-size:.8rem;font-weight:500;color:#64748b;cursor:pointer;transition:all .2s ease;width:100%;justify-content:center}.ch-btn-add-med:hover{border-color:#0891b2;color:#0891b2;background:#f0fdfa}.ch-btn-cancel{padding:.75rem 1.5rem;border:1px solid #e2e8f0;background:#fff;border-radius:10px;font-size:.875rem;font-weight:500;color:#64748b;cursor:pointer;transition:all .2s ease}.ch-btn-cancel:hover{border-color:#dc2626;color:#dc2626;background:#fef2f2}.ch-btn-save{padding:.75rem 1.5rem;background:linear-gradient(135deg,#0891b2,#0e7490);color:#fff;border:none;border-radius:10px;font-size:.875rem;font-weight:600;cursor:pointer;transition:all .2s ease;box-shadow:0 4px 14px #0891b240}.ch-btn-save:hover{background:linear-gradient(135deg,#0e7490,#155e75);transform:translateY(-1px);box-shadow:0 6px 20px #0891b259}.ch-signature-area{margin-bottom:1rem}.ch-signature-canvas-wrapper{border:2px solid #e2e8f0;border-radius:12px;overflow:hidden;background:#fff;position:relative}.ch-signature-canvas{display:block;width:100%;height:200px;cursor:crosshair;touch-action:none}.ch-signature-placeholder{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);color:#cbd5e1;font-size:.85rem;pointer-events:none}.ch-signature-actions{display:flex;gap:.5rem;margin-top:.75rem}.ch-btn-clear-sig{padding:.5rem 1rem;border:1px solid #e2e8f0;background:#fff;border-radius:8px;font-size:.8rem;color:#64748b;cursor:pointer;transition:all .2s ease}.ch-btn-clear-sig:hover{border-color:#dc2626;color:#dc2626}.ch-empty-tab{text-align:center;padding:3rem 2rem;color:#64748b}.ch-empty-tab-icon{font-size:2.5rem;margin-bottom:1rem}.ch-empty-tab h3{font-size:1.1rem;color:#0f172a;margin:0 0 .5rem}.ch-empty-tab p{margin:0;font-size:.85rem}.ch-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:4rem 2rem;gap:1rem}.ch-loading-spinner{width:50px;height:50px;border:3px solid #e2e8f0;border-top-color:#0891b2;border-radius:50%;animation:ch-spin 1s linear infinite}@keyframes ch-spin{to{transform:rotate(360deg)}}.ch-loading p{color:#64748b;font-size:.95rem}@media(max-width:1024px){.ch-split{flex-direction:column}.ch-panel-left{width:100%;max-height:300px}.ch-patient-list{display:flex;flex-wrap:nowrap;overflow-x:auto;padding:.5rem;gap:.5rem}.ch-patient-item{min-width:200px;flex-shrink:0}.ch-alert-banner{flex-direction:column}.ch-alert-banner-dismiss{align-self:flex-start}}@media(max-width:768px){.ch-header{flex-direction:column}.ch-form-grid{grid-template-columns:1fr}.ch-consent-card{flex-direction:column;align-items:stretch}.ch-consent-actions{justify-content:flex-end}.ch-anamnesis-field{flex-direction:column;gap:.5rem}.ch-anamnesis-input{width:100%}.ch-alert-card{flex-direction:column}.ch-alert-actions{align-self:flex-end}}.tpl-page{min-height:100%;padding-bottom:2rem}@keyframes fadeInUp{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@keyframes modalSlideIn{0%{opacity:0;transform:translateY(-20px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}.tpl-header{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:2rem;flex-wrap:wrap;gap:1.5rem}.tpl-header-left h1{font-size:2rem;font-weight:700;color:#0f172a;margin:0 0 .5rem;display:flex;align-items:center;gap:.75rem}.tpl-header-left h1:before{content:"";width:4px;height:28px;background:linear-gradient(180deg,#06b6d4,#0891b2);border-radius:4px}.tpl-header-left p{color:#64748b;font-size:.95rem;margin:0}.tpl-header-right{display:flex;gap:.75rem}.tpl-btn-new{display:flex;align-items:center;gap:.5rem;padding:.75rem 1.5rem;background:linear-gradient(135deg,#0891b2,#0e7490);color:#fff;border:none;border-radius:12px;font-size:.875rem;font-weight:600;cursor:pointer;transition:all .3s ease;box-shadow:0 4px 14px #0891b240}.tpl-btn-new:hover{background:linear-gradient(135deg,#0e7490,#155e75);transform:translateY(-2px);box-shadow:0 6px 20px #0891b259}.tpl-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:1.25rem;margin-bottom:2rem}.tpl-stat-card{background:#fff;border-radius:16px;padding:1.5rem;display:flex;align-items:center;gap:1rem;box-shadow:0 1px 3px #0000000d;border:1px solid #f1f5f9;transition:all .3s ease;animation:fadeInUp .5s ease both}.tpl-stat-card:hover{transform:translateY(-2px);box-shadow:0 8px 25px #00000014}.tpl-stat-icon{width:52px;height:52px;border-radius:14px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.tpl-stat-icon.total{background:linear-gradient(135deg,#dbeafe,#bfdbfe);color:#2563eb}.tpl-stat-icon.defaults{background:linear-gradient(135deg,#d1fae5,#a7f3d0);color:#059669}.tpl-stat-icon.custom{background:linear-gradient(135deg,#ede9fe,#ddd6fe);color:#7c3aed}.tpl-stat-icon.usages{background:linear-gradient(135deg,#fef3c7,#fde68a);color:#d97706}.tpl-stat-content h3{font-size:1.75rem;font-weight:700;color:#0f172a;margin:0;line-height:1.2}.tpl-stat-content p{font-size:.85rem;color:#64748b;margin:.25rem 0 0}.tpl-controls{background:#fff;border-radius:16px;padding:1.25rem;margin-bottom:1.5rem;display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:1rem;box-shadow:0 1px 3px #0000000d;border:1px solid #f1f5f9}.tpl-search-box{position:relative;flex:1;max-width:400px}.tpl-search-box input{width:100%;padding:.875rem 1rem .875rem 2.75rem;border:2px solid #e2e8f0;border-radius:12px;font-size:.9rem;transition:all .2s ease;background:#f8fafc}.tpl-search-box input:focus{outline:none;border-color:#0891b2;background:#fff;box-shadow:0 0 0 3px #0891b21a}.tpl-search-box input::placeholder{color:#94a3b8}.tpl-search-icon{position:absolute;left:.875rem;top:50%;transform:translateY(-50%);color:#94a3b8;display:flex;align-items:center}.tpl-category-filters{display:flex;flex-wrap:wrap;gap:.375rem}.tpl-category-pill{padding:.5rem 1rem;border:none;background:#f1f5f9;border-radius:20px;font-size:.8rem;font-weight:500;color:#64748b;cursor:pointer;transition:all .2s ease;white-space:nowrap}.tpl-category-pill:hover{color:#0891b2;background:#ecfeff}.tpl-category-pill.active{background:linear-gradient(135deg,#0891b2,#0e7490);color:#fff;box-shadow:0 2px 8px #0891b24d}.tpl-view-toggle{display:flex;gap:.5rem}.tpl-view-btn{width:40px;height:40px;border:1px solid #e2e8f0;background:#fff;border-radius:10px;display:flex;align-items:center;justify-content:center;cursor:pointer;color:#64748b;transition:all .2s ease}.tpl-view-btn:hover{border-color:#0891b2;color:#0891b2}.tpl-view-btn.active{background:#0891b2;border-color:#0891b2;color:#fff}.tpl-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:4rem 2rem;gap:1rem}.tpl-loading-spinner{width:50px;height:50px;border:3px solid #e2e8f0;border-top-color:#0891b2;border-radius:50%;animation:spin 1s linear infinite}.tpl-loading p{color:#64748b;font-size:.95rem}.tpl-empty{text-align:center;padding:4rem 2rem;background:#fff;border-radius:20px;border:2px dashed #e2e8f0}.tpl-empty-icon{width:80px;height:80px;background:linear-gradient(135deg,#f0fdfa,#ecfeff);border-radius:50%;display:flex;align-items:center;justify-content:center;margin:0 auto 1.5rem;color:#0891b2}.tpl-empty-icon svg{width:32px;height:32px}.tpl-empty h3{font-size:1.25rem;color:#0f172a;margin:0 0 .5rem}.tpl-empty p{color:#64748b;margin:0 0 1.5rem}.tpl-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:1.5rem}.tpl-card{background:#fff;border-radius:16px;overflow:hidden;box-shadow:0 1px 3px #0000000d;border:1px solid #f1f5f9;transition:all .3s ease;display:flex;flex-direction:column;animation:fadeInUp .5s ease both}.tpl-card:hover{transform:translateY(-4px);box-shadow:0 16px 40px #0000001a;border-color:transparent}.tpl-card-top{padding:1.25rem 1.25rem 0;display:flex;align-items:center;gap:.5rem}.tpl-badge{padding:.3rem .75rem;border-radius:20px;font-size:.7rem;font-weight:600;text-transform:uppercase;letter-spacing:.5px}.tpl-badge.blue{background:#dbeafe;color:#1d4ed8}.tpl-badge.green{background:#d1fae5;color:#047857}.tpl-badge.purple{background:#ede9fe;color:#6d28d9}.tpl-badge.yellow{background:#fef3c7;color:#92400e}.tpl-badge.orange{background:#ffedd5;color:#c2410c}.tpl-badge.slate{background:#f1f5f9;color:#475569}.tpl-badge.small{font-size:.65rem;padding:.2rem .6rem}.tpl-default-tag{padding:.25rem .6rem;border-radius:20px;font-size:.65rem;font-weight:500;background:#ecfeff;color:#0891b2;border:1px solid #cffafe}.tpl-default-tag.small{font-size:.6rem;padding:.15rem .5rem}.tpl-card-body{padding:1rem 1.25rem;flex:1}.tpl-card-name{font-size:1.05rem;font-weight:700;color:#0f172a;margin:0 0 .5rem;line-height:1.3}.tpl-card-desc{font-size:.82rem;color:#64748b;margin:0;line-height:1.5;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.tpl-card-meta{display:grid;grid-template-columns:repeat(3,1fr);gap:.5rem;padding:.875rem 1.25rem;background:#f8fafc;border-top:1px solid #f1f5f9}.tpl-meta-item{text-align:center}.tpl-meta-label{display:block;font-size:.65rem;color:#94a3b8;text-transform:uppercase;letter-spacing:.5px;margin-bottom:.2rem}.tpl-meta-value{font-size:.82rem;font-weight:600;color:#334155}.tpl-card-footer{display:flex;border-top:1px solid #f1f5f9}.tpl-action-btn{flex:1;padding:.75rem .5rem;border:none;background:transparent;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:.35rem;font-size:.75rem;font-weight:500;color:#64748b;transition:all .2s ease}.tpl-action-btn span{display:none}@media(min-width:400px){.tpl-action-btn span{display:inline}}.tpl-action-btn:hover{background:#f0fdfa;color:#0891b2}.tpl-action-btn:not(:last-child){border-right:1px solid #f1f5f9}.tpl-action-btn.primary{color:#0891b2}.tpl-action-btn.danger:hover{background:#fef2f2;color:#dc2626}.tpl-list{display:flex;flex-direction:column;gap:.75rem}.tpl-list-item{background:#fff;border-radius:14px;padding:1.25rem 1.5rem;display:flex;align-items:center;gap:1.5rem;box-shadow:0 1px 3px #0000000d;border:1px solid #f1f5f9;transition:all .3s ease;animation:fadeInUp .4s ease both}.tpl-list-item:hover{transform:translate(4px);box-shadow:0 8px 25px #00000014;border-color:#0891b2}.tpl-list-main{flex:1;min-width:0}.tpl-list-title-row{display:flex;align-items:center;gap:.625rem;margin-bottom:.25rem;flex-wrap:wrap}.tpl-list-name{font-size:.95rem;font-weight:600;color:#0f172a;margin:0}.tpl-list-desc{font-size:.82rem;color:#64748b;margin:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.tpl-list-details{display:flex;align-items:center;gap:2rem;flex-shrink:0}.tpl-list-detail{text-align:center;min-width:80px}.tpl-list-actions{display:flex;gap:.5rem;flex-shrink:0}.tpl-list-action-btn{width:36px;height:36px;border:1px solid #e2e8f0;background:#fff;border-radius:10px;display:flex;align-items:center;justify-content:center;cursor:pointer;color:#64748b;transition:all .2s ease}.tpl-list-action-btn:hover{border-color:#0891b2;color:#0891b2;background:#f0fdfa}.tpl-list-action-btn.primary{background:linear-gradient(135deg,#0891b2,#0e7490);border-color:#0891b2;color:#fff}.tpl-list-action-btn.primary:hover{background:linear-gradient(135deg,#0e7490,#155e75)}.tpl-list-action-btn.danger:hover{border-color:#dc2626;color:#dc2626;background:#fef2f2}.tpl-modal-overlay{position:fixed;inset:0;background:#0f172a99;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:1000;padding:1rem}.tpl-modal{background:#fff;border-radius:24px;width:100%;max-width:640px;max-height:90vh;overflow:hidden;box-shadow:0 25px 50px #00000040;animation:modalSlideIn .3s ease;display:flex;flex-direction:column}.tpl-modal.preview{max-width:700px}.tpl-modal-header{padding:1.5rem 2rem;background:linear-gradient(135deg,#f0fdfa,#ecfeff);border-bottom:1px solid #e2e8f0;display:flex;align-items:center;justify-content:space-between}.tpl-modal-header h2{font-size:1.25rem;font-weight:700;color:#0f172a;margin:0;display:flex;align-items:center;gap:.75rem}.tpl-modal-subtitle{font-size:.85rem;color:#64748b;margin:.25rem 0 0}.tpl-modal-close{width:36px;height:36px;border:none;background:#fff;border-radius:10px;cursor:pointer;display:flex;align-items:center;justify-content:center;color:#64748b;transition:all .2s ease;box-shadow:0 1px 3px #0000001a;flex-shrink:0}.tpl-modal-close:hover{background:#fee2e2;color:#dc2626}.tpl-modal-body{padding:1.5rem 2rem;overflow-y:auto;flex:1}.tpl-modal-footer{padding:1.25rem 2rem;background:#f8fafc;border-top:1px solid #e2e8f0;display:flex;justify-content:flex-end;gap:.75rem}.tpl-btn-cancel{padding:.75rem 1.5rem;border:1px solid #e2e8f0;background:#fff;border-radius:10px;font-size:.875rem;font-weight:500;color:#64748b;cursor:pointer;transition:all .2s ease}.tpl-btn-cancel:hover{border-color:#dc2626;color:#dc2626;background:#fef2f2}.tpl-btn-save{padding:.75rem 1.5rem;background:linear-gradient(135deg,#0891b2,#0e7490);color:#fff;border:none;border-radius:10px;font-size:.875rem;font-weight:600;cursor:pointer;transition:all .2s ease;box-shadow:0 4px 14px #0891b240;display:flex;align-items:center;gap:.5rem}.tpl-btn-save:hover{background:linear-gradient(135deg,#0e7490,#155e75);transform:translateY(-1px);box-shadow:0 6px 20px #0891b259}.tpl-form-section{margin-bottom:1.5rem}.tpl-form-section-title{font-size:.8rem;font-weight:600;color:#0891b2;text-transform:uppercase;letter-spacing:.5px;margin-bottom:1rem;display:flex;align-items:center;gap:.5rem}.tpl-form-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem}.tpl-form-group{display:flex;flex-direction:column;gap:.5rem}.tpl-form-group.full-width{grid-column:1 / -1}.tpl-form-label{font-size:.85rem;font-weight:500;color:#374151}.tpl-form-input,.tpl-form-select{padding:.75rem 1rem;border:2px solid #e2e8f0;border-radius:10px;font-size:.9rem;transition:all .2s ease;background:#f8fafc}.tpl-form-input:focus,.tpl-form-select:focus{outline:none;border-color:#0891b2;background:#fff;box-shadow:0 0 0 3px #0891b21a}.tpl-form-textarea{padding:.75rem 1rem;border:2px solid #e2e8f0;border-radius:10px;font-size:.9rem;min-height:80px;resize:vertical;transition:all .2s ease;background:#f8fafc;font-family:inherit}.tpl-form-textarea.small{min-height:50px}.tpl-form-textarea:focus{outline:none;border-color:#0891b2;background:#fff;box-shadow:0 0 0 3px #0891b21a}.tpl-form-section-row{display:flex;align-items:flex-start;gap:.75rem;margin-bottom:1rem;padding:1rem;background:#f8fafc;border-radius:12px;border:1px solid #f1f5f9}.tpl-form-section-number{width:28px;height:28px;background:linear-gradient(135deg,#0891b2,#0e7490);color:#fff;border-radius:8px;display:flex;align-items:center;justify-content:center;font-size:.75rem;font-weight:700;flex-shrink:0;margin-top:.25rem}.tpl-form-section-fields{flex:1;display:flex;flex-direction:column;gap:.5rem}.tpl-form-section-fields .tpl-form-input,.tpl-form-section-fields .tpl-form-textarea{width:100%}.tpl-form-remove-btn{width:28px;height:28px;border:1px solid #e2e8f0;background:#fff;border-radius:8px;display:flex;align-items:center;justify-content:center;cursor:pointer;color:#94a3b8;transition:all .2s ease;flex-shrink:0;margin-top:.25rem}.tpl-form-remove-btn:hover:not(:disabled){border-color:#dc2626;color:#dc2626;background:#fef2f2}.tpl-form-remove-btn:disabled{opacity:.3;cursor:not-allowed}.tpl-form-add-section{display:flex;align-items:center;gap:.5rem;padding:.75rem 1.25rem;border:2px dashed #cbd5e1;background:transparent;border-radius:10px;font-size:.85rem;font-weight:500;color:#64748b;cursor:pointer;width:100%;justify-content:center;transition:all .2s ease}.tpl-form-add-section:hover{border-color:#0891b2;color:#0891b2;background:#f0fdfa}.tpl-preview-meta{display:flex;flex-wrap:wrap;gap:1.5rem;padding:1rem 1.25rem;background:#f8fafc;border-radius:12px;margin-bottom:1.25rem;border:1px solid #f1f5f9}.tpl-preview-meta-item{display:flex;flex-direction:column;gap:.25rem}.tpl-preview-description{font-size:.9rem;color:#475569;line-height:1.6;margin:0 0 1.5rem}.tpl-preview-sections{display:flex;flex-direction:column;gap:.75rem}.tpl-preview-section{border:1px solid #e2e8f0;border-radius:12px;overflow:hidden}.tpl-preview-section-header{display:flex;align-items:center;gap:.75rem;padding:.875rem 1.25rem;background:#f8fafc;border-bottom:1px solid #f1f5f9}.tpl-preview-section-number{width:24px;height:24px;background:linear-gradient(135deg,#0891b2,#0e7490);color:#fff;border-radius:6px;display:flex;align-items:center;justify-content:center;font-size:.7rem;font-weight:700;flex-shrink:0}.tpl-preview-section-header h4{font-size:.9rem;font-weight:600;color:#1e293b;margin:0}.tpl-preview-section-body{padding:1rem 1.25rem;font-size:.85rem;color:#475569;min-height:40px;line-height:1.5}.tpl-preview-placeholder{color:#94a3b8;font-style:italic}@media(max-width:1200px){.tpl-stats{grid-template-columns:repeat(2,1fr)}}@media(max-width:1024px){.tpl-list-details{display:none}}@media(max-width:768px){.tpl-header{flex-direction:column;align-items:stretch}.tpl-header-right{justify-content:flex-end}.tpl-stats{grid-template-columns:1fr}.tpl-controls{flex-direction:column;align-items:stretch}.tpl-search-box{max-width:100%}.tpl-category-filters{justify-content:flex-start;overflow-x:auto;flex-wrap:nowrap;-webkit-overflow-scrolling:touch;padding-bottom:.25rem}.tpl-grid{grid-template-columns:1fr}.tpl-list-item{flex-wrap:wrap}.tpl-form-grid{grid-template-columns:1fr}.tpl-modal{max-width:100%;border-radius:16px}.tpl-modal-header,.tpl-modal-body,.tpl-modal-footer{padding-left:1.25rem;padding-right:1.25rem}}@keyframes dcFadeIn{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@keyframes dcPulse{0%,to{box-shadow:0 0 #dc262666}50%{box-shadow:0 0 0 16px #dc262600}}@keyframes dcBlink{0%,to{opacity:1}50%{opacity:0}}@keyframes dcSpin{to{transform:rotate(360deg)}}.dc-header{background:linear-gradient(135deg,#1e3a5f,#0891b2,#22d3ee);border-radius:20px;padding:2rem 2.5rem;color:#fff;display:flex;align-items:center;gap:1.5rem;margin-bottom:1.5rem;animation:dcFadeIn .5s ease}.dc-header-icon{width:56px;height:56px;background:#fff3;border-radius:16px;display:flex;align-items:center;justify-content:center;flex-shrink:0;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.dc-header-icon svg{width:28px;height:28px}.dc-header-content h1{font-size:1.5rem;font-weight:700;margin:0 0 .25rem}.dc-header-content p{font-size:.9rem;opacity:.85;margin:0}.dc-stats-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem;margin-bottom:1.5rem;animation:dcFadeIn .5s ease .1s both}.dc-stat-card{background:#fff;border-radius:16px;padding:1.25rem;border:1px solid #e2e8f0;box-shadow:0 2px 8px #0000000a;transition:transform .2s,box-shadow .2s}.dc-stat-card:hover{transform:translateY(-2px);box-shadow:0 4px 16px #00000014}.dc-stat-label{font-size:.75rem;font-weight:600;color:#64748b;text-transform:uppercase;letter-spacing:.05em;margin-bottom:.5rem}.dc-stat-value{font-size:1.75rem;font-weight:700;color:#1e293b}.dc-stat-icon{width:36px;height:36px;border-radius:10px;display:flex;align-items:center;justify-content:center;margin-bottom:.75rem}.dc-stat-icon svg{width:18px;height:18px;color:#fff}.dc-stat-icon.blue{background:linear-gradient(135deg,#0891b2,#22d3ee)}.dc-stat-icon.green{background:linear-gradient(135deg,#059669,#34d399)}.dc-stat-icon.purple{background:linear-gradient(135deg,#7c3aed,#a78bfa)}.dc-stat-icon.orange{background:linear-gradient(135deg,#ea580c,#fb923c)}.dc-content{display:grid;grid-template-columns:340px 1fr;gap:1.5rem;animation:dcFadeIn .5s ease .2s both}.dc-sidebar{display:flex;flex-direction:column;gap:1rem}.dc-card{background:#fff;border-radius:16px;border:1px solid #e2e8f0;box-shadow:0 2px 8px #0000000a;padding:1.25rem}.dc-card-title{font-size:.8rem;font-weight:600;color:#64748b;text-transform:uppercase;letter-spacing:.05em;margin-bottom:1rem}.dc-patient-search{position:relative}.dc-patient-input{width:100%;padding:.7rem .9rem .7rem 2.5rem;border:2px solid #e2e8f0;border-radius:12px;font-size:.875rem;color:#1e293b;background:#f8fafc;outline:none;transition:border-color .2s,box-shadow .2s;box-sizing:border-box}.dc-patient-input:focus{border-color:#0891b2;box-shadow:0 0 0 3px #0891b21a;background:#fff}.dc-patient-input::placeholder{color:#94a3b8}.dc-patient-search-icon{position:absolute;left:.8rem;top:50%;transform:translateY(-50%);color:#94a3b8;pointer-events:none}.dc-patient-search-icon svg{width:16px;height:16px}.dc-patient-dropdown{position:absolute;top:calc(100% + 4px);left:0;right:0;background:#fff;border:1px solid #e2e8f0;border-radius:12px;box-shadow:0 8px 24px #0000001f;max-height:240px;overflow-y:auto;z-index:50}.dc-patient-option{display:flex;align-items:center;gap:.75rem;padding:.7rem .9rem;cursor:pointer;transition:background .15s;border:none;background:none;width:100%;text-align:left}.dc-patient-option:hover{background:#f1f5f9}.dc-patient-option:first-child{border-radius:12px 12px 0 0}.dc-patient-option:last-child{border-radius:0 0 12px 12px}.dc-patient-avatar{width:36px;height:36px;border-radius:10px;background:linear-gradient(135deg,#0891b2,#22d3ee);color:#fff;display:flex;align-items:center;justify-content:center;font-size:.75rem;font-weight:700;flex-shrink:0}.dc-patient-info{flex:1;min-width:0}.dc-patient-name{font-size:.85rem;font-weight:600;color:#1e293b}.dc-patient-detail{font-size:.75rem;color:#64748b}.dc-patient-selected{display:flex;align-items:center;gap:.75rem;padding:.6rem .8rem;background:#f0fdfa;border:2px solid #0891b2;border-radius:12px}.dc-patient-selected .dc-patient-info{flex:1}.dc-patient-clear{width:28px;height:28px;border-radius:8px;border:none;background:#fee2e2;color:#dc2626;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .15s;flex-shrink:0}.dc-patient-clear:hover{background:#fecaca}.dc-patient-clear svg{width:14px;height:14px}.dc-search-loading{display:flex;align-items:center;justify-content:center;padding:1rem;color:#64748b;font-size:.8rem}.dc-search-empty{padding:1rem;text-align:center;color:#94a3b8;font-size:.8rem}.dc-recording-area{display:flex;flex-direction:column;align-items:center;gap:1rem;padding:1rem 0}.dc-mic-btn{width:80px;height:80px;border-radius:50%;border:none;background:linear-gradient(135deg,#0891b2,#22d3ee);color:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:transform .2s,box-shadow .2s;position:relative}.dc-mic-btn:hover{transform:scale(1.05);box-shadow:0 6px 20px #0891b24d}.dc-mic-btn.recording{background:linear-gradient(135deg,#dc2626,#ef4444);animation:dcPulse 1.5s ease infinite}.dc-mic-btn.recording:hover{box-shadow:0 6px 20px #dc26264d}.dc-mic-btn svg{width:32px;height:32px}.dc-mic-label{font-size:.8rem;color:#64748b;font-weight:500}.dc-mic-label.recording{color:#dc2626;font-weight:600}.dc-timer{font-size:1.25rem;font-weight:700;color:#1e293b;font-variant-numeric:tabular-nums}.dc-timer.recording{color:#dc2626}.dc-actions{display:flex;flex-direction:column;gap:.6rem}.dc-btn{display:flex;align-items:center;justify-content:center;gap:.5rem;padding:.75rem 1rem;border-radius:12px;font-size:.85rem;font-weight:600;cursor:pointer;border:none;transition:transform .15s,box-shadow .15s,opacity .15s}.dc-btn:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 4px 12px #0000001a}.dc-btn:disabled{opacity:.5;cursor:not-allowed}.dc-btn svg{width:18px;height:18px}.dc-btn-primary{background:linear-gradient(135deg,#0891b2,#22d3ee);color:#fff}.dc-btn-success{background:linear-gradient(135deg,#059669,#34d399);color:#fff}.dc-btn-outline{background:#fff;color:#1e293b;border:2px solid #e2e8f0}.dc-btn-outline:hover:not(:disabled){border-color:#cbd5e1;background:#f8fafc}.dc-btn-spinner{width:16px;height:16px;border:2px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:dcSpin .6s linear infinite}.dc-main{display:flex;flex-direction:column;gap:1rem}.dc-transcription-panel{background:#fff;border-radius:16px;border:1px solid #e2e8f0;box-shadow:0 2px 8px #0000000a;padding:1.25rem;min-height:200px}.dc-transcription-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:1rem}.dc-transcription-title{font-size:.8rem;font-weight:600;color:#64748b;text-transform:uppercase;letter-spacing:.05em}.dc-recording-badge{display:flex;align-items:center;gap:.4rem;padding:.3rem .75rem;background:#fef2f2;border-radius:20px;font-size:.75rem;font-weight:600;color:#dc2626}.dc-recording-dot{width:8px;height:8px;border-radius:50%;background:#dc2626;animation:dcBlink 1s ease infinite}.dc-transcription-text{font-size:.95rem;line-height:1.7;color:#1e293b;white-space:pre-wrap;word-break:break-word;max-height:300px;overflow-y:auto}.dc-transcription-text .interim{color:#94a3b8;font-style:italic}.dc-cursor{display:inline-block;width:2px;height:1.1em;background:#0891b2;margin-left:2px;vertical-align:text-bottom;animation:dcBlink .8s ease infinite}.dc-transcription-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:160px;color:#94a3b8;text-align:center;gap:.75rem}.dc-transcription-empty svg{width:48px;height:48px;opacity:.4}.dc-transcription-empty p{font-size:.9rem;margin:0}.dc-structured-panel{background:#fff;border-radius:16px;border:1px solid #e2e8f0;box-shadow:0 2px 8px #0000000a;padding:1.25rem}.dc-structured-grid{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.dc-field-group{display:flex;flex-direction:column;gap:.4rem}.dc-field-label{font-size:.75rem;font-weight:600;color:#64748b;text-transform:uppercase;letter-spacing:.05em;display:flex;align-items:center;gap:.4rem}.dc-field-label svg{width:14px;height:14px;color:#0891b2}.dc-field-textarea{width:100%;min-height:100px;padding:.75rem;border:2px solid #e2e8f0;border-radius:12px;font-size:.85rem;color:#1e293b;line-height:1.6;resize:vertical;outline:none;transition:border-color .2s,box-shadow .2s;font-family:inherit;box-sizing:border-box}.dc-field-textarea:focus{border-color:#0891b2;box-shadow:0 0 0 3px #0891b21a}.dc-field-textarea::placeholder{color:#cbd5e1}.dc-success{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:3rem 1rem;text-align:center;gap:1rem}.dc-success-icon{width:64px;height:64px;border-radius:50%;background:linear-gradient(135deg,#059669,#34d399);display:flex;align-items:center;justify-content:center;color:#fff}.dc-success-icon svg{width:32px;height:32px}.dc-success h3{font-size:1.25rem;font-weight:700;color:#1e293b;margin:0}.dc-success p{font-size:.9rem;color:#64748b;margin:0}.dc-unsupported{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:3rem 1rem;text-align:center;gap:1rem;background:#fef2f2;border-radius:16px;border:2px solid #fecaca}.dc-unsupported svg{width:48px;height:48px;color:#dc2626}.dc-unsupported h3{font-size:1.1rem;font-weight:700;color:#dc2626;margin:0}.dc-unsupported p{font-size:.85rem;color:#64748b;margin:0;max-width:400px}@media(max-width:1024px){.dc-content{grid-template-columns:300px 1fr}}@media(max-width:768px){.dc-header{padding:1.5rem;border-radius:16px}.dc-stats-grid{grid-template-columns:repeat(2,1fr)}.dc-content,.dc-structured-grid{grid-template-columns:1fr}}@media(max-width:480px){.dc-stats-grid{grid-template-columns:1fr}.dc-header{flex-direction:column;text-align:center}}.xray-diagnostico{padding:2rem 2.5rem;min-height:100%;background:linear-gradient(135deg,#f8fafc,#f1f5f9,#e2e8f0);position:relative;overflow-x:hidden}.xray-bg-1{position:absolute;top:-100px;right:-100px;width:400px;height:400px;border-radius:50%;pointer-events:none;filter:blur(80px);opacity:.5;background:radial-gradient(circle,rgba(14,165,233,.15) 0%,transparent 70%)}.xray-bg-2{position:absolute;bottom:-150px;left:-150px;width:500px;height:500px;border-radius:50%;pointer-events:none;filter:blur(80px);opacity:.5;background:radial-gradient(circle,rgba(168,85,247,.1) 0%,transparent 70%)}.xray-header{margin-bottom:1.5rem;position:relative;z-index:1}.xray-header h1{font-size:2.25rem;font-weight:800;color:#0f172a;margin:0 0 .5rem;letter-spacing:-.03em;line-height:1.2}.xray-header p{font-size:1rem;color:#64748b;margin:0;font-weight:400}.xray-tabs{display:flex;gap:.5rem;margin-bottom:1.5rem;position:relative;z-index:1;background:linear-gradient(145deg,#fff,#f8fafc);padding:.375rem;border-radius:14px;box-shadow:0 1px 3px #0000000a,0 4px 12px #00000008,0 0 0 1px #00000005;width:fit-content}.xray-tab{padding:.625rem 1.5rem;border-radius:10px;border:none;font-size:.875rem;font-weight:600;cursor:pointer;transition:all .2s ease;background:transparent;color:#64748b;display:flex;align-items:center;gap:.5rem}.xray-tab:hover:not(.active){color:#475569;background:#00000008}.xray-tab.active{background:linear-gradient(135deg,#0ea5e9,#0284c7);color:#fff;box-shadow:0 2px 8px #0ea5e94d}.xray-content{display:flex;gap:1.5rem;position:relative;z-index:1}.xray-sidebar{width:340px;flex-shrink:0;display:flex;flex-direction:column;gap:1.25rem}.xray-main{flex:1;min-width:0}.xray-card{background:linear-gradient(145deg,#fff,#f8fafc);border-radius:16px;padding:1.25rem;box-shadow:0 1px 3px #0000000a,0 4px 12px #00000008,0 0 0 1px #00000005}.xray-card-title{font-size:.8125rem;font-weight:700;color:#475569;text-transform:uppercase;letter-spacing:.05em;margin:0 0 .75rem}.xray-upload-zone{border:2px dashed #cbd5e1;border-radius:12px;padding:1.25rem 1rem;text-align:center;cursor:pointer;transition:all .2s ease;background:#ffffff80}.xray-upload-zone:hover,.xray-upload-zone.drag-over{border-color:#0ea5e9;background:#0ea5e90a}.xray-upload-zone.has-file{border-style:solid;border-color:#0ea5e9;padding:.75rem}.xray-upload-icon{color:#94a3b8;margin-bottom:.375rem}.xray-upload-text{font-size:.8125rem;color:#64748b;margin:0}.xray-upload-text strong{color:#0ea5e9}.xray-upload-hint{font-size:.6875rem;color:#94a3b8;margin:.25rem 0 0}.xray-upload-label{font-size:.75rem;font-weight:600;color:#64748b;margin:0 0 .5rem;display:block}.xray-upload-preview{position:relative;border-radius:8px;overflow:hidden}.xray-upload-preview img{width:100%;height:120px;object-fit:cover;display:block;border-radius:8px}.xray-upload-preview-remove{position:absolute;top:6px;right:6px;width:24px;height:24px;border-radius:50%;border:none;background:#00000080;color:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:.75rem;transition:background .15s}.xray-upload-preview-remove:hover{background:#ef4444cc}.xray-treatment-options{display:flex;flex-direction:column;gap:.5rem}.xray-treatment-btn{display:flex;align-items:center;gap:.75rem;width:100%;padding:.75rem .875rem;border-radius:12px;border:2px solid #e2e8f0;background:#fff;cursor:pointer;transition:all .2s ease;text-align:left}.xray-treatment-btn:hover{border-color:#cbd5e1;transform:translateY(-1px);box-shadow:0 2px 8px #0000000f}.xray-treatment-btn.active{border-color:var(--treatment-color, #0ea5e9);background:var(--treatment-bg, #f0f9ff);box-shadow:0 2px 12px var(--treatment-shadow, rgba(14, 165, 233, .15))}.xray-treatment-btn-icon{width:36px;height:36px;border-radius:8px;display:flex;align-items:center;justify-content:center;font-size:1.125rem;flex-shrink:0}.xray-treatment-btn-text{flex:1}.xray-treatment-btn-text strong{display:block;font-size:.875rem;color:#0f172a;font-weight:600}.xray-treatment-btn-text span{display:block;font-size:.6875rem;color:#94a3b8;margin-top:1px}.xray-generate-btn{width:100%;padding:.875rem 1.5rem;border-radius:12px;border:none;font-size:1rem;font-weight:700;cursor:pointer;transition:all .3s ease;display:flex;align-items:center;justify-content:center;gap:.5rem;background:linear-gradient(135deg,#0ea5e9,#0284c7);color:#fff;box-shadow:0 4px 12px #0ea5e94d}.xray-generate-btn:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 6px 20px #0ea5e966}.xray-generate-btn:disabled{opacity:.5;cursor:not-allowed;transform:none;box-shadow:none}.xray-generate-btn .btn-spinner{width:20px;height:20px;border:2px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:xray-spin 1s linear infinite}@keyframes xray-spin{to{transform:rotate(360deg)}}.xray-empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:4rem 2rem;text-align:center;color:#94a3b8}.xray-empty-icon{font-size:4rem;margin-bottom:1.5rem;opacity:.6}.xray-empty-state h3{font-size:1.25rem;font-weight:700;color:#475569;margin:0 0 .5rem}.xray-empty-state p{font-size:.9375rem;color:#94a3b8;margin:0;max-width:400px}.xray-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:4rem 2rem;text-align:center}.xray-loading-spinner{width:56px;height:56px;border:3px solid rgba(14,165,233,.2);border-top-color:#0ea5e9;border-radius:50%;animation:xray-spin 1s linear infinite;margin-bottom:1.5rem}.xray-loading h3{font-size:1.125rem;font-weight:700;color:#0f172a;margin:0 0 .5rem}.xray-loading p{font-size:.875rem;color:#94a3b8;margin:0;animation:xray-pulse-text 2s ease-in-out infinite}@keyframes xray-pulse-text{0%,to{opacity:1}50%{opacity:.5}}.xray-findings{display:flex;flex-direction:column;gap:1rem}.xray-findings-summary{padding:1rem 1.25rem;background:linear-gradient(135deg,#f0f9ff,#e0f2fe);border-radius:12px;border-left:4px solid #0ea5e9}.xray-findings-summary h4{font-size:.8125rem;font-weight:700;color:#0369a1;margin:0 0 .375rem;text-transform:uppercase;letter-spacing:.05em}.xray-findings-summary p{font-size:.875rem;color:#0c4a6e;margin:0;line-height:1.5}.xray-findings-grid{display:flex;flex-direction:column;gap:.75rem}.xray-finding-item{padding:1rem 1.25rem;background:#fff;border-radius:12px;border:1px solid #e2e8f0;transition:all .2s ease}.xray-finding-item:hover{box-shadow:0 2px 8px #0000000f}.xray-finding-header{display:flex;align-items:center;gap:.5rem;margin-bottom:.5rem;flex-wrap:wrap}.xray-finding-badge{display:inline-flex;align-items:center;padding:.1875rem .5rem;border-radius:6px;font-size:.6875rem;font-weight:600;text-transform:uppercase;letter-spacing:.03em}.xray-finding-badge.new{background:#fef3c7;color:#92400e}.xray-finding-badge.improved{background:#d1fae5;color:#065f46}.xray-finding-badge.worsened{background:#fee2e2;color:#991b1b}.xray-finding-badge.stable{background:#e0e7ff;color:#3730a3}.xray-finding-badge.resolved{background:#d1fae5;color:#065f46}.xray-finding-severity{display:inline-flex;align-items:center;padding:.1875rem .5rem;border-radius:6px;font-size:.6875rem;font-weight:600}.xray-finding-severity.minimal{background:#f0fdf4;color:#166534}.xray-finding-severity.mild{background:#fefce8;color:#854d0e}.xray-finding-severity.moderate{background:#fff7ed;color:#9a3412}.xray-finding-severity.severe{background:#fef2f2;color:#991b1b}.xray-finding-teeth{font-size:.6875rem;color:#64748b;font-weight:500}.xray-finding-description{font-size:.8125rem;color:#334155;line-height:1.5;margin:0 0 .5rem}.xray-finding-recommendation{font-size:.75rem;color:#0369a1;background:#f0f9ff;padding:.5rem .75rem;border-radius:8px;line-height:1.4}.xray-finding-confidence{font-size:.6875rem;color:#94a3b8;margin-top:.375rem}.xray-findings-limitations{padding:.75rem 1rem;background:#fffbeb;border-radius:10px;border:1px solid #fde68a}.xray-findings-limitations h4{font-size:.75rem;font-weight:700;color:#92400e;margin:0 0 .375rem;text-transform:uppercase;letter-spacing:.05em}.xray-findings-limitations ul{margin:0;padding-left:1rem;font-size:.8125rem;color:#78350f;line-height:1.5}.xray-comparison-images{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin-bottom:1rem}.xray-comparison-image-box{position:relative;border-radius:12px;overflow:hidden;background:#0f172a}.xray-comparison-image-box img{width:100%;height:280px;object-fit:contain;display:block}.xray-comparison-image-label{position:absolute;bottom:8px;left:8px;padding:.25rem .75rem;border-radius:6px;font-size:.75rem;font-weight:600;color:#fff}.xray-comparison-image-label.before{background:#64748bd9}.xray-comparison-image-label.after{background:#0ea5e9d9}.xray-result-actions{display:flex;gap:.75rem;margin-top:1rem;justify-content:center}.xray-action-btn{display:flex;align-items:center;gap:.5rem;padding:.625rem 1.25rem;border-radius:10px;font-size:.875rem;font-weight:600;cursor:pointer;transition:all .2s ease;border:1px solid #e2e8f0;background:#fff;color:#475569}.xray-action-btn:hover{background:#f8fafc;border-color:#cbd5e1;transform:translateY(-1px)}.xray-action-btn.primary{background:linear-gradient(135deg,#0ea5e9,#06b6d4);color:#fff;border-color:transparent}.xray-action-btn.primary:hover{box-shadow:0 4px 12px #0ea5e94d}.xray-history{margin-top:2rem;position:relative;z-index:1}.xray-history h2{font-size:1.25rem;font-weight:700;color:#0f172a;margin:0 0 1rem;letter-spacing:-.02em}.xray-history-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:1rem}.xray-history-card{background:#fff;border-radius:12px;overflow:hidden;box-shadow:0 1px 3px #0000000d;border:1px solid #e2e8f0;cursor:pointer;transition:all .2s ease}.xray-history-card:hover{transform:translateY(-2px);box-shadow:0 4px 12px #00000014}.xray-history-card-images{display:grid;grid-template-columns:1fr 1fr;height:100px;background:#0f172a}.xray-history-card-images img{width:100%;height:100%;object-fit:cover}.xray-history-card-info{padding:.75rem;display:flex;align-items:center;justify-content:space-between}.xray-history-badge{display:inline-flex;align-items:center;gap:.375rem;padding:.25rem .625rem;border-radius:6px;font-size:.75rem;font-weight:600}.xray-history-badge.comparison{background:#eff6ff;color:#1d4ed8}.xray-history-badge.simulation{background:#f5f3ff;color:#7c3aed}.xray-history-date{font-size:.75rem;color:#94a3b8}.xray-error{padding:1rem;background:#fef2f2;border:1px solid #fecaca;border-radius:12px;color:#dc2626;font-size:.875rem;display:flex;align-items:center;gap:.5rem;margin-top:1rem}.xray-diagnostico .dentia-page{padding:0;background:none;min-height:auto}.xray-diagnostico .dentia-bg-1,.xray-diagnostico .dentia-bg-2,.xray-diagnostico .dentia-header{display:none}@media(max-width:768px){.xray-diagnostico{padding:1.25rem}.xray-content{flex-direction:column}.xray-sidebar{width:100%}.xray-header h1{font-size:1.5rem}.xray-history-grid,.xray-comparison-images{grid-template-columns:1fr}.xray-comparison-image-box img{height:200px}}.clinical-notes-page{display:flex;flex-direction:column;gap:1.5rem;animation:cnFadeIn .5s ease}@keyframes cnFadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.cn-header{background:linear-gradient(135deg,#1e3a5f,#0891b2,#22d3ee);border-radius:20px;padding:2rem;position:relative;overflow:hidden}.cn-header:before{content:"";position:absolute;top:-50%;right:-20%;width:60%;height:200%;background:radial-gradient(ellipse,rgba(255,255,255,.1) 0%,transparent 70%);transform:rotate(-15deg)}.cn-header:after{content:"";position:absolute;bottom:-30%;left:-10%;width:40%;height:150%;background:radial-gradient(ellipse,rgba(34,211,238,.2) 0%,transparent 60%)}.cn-header-content{display:flex;justify-content:space-between;align-items:center;position:relative;z-index:1}.cn-header-title-section{display:flex;align-items:center;gap:1rem}.cn-header-icon{width:56px;height:56px;background:#ffffff26;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:16px;display:flex;align-items:center;justify-content:center;border:1px solid rgba(255,255,255,.2)}.cn-header-icon svg{width:28px;height:28px;color:#fff}.cn-header-title{font-size:1.75rem;font-weight:700;color:#fff;margin:0;text-shadow:0 2px 10px rgba(0,0,0,.1)}.cn-header-subtitle{color:#fffc;margin:.25rem 0 0;font-size:.95rem}.cn-btn-new{display:flex;align-items:center;gap:.5rem;padding:.875rem 1.5rem;background:#fff;color:#1e3a5f;border:none;border-radius:12px;font-size:.95rem;font-weight:600;cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1);box-shadow:0 4px 15px #00000026}.cn-btn-new:hover{transform:translateY(-2px);box-shadow:0 8px 25px #0003}.cn-btn-new .btn-icon{font-size:1.25rem;font-weight:300}.cn-stats-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem}.cn-stat-card{background:#fff;border-radius:16px;padding:1.25rem;display:flex;align-items:center;gap:1rem;position:relative;overflow:hidden;box-shadow:0 2px 12px #0000000f;transition:all .3s ease}.cn-stat-card:hover{transform:translateY(-4px);box-shadow:0 8px 25px #0000001a}.cn-stat-card:before{content:"";position:absolute;top:0;left:0;width:4px;height:100%}.cn-stat-total:before{background:linear-gradient(180deg,#22d3ee,#0891b2)}.cn-stat-today:before{background:linear-gradient(180deg,#8b5cf6,#6366f1)}.cn-stat-week:before{background:linear-gradient(180deg,#10b981,#059669)}.cn-stat-attachments:before{background:linear-gradient(180deg,#f59e0b,#d97706)}.cn-stat-icon{width:48px;height:48px;border-radius:12px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.cn-stat-total .cn-stat-icon{background:linear-gradient(135deg,#cffafe,#a5f3fc)}.cn-stat-today .cn-stat-icon{background:linear-gradient(135deg,#ede9fe,#ddd6fe)}.cn-stat-week .cn-stat-icon{background:linear-gradient(135deg,#d1fae5,#a7f3d0)}.cn-stat-attachments .cn-stat-icon{background:linear-gradient(135deg,#fef3c7,#fde68a)}.cn-stat-icon svg{width:24px;height:24px}.cn-stat-total .cn-stat-icon svg{color:#0891b2}.cn-stat-today .cn-stat-icon svg{color:#7c3aed}.cn-stat-week .cn-stat-icon svg{color:#059669}.cn-stat-attachments .cn-stat-icon svg{color:#d97706}.cn-stat-content{display:flex;flex-direction:column;flex:1}.cn-stat-value{font-size:1.75rem;font-weight:700;color:#1e293b;line-height:1}.cn-stat-label{font-size:.8rem;color:#64748b;margin-top:.25rem}.cn-controls-bar{display:flex;align-items:center;gap:1rem;flex-wrap:wrap}.cn-search-wrapper{position:relative;flex:1;min-width:240px;max-width:400px}.cn-search-icon{position:absolute;left:1rem;top:50%;transform:translateY(-50%);width:18px;height:18px;color:#94a3b8;pointer-events:none}.cn-search-input{width:100%;padding:.75rem 1rem .75rem 2.75rem;border:2px solid #e2e8f0;border-radius:12px;font-size:.9rem;color:#1e293b;background:#fff;transition:all .2s ease}.cn-search-input:focus{outline:none;border-color:#22d3ee;box-shadow:0 0 0 3px #22d3ee1a}.cn-search-input::placeholder{color:#94a3b8}.cn-filter-select{padding:.75rem 1rem;border:2px solid #e2e8f0;border-radius:12px;font-size:.9rem;color:#1e293b;background:#fff;cursor:pointer;transition:all .2s ease;min-width:180px}.cn-filter-select:focus{outline:none;border-color:#22d3ee;box-shadow:0 0 0 3px #22d3ee1a}.cn-sort-btn{display:flex;align-items:center;gap:.5rem;padding:.75rem 1.25rem;border:2px solid #e2e8f0;background:#fff;border-radius:12px;font-size:.875rem;font-weight:500;color:#64748b;cursor:pointer;transition:all .2s ease;white-space:nowrap}.cn-sort-btn:hover{border-color:#22d3ee;color:#0891b2}.cn-sort-btn svg{width:16px;height:16px}.cn-timeline{display:flex;flex-direction:column;gap:0}.cn-timeline-item{display:flex;gap:1.25rem;position:relative;animation:cnSlideIn .4s ease forwards;opacity:0;transform:translateY(10px)}@keyframes cnSlideIn{to{opacity:1;transform:translateY(0)}}.cn-timeline-date-col{display:flex;flex-direction:column;align-items:center;width:80px;flex-shrink:0;padding-top:.25rem}.cn-timeline-date-box{display:flex;flex-direction:column;align-items:center;background:#fff;padding:.625rem .75rem;border-radius:12px;box-shadow:0 2px 8px #0000000f;min-width:64px}.cn-date-day{font-size:1.5rem;font-weight:700;color:#1e293b;line-height:1}.cn-date-month{font-size:.65rem;color:#64748b;text-transform:uppercase;font-weight:600;margin-top:2px}.cn-timeline-connector{display:flex;flex-direction:column;align-items:center;width:20px;flex-shrink:0;padding-top:.5rem}.cn-connector-dot{width:12px;height:12px;background:linear-gradient(135deg,#22d3ee,#0891b2);border-radius:50%;flex-shrink:0;box-shadow:0 0 0 4px #22d3ee26}.cn-connector-line{width:2px;flex:1;background:linear-gradient(180deg,#22d3ee,#e2e8f0);margin-top:4px;min-height:20px}.cn-timeline-item:last-child .cn-connector-line{display:none}.cn-timeline-card{flex:1;background:#fff;border-radius:16px;overflow:hidden;box-shadow:0 2px 12px #0000000f;transition:all .3s ease;margin-bottom:1.25rem}.cn-timeline-card:hover{transform:translateY(-4px);box-shadow:0 8px 25px #0000001a}.cn-card-header{display:flex;align-items:center;justify-content:space-between;padding:1.25rem 1.5rem;cursor:pointer;transition:background .2s ease}.cn-card-header:hover{background:#f8fafc}.cn-card-header-left{display:flex;align-items:center;gap:1rem;flex:1;min-width:0}.cn-patient-avatar{width:40px;height:40px;background:linear-gradient(135deg,#1e3a5f,#0891b2);border-radius:12px;display:flex;align-items:center;justify-content:center;color:#fff;font-size:.8rem;font-weight:600;flex-shrink:0}.cn-card-info{display:flex;flex-direction:column;min-width:0}.cn-card-patient-name{font-weight:600;font-size:.95rem;color:#1e293b}.cn-card-dentist{font-size:.8rem;color:#64748b}.cn-card-diagnosis-preview{font-size:.85rem;color:#475569;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:400px;margin-top:.25rem}.cn-card-header-right{display:flex;align-items:center;gap:.75rem;flex-shrink:0}.cn-attachment-badge{display:flex;align-items:center;gap:.375rem;padding:.25rem .625rem;background:linear-gradient(135deg,#fef3c7,#fde68a);color:#d97706;border-radius:8px;font-size:.7rem;font-weight:600}.cn-attachment-badge svg{width:14px;height:14px}.cn-expand-icon{width:28px;height:28px;display:flex;align-items:center;justify-content:center;color:#94a3b8;transition:transform .3s ease}.cn-expand-icon.expanded{transform:rotate(180deg)}.cn-expand-icon svg{width:18px;height:18px}.cn-card-body{max-height:0;overflow:hidden;transition:max-height .4s ease,padding .3s ease}.cn-card-body.expanded{max-height:800px;padding:0 1.5rem 1.25rem}.cn-card-divider{height:1px;background:#f1f5f9;margin-bottom:1.25rem}.cn-card-sections{display:grid;grid-template-columns:1fr 1fr;gap:1.25rem}.cn-card-section{display:flex;flex-direction:column;gap:.375rem}.cn-card-section.full-width{grid-column:1 / -1}.cn-section-label{font-size:.7rem;font-weight:600;color:#94a3b8;text-transform:uppercase;letter-spacing:.05em}.cn-section-text{font-size:.875rem;color:#334155;line-height:1.6}.cn-card-attachments{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:.25rem}.cn-attachment-item{display:flex;align-items:center;gap:.375rem;padding:.5rem .75rem;background:#f8fafc;border:1px solid #e2e8f0;border-radius:10px;font-size:.8rem;color:#475569;transition:all .2s ease;cursor:pointer}.cn-attachment-item:hover{background:#f1f5f9;border-color:#cbd5e1}.cn-attachment-item svg{width:16px;height:16px;flex-shrink:0}.cn-attachment-item.xray svg{color:#0891b2}.cn-attachment-item.image svg{color:#8b5cf6}.cn-attachment-item.document svg{color:#059669}.cn-card-actions{display:flex;justify-content:flex-end;gap:.5rem;margin-top:1rem;padding-top:1rem;border-top:1px solid #f1f5f9}.cn-action-btn{display:flex;align-items:center;gap:.375rem;padding:.5rem .875rem;border:none;border-radius:8px;font-size:.8rem;font-weight:500;cursor:pointer;transition:all .2s ease}.cn-action-btn svg{width:15px;height:15px}.cn-action-btn.edit{background:#dbeafe;color:#2563eb}.cn-action-btn.edit:hover{background:#bfdbfe}.cn-action-btn.delete{background:#fee2e2;color:#dc2626}.cn-action-btn.delete:hover{background:#fecaca}.cn-loading-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:4rem;background:#fff;border-radius:20px;box-shadow:0 4px 20px #0000000f}.cn-loading-spinner{width:48px;height:48px;border:4px solid #e2e8f0;border-top-color:#0891b2;border-radius:50%;animation:cnSpin 1s linear infinite;margin-bottom:1rem}@keyframes cnSpin{to{transform:rotate(360deg)}}.cn-loading-state p{color:#64748b}.cn-empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:4rem 2rem;text-align:center;background:#fff;border-radius:20px;box-shadow:0 4px 20px #0000000f}.cn-empty-icon-wrapper{width:80px;height:80px;background:linear-gradient(135deg,#f1f5f9,#e2e8f0);border-radius:20px;display:flex;align-items:center;justify-content:center;margin-bottom:1.5rem}.cn-empty-icon-wrapper svg{width:40px;height:40px;color:#94a3b8}.cn-empty-state h3{font-size:1.25rem;font-weight:600;color:#1e293b;margin:0 0 .5rem}.cn-empty-state p{color:#64748b;margin-bottom:1.5rem}.cn-modal-overlay{position:fixed;inset:0;background:#0f172a99;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:1000;padding:1rem;animation:cnFadeIn .2s ease}.cn-modal{background:#fff;border-radius:24px;width:100%;max-width:640px;max-height:90vh;overflow:hidden;display:flex;flex-direction:column;box-shadow:0 25px 50px -12px #00000040;animation:cnModalSlide .3s ease}@keyframes cnModalSlide{0%{opacity:0;transform:scale(.95) translateY(20px)}to{opacity:1;transform:scale(1) translateY(0)}}.cn-modal-header{display:flex;align-items:center;gap:1rem;padding:1.5rem;background:linear-gradient(135deg,#1e3a5f,#0891b2);color:#fff}.cn-modal-icon{width:48px;height:48px;background:#ffffff26;border-radius:12px;display:flex;align-items:center;justify-content:center}.cn-modal-icon svg{width:24px;height:24px}.cn-modal-header h2{font-size:1.25rem;font-weight:600;margin:0}.cn-modal-header p{font-size:.875rem;opacity:.8;margin:.25rem 0 0}.cn-modal-close-btn{margin-left:auto;width:36px;height:36px;background:#ffffff1a;border:none;border-radius:10px;display:flex;align-items:center;justify-content:center;color:#fff;cursor:pointer;transition:all .2s ease}.cn-modal-close-btn:hover{background:#fff3}.cn-modal-close-btn svg{width:20px;height:20px}.cn-modal-body{padding:1.5rem;overflow-y:auto;display:flex;flex-direction:column;gap:1.25rem}.cn-form-section{display:flex;flex-direction:column;gap:.5rem}.cn-form-label{display:flex;align-items:center;gap:.5rem;font-size:.875rem;font-weight:600;color:#475569}.cn-form-label svg{width:16px;height:16px;color:#94a3b8}.cn-form-select{padding:.75rem 1rem;border:2px solid #e2e8f0;border-radius:12px;font-size:.9rem;color:#1e293b;background:#f8fafc;transition:all .2s ease}.cn-form-select:focus{outline:none;border-color:#22d3ee;background:#fff;box-shadow:0 0 0 3px #22d3ee1a}.cn-form-textarea{padding:.75rem 1rem;border:2px solid #e2e8f0;border-radius:12px;font-size:.9rem;color:#1e293b;background:#f8fafc;min-height:80px;resize:vertical;font-family:inherit;transition:all .2s ease;line-height:1.6}.cn-form-textarea:focus{outline:none;border-color:#22d3ee;background:#fff;box-shadow:0 0 0 3px #22d3ee1a}.cn-form-attachments-zone{display:flex;flex-direction:column;align-items:center;padding:1.5rem;border:2px dashed #cbd5e1;border-radius:12px;background:#f8fafc;cursor:pointer;transition:all .2s ease}.cn-form-attachments-zone:hover{border-color:#22d3ee;background:#f0fdfa}.cn-form-attachments-zone svg{width:32px;height:32px;color:#94a3b8;margin-bottom:.5rem}.cn-form-attachments-zone span{font-size:.85rem;color:#64748b}.cn-form-attachments-zone .cn-upload-hint{font-size:.75rem;color:#94a3b8;margin-top:.25rem}.cn-modal-footer{display:flex;justify-content:flex-end;gap:.75rem;padding:1.25rem 1.5rem;background:#f8fafc;border-top:1px solid #e2e8f0}.cn-btn-cancel{padding:.75rem 1.5rem;border:2px solid #e2e8f0;background:#fff;border-radius:12px;font-size:.9rem;font-weight:500;color:#64748b;cursor:pointer;transition:all .2s ease}.cn-btn-cancel:hover{border-color:#cbd5e1;color:#475569}.cn-btn-save{display:flex;align-items:center;gap:.5rem;padding:.75rem 1.5rem;border:none;background:linear-gradient(135deg,#0891b2,#0e7490);border-radius:12px;font-size:.9rem;font-weight:600;color:#fff;cursor:pointer;transition:all .2s ease;box-shadow:0 4px 12px #0891b24d}.cn-btn-save:hover{background:linear-gradient(135deg,#0e7490,#155e75);transform:translateY(-1px);box-shadow:0 6px 16px #0891b266}.cn-btn-save svg{width:18px;height:18px}@media(max-width:1024px){.cn-stats-grid{grid-template-columns:repeat(2,1fr)}.cn-card-sections{grid-template-columns:1fr}.cn-card-diagnosis-preview{max-width:250px}}@media(max-width:768px){.cn-header{padding:1.5rem}.cn-header-content{flex-direction:column;gap:1rem;align-items:stretch}.cn-header-title-section,.cn-btn-new{justify-content:center}.cn-controls-bar{flex-direction:column;align-items:stretch}.cn-search-wrapper{max-width:none}.cn-filter-select{min-width:auto}.cn-timeline-date-col,.cn-timeline-connector{display:none}.cn-timeline-card{margin-bottom:.75rem}.cn-card-header{padding:1rem}.cn-card-header-left{flex-direction:column;align-items:flex-start;gap:.5rem}.cn-card-diagnosis-preview{max-width:100%}.cn-card-body.expanded{padding:0 1rem 1rem}.cn-modal{max-width:100%;border-radius:20px}}@media(max-width:480px){.cn-stats-grid{grid-template-columns:1fr}.cn-card-header-right{flex-direction:column;align-items:flex-end;gap:.375rem}.cn-card-actions{flex-wrap:wrap}}.anim-page{min-height:100%;padding-bottom:2rem}.anim-header{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:2rem;flex-wrap:wrap;gap:1.5rem}.anim-header-left h1{font-size:2rem;font-weight:700;color:#0f172a;margin:0 0 .5rem;display:flex;align-items:center;gap:.75rem}.anim-header-left h1:before{content:"";width:4px;height:28px;background:linear-gradient(180deg,#0891b2,#0e7490);border-radius:4px}.anim-header-left p{color:#64748b;font-size:.95rem;margin:0}.anim-header-right{display:flex;gap:.75rem}.anim-btn-favorites{display:flex;align-items:center;gap:.5rem;padding:.75rem 1.25rem;background:#fff;color:#475569;border:1px solid #e2e8f0;border-radius:12px;font-size:.875rem;font-weight:500;cursor:pointer;transition:all .2s ease}.anim-btn-favorites:hover{border-color:#0891b2;color:#0891b2;background:#ecfeff}.anim-btn-favorites.active{background:linear-gradient(135deg,#0891b2,#0e7490);color:#fff;border-color:transparent;box-shadow:0 4px 14px #0891b259}.anim-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1.25rem;margin-bottom:2rem}.anim-stat-card{background:#fff;border-radius:16px;padding:1.5rem;display:flex;align-items:center;gap:1rem;box-shadow:0 1px 3px #0000000d;border:1px solid #f1f5f9;transition:all .3s ease;position:relative;overflow:hidden}.anim-stat-card:before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,transparent,rgba(8,145,178,.3),transparent);opacity:0;transition:opacity .3s ease}.anim-stat-card:hover{transform:translateY(-4px);box-shadow:0 12px 30px #0891b226}.anim-stat-card:hover:before{opacity:1}.anim-stat-icon{width:56px;height:56px;border-radius:16px;display:flex;align-items:center;justify-content:center;font-size:1.5rem}.anim-stat-icon.total{background:linear-gradient(135deg,#cffafe,#a5f3fc)}.anim-stat-icon.categories{background:linear-gradient(135deg,#ede9fe,#ddd6fe)}.anim-stat-icon.favs{background:linear-gradient(135deg,#fef3c7,#fde68a)}.anim-stat-icon.duration{background:linear-gradient(135deg,#d1fae5,#a7f3d0)}.anim-stat-content h3{font-size:1.75rem;font-weight:700;color:#0f172a;margin:0;line-height:1.2}.anim-stat-content p{font-size:.85rem;color:#64748b;margin:.25rem 0 0}.anim-controls{background:#fff;border-radius:16px;padding:1.25rem;margin-bottom:1.5rem;display:flex;flex-direction:column;gap:1rem;box-shadow:0 1px 3px #0000000d;border:1px solid #f1f5f9}.anim-search-box{position:relative;width:100%;max-width:450px}.anim-search-box input{width:100%;padding:.875rem 1rem .875rem 3rem;border:2px solid #e2e8f0;border-radius:12px;font-size:.9rem;transition:all .2s ease;background:#f8fafc}.anim-search-box input:focus{outline:none;border-color:#0891b2;background:#fff;box-shadow:0 0 0 3px #0891b21a}.anim-search-box input::placeholder{color:#94a3b8}.anim-search-icon{position:absolute;left:1rem;top:50%;transform:translateY(-50%);color:#94a3b8;font-size:1.1rem}.anim-category-filters{display:flex;gap:.5rem;flex-wrap:wrap}.anim-category-pill{padding:.5rem 1rem;border:2px solid #e2e8f0;background:#fff;border-radius:25px;font-size:.8rem;font-weight:500;cursor:pointer;color:#64748b;transition:all .25s ease;display:flex;align-items:center;gap:.4rem;white-space:nowrap}.anim-category-pill:hover{border-color:#0891b2;color:#0891b2;transform:translateY(-1px)}.anim-category-pill.active{background:linear-gradient(135deg,#0891b2,#0e7490);border-color:transparent;color:#fff;box-shadow:0 4px 12px #0891b24d}.anim-category-pill .pill-icon{font-size:.9rem}.anim-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:1.5rem}@media(min-width:1400px){.anim-grid{grid-template-columns:repeat(3,1fr)}}.anim-card{background:#fff;border-radius:20px;overflow:hidden;box-shadow:0 1px 3px #0000000d;border:1px solid #f1f5f9;transition:all .4s cubic-bezier(.4,0,.2,1);cursor:pointer;animation:anim-fadeInUp .5s ease-out both}@keyframes anim-fadeInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.anim-card:hover{transform:translateY(-6px) scale(1.01);box-shadow:0 25px 50px #0891b226;border-color:transparent}.anim-card-thumbnail{position:relative;height:180px;overflow:hidden}.anim-card-thumbnail:before{content:"";position:absolute;inset:0;z-index:0}.anim-card-thumbnail.implantes:before{background:linear-gradient(135deg,#0c4a6e,#0284c7,#7dd3fc)}.anim-card-thumbnail.endodoncia:before{background:linear-gradient(135deg,#7c2d12,#ea580c,#fed7aa)}.anim-card-thumbnail.coronas:before{background:linear-gradient(135deg,#4c1d95,#7c3aed,#c4b5fd)}.anim-card-thumbnail.ortodoncia:before{background:linear-gradient(135deg,#064e3b,#059669,#6ee7b7)}.anim-card-thumbnail.cirugia:before{background:linear-gradient(135deg,#7f1d1d,#dc2626,#fca5a5)}.anim-card-thumbnail.periodoncia:before{background:linear-gradient(135deg,#164e63,#0891b2,#67e8f9)}.anim-card-thumbnail.blanqueamiento:before{background:linear-gradient(135deg,#78350f,#d97706,#fde68a)}.anim-card-thumbnail.protesis:before{background:linear-gradient(135deg,#831843,#be185d,#f9a8d4)}.anim-card-thumbnail-content{position:relative;z-index:1;display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;gap:.5rem}.anim-card-play-icon{width:56px;height:56px;border-radius:50%;background:#fff3;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);display:flex;align-items:center;justify-content:center;color:#fff;font-size:1.25rem;border:2px solid rgba(255,255,255,.3);transition:all .3s ease}.anim-card:hover .anim-card-play-icon{background:#ffffff59;transform:scale(1.1);box-shadow:0 8px 24px #0003}.anim-card-3d-badge{background:#fff3;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);color:#fff;padding:.25rem .75rem;border-radius:20px;font-size:.7rem;font-weight:700;letter-spacing:1px;border:1px solid rgba(255,255,255,.3)}.anim-card-duration{position:absolute;bottom:.75rem;right:.75rem;z-index:2;background:#0009;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);color:#fff;padding:.25rem .6rem;border-radius:6px;font-size:.75rem;font-weight:600;font-variant-numeric:tabular-nums}.anim-card-fav{position:absolute;top:.75rem;right:.75rem;z-index:2;width:36px;height:36px;border-radius:10px;background:#fff3;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border:1px solid rgba(255,255,255,.3);color:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:1rem;transition:all .2s ease}.anim-card-fav:hover{background:#ffffff59;transform:scale(1.1)}.anim-card-fav.active{background:#facc154d;border-color:#facc1580}.anim-card-body{padding:1.25rem 1.5rem}.anim-card-meta-row{display:flex;align-items:center;justify-content:space-between;gap:.5rem;margin-bottom:.75rem}.anim-card-category-tag{display:inline-flex;align-items:center;gap:.35rem;padding:.3rem .7rem;border-radius:8px;font-size:.7rem;font-weight:600}.anim-card-category-tag.implantes{background:#e0f2fe;color:#0369a1}.anim-card-category-tag.endodoncia{background:#ffedd5;color:#c2410c}.anim-card-category-tag.coronas{background:#ede9fe;color:#6d28d9}.anim-card-category-tag.ortodoncia{background:#d1fae5;color:#047857}.anim-card-category-tag.cirugia{background:#fee2e2;color:#dc2626}.anim-card-category-tag.periodoncia{background:#cffafe;color:#0e7490}.anim-card-category-tag.blanqueamiento{background:#fef3c7;color:#b45309}.anim-card-category-tag.protesis{background:#fce7f3;color:#be185d}.anim-card-difficulty{padding:.25rem .6rem;border-radius:6px;font-size:.7rem;font-weight:600}.anim-card-title{font-size:1.05rem;font-weight:700;color:#0f172a;margin:0 0 .4rem;line-height:1.35;display:-webkit-box;-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.anim-card-description{font-size:.825rem;color:#64748b;margin:0 0 .75rem;display:-webkit-box;-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;line-height:1.5}.anim-card-tags{display:flex;flex-wrap:wrap;gap:.4rem}.anim-card-tag{padding:.2rem .5rem;background:#f1f5f9;color:#64748b;border-radius:6px;font-size:.7rem;font-weight:500;transition:all .2s ease}.anim-card:hover .anim-card-tag{background:#e0f2fe;color:#0891b2}.anim-card-footer{display:flex;border-top:1px solid #f1f5f9}.anim-card-action-btn{flex:1;padding:.875rem;border:none;background:transparent;font-size:.825rem;font-weight:500;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;justify-content:center;gap:.4rem}.anim-card-action-btn:first-child{border-right:1px solid #f1f5f9}.anim-card-action-btn.primary{color:#0891b2}.anim-card-action-btn.primary:hover{background:#ecfeff;color:#0e7490}.anim-card-action-btn.secondary{color:#64748b}.anim-card-action-btn.secondary:hover{background:#f8fafc;color:#475569}.anim-empty-state{text-align:center;padding:4rem 2rem;background:#fff;border-radius:20px;border:2px dashed #e2e8f0}.anim-empty-state-icon{font-size:4rem;margin-bottom:1rem;opacity:.8}.anim-empty-state-title{font-size:1.25rem;font-weight:600;color:#1e293b;margin:0 0 .5rem}.anim-empty-state-message{color:#64748b;margin:0}.anim-modal-overlay{position:fixed;inset:0;background:#0f172ab3;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);display:flex;align-items:center;justify-content:center;z-index:1000;padding:1rem;animation:anim-fadeIn .2s ease}@keyframes anim-fadeIn{0%{opacity:0}to{opacity:1}}.anim-modal{background:#fff;border-radius:24px;width:100%;max-width:800px;max-height:90vh;overflow:hidden;box-shadow:0 25px 60px #0000004d;animation:anim-slideUp .3s ease;display:flex;flex-direction:column}@keyframes anim-slideUp{0%{opacity:0;transform:translateY(20px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}.anim-modal-header{display:flex;align-items:center;justify-content:space-between;padding:1.5rem 1.75rem;background:linear-gradient(135deg,#0891b2,#0e7490);color:#fff}.anim-modal-header-content h2{font-size:1.2rem;font-weight:600;margin:0 0 .25rem}.anim-modal-header-content p{font-size:.85rem;opacity:.85;margin:0}.anim-modal-close{width:36px;height:36px;border-radius:10px;background:#ffffff26;border:none;color:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:1.25rem;transition:all .2s ease;flex-shrink:0}.anim-modal-close:hover{background:#ffffff40;transform:rotate(90deg)}.anim-modal-body{padding:1.75rem;max-height:60vh;overflow-y:auto;flex:1}.anim-player-container{position:relative;border-radius:16px;overflow:hidden;margin-bottom:1.5rem;aspect-ratio:16 / 9}.anim-player-container:before{content:"";position:absolute;inset:0}.anim-player-container.implantes:before{background:linear-gradient(135deg,#0c4a6e,#0284c7,#7dd3fc)}.anim-player-container.endodoncia:before{background:linear-gradient(135deg,#7c2d12,#ea580c,#fed7aa)}.anim-player-container.coronas:before{background:linear-gradient(135deg,#4c1d95,#7c3aed,#c4b5fd)}.anim-player-container.ortodoncia:before{background:linear-gradient(135deg,#064e3b,#059669,#6ee7b7)}.anim-player-container.cirugia:before{background:linear-gradient(135deg,#7f1d1d,#dc2626,#fca5a5)}.anim-player-container.periodoncia:before{background:linear-gradient(135deg,#164e63,#0891b2,#67e8f9)}.anim-player-container.blanqueamiento:before{background:linear-gradient(135deg,#78350f,#d97706,#fde68a)}.anim-player-container.protesis:before{background:linear-gradient(135deg,#831843,#be185d,#f9a8d4)}.anim-player-placeholder{position:relative;z-index:1;display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;text-align:center;padding:2rem}.anim-player-icon{width:72px;height:72px;border-radius:50%;background:#fff3;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);display:flex;align-items:center;justify-content:center;color:#fff;font-size:1.75rem;border:2px solid rgba(255,255,255,.3);margin-bottom:1rem;cursor:pointer;transition:all .3s ease}.anim-player-icon:hover{background:#ffffff59;transform:scale(1.1);box-shadow:0 8px 32px #0003}.anim-player-text{color:#ffffffe6;font-size:.9rem;font-weight:600;letter-spacing:1px;margin:0 0 .25rem}.anim-player-subtitle{color:#ffffffb3;font-size:.8rem;margin:0}.anim-detail-section{margin-bottom:1.5rem}.anim-detail-title{font-size:.95rem;font-weight:600;color:#1e293b;margin:0 0 .5rem}.anim-detail-text{font-size:.875rem;color:#475569;line-height:1.7;margin:0}.anim-detail-meta{display:flex;flex-wrap:wrap;gap:1rem;margin-bottom:1.5rem}.anim-detail-meta-item{display:flex;align-items:center;gap:.5rem;padding:.5rem 1rem;background:#fff;border:1px solid #e2e8f0;border-radius:10px;font-size:.8rem;color:#475569}.anim-detail-meta-item .meta-label{font-weight:600;color:#1e293b}.anim-detail-tags-section{margin-bottom:1.5rem}.anim-detail-tags{display:flex;flex-wrap:wrap;gap:.5rem}.anim-detail-tag{padding:.35rem .75rem;background:#ecfeff;color:#0891b2;border-radius:8px;font-size:.8rem;font-weight:500}.anim-patient-tip{display:flex;align-items:flex-start;gap:.75rem;padding:1rem 1.25rem;background:linear-gradient(135deg,#ecfeff,#cffafe);border:1px solid #a5f3fc;border-radius:14px;font-size:.85rem;color:#164e63;line-height:1.5}.anim-patient-tip .tip-icon{font-size:1.25rem;flex-shrink:0;margin-top:.1rem}.anim-patient-tip .tip-content strong{color:#0e7490}.anim-modal-footer{display:flex;justify-content:flex-end;gap:.75rem;padding:1.25rem 1.75rem;background:#f8fafc;border-top:1px solid #f1f5f9}.anim-btn-cancel{padding:.75rem 1.5rem;background:#fff;color:#64748b;border:2px solid #e2e8f0;border-radius:12px;font-size:.875rem;font-weight:600;cursor:pointer;transition:all .2s ease}.anim-btn-cancel:hover{border-color:#cbd5e1;background:#f8fafc}.anim-btn-fullscreen{padding:.75rem 1.5rem;background:linear-gradient(135deg,#0891b2,#0e7490);color:#fff;border:none;border-radius:12px;font-size:.875rem;font-weight:600;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;gap:.5rem;box-shadow:0 4px 14px #0891b259}.anim-btn-fullscreen:hover{background:linear-gradient(135deg,#0e7490,#155e75);transform:translateY(-1px);box-shadow:0 6px 20px #0891b273}@media(max-width:768px){.anim-header{flex-direction:column;align-items:stretch}.anim-header-right{width:100%}.anim-btn-favorites{flex:1;justify-content:center}.anim-controls{align-items:stretch}.anim-search-box{max-width:none}.anim-category-filters{overflow-x:auto;padding-bottom:.5rem;flex-wrap:nowrap}.anim-grid{grid-template-columns:1fr}.anim-modal{max-height:95vh}.anim-detail-meta{flex-direction:column}}.ba-page{display:flex;flex-direction:column;gap:1.5rem;animation:baFadeIn .5s ease}@keyframes baFadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.ba-header{background:linear-gradient(135deg,#1e3a5f,#0891b2,#22d3ee);border-radius:20px;padding:2rem;position:relative;overflow:hidden}.ba-header:before{content:"";position:absolute;top:-50%;right:-20%;width:60%;height:200%;background:radial-gradient(ellipse,rgba(255,255,255,.1) 0%,transparent 70%);transform:rotate(-15deg)}.ba-header:after{content:"";position:absolute;bottom:-30%;left:-10%;width:40%;height:150%;background:radial-gradient(ellipse,rgba(34,211,238,.2) 0%,transparent 60%)}.ba-header-content{display:flex;justify-content:space-between;align-items:center;position:relative;z-index:1}.ba-header-title-section{display:flex;align-items:center;gap:1rem}.ba-header-icon{width:56px;height:56px;background:#ffffff26;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:16px;display:flex;align-items:center;justify-content:center;border:1px solid rgba(255,255,255,.2)}.ba-header-icon svg{width:28px;height:28px;color:#fff}.ba-header-title{font-size:1.75rem;font-weight:700;color:#fff;margin:0;text-shadow:0 2px 10px rgba(0,0,0,.1)}.ba-header-subtitle{color:#fffc;margin:.25rem 0 0;font-size:.95rem}.ba-btn-new{display:flex;align-items:center;gap:.5rem;padding:.875rem 1.5rem;background:#fff;color:#1e3a5f;border:none;border-radius:12px;font-size:.95rem;font-weight:600;cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1);box-shadow:0 4px 15px #00000026}.ba-btn-new:hover{transform:translateY(-2px);box-shadow:0 8px 25px #0003}.ba-btn-new .btn-icon{font-size:1.25rem;font-weight:300}.ba-stats-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem}.ba-stat-card{background:#fff;border-radius:16px;padding:1.25rem;display:flex;align-items:center;gap:1rem;position:relative;overflow:hidden;box-shadow:0 2px 12px #0000000f;transition:all .3s ease}.ba-stat-card:hover{transform:translateY(-4px);box-shadow:0 8px 25px #0000001a}.ba-stat-card:before{content:"";position:absolute;top:0;left:0;width:4px;height:100%}.ba-stat-total:before{background:linear-gradient(180deg,#22d3ee,#0891b2)}.ba-stat-ortodoncia:before{background:linear-gradient(180deg,#818cf8,#6366f1)}.ba-stat-estetica:before{background:linear-gradient(180deg,#f472b6,#ec4899)}.ba-stat-implantes:before{background:linear-gradient(180deg,#34d399,#059669)}.ba-stat-icon{width:48px;height:48px;border-radius:12px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.ba-stat-total .ba-stat-icon{background:linear-gradient(135deg,#cffafe,#a5f3fc)}.ba-stat-ortodoncia .ba-stat-icon{background:linear-gradient(135deg,#e0e7ff,#c7d2fe)}.ba-stat-estetica .ba-stat-icon{background:linear-gradient(135deg,#fce7f3,#fbcfe8)}.ba-stat-implantes .ba-stat-icon{background:linear-gradient(135deg,#d1fae5,#a7f3d0)}.ba-stat-icon svg{width:24px;height:24px}.ba-stat-total .ba-stat-icon svg{color:#0891b2}.ba-stat-ortodoncia .ba-stat-icon svg{color:#6366f1}.ba-stat-estetica .ba-stat-icon svg{color:#ec4899}.ba-stat-implantes .ba-stat-icon svg{color:#059669}.ba-stat-content{display:flex;flex-direction:column;flex:1}.ba-stat-value{font-size:1.75rem;font-weight:700;color:#1e293b;line-height:1}.ba-stat-label{font-size:.8rem;color:#64748b;margin-top:.25rem}.ba-controls-bar{display:flex;align-items:center;gap:1rem;flex-wrap:wrap}.ba-search-wrapper{position:relative;flex:1;min-width:220px;max-width:350px}.ba-search-icon{position:absolute;left:1rem;top:50%;transform:translateY(-50%);width:18px;height:18px;color:#94a3b8;pointer-events:none}.ba-search-input{width:100%;padding:.75rem 1rem .75rem 2.75rem;border:2px solid #e2e8f0;border-radius:12px;font-size:.9rem;color:#1e293b;background:#fff;transition:all .2s ease}.ba-search-input:focus{outline:none;border-color:#22d3ee;box-shadow:0 0 0 3px #22d3ee1a}.ba-search-input::placeholder{color:#94a3b8}.ba-filter-pills{display:flex;gap:.5rem;flex-wrap:wrap}.ba-pill{padding:.5rem 1rem;border:2px solid #e2e8f0;background:#fff;border-radius:30px;font-size:.8rem;font-weight:500;color:#64748b;cursor:pointer;transition:all .2s ease;white-space:nowrap}.ba-pill:hover{border-color:#cbd5e1;color:#475569}.ba-pill.active{background:#ecfeff;border-color:#22d3ee;color:#0891b2}.ba-view-toggle{display:flex;background:#fff;border:2px solid #e2e8f0;border-radius:12px;overflow:hidden;margin-left:auto}.ba-view-btn{display:flex;align-items:center;justify-content:center;padding:.6rem .875rem;border:none;background:transparent;color:#94a3b8;cursor:pointer;transition:all .2s ease}.ba-view-btn:first-child{border-right:1px solid #e2e8f0}.ba-view-btn.active{background:linear-gradient(135deg,#0891b2,#0e7490);color:#fff}.ba-view-btn svg{width:18px;height:18px}.ba-gallery{display:grid;grid-template-columns:repeat(auto-fill,minmax(420px,1fr));gap:1.5rem}.ba-card{background:#fff;border-radius:20px;overflow:hidden;box-shadow:0 2px 12px #0000000f;transition:all .3s ease;animation:baCardIn .4s ease forwards;opacity:0;transform:translateY(10px)}@keyframes baCardIn{to{opacity:1;transform:translateY(0)}}.ba-card:hover{transform:translateY(-6px);box-shadow:0 12px 35px #0000001f}.ba-card-patient{display:flex;align-items:center;justify-content:space-between;padding:1.25rem 1.5rem}.ba-card-patient-left{display:flex;align-items:center;gap:.875rem;min-width:0;flex:1}.ba-card-avatar{width:42px;height:42px;background:linear-gradient(135deg,#1e3a5f,#0891b2);border-radius:12px;display:flex;align-items:center;justify-content:center;color:#fff;font-size:.8rem;font-weight:600;flex-shrink:0}.ba-card-patient-info{display:flex;flex-direction:column;min-width:0}.ba-card-patient-name{font-weight:600;font-size:.95rem;color:#1e293b}.ba-card-patient-treatment{font-size:.8rem;color:#64748b;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ba-card-category{padding:.3rem .75rem;border-radius:30px;font-size:.7rem;font-weight:600;white-space:nowrap;flex-shrink:0}.ba-slider-container{position:relative;width:100%;aspect-ratio:16 / 10;overflow:hidden;cursor:ew-resize;user-select:none;-webkit-user-select:none;background:#f1f5f9}.ba-slider-img{position:absolute;top:0;left:0;width:100%;height:100%}.ba-placeholder-img{width:100%;height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.5rem}.ba-placeholder-img svg{width:48px;height:48px;opacity:.4}.ba-placeholder-img span{font-size:.85rem;font-weight:500}.ba-placeholder-img .ba-ph-date{font-size:.75rem;font-weight:400}.ba-placeholder-img.before{background:linear-gradient(135deg,#fef2f2,#fee2e2,#fecaca);color:#b91c1c}.ba-placeholder-img.before svg{color:#dc2626}.ba-placeholder-img.after{background:linear-gradient(135deg,#ecfdf5,#d1fae5,#a7f3d0);color:#15803d}.ba-placeholder-img.after svg{color:#16a34a}.ba-placeholder-img.large svg{width:64px;height:64px}.ba-placeholder-img.large span{font-size:1rem}.ba-slider-handle{position:absolute;top:0;bottom:0;width:0;z-index:10;pointer-events:none}.ba-slider-line{position:absolute;top:0;bottom:0;left:0;width:3px;background:#fff;transform:translate(-50%);box-shadow:0 0 8px #0000004d}.ba-slider-knob{position:absolute;top:50%;left:0;transform:translate(-50%,-50%);width:40px;height:40px;background:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center;box-shadow:0 2px 10px #00000040;pointer-events:auto;cursor:ew-resize}.ba-slider-knob svg{width:14px;height:14px;color:#0891b2}.ba-slider-labels{position:absolute;bottom:0;left:0;right:0;display:flex;justify-content:space-between;padding:.5rem .75rem;pointer-events:none;z-index:5}.ba-label-before,.ba-label-after{padding:.25rem .625rem;border-radius:6px;font-size:.65rem;font-weight:700;letter-spacing:.1em}.ba-label-before{background:#b91c1cd9;color:#fff}.ba-label-after{background:#15803dd9;color:#fff}.ba-card-dates{display:flex;align-items:center;justify-content:space-between;padding:.875rem 1.5rem;border-top:1px solid #f1f5f9}.ba-date-item{display:flex;align-items:center;gap:.375rem;font-size:.8rem;color:#475569}.ba-date-item svg{width:14px;height:14px;color:#94a3b8}.ba-date-duration{display:flex;align-items:center;gap:.375rem;padding:.3rem .75rem;background:linear-gradient(135deg,#ecfeff,#cffafe);border-radius:30px;font-size:.75rem;font-weight:600;color:#0891b2}.ba-date-duration svg{width:14px;height:14px}.ba-card-notes{padding:0 1.5rem;margin-bottom:.5rem}.ba-card-notes p{font-size:.825rem;color:#64748b;line-height:1.6;margin:0;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.ba-card-actions{display:flex;gap:.5rem;padding:.875rem 1.5rem;border-top:1px solid #f1f5f9}.ba-action-btn{display:flex;align-items:center;gap:.375rem;padding:.5rem .75rem;border:none;border-radius:8px;font-size:.775rem;font-weight:500;cursor:pointer;transition:all .2s ease;flex:1;justify-content:center}.ba-action-btn svg{width:14px;height:14px}.ba-action-btn.view{background:linear-gradient(135deg,#ecfeff,#cffafe);color:#0891b2}.ba-action-btn.view:hover{background:linear-gradient(135deg,#cffafe,#a5f3fc)}.ba-action-btn.edit{background:#dbeafe;color:#2563eb}.ba-action-btn.edit:hover{background:#bfdbfe}.ba-action-btn.download{background:#f1f5f9;color:#475569}.ba-action-btn.download:hover{background:#e2e8f0}.ba-list{display:flex;flex-direction:column;gap:.5rem}.ba-list-item{display:flex;align-items:center;gap:1rem;padding:1rem 1.5rem;background:#fff;border-radius:14px;box-shadow:0 2px 8px #0000000a;transition:all .3s ease;animation:baCardIn .4s ease forwards;opacity:0}.ba-list-item:hover{transform:translateY(-2px);box-shadow:0 6px 20px #00000014}.ba-list-avatar{width:40px;height:40px;background:linear-gradient(135deg,#1e3a5f,#0891b2);border-radius:12px;display:flex;align-items:center;justify-content:center;color:#fff;font-size:.8rem;font-weight:600;flex-shrink:0}.ba-list-info{display:flex;flex-direction:column;flex:1;min-width:0}.ba-list-name{font-weight:600;font-size:.9rem;color:#1e293b}.ba-list-treatment{font-size:.8rem;color:#64748b;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ba-list-category{padding:.3rem .75rem;border-radius:30px;font-size:.7rem;font-weight:600;white-space:nowrap;flex-shrink:0}.ba-list-dates{display:flex;align-items:center;gap:.5rem;font-size:.8rem;color:#475569;flex-shrink:0}.ba-list-duration{padding:.3rem .625rem;background:linear-gradient(135deg,#ecfeff,#cffafe);border-radius:30px;font-size:.7rem;font-weight:600;color:#0891b2;white-space:nowrap;flex-shrink:0}.ba-list-view-btn{display:flex;align-items:center;gap:.375rem;padding:.5rem 1rem;border:2px solid #e2e8f0;background:#fff;border-radius:10px;font-size:.8rem;font-weight:500;color:#0891b2;cursor:pointer;transition:all .2s ease;flex-shrink:0}.ba-list-view-btn:hover{border-color:#22d3ee;background:#ecfeff}.ba-list-view-btn svg{width:16px;height:16px}.ba-empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:4rem 2rem;text-align:center;background:#fff;border-radius:20px;box-shadow:0 4px 20px #0000000f}.ba-empty-icon-wrapper{width:80px;height:80px;background:linear-gradient(135deg,#f1f5f9,#e2e8f0);border-radius:20px;display:flex;align-items:center;justify-content:center;margin-bottom:1.5rem}.ba-empty-icon-wrapper svg{width:40px;height:40px;color:#94a3b8}.ba-empty-state h3{font-size:1.25rem;font-weight:600;color:#1e293b;margin:0 0 .5rem}.ba-empty-state p{color:#64748b;margin-bottom:1.5rem}.ba-modal-overlay{position:fixed;inset:0;background:#0f172a99;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:1000;padding:1rem;animation:baFadeIn .2s ease}.ba-modal{background:#fff;border-radius:24px;width:100%;max-width:720px;max-height:90vh;overflow:hidden;display:flex;flex-direction:column;box-shadow:0 25px 50px -12px #00000040;animation:baModalSlide .3s ease}.ba-modal-detail{max-width:900px}@keyframes baModalSlide{0%{opacity:0;transform:scale(.95) translateY(20px)}to{opacity:1;transform:scale(1) translateY(0)}}.ba-modal-header{display:flex;align-items:center;gap:1rem;padding:1.5rem;background:linear-gradient(135deg,#1e3a5f,#0891b2);color:#fff}.ba-modal-icon{width:48px;height:48px;background:#ffffff26;border-radius:12px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.ba-modal-icon svg{width:24px;height:24px}.ba-modal-header h2{font-size:1.25rem;font-weight:600;margin:0}.ba-modal-header p{font-size:.875rem;opacity:.8;margin:.25rem 0 0}.ba-modal-category{padding:.3rem .75rem;border-radius:30px;font-size:.7rem;font-weight:600;flex-shrink:0;margin-left:auto}.ba-modal-close-btn{margin-left:auto;width:36px;height:36px;background:#ffffff1a;border:none;border-radius:10px;display:flex;align-items:center;justify-content:center;color:#fff;cursor:pointer;transition:all .2s ease;flex-shrink:0}.ba-modal-close-btn:hover{background:#fff3}.ba-modal-close-btn svg{width:20px;height:20px}.ba-modal-body{padding:1.5rem;overflow-y:auto;display:flex;flex-direction:column;gap:1.25rem}.ba-modal-footer{display:flex;justify-content:flex-end;gap:.75rem;padding:1.25rem 1.5rem;background:#f8fafc;border-top:1px solid #e2e8f0}.ba-btn-cancel{padding:.75rem 1.5rem;border:2px solid #e2e8f0;background:#fff;border-radius:12px;font-size:.9rem;font-weight:500;color:#64748b;cursor:pointer;transition:all .2s ease}.ba-btn-cancel:hover{border-color:#cbd5e1;color:#475569}.ba-btn-save{display:flex;align-items:center;gap:.5rem;padding:.75rem 1.5rem;border:none;background:linear-gradient(135deg,#0891b2,#0e7490);border-radius:12px;font-size:.9rem;font-weight:600;color:#fff;cursor:pointer;transition:all .2s ease;box-shadow:0 4px 12px #0891b24d}.ba-btn-save:hover{background:linear-gradient(135deg,#0e7490,#155e75);transform:translateY(-1px);box-shadow:0 6px 16px #0891b266}.ba-btn-save svg{width:18px;height:18px}.ba-detail-view-toggle{display:flex;gap:.5rem}.ba-detail-toggle-btn{display:flex;align-items:center;gap:.5rem;padding:.625rem 1.25rem;border:2px solid #e2e8f0;background:#fff;border-radius:10px;font-size:.85rem;font-weight:500;color:#64748b;cursor:pointer;transition:all .2s ease;flex:1;justify-content:center}.ba-detail-toggle-btn svg{width:18px;height:18px}.ba-detail-toggle-btn.active{background:linear-gradient(135deg,#ecfeff,#cffafe);border-color:#22d3ee;color:#0891b2}.ba-detail-toggle-btn:hover:not(.active){border-color:#cbd5e1}.ba-detail-slider{position:relative;width:100%;aspect-ratio:16 / 10;overflow:hidden;cursor:ew-resize;user-select:none;-webkit-user-select:none;background:#f1f5f9;border-radius:16px}.ba-detail-side{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.ba-side-panel{display:flex;flex-direction:column;gap:.5rem}.ba-side-label{font-size:.7rem;font-weight:700;letter-spacing:.1em;text-align:center;padding:.375rem 0;border-radius:8px}.ba-side-panel:first-child .ba-side-label{background:#fef2f2;color:#b91c1c}.ba-side-panel:last-child .ba-side-label{background:#ecfdf5;color:#15803d}.ba-side-panel .ba-placeholder-img{border-radius:14px;min-height:250px}.ba-detail-info{background:#f8fafc;border-radius:16px;padding:1.25rem}.ba-detail-info-row{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}.ba-detail-info-item{display:flex;flex-direction:column;gap:.25rem}.ba-detail-label{font-size:.7rem;font-weight:600;color:#94a3b8;text-transform:uppercase;letter-spacing:.05em}.ba-detail-value{font-size:.925rem;font-weight:600;color:#1e293b}.ba-detail-notes{margin-top:1rem;padding-top:1rem;border-top:1px solid #e2e8f0}.ba-detail-notes p{font-size:.875rem;color:#475569;line-height:1.6;margin:.5rem 0 0}.ba-form-section{display:flex;flex-direction:column;gap:.5rem}.ba-form-label{display:flex;align-items:center;gap:.5rem;font-size:.875rem;font-weight:600;color:#475569}.ba-form-label svg{width:16px;height:16px;color:#94a3b8}.ba-form-select{padding:.75rem 1rem;border:2px solid #e2e8f0;border-radius:12px;font-size:.9rem;color:#1e293b;background:#f8fafc;transition:all .2s ease}.ba-form-select:focus{outline:none;border-color:#22d3ee;background:#fff;box-shadow:0 0 0 3px #22d3ee1a}.ba-form-input{padding:.75rem 1rem;border:2px solid #e2e8f0;border-radius:12px;font-size:.9rem;color:#1e293b;background:#f8fafc;transition:all .2s ease}.ba-form-input:focus{outline:none;border-color:#22d3ee;background:#fff;box-shadow:0 0 0 3px #22d3ee1a}.ba-form-input-sm{padding:.5rem .75rem;font-size:.825rem}.ba-form-textarea{padding:.75rem 1rem;border:2px solid #e2e8f0;border-radius:12px;font-size:.9rem;color:#1e293b;background:#f8fafc;min-height:80px;resize:vertical;font-family:inherit;transition:all .2s ease;line-height:1.6}.ba-form-textarea:focus{outline:none;border-color:#22d3ee;background:#fff;box-shadow:0 0 0 3px #22d3ee1a}.ba-form-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.ba-form-photos{display:grid;grid-template-columns:1fr auto 1fr;gap:.75rem;align-items:start}.ba-form-arrow{display:flex;align-items:center;justify-content:center;padding-top:4.5rem;color:#94a3b8}.ba-form-arrow svg{width:24px;height:24px}.ba-form-upload-zone{display:flex;flex-direction:column;align-items:center;padding:2rem 1rem;border:2px dashed #cbd5e1;border-radius:14px;background:#f8fafc;cursor:pointer;transition:all .2s ease;text-align:center}.ba-form-upload-zone:hover{border-color:#22d3ee;background:#f0fdfa}.ba-form-upload-zone svg{width:32px;height:32px;color:#94a3b8;margin-bottom:.5rem}.ba-form-upload-zone span{font-size:.825rem;color:#64748b}.ba-upload-hint{font-size:.7rem!important;color:#94a3b8!important;margin-top:.25rem}.ba-form-photo-preview{position:relative;border-radius:14px;overflow:hidden;cursor:pointer;aspect-ratio:4 / 3}.ba-form-photo-preview img{width:100%;height:100%;object-fit:cover}.ba-form-photo-overlay{position:absolute;inset:0;background:#00000080;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.5rem;opacity:0;transition:opacity .2s ease;color:#fff;font-size:.85rem;font-weight:500}.ba-form-photo-overlay svg{width:24px;height:24px}.ba-form-photo-preview:hover .ba-form-photo-overlay{opacity:1}.ba-form-date-row{display:flex;align-items:center;gap:.5rem}.ba-form-date-row label{font-size:.8rem;color:#64748b;font-weight:500;white-space:nowrap}.ba-form-date-input{flex:1;padding:.5rem .75rem;border:2px solid #e2e8f0;border-radius:10px;font-size:.825rem;color:#1e293b;background:#f8fafc;transition:all .2s ease}.ba-form-date-input:focus{outline:none;border-color:#22d3ee;background:#fff}@media(max-width:1024px){.ba-stats-grid{grid-template-columns:repeat(2,1fr)}.ba-gallery,.ba-detail-info-row{grid-template-columns:1fr}.ba-list-dates{display:none}}@media(max-width:768px){.ba-header{padding:1.5rem}.ba-header-content{flex-direction:column;gap:1rem;align-items:stretch}.ba-header-title-section,.ba-btn-new{justify-content:center}.ba-controls-bar{flex-direction:column;align-items:stretch}.ba-search-wrapper{max-width:none}.ba-filter-pills{overflow-x:auto;flex-wrap:nowrap;padding-bottom:.25rem}.ba-view-toggle{margin-left:0}.ba-form-row,.ba-form-photos{grid-template-columns:1fr}.ba-form-arrow{padding-top:0;transform:rotate(90deg)}.ba-detail-side{grid-template-columns:1fr}.ba-modal{max-width:100%;border-radius:20px}.ba-modal-detail{max-width:100%}.ba-list-item{flex-wrap:wrap}.ba-list-duration{display:none}}@media(max-width:480px){.ba-stats-grid{grid-template-columns:1fr}.ba-card-actions{flex-wrap:wrap}.ba-card-dates{flex-direction:column;gap:.5rem;align-items:center}}.media-page{min-height:100%;padding-bottom:2rem}.media-header{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:2rem;flex-wrap:wrap;gap:1.5rem}.media-header-left h1{font-size:2rem;font-weight:700;color:#0f172a;margin:0 0 .5rem;display:flex;align-items:center;gap:.75rem}.media-header-left h1:before{content:"";width:4px;height:28px;background:linear-gradient(180deg,#8b5cf6,#7c3aed);border-radius:4px}.media-header-left p{color:#64748b;font-size:.95rem;margin:0}.media-header-right{display:flex;gap:.75rem}.media-btn-export{display:flex;align-items:center;gap:.5rem;padding:.75rem 1.25rem;background:#fff;color:#475569;border:1px solid #e2e8f0;border-radius:12px;font-size:.875rem;font-weight:500;cursor:pointer;transition:all .2s ease}.media-btn-export:hover{border-color:#8b5cf6;color:#8b5cf6;background:#faf5ff}.media-btn-primary{display:flex;align-items:center;gap:.5rem;padding:.75rem 1.5rem;background:linear-gradient(135deg,#8b5cf6,#7c3aed);color:#fff;border:none;border-radius:12px;font-size:.875rem;font-weight:600;cursor:pointer;transition:all .3s ease;box-shadow:0 4px 14px #8b5cf659}.media-btn-primary:hover{background:linear-gradient(135deg,#7c3aed,#6d28d9);transform:translateY(-2px);box-shadow:0 6px 20px #8b5cf673}.media-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1.25rem;margin-bottom:2rem}.media-stat-card{background:#fff;border-radius:16px;padding:1.5rem;display:flex;align-items:center;gap:1rem;box-shadow:0 1px 3px #0000000d;border:1px solid #f1f5f9;transition:all .3s ease;position:relative;overflow:hidden}.media-stat-card:before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,transparent,rgba(139,92,246,.3),transparent);opacity:0;transition:opacity .3s ease}.media-stat-card:hover{transform:translateY(-4px);box-shadow:0 12px 30px #8b5cf626}.media-stat-card:hover:before{opacity:1}.media-stat-icon{width:56px;height:56px;border-radius:16px;display:flex;align-items:center;justify-content:center;font-size:1.5rem}.media-stat-icon.total{background:linear-gradient(135deg,#ede9fe,#ddd6fe)}.media-stat-icon.today{background:linear-gradient(135deg,#d1fae5,#a7f3d0)}.media-stat-icon.ocr{background:linear-gradient(135deg,#fef3c7,#fde68a)}.media-stat-icon.sessions{background:linear-gradient(135deg,#dbeafe,#bfdbfe)}.media-stat-content h3{font-size:1.75rem;font-weight:700;color:#0f172a;margin:0;line-height:1.2}.media-stat-content p{font-size:.85rem;color:#64748b;margin:.25rem 0 0}.media-stat-trend{display:flex;align-items:center;gap:.25rem;font-size:.75rem;font-weight:600;margin-top:.35rem}.media-stat-trend.up{color:#10b981}.media-stat-trend.down{color:#f59e0b}.media-controls{background:#fff;border-radius:16px;padding:1.25rem;margin-bottom:1.5rem;display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:1rem;box-shadow:0 1px 3px #0000000d;border:1px solid #f1f5f9}.media-search-box{position:relative;flex:1;max-width:350px}.media-search-box input{width:100%;padding:.875rem 1rem .875rem 3rem;border:2px solid #e2e8f0;border-radius:12px;font-size:.9rem;transition:all .2s ease;background:#f8fafc}.media-search-box input:focus{outline:none;border-color:#8b5cf6;background:#fff;box-shadow:0 0 0 3px #8b5cf61a}.media-search-box input::placeholder{color:#94a3b8}.media-search-icon{position:absolute;left:1rem;top:50%;transform:translateY(-50%);color:#94a3b8;font-size:1.1rem}.media-category-filters{display:flex;gap:.5rem;flex-wrap:wrap}.media-category-pill{padding:.5rem 1rem;border:2px solid #e2e8f0;background:#fff;border-radius:25px;font-size:.8rem;font-weight:500;cursor:pointer;color:#64748b;transition:all .25s ease;display:flex;align-items:center;gap:.4rem}.media-category-pill:hover{border-color:#8b5cf6;color:#8b5cf6;transform:translateY(-1px)}.media-category-pill.active{background:linear-gradient(135deg,#8b5cf6,#7c3aed);border-color:transparent;color:#fff;box-shadow:0 4px 12px #8b5cf64d}.media-category-pill .pill-icon{font-size:.9rem}.media-view-controls{display:flex;gap:.5rem}.media-view-btn{width:42px;height:42px;border:1px solid #e2e8f0;background:#fff;border-radius:10px;display:flex;align-items:center;justify-content:center;cursor:pointer;color:#64748b;transition:all .2s ease;font-size:1.1rem}.media-view-btn:hover{border-color:#8b5cf6;color:#8b5cf6}.media-view-btn.active{background:linear-gradient(135deg,#8b5cf6,#7c3aed);border-color:transparent;color:#fff}.media-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:1.5rem}@media(min-width:1400px){.media-grid{grid-template-columns:repeat(4,1fr)}}.media-card{background:#fff;border-radius:20px;overflow:hidden;box-shadow:0 1px 3px #0000000d;border:1px solid #f1f5f9;transition:all .4s cubic-bezier(.4,0,.2,1);position:relative;cursor:pointer}.media-card:hover{transform:translateY(-6px) scale(1.01);box-shadow:0 25px 50px #8b5cf626;border-color:transparent}.media-card-header{position:relative;padding:1.75rem 1.5rem 1.25rem;overflow:hidden}.media-card-header:before{content:"";position:absolute;inset:0;opacity:.95;z-index:0}.media-card-header.intraoral:before{background:linear-gradient(135deg,#fce7f3,#fbcfe8)}.media-card-header.extraoral:before{background:linear-gradient(135deg,#dbeafe,#bfdbfe)}.media-card-header.radiografia:before{background:linear-gradient(135deg,#ede9fe,#ddd6fe)}.media-card-header.documento:before{background:linear-gradient(135deg,#fef3c7,#fde68a)}.media-card-header.modelo-3d:before{background:linear-gradient(135deg,#cffafe,#a5f3fc)}.media-card-header.otro:before{background:linear-gradient(135deg,#d1fae5,#a7f3d0)}.media-card-header:after{content:"";position:absolute;bottom:0;left:0;right:0;height:20px;background:#fff;border-radius:20px 20px 0 0;z-index:1}.media-card-thumbnail{position:relative;z-index:2;width:60px;height:60px;border-radius:16px;background:#fff;display:flex;align-items:center;justify-content:center;box-shadow:0 8px 20px #0000001a;margin-bottom:.5rem}.media-thumbnail-icon{font-size:1.75rem}.media-category-badge{position:absolute;top:1rem;right:1rem;z-index:2;padding:.35rem .85rem;border-radius:20px;font-size:.7rem;font-weight:600;text-transform:uppercase;letter-spacing:.5px;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#ffffffe6;border:1px solid rgba(0,0,0,.05)}.media-category-badge.intraoral{color:#be185d}.media-category-badge.extraoral{color:#1d4ed8}.media-category-badge.radiografia{color:#6d28d9}.media-category-badge.documento{color:#b45309}.media-category-badge.modelo-3d{color:#0e7490}.media-category-badge.otro{color:#047857}.media-card-body{padding:0 1.5rem 1.25rem;position:relative}.media-card-patient{font-size:1.1rem;font-weight:700;color:#0f172a;margin:0 0 .25rem;line-height:1.3}.media-card-filename{font-size:.8rem;color:#94a3b8;margin:0 0 .75rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.media-card-tags{display:flex;align-items:center;gap:.5rem;margin-bottom:.5rem}.media-card-category-tag{display:inline-flex;align-items:center;gap:.35rem;padding:.35rem .75rem;border-radius:8px;font-size:.75rem;font-weight:600}.media-card-category-tag.intraoral{background:#fce7f3;color:#be185d}.media-card-category-tag.extraoral{background:#dbeafe;color:#1d4ed8}.media-card-category-tag.radiografia{background:#ede9fe;color:#6d28d9}.media-card-category-tag.documento{background:#fef3c7;color:#b45309}.media-card-category-tag.modelo-3d{background:#cffafe;color:#0e7490}.media-card-category-tag.otro{background:#d1fae5;color:#047857}.media-card-transfer-method{font-size:1rem}.media-card-ocr-badge{display:inline-flex;align-items:center;gap:.35rem;padding:.3rem .65rem;border-radius:8px;font-size:.7rem;font-weight:600;margin-top:.25rem}.media-card-ocr-badge.completed{background:#d1fae5;color:#047857}.media-card-ocr-badge.pending{background:#fef3c7;color:#b45309}.media-card-ocr-badge.processing{background:#dbeafe;color:#1d4ed8}.media-card-ocr-badge.failed{background:#fee2e2;color:#dc2626}.media-card-ocr-badge.na{display:none}.media-card-meta{display:flex;align-items:center;justify-content:space-between;padding:1rem 1.5rem;background:#f8fafc;border-top:1px solid #f1f5f9}.media-card-date{display:flex;align-items:center;gap:.5rem;font-size:.8rem;color:#64748b}.media-card-date .icon{font-size:.9rem}.media-card-size{font-size:.75rem;font-weight:600;color:#94a3b8}.media-card-footer{display:flex;border-top:1px solid #f1f5f9}.media-action-btn{flex:1;padding:.875rem;border:none;background:transparent;color:#64748b;font-size:.85rem;font-weight:500;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;justify-content:center;gap:.5rem}.media-action-btn:first-child{border-right:1px solid #f1f5f9}.media-action-btn:hover{background:#f8fafc;color:#8b5cf6}.media-action-btn.delete:hover{background:#fef2f2;color:#dc2626}.media-loading-container{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:4rem 2rem;gap:1.5rem}.media-loading-spinner{width:50px;height:50px;border:3px solid #e2e8f0;border-top-color:#8b5cf6;border-radius:50%;animation:media-spin .8s linear infinite}.media-loading-spinner.small{width:24px;height:24px;border-width:2px}@keyframes media-spin{to{transform:rotate(360deg)}}.media-loading-text{color:#64748b;font-size:.95rem}.media-empty-state{text-align:center;padding:4rem 2rem;background:#fff;border-radius:20px;border:2px dashed #e2e8f0}.media-empty-state-icon{font-size:4rem;margin-bottom:1rem;opacity:.8}.media-empty-state-title{font-size:1.25rem;font-weight:600;color:#1e293b;margin:0 0 .5rem}.media-empty-state-message{color:#64748b;margin:0 0 1.5rem}.media-table-container{background:#fff;border-radius:20px;overflow:hidden;box-shadow:0 1px 3px #0000000d;border:1px solid #f1f5f9}.media-table{width:100%;border-collapse:collapse}.media-table th{text-align:left;padding:1rem 1.25rem;background:linear-gradient(135deg,#f8fafc,#f1f5f9);font-size:.75rem;font-weight:700;color:#64748b;text-transform:uppercase;letter-spacing:.05em;border-bottom:2px solid #e2e8f0}.media-table td{padding:1rem 1.25rem;font-size:.9rem;color:#1e293b;border-bottom:1px solid #f1f5f9;vertical-align:middle}.media-table tbody tr{transition:all .2s ease;cursor:pointer}.media-table tbody tr:hover{background:linear-gradient(135deg,#faf5ff,#f5f3ff)}.media-table tbody tr:last-child td{border-bottom:none}.media-cell{display:flex;align-items:center;gap:1rem}.media-cell-icon{width:48px;height:48px;border-radius:12px;display:flex;align-items:center;justify-content:center;font-size:1.25rem;flex-shrink:0}.media-cell-icon.intraoral{background:linear-gradient(135deg,#fce7f3,#fbcfe8)}.media-cell-icon.extraoral{background:linear-gradient(135deg,#dbeafe,#bfdbfe)}.media-cell-icon.radiografia{background:linear-gradient(135deg,#ede9fe,#ddd6fe)}.media-cell-icon.documento{background:linear-gradient(135deg,#fef3c7,#fde68a)}.media-cell-icon.modelo-3d{background:linear-gradient(135deg,#cffafe,#a5f3fc)}.media-cell-icon.otro{background:linear-gradient(135deg,#d1fae5,#a7f3d0)}.media-cell-info{display:flex;flex-direction:column}.media-cell-name{font-weight:600;color:#0f172a}.media-cell-size{font-size:.8rem;color:#64748b}.media-category-tag{display:inline-flex;align-items:center;gap:.35rem;padding:.35rem .75rem;border-radius:8px;font-size:.75rem;font-weight:600}.media-category-tag.intraoral{background:#fce7f3;color:#be185d}.media-category-tag.extraoral{background:#dbeafe;color:#1d4ed8}.media-category-tag.radiografia{background:#ede9fe;color:#6d28d9}.media-category-tag.documento{background:#fef3c7;color:#b45309}.media-category-tag.modelo-3d{background:#cffafe;color:#0e7490}.media-category-tag.otro{background:#d1fae5;color:#047857}.media-transfer-badge{display:inline-flex;align-items:center;gap:.35rem;font-size:.85rem;color:#475569;text-transform:capitalize}.media-ocr-status-badge{display:inline-flex;padding:.35rem .85rem;border-radius:20px;font-size:.75rem;font-weight:600}.media-ocr-status-badge.completed{background:linear-gradient(135deg,#d1fae5,#a7f3d0);color:#047857}.media-ocr-status-badge.pending{background:linear-gradient(135deg,#fef3c7,#fde68a);color:#b45309}.media-ocr-status-badge.processing{background:linear-gradient(135deg,#dbeafe,#bfdbfe);color:#1d4ed8}.media-ocr-status-badge.failed{background:linear-gradient(135deg,#fee2e2,#fecaca);color:#dc2626}.media-ocr-status-badge.na{background:#f1f5f9;color:#94a3b8}.media-table-actions{display:flex;gap:.5rem}.media-table-action-btn{width:36px;height:36px;border:1px solid #e2e8f0;background:#fff;border-radius:10px;display:flex;align-items:center;justify-content:center;cursor:pointer;color:#64748b;transition:all .2s ease}.media-table-action-btn:hover{border-color:#8b5cf6;color:#8b5cf6;background:#faf5ff}.media-table-action-btn.delete:hover{border-color:#dc2626;color:#dc2626;background:#fef2f2}.media-modal-overlay{position:fixed;inset:0;background:#0f172a99;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:1000;padding:1rem;animation:media-fadeIn .2s ease}@keyframes media-fadeIn{0%{opacity:0}to{opacity:1}}.media-modal{background:#fff;border-radius:24px;width:100%;max-width:640px;max-height:90vh;overflow:hidden;box-shadow:0 25px 60px #00000040;animation:media-slideUp .3s ease;display:flex;flex-direction:column}.media-modal.large{max-width:800px}@keyframes media-slideUp{0%{opacity:0;transform:translateY(20px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}.media-modal-header{display:flex;align-items:center;justify-content:space-between;padding:1.5rem 1.75rem;background:linear-gradient(135deg,#8b5cf6,#7c3aed);color:#fff}.media-modal-header-content h2{font-size:1.25rem;font-weight:600;margin:0 0 .25rem}.media-modal-header-content p{font-size:.85rem;opacity:.85;margin:0}.media-modal-close{width:36px;height:36px;border-radius:10px;background:#ffffff26;border:none;color:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:1.25rem;transition:all .2s ease;flex-shrink:0}.media-modal-close:hover{background:#ffffff40;transform:rotate(90deg)}.media-modal-body{padding:1.75rem;max-height:60vh;overflow-y:auto;flex:1}.media-modal-footer{display:flex;justify-content:flex-end;gap:.75rem;padding:1.25rem 1.75rem;background:#f8fafc;border-top:1px solid #f1f5f9}.media-btn-cancel{padding:.75rem 1.5rem;background:#fff;color:#64748b;border:2px solid #e2e8f0;border-radius:12px;font-size:.875rem;font-weight:600;cursor:pointer;transition:all .2s ease}.media-btn-cancel:hover{border-color:#cbd5e1;background:#f8fafc}.media-pairing-code-section{text-align:center;margin-bottom:1.5rem}.media-pairing-label{font-size:.85rem;color:#64748b;margin:0 0 .75rem;font-weight:500}.media-pairing-code{display:flex;justify-content:center;gap:.5rem}.media-pairing-digit{width:56px;height:68px;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#f8fafc,#f1f5f9);border:2px solid #e2e8f0;border-radius:14px;font-size:2rem;font-weight:800;color:#1e293b;font-family:SF Mono,Monaco,Inconsolata,monospace}.media-qr-section{display:flex;justify-content:center;margin-bottom:1.5rem}.media-qr-placeholder{width:180px;height:180px;border:2px dashed #e2e8f0;border-radius:16px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.5rem;background:#f8fafc}.media-qr-icon{font-size:2.5rem;opacity:.6}.media-qr-placeholder p{font-size:.8rem;color:#94a3b8;margin:0}.media-pairing-instructions{text-align:center;margin-bottom:1.5rem}.media-pairing-instructions p{font-size:.85rem;color:#64748b;margin:0;line-height:1.5}.media-form-group{margin-bottom:1.5rem}.media-form-label{display:flex;align-items:center;gap:.5rem;font-size:.875rem;font-weight:600;color:#374151;margin-bottom:.5rem}.media-form-label .label-icon{font-size:1rem}.media-method-selector{display:flex;gap:.5rem}.media-method-btn{flex:1;padding:.75rem 1rem;border:2px solid #e2e8f0;background:#fff;border-radius:12px;font-size:.85rem;font-weight:500;cursor:pointer;color:#64748b;transition:all .2s ease;display:flex;align-items:center;justify-content:center;gap:.5rem}.media-method-btn:hover{border-color:#8b5cf6;color:#8b5cf6}.media-method-btn.active{background:linear-gradient(135deg,#8b5cf6,#7c3aed);border-color:transparent;color:#fff;box-shadow:0 4px 12px #8b5cf64d}.media-form-select{width:100%;padding:.875rem 1rem;border:2px solid #e2e8f0;border-radius:12px;font-size:.9rem;transition:all .2s ease;background:#f8fafc;cursor:pointer;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke='%2394a3b8'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M19 9l-7 7-7-7'%3E%3C/path%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 1rem center;background-size:1.25rem}.media-form-select:focus{outline:none;border-color:#8b5cf6;background-color:#fff;box-shadow:0 0 0 3px #8b5cf61a}.media-connection-status{display:flex;align-items:center;gap:.75rem;padding:1rem 1.25rem;background:#f8fafc;border:1px solid #e2e8f0;border-radius:12px;margin-bottom:1.5rem;font-size:.875rem;color:#64748b}.media-connection-indicator{width:12px;height:12px;border-radius:50%;flex-shrink:0}.media-connection-indicator.waiting{background:#f59e0b;animation:media-pulse 1.5s ease-in-out infinite}.media-connection-indicator.connected{background:#10b981}@keyframes media-pulse{0%,to{opacity:1}50%{opacity:.4}}.media-active-sessions{margin-top:.5rem}.media-active-sessions h4{font-size:.875rem;font-weight:600;color:#374151;margin:0 0 .75rem}.media-session-item{display:flex;align-items:center;justify-content:space-between;padding:.75rem 1rem;background:#f0fdf4;border:1px solid #bbf7d0;border-radius:10px;margin-bottom:.5rem}.media-session-info{display:flex;flex-direction:column;gap:.15rem}.media-session-device{font-size:.85rem;font-weight:600;color:#1e293b}.media-session-photos{font-size:.75rem;color:#64748b}.media-session-code{font-size:.8rem;font-weight:600;color:#059669;font-family:monospace}.media-detail-preview{width:100%;height:220px;border-radius:16px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.75rem;margin-bottom:1.5rem;position:relative;overflow:hidden}.media-detail-preview.intraoral{background:linear-gradient(135deg,#fce7f3,#fbcfe8)}.media-detail-preview.extraoral{background:linear-gradient(135deg,#dbeafe,#bfdbfe)}.media-detail-preview.radiografia{background:linear-gradient(135deg,#ede9fe,#ddd6fe)}.media-detail-preview.documento{background:linear-gradient(135deg,#fef3c7,#fde68a)}.media-detail-preview.modelo-3d{background:linear-gradient(135deg,#cffafe,#a5f3fc)}.media-detail-preview.otro{background:linear-gradient(135deg,#d1fae5,#a7f3d0)}.media-detail-preview-icon{font-size:4rem;opacity:.7}.media-detail-preview-label{font-size:.85rem;color:#64748b;margin:0}.media-detail-meta{display:flex;flex-wrap:wrap;gap:.75rem;margin-bottom:1.5rem}.media-detail-meta-item{display:flex;align-items:center;gap:.5rem;padding:.5rem 1rem;background:#fff;border:1px solid #e2e8f0;border-radius:10px;font-size:.8rem;color:#475569}.media-detail-meta-item .meta-label{font-weight:600;color:#1e293b}.media-ocr-section{margin-top:1.5rem;padding-top:1.5rem;border-top:2px dashed #e2e8f0}.media-ocr-title{font-size:.95rem;font-weight:600;color:#1e293b;margin:0 0 1rem;display:flex;align-items:center;gap:.5rem}.media-ocr-pending{padding:1.25rem;background:#fef3c7;border:1px solid #fde68a;border-radius:12px;text-align:center}.media-ocr-pending p{font-size:.85rem;color:#92400e;margin:0 0 1rem}.media-btn-ocr{padding:.75rem 1.5rem;background:linear-gradient(135deg,#8b5cf6,#7c3aed);color:#fff;border:none;border-radius:12px;font-size:.875rem;font-weight:600;cursor:pointer;transition:all .2s ease;display:inline-flex;align-items:center;gap:.5rem;box-shadow:0 4px 14px #8b5cf659}.media-btn-ocr:hover{background:linear-gradient(135deg,#7c3aed,#6d28d9);transform:translateY(-1px);box-shadow:0 6px 20px #8b5cf673}.media-ocr-processing{display:flex;align-items:center;gap:1rem;padding:1.5rem;background:#f8fafc;border:1px solid #e2e8f0;border-radius:12px}.media-ocr-processing p{font-size:.85rem;color:#64748b;margin:0}.media-ocr-results{background:#f8fafc;border:1px solid #e2e8f0;border-radius:12px;padding:1.25rem}.media-ocr-confidence{display:flex;align-items:center;gap:.75rem;margin-bottom:1.25rem}.media-confidence-label{font-size:.8rem;font-weight:600;color:#374151;white-space:nowrap}.media-confidence-bar{flex:1;height:8px;background:#e2e8f0;border-radius:4px;overflow:hidden}.media-confidence-fill{height:100%;background:linear-gradient(90deg,#10b981,#059669);border-radius:4px;transition:width .5s ease}.media-confidence-value{font-size:.85rem;font-weight:700;color:#059669;white-space:nowrap}.media-ocr-text{margin-bottom:1.25rem}.media-ocr-text h5{font-size:.8rem;font-weight:600;color:#374151;margin:0 0 .5rem}.media-ocr-text pre{background:#fff;border:1px solid #e2e8f0;border-radius:10px;padding:1rem;font-size:.8rem;line-height:1.6;color:#475569;white-space:pre-wrap;word-wrap:break-word;font-family:SF Mono,Monaco,Inconsolata,monospace;max-height:180px;overflow-y:auto;margin:0}.media-ocr-medications h5{font-size:.85rem;font-weight:600;color:#374151;margin:0 0 .75rem}.media-medications-table{width:100%;border-collapse:collapse;margin-bottom:1rem;background:#fff;border-radius:10px;overflow:hidden;border:1px solid #e2e8f0}.media-medications-table th{text-align:left;padding:.75rem 1rem;background:linear-gradient(135deg,#f8fafc,#f1f5f9);font-size:.7rem;font-weight:700;color:#64748b;text-transform:uppercase;letter-spacing:.05em;border-bottom:1px solid #e2e8f0}.media-medications-table td{padding:.75rem 1rem;font-size:.8rem;color:#1e293b;border-bottom:1px solid #f1f5f9}.media-medications-table tbody tr:last-child td{border-bottom:none}.media-btn-incorporate{padding:.75rem 1.25rem;background:linear-gradient(135deg,#059669,#047857);color:#fff;border:none;border-radius:10px;font-size:.8rem;font-weight:600;cursor:pointer;transition:all .2s ease;display:inline-flex;align-items:center;gap:.5rem;box-shadow:0 4px 12px #0596694d}.media-btn-incorporate:hover{background:linear-gradient(135deg,#047857,#065f46);transform:translateY(-1px);box-shadow:0 6px 16px #05966966}.media-ocr-failed{padding:1.25rem;background:#fee2e2;border:1px solid #fecaca;border-radius:12px;text-align:center}.media-ocr-failed p{font-size:.85rem;color:#991b1b;margin:0 0 1rem}.media-detail-notes{margin-top:1.5rem}.media-detail-notes h4{font-size:.875rem;font-weight:600;color:#374151;margin:0 0 .5rem}.media-detail-notes p{font-size:.85rem;color:#475569;line-height:1.6;margin:0;padding:.75rem 1rem;background:#f8fafc;border:1px solid #e2e8f0;border-radius:10px}.media-detail-tags{margin-top:1.25rem}.media-detail-tags h4{font-size:.875rem;font-weight:600;color:#374151;margin:0 0 .5rem}.media-tags-list{display:flex;flex-wrap:wrap;gap:.5rem}.media-tag{padding:.35rem .85rem;background:linear-gradient(135deg,#ede9fe,#ddd6fe);color:#6d28d9;border-radius:20px;font-size:.75rem;font-weight:600}@media(max-width:768px){.media-header{flex-direction:column;align-items:stretch}.media-header-right{width:100%}.media-btn-primary{flex:1;justify-content:center}.media-controls{flex-direction:column;align-items:stretch}.media-search-box{max-width:none}.media-category-filters{overflow-x:auto;padding-bottom:.5rem;flex-wrap:nowrap}.media-grid{grid-template-columns:1fr}.media-table{display:block;overflow-x:auto}.media-pairing-digit{width:44px;height:56px;font-size:1.5rem}.media-detail-meta,.media-method-selector{flex-direction:column}}.media-pagination{display:flex;align-items:center;justify-content:space-between;padding:1.25rem 1.5rem;margin-top:1rem;background:#fff;border-radius:12px;box-shadow:0 1px 3px #00000014}.media-pagination-info{font-size:.875rem;color:#64748b}.media-pagination-controls{display:flex;align-items:center;gap:.5rem}.media-page-btn{width:36px;height:36px;border:1px solid #e2e8f0;background:#fff;border-radius:8px;cursor:pointer;font-size:.875rem;color:#334155;display:flex;align-items:center;justify-content:center;transition:all .15s ease}.media-page-btn:hover:not(:disabled){border-color:#0891b2;color:#0891b2}.media-page-btn.active{background:#0891b2;border-color:#0891b2;color:#fff}.media-page-btn:disabled{opacity:.5;cursor:not-allowed}@media(max-width:640px){.media-pagination{flex-direction:column;gap:.75rem}}.endo-page{display:flex;flex-direction:column;gap:1.5rem;animation:endoFadeIn .5s ease}@keyframes endoFadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.endo-header{background:linear-gradient(135deg,#1e3a5f,#0891b2,#22d3ee);border-radius:20px;padding:2rem;position:relative;overflow:hidden}.endo-header:before{content:"";position:absolute;top:-50%;right:-20%;width:60%;height:200%;background:radial-gradient(ellipse,rgba(255,255,255,.1) 0%,transparent 70%);transform:rotate(-15deg)}.endo-header:after{content:"";position:absolute;bottom:-30%;left:-10%;width:40%;height:150%;background:radial-gradient(ellipse,rgba(34,211,238,.2) 0%,transparent 60%)}.endo-header-content{display:flex;justify-content:space-between;align-items:center;position:relative;z-index:1}.endo-header-title-section{display:flex;align-items:center;gap:1rem}.endo-header-icon{width:56px;height:56px;background:#ffffff26;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:16px;display:flex;align-items:center;justify-content:center;border:1px solid rgba(255,255,255,.2);flex-shrink:0}.endo-header-icon svg{width:28px;height:28px;color:#fff}.endo-header-title{font-size:1.75rem;font-weight:700;color:#fff;margin:0;text-shadow:0 2px 10px rgba(0,0,0,.1)}.endo-header-subtitle{color:#fffc;margin:.25rem 0 0;font-size:.95rem}.endo-btn-new{display:flex;align-items:center;gap:.5rem;padding:.875rem 1.5rem;background:#fff;color:#1e3a5f;border:none;border-radius:12px;font-size:.95rem;font-weight:600;cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1);box-shadow:0 4px 15px #00000026;flex-shrink:0}.endo-btn-new:hover{transform:translateY(-2px);box-shadow:0 8px 25px #0003}.endo-btn-new .btn-icon{font-size:1.25rem;font-weight:300}.endo-stats-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem}.endo-stat-card{background:#fff;border-radius:16px;padding:1.25rem;display:flex;align-items:center;gap:1rem;position:relative;overflow:hidden;box-shadow:0 2px 12px #0000000f;transition:all .3s ease}.endo-stat-card:hover{transform:translateY(-4px);box-shadow:0 8px 25px #0000001a}.endo-stat-card:before{content:"";position:absolute;top:0;left:0;width:4px;height:100%}.endo-stat-total:before{background:linear-gradient(180deg,#22d3ee,#0891b2)}.endo-stat-progress:before{background:linear-gradient(180deg,#f59e0b,#d97706)}.endo-stat-done:before{background:linear-gradient(180deg,#10b981,#059669)}.endo-stat-followup:before{background:linear-gradient(180deg,#8b5cf6,#6366f1)}.endo-stat-icon{width:48px;height:48px;border-radius:12px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.endo-stat-total .endo-stat-icon{background:linear-gradient(135deg,#cffafe,#a5f3fc)}.endo-stat-progress .endo-stat-icon{background:linear-gradient(135deg,#fef3c7,#fde68a)}.endo-stat-done .endo-stat-icon{background:linear-gradient(135deg,#d1fae5,#a7f3d0)}.endo-stat-followup .endo-stat-icon{background:linear-gradient(135deg,#ede9fe,#ddd6fe)}.endo-stat-icon svg{width:24px;height:24px}.endo-stat-total .endo-stat-icon svg{color:#0891b2}.endo-stat-progress .endo-stat-icon svg{color:#d97706}.endo-stat-done .endo-stat-icon svg{color:#059669}.endo-stat-followup .endo-stat-icon svg{color:#7c3aed}.endo-stat-content{display:flex;flex-direction:column}.endo-stat-value{font-size:1.75rem;font-weight:700;color:#1e293b;line-height:1}.endo-stat-label{font-size:.8rem;color:#64748b;margin-top:.25rem}.endo-controls-bar{display:flex;align-items:center;gap:1rem;flex-wrap:wrap}.endo-search-wrapper{position:relative;flex:1;min-width:240px;max-width:400px}.endo-search-icon{position:absolute;left:1rem;top:50%;transform:translateY(-50%);width:18px;height:18px;color:#94a3b8;pointer-events:none}.endo-search-input{width:100%;padding:.75rem 1rem .75rem 2.75rem;border:2px solid #e2e8f0;border-radius:12px;font-size:.9rem;color:#1e293b;background:#fff;transition:all .2s ease}.endo-search-input:focus{outline:none;border-color:#22d3ee;box-shadow:0 0 0 3px #22d3ee1a}.endo-search-input::placeholder{color:#94a3b8}.endo-filter-select{padding:.75rem 1rem;border:2px solid #e2e8f0;border-radius:12px;font-size:.9rem;color:#1e293b;background:#fff;cursor:pointer;transition:all .2s ease;min-width:180px}.endo-filter-select:focus{outline:none;border-color:#22d3ee;box-shadow:0 0 0 3px #22d3ee1a}.endo-records-list{display:flex;flex-direction:column;gap:1rem}.endo-record-card{background:#fff;border-radius:16px;overflow:hidden;box-shadow:0 2px 12px #0000000f;transition:all .3s ease;animation:endoSlideIn .4s ease forwards;opacity:0;transform:translateY(10px)}@keyframes endoSlideIn{to{opacity:1;transform:translateY(0)}}.endo-record-card:hover{box-shadow:0 8px 25px #0000001a}.endo-record-header{display:flex;align-items:center;justify-content:space-between;padding:1.25rem 1.5rem;cursor:pointer;transition:background .2s ease}.endo-record-header:hover{background:#f8fafc}.endo-record-header-left{display:flex;align-items:center;gap:1.25rem;flex:1;min-width:0}.endo-tooth-badge{width:56px;height:56px;background:linear-gradient(135deg,#1e3a5f,#0891b2);border-radius:14px;display:flex;flex-direction:column;align-items:center;justify-content:center;flex-shrink:0;box-shadow:0 4px 12px #0891b240}.endo-tooth-number{font-size:1.25rem;font-weight:800;color:#fff;line-height:1}.endo-tooth-region{font-size:.55rem;color:#ffffffb3;text-transform:uppercase;letter-spacing:.05em;margin-top:2px}.endo-record-info{display:flex;flex-direction:column;min-width:0;gap:.25rem}.endo-record-top-row{display:flex;align-items:center;gap:.75rem}.endo-record-patient{font-weight:600;font-size:1rem;color:#1e293b}.endo-record-diagnosis{font-size:.85rem;color:#475569;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:500px}.endo-record-meta-row{display:flex;align-items:center;gap:.75rem;flex-wrap:wrap;margin-top:.25rem}.endo-record-meta-item{display:flex;align-items:center;gap:.35rem;font-size:.8rem;color:#64748b}.endo-record-meta-item svg{width:14px;height:14px;color:#94a3b8}.endo-status-badge{display:inline-flex;align-items:center;padding:.25rem .75rem;border-radius:20px;font-size:.7rem;font-weight:600;text-transform:uppercase;letter-spacing:.03em}.endo-status-badge.in-progress{background:linear-gradient(135deg,#fef3c7,#fde68a);color:#92400e}.endo-status-badge.completed{background:linear-gradient(135deg,#d1fae5,#a7f3d0);color:#065f46}.endo-status-badge.follow-up{background:linear-gradient(135deg,#ede9fe,#ddd6fe);color:#5b21b6}.endo-status-badge.referred{background:linear-gradient(135deg,#dbeafe,#bfdbfe);color:#1e40af}.endo-status-badge.cancelled{background:linear-gradient(135deg,#fee2e2,#fecaca);color:#991b1b}.endo-canal-state-badge{display:inline-flex;align-items:center;padding:.2rem .6rem;border-radius:6px;font-size:.7rem;font-weight:600}.endo-canal-state-badge.vital{background:#d1fae5;color:#065f46}.endo-canal-state-badge.necrotico{background:#fee2e2;color:#991b1b}.endo-canal-state-badge.retratamiento{background:#fef3c7;color:#92400e}.endo-canal-state-badge.calcificado{background:#e2e8f0;color:#475569}.endo-record-header-right{display:flex;align-items:center;gap:.75rem;flex-shrink:0}.endo-sessions-badge{display:flex;align-items:center;gap:.35rem;padding:.25rem .625rem;background:linear-gradient(135deg,#cffafe,#a5f3fc);color:#0e7490;border-radius:8px;font-size:.7rem;font-weight:600}.endo-expand-icon{width:28px;height:28px;display:flex;align-items:center;justify-content:center;color:#94a3b8;transition:transform .3s ease}.endo-expand-icon.expanded{transform:rotate(180deg)}.endo-expand-icon svg{width:18px;height:18px}.endo-record-body{max-height:0;overflow:hidden;transition:max-height .5s ease,padding .3s ease}.endo-record-body.expanded{max-height:3000px;padding:0 1.5rem 1.5rem}.endo-record-divider{height:1px;background:#f1f5f9;margin-bottom:1.5rem}.endo-section-title{display:flex;align-items:center;gap:.5rem;font-size:.85rem;font-weight:700;color:#1e3a5f;margin:1.25rem 0 .75rem;text-transform:uppercase;letter-spacing:.03em}.endo-section-title:first-child{margin-top:0}.endo-section-title svg{width:18px;height:18px;color:#0891b2}.endo-canals-table-wrapper{overflow-x:auto;border-radius:12px;border:1px solid #e2e8f0}.endo-canals-table{width:100%;border-collapse:collapse}.endo-canals-table th{text-align:left;padding:.75rem 1rem;background:linear-gradient(135deg,#f8fafc,#f1f5f9);font-size:.7rem;font-weight:700;color:#64748b;text-transform:uppercase;letter-spacing:.05em;border-bottom:1px solid #e2e8f0}.endo-canals-table td{padding:.75rem 1rem;font-size:.85rem;color:#1e293b;border-bottom:1px solid #f1f5f9}.endo-canals-table tbody tr:last-child td{border-bottom:none}.endo-canals-table tbody tr:hover{background:#f8fafc}.endo-canal-name{font-weight:700;color:#0891b2}.endo-canal-not-found{display:inline-block;margin-left:.5rem;font-size:.65rem;color:#dc2626;font-weight:600;text-transform:uppercase}.endo-canal-notes{font-size:.8rem;color:#64748b;font-style:italic}.endo-detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin-top:.5rem}.endo-detail-grid.compact{gap:.75rem}.endo-detail-section{display:flex;flex-direction:column;gap:.25rem;padding:.75rem;background:#f8fafc;border-radius:10px;border:1px solid #f1f5f9}.endo-detail-section.full-width{grid-column:1 / -1}.endo-detail-label{font-size:.7rem;font-weight:600;color:#94a3b8;text-transform:uppercase;letter-spacing:.05em}.endo-detail-value{font-size:.85rem;color:#334155;line-height:1.5}.endo-complication{color:#dc2626;font-weight:500}.endo-radiographs-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:.75rem}.endo-radiograph-slot{display:flex;flex-direction:column;align-items:center;gap:.5rem}.endo-radiograph-placeholder{width:100%;aspect-ratio:1;background:linear-gradient(135deg,#f1f5f9,#e2e8f0);border:2px dashed #cbd5e1;border-radius:12px;display:flex;align-items:center;justify-content:center;transition:all .2s ease;cursor:pointer}.endo-radiograph-placeholder:hover{border-color:#0891b2;background:linear-gradient(135deg,#ecfeff,#cffafe)}.endo-radiograph-placeholder svg{width:28px;height:28px;color:#94a3b8}.endo-radiograph-placeholder:hover svg{color:#0891b2}.endo-radiograph-label{font-size:.7rem;font-weight:600;color:#64748b;text-align:center}.endo-sessions-timeline{display:flex;flex-direction:column}.endo-session-item{display:flex;gap:1rem}.endo-session-connector{display:flex;flex-direction:column;align-items:center;width:16px;flex-shrink:0;padding-top:.35rem}.endo-session-dot{width:10px;height:10px;background:linear-gradient(135deg,#22d3ee,#0891b2);border-radius:50%;flex-shrink:0;box-shadow:0 0 0 3px #22d3ee26}.endo-session-line{width:2px;flex:1;background:linear-gradient(180deg,#22d3ee,#e2e8f0);margin-top:4px;min-height:20px}.endo-session-content{flex:1;padding-bottom:1.25rem;display:flex;flex-direction:column;gap:.25rem}.endo-session-header-row{display:flex;align-items:center;justify-content:space-between;gap:.75rem}.endo-session-number{font-weight:700;font-size:.85rem;color:#1e3a5f}.endo-session-date{font-size:.75rem;color:#64748b;font-weight:500}.endo-session-procedure{font-size:.85rem;color:#334155;font-weight:500}.endo-session-findings{font-size:.8rem;color:#64748b;line-height:1.5}.endo-session-medication{display:flex;align-items:center;gap:.35rem;font-size:.8rem;color:#0891b2;font-weight:500;margin-top:.25rem}.endo-session-medication svg{width:14px;height:14px}.endo-session-notes{font-size:.8rem;color:#94a3b8;font-style:italic;margin-top:.15rem}.endo-followup-section{background:#f0fdfa;border:1px solid #99f6e4;border-radius:12px;padding:1rem 1.25rem;margin-top:.5rem}.endo-followup-section .endo-section-title{margin-top:0}.endo-followup-text{font-size:.85rem;color:#134e4a;line-height:1.6;margin:0}.endo-next-control{display:flex;align-items:center;gap:.5rem;font-size:.8rem;font-weight:600;color:#0891b2;margin-top:.75rem;padding-top:.75rem;border-top:1px solid #99f6e4}.endo-next-control svg{width:16px;height:16px}.endo-card-actions{display:flex;justify-content:flex-end;gap:.5rem;margin-top:1.25rem;padding-top:1.25rem;border-top:1px solid #f1f5f9}.endo-action-btn{display:flex;align-items:center;gap:.375rem;padding:.5rem .875rem;border:none;border-radius:8px;font-size:.8rem;font-weight:500;cursor:pointer;transition:all .2s ease}.endo-action-btn svg{width:15px;height:15px}.endo-action-btn.view{background:linear-gradient(135deg,#cffafe,#a5f3fc);color:#0e7490}.endo-action-btn.view:hover{background:linear-gradient(135deg,#a5f3fc,#67e8f9)}.endo-action-btn.edit{background:#dbeafe;color:#2563eb}.endo-action-btn.edit:hover{background:#bfdbfe}.endo-action-btn.print{background:#f1f5f9;color:#475569}.endo-action-btn.print:hover{background:#e2e8f0}.endo-loading-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:4rem;background:#fff;border-radius:20px;box-shadow:0 4px 20px #0000000f}.endo-loading-spinner{width:48px;height:48px;border:4px solid #e2e8f0;border-top-color:#0891b2;border-radius:50%;animation:endoSpin 1s linear infinite;margin-bottom:1rem}@keyframes endoSpin{to{transform:rotate(360deg)}}.endo-loading-state p{color:#64748b}.endo-empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:4rem 2rem;text-align:center;background:#fff;border-radius:20px;box-shadow:0 4px 20px #0000000f}.endo-empty-icon-wrapper{width:80px;height:80px;background:linear-gradient(135deg,#f1f5f9,#e2e8f0);border-radius:20px;display:flex;align-items:center;justify-content:center;margin-bottom:1.5rem}.endo-empty-icon-wrapper svg{width:40px;height:40px;color:#94a3b8}.endo-empty-state h3{font-size:1.25rem;font-weight:600;color:#1e293b;margin:0 0 .5rem}.endo-empty-state p{color:#64748b;margin-bottom:1.5rem}.endo-modal-overlay{position:fixed;inset:0;background:#0f172a99;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:1000;padding:1rem;animation:endoFadeIn .2s ease}.endo-modal{background:#fff;border-radius:24px;width:100%;max-width:640px;max-height:90vh;overflow:hidden;display:flex;flex-direction:column;box-shadow:0 25px 50px -12px #00000040;animation:endoModalSlide .3s ease}.endo-modal.large{max-width:800px}@keyframes endoModalSlide{0%{opacity:0;transform:scale(.95) translateY(20px)}to{opacity:1;transform:scale(1) translateY(0)}}.endo-modal-header{display:flex;align-items:center;gap:1rem;padding:1.5rem;background:linear-gradient(135deg,#1e3a5f,#0891b2);color:#fff}.endo-modal-icon{width:48px;height:48px;background:#ffffff26;border-radius:12px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.endo-modal-icon svg{width:24px;height:24px}.endo-modal-header h2{font-size:1.15rem;font-weight:600;margin:0}.endo-modal-header p{font-size:.85rem;opacity:.8;margin:.2rem 0 0}.endo-modal-close-btn{margin-left:auto;width:36px;height:36px;background:#ffffff1a;border:none;border-radius:10px;display:flex;align-items:center;justify-content:center;color:#fff;cursor:pointer;transition:all .2s ease;flex-shrink:0}.endo-modal-close-btn:hover{background:#fff3}.endo-modal-close-btn svg{width:20px;height:20px}.endo-modal-body{padding:1.5rem;overflow-y:auto;display:flex;flex-direction:column;gap:1.25rem}.endo-detail-header-info{display:flex;align-items:center;gap:1.5rem}.endo-detail-tooth-big{width:72px;height:72px;background:linear-gradient(135deg,#1e3a5f,#0891b2);border-radius:18px;display:flex;flex-direction:column;align-items:center;justify-content:center;flex-shrink:0;box-shadow:0 4px 15px #0891b24d}.endo-detail-tooth-number{font-size:1.75rem;font-weight:800;color:#fff;line-height:1}.endo-detail-tooth-label{font-size:.6rem;color:#ffffffb3;text-transform:uppercase;letter-spacing:.05em;margin-top:2px}.endo-detail-info-chips{display:flex;flex-wrap:wrap;gap:.5rem}.endo-detail-chip{display:inline-flex;align-items:center;padding:.25rem .7rem;background:#f1f5f9;color:#475569;border-radius:8px;font-size:.75rem;font-weight:600}.endo-form-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.endo-form-section{display:flex;flex-direction:column;gap:.5rem}.endo-form-label{display:flex;align-items:center;gap:.5rem;font-size:.875rem;font-weight:600;color:#475569}.endo-form-label svg{width:16px;height:16px;color:#94a3b8}.endo-form-select{padding:.75rem 1rem;border:2px solid #e2e8f0;border-radius:12px;font-size:.9rem;color:#1e293b;background:#f8fafc;transition:all .2s ease}.endo-form-select:focus{outline:none;border-color:#22d3ee;background:#fff;box-shadow:0 0 0 3px #22d3ee1a}.endo-form-input{padding:.75rem 1rem;border:2px solid #e2e8f0;border-radius:12px;font-size:.9rem;color:#1e293b;background:#f8fafc;transition:all .2s ease}.endo-form-input:focus{outline:none;border-color:#22d3ee;background:#fff;box-shadow:0 0 0 3px #22d3ee1a}.endo-form-textarea{padding:.75rem 1rem;border:2px solid #e2e8f0;border-radius:12px;font-size:.9rem;color:#1e293b;background:#f8fafc;min-height:80px;resize:vertical;font-family:inherit;transition:all .2s ease;line-height:1.6}.endo-form-textarea:focus{outline:none;border-color:#22d3ee;background:#fff;box-shadow:0 0 0 3px #22d3ee1a}.endo-form-upload-zone{display:flex;flex-direction:column;align-items:center;padding:1.5rem;border:2px dashed #cbd5e1;border-radius:12px;background:#f8fafc;cursor:pointer;transition:all .2s ease}.endo-form-upload-zone:hover{border-color:#22d3ee;background:#f0fdfa}.endo-form-upload-zone svg{width:32px;height:32px;color:#94a3b8;margin-bottom:.5rem}.endo-form-upload-zone span{font-size:.85rem;color:#64748b}.endo-upload-hint{font-size:.75rem!important;color:#94a3b8!important;margin-top:.25rem}.endo-modal-footer{display:flex;justify-content:flex-end;gap:.75rem;padding:1.25rem 1.5rem;background:#f8fafc;border-top:1px solid #e2e8f0}.endo-btn-cancel{padding:.75rem 1.5rem;border:2px solid #e2e8f0;background:#fff;border-radius:12px;font-size:.9rem;font-weight:500;color:#64748b;cursor:pointer;transition:all .2s ease}.endo-btn-cancel:hover{border-color:#cbd5e1;color:#475569}.endo-btn-save{display:flex;align-items:center;gap:.5rem;padding:.75rem 1.5rem;border:none;background:linear-gradient(135deg,#0891b2,#0e7490);border-radius:12px;font-size:.9rem;font-weight:600;color:#fff;cursor:pointer;transition:all .2s ease;box-shadow:0 4px 12px #0891b24d}.endo-btn-save:hover{background:linear-gradient(135deg,#0e7490,#155e75);transform:translateY(-1px);box-shadow:0 6px 16px #0891b266}.endo-btn-save svg{width:18px;height:18px}@media(max-width:1024px){.endo-stats-grid{grid-template-columns:repeat(2,1fr)}.endo-detail-grid{grid-template-columns:1fr}.endo-radiographs-grid{grid-template-columns:repeat(2,1fr)}.endo-record-diagnosis{max-width:300px}}@media(max-width:768px){.endo-header{padding:1.5rem}.endo-header-content{flex-direction:column;gap:1rem;align-items:stretch}.endo-header-title-section,.endo-btn-new{justify-content:center}.endo-controls-bar{flex-direction:column;align-items:stretch}.endo-search-wrapper{max-width:none}.endo-filter-select{min-width:auto}.endo-record-header{flex-direction:column;gap:.75rem;align-items:flex-start}.endo-record-header-right{align-self:flex-end}.endo-record-meta-row{flex-direction:column;align-items:flex-start;gap:.35rem}.endo-record-diagnosis{max-width:100%}.endo-form-row{grid-template-columns:1fr}.endo-card-actions{flex-wrap:wrap}.endo-modal{max-width:100%;border-radius:20px}.endo-detail-header-info{flex-direction:column;align-items:flex-start}}@media(max-width:480px){.endo-stats-grid{grid-template-columns:1fr}.endo-radiographs-grid{grid-template-columns:1fr 1fr}}@keyframes wrFadeIn{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@keyframes wrSlideIn{0%{opacity:0;transform:translate(-8px)}to{opacity:1;transform:translate(0)}}@keyframes wrPulse{0%,to{opacity:1}50%{opacity:.6}}.wr-page{animation:wrFadeIn .5s ease;padding:0}.wr-header{background:linear-gradient(135deg,#1e3a5f,#0891b2);border-radius:20px;padding:2rem 2.5rem;margin-bottom:1.5rem;position:relative;overflow:hidden}.wr-header:before{content:"";position:absolute;top:-50%;right:-10%;width:300px;height:300px;background:radial-gradient(circle,rgba(255,255,255,.08) 0%,transparent 70%);border-radius:50%}.wr-header-content{display:flex;align-items:center;justify-content:space-between;position:relative;z-index:1}.wr-header-left{display:flex;align-items:center;gap:1.25rem}.wr-header-icon{width:56px;height:56px;background:#ffffff26;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:16px;display:flex;align-items:center;justify-content:center;font-size:1.75rem}.wr-header-text h1{color:#fff;font-size:1.6rem;font-weight:700;margin:0;letter-spacing:-.02em}.wr-header-text p{color:#ffffffb3;font-size:.875rem;margin:.25rem 0 0}.wr-btn-emit{display:flex;align-items:center;gap:.5rem;padding:.75rem 1.5rem;background:#ffffff26;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.25);border-radius:12px;color:#fff;font-size:.875rem;font-weight:600;cursor:pointer;transition:all .2s ease}.wr-btn-emit:hover{background:#ffffff40;transform:translateY(-1px)}.wr-btn-emit svg{width:18px;height:18px}.wr-stats-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem;margin-bottom:1.5rem}.wr-stat-card{background:#fff;border-radius:16px;padding:1.25rem;display:flex;align-items:center;gap:1rem;box-shadow:0 1px 3px #0000000f;border:1px solid #f1f5f9;position:relative;overflow:hidden;animation:wrFadeIn .5s ease}.wr-stat-card:nth-child(1){animation-delay:.05s}.wr-stat-card:nth-child(2){animation-delay:.1s}.wr-stat-card:nth-child(3){animation-delay:.15s}.wr-stat-card:nth-child(4){animation-delay:.2s}.wr-stat-card:before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;border-radius:0 4px 4px 0}.wr-stat-card.stat-active:before{background:linear-gradient(180deg,#059669,#10b981)}.wr-stat-card.stat-expiring:before{background:linear-gradient(180deg,#d97706,#f59e0b)}.wr-stat-card.stat-claims:before{background:linear-gradient(180deg,#6366f1,#8b5cf6)}.wr-stat-card.stat-open:before{background:linear-gradient(180deg,#dc2626,#ef4444)}.wr-stat-icon{width:44px;height:44px;border-radius:12px;display:flex;align-items:center;justify-content:center;font-size:1.25rem;flex-shrink:0}.stat-active .wr-stat-icon{background:#ecfdf5}.stat-expiring .wr-stat-icon{background:#fffbeb}.stat-claims .wr-stat-icon{background:#eef2ff}.stat-open .wr-stat-icon{background:#fef2f2}.wr-stat-content{flex:1;min-width:0}.wr-stat-value{font-size:1.5rem;font-weight:700;color:#1e293b;line-height:1}.wr-stat-label{font-size:.75rem;color:#64748b;margin-top:.25rem;font-weight:500}.wr-tabs{display:flex;gap:.5rem;margin-bottom:1.5rem;background:#f1f5f9;padding:.35rem;border-radius:14px;width:fit-content}.wr-tab{padding:.6rem 1.25rem;border:none;border-radius:10px;font-size:.85rem;font-weight:500;color:#64748b;background:transparent;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;gap:.5rem}.wr-tab:hover{color:#1e293b;background:#ffffff80}.wr-tab.active{background:linear-gradient(135deg,#1e3a5f,#0891b2);color:#fff;box-shadow:0 2px 8px #1e3a5f4d}.wr-tab-badge{font-size:.7rem;background:#fff3;padding:.1rem .45rem;border-radius:8px;font-weight:600}.wr-tab.active .wr-tab-badge{background:#ffffff40}.wr-filters{display:flex;align-items:center;gap:.75rem;margin-bottom:1.25rem;flex-wrap:wrap}.wr-search{position:relative;flex:1;min-width:240px;max-width:400px}.wr-search-icon{position:absolute;left:.875rem;top:50%;transform:translateY(-50%);color:#94a3b8;width:16px;height:16px}.wr-search input{width:100%;padding:.65rem .875rem .65rem 2.5rem;border:1px solid #e2e8f0;border-radius:10px;font-size:.85rem;color:#1e293b;background:#fff;transition:all .2s ease;outline:none}.wr-search input:focus{border-color:#0891b2;box-shadow:0 0 0 3px #0891b21a}.wr-search input::placeholder{color:#94a3b8}.wr-filter-select{padding:.65rem 2rem .65rem .875rem;border:1px solid #e2e8f0;border-radius:10px;font-size:.85rem;color:#1e293b;background:#fff;cursor:pointer;outline:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%2394a3b8' stroke-width='2.5'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right .75rem center;transition:all .2s ease}.wr-filter-select:focus{border-color:#0891b2;box-shadow:0 0 0 3px #0891b21a}.wr-table-container{background:#fff;border-radius:16px;border:1px solid #f1f5f9;box-shadow:0 1px 3px #0000000f;overflow:hidden;animation:wrFadeIn .5s ease .1s both}.wr-table{width:100%;border-collapse:collapse}.wr-table thead{background:#f8fafc;border-bottom:1px solid #e2e8f0}.wr-table th{padding:.875rem 1rem;text-align:left;font-size:.75rem;font-weight:600;color:#64748b;text-transform:uppercase;letter-spacing:.05em;white-space:nowrap}.wr-table td{padding:.875rem 1rem;font-size:.85rem;color:#334155;border-bottom:1px solid #f1f5f9;vertical-align:middle}.wr-table tbody tr{transition:background .15s ease}.wr-table tbody tr:hover{background:#f8fafc}.wr-table tbody tr:last-child td{border-bottom:none}.wr-patient-cell{display:flex;flex-direction:column;gap:.15rem}.wr-patient-name{font-weight:600;color:#1e293b;font-size:.85rem}.wr-patient-cert{font-size:.7rem;color:#94a3b8;font-family:SF Mono,Fira Code,monospace}.wr-treatment-cell{display:flex;flex-direction:column;gap:.15rem}.wr-treatment-name{font-weight:500;color:#334155}.wr-treatment-teeth{font-size:.7rem;color:#94a3b8}.wr-dates-cell{display:flex;flex-direction:column;gap:.15rem;font-size:.8rem}.wr-date-row{display:flex;align-items:center;gap:.35rem;color:#64748b}.wr-date-label{font-size:.65rem;color:#94a3b8;text-transform:uppercase;font-weight:600;width:30px}.wr-progress-cell{min-width:120px}.wr-progress-info{display:flex;justify-content:space-between;align-items:center;margin-bottom:.35rem}.wr-progress-days{font-size:.75rem;font-weight:600;color:#1e293b}.wr-progress-pct{font-size:.65rem;color:#94a3b8}.wr-progress-bar{width:100%;height:6px;background:#f1f5f9;border-radius:3px;overflow:hidden}.wr-progress-fill{height:100%;border-radius:3px;transition:width .5s ease}.wr-progress-fill.green{background:linear-gradient(90deg,#059669,#10b981)}.wr-progress-fill.yellow{background:linear-gradient(90deg,#d97706,#f59e0b)}.wr-progress-fill.red{background:linear-gradient(90deg,#dc2626,#ef4444)}.wr-status-badge{display:inline-flex;align-items:center;gap:.35rem;padding:.3rem .75rem;border-radius:20px;font-size:.75rem;font-weight:600;white-space:nowrap}.wr-status-badge.active{background:#ecfdf5;color:#059669}.wr-status-badge.expiring-soon{background:#fffbeb;color:#d97706;animation:wrPulse 2s ease infinite}.wr-status-badge.expired{background:#f1f5f9;color:#64748b}.wr-status-badge.claimed{background:#eef2ff;color:#6366f1}.wr-status-badge.voided{background:#fef2f2;color:#dc2626}.wr-status-dot{width:6px;height:6px;border-radius:50%;background:currentColor}.wr-action-btn{padding:.4rem .75rem;border:1px solid #e2e8f0;border-radius:8px;font-size:.75rem;font-weight:500;color:#475569;background:#fff;cursor:pointer;transition:all .2s ease;display:inline-flex;align-items:center;gap:.35rem}.wr-action-btn:hover{border-color:#0891b2;color:#0891b2;background:#f0fdfa}.wr-action-btn.danger:hover{border-color:#dc2626;color:#dc2626;background:#fef2f2}.wr-actions-cell{display:flex;gap:.5rem}.wr-claims-list{display:flex;flex-direction:column;gap:1rem;animation:wrFadeIn .5s ease .1s both}.wr-claim-card{background:#fff;border-radius:16px;border:1px solid #f1f5f9;box-shadow:0 1px 3px #0000000f;padding:1.25rem 1.5rem;transition:all .2s ease}.wr-claim-card:hover{box-shadow:0 4px 12px #00000014}.wr-claim-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:.75rem}.wr-claim-header-left{display:flex;align-items:center;gap:.75rem}.wr-claim-patient{font-weight:600;color:#1e293b;font-size:.9rem}.wr-claim-warranty-info{font-size:.75rem;color:#64748b}.wr-claim-body{margin-bottom:.75rem}.wr-claim-description{font-size:.85rem;color:#475569;line-height:1.5;margin:0}.wr-claim-resolution{margin-top:.75rem;padding:.75rem 1rem;background:#f0fdf4;border-radius:10px;border-left:3px solid #059669}.wr-claim-resolution-label{font-size:.7rem;font-weight:600;color:#059669;text-transform:uppercase;letter-spacing:.05em;margin-bottom:.25rem}.wr-claim-resolution-text{font-size:.8rem;color:#334155;line-height:1.5;margin:0}.wr-claim-footer{display:flex;align-items:center;justify-content:space-between;padding-top:.75rem;border-top:1px solid #f1f5f9}.wr-claim-date{font-size:.75rem;color:#94a3b8}.wr-claim-actions{display:flex;gap:.5rem}.wr-config-container{animation:wrFadeIn .5s ease .1s both}.wr-config-table .wr-table td{vertical-align:middle}.wr-config-months{display:flex;align-items:center;gap:.5rem}.wr-config-months-value{font-weight:700;color:#1e293b;font-size:1rem}.wr-config-months-label{font-size:.75rem;color:#94a3b8}.wr-config-months-years{font-size:.7rem;color:#0891b2;background:#f0fdfa;padding:.15rem .5rem;border-radius:6px;font-weight:500}.wr-category-badge{display:inline-flex;padding:.25rem .65rem;border-radius:8px;font-size:.75rem;font-weight:500;background:#f1f5f9;color:#475569}.wr-toggle{position:relative;width:42px;height:24px;background:#e2e8f0;border-radius:12px;cursor:pointer;transition:all .2s ease;border:none;padding:0}.wr-toggle.active{background:linear-gradient(135deg,#059669,#10b981)}.wr-toggle:after{content:"";position:absolute;top:2px;left:2px;width:20px;height:20px;background:#fff;border-radius:50%;transition:all .2s ease;box-shadow:0 1px 3px #00000026}.wr-toggle.active:after{left:20px}.wr-config-conditions{font-size:.8rem;color:#64748b;max-width:300px;line-height:1.4;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.wr-modal-overlay{position:fixed;inset:0;background:#0f172a99;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:1000;animation:wrFadeIn .2s ease;padding:1rem}.wr-modal{background:#fff;border-radius:20px;box-shadow:0 25px 50px #00000026;width:100%;max-width:560px;max-height:90vh;overflow-y:auto;animation:wrFadeIn .3s ease}.wr-modal-header{padding:1.5rem 1.5rem 0;display:flex;align-items:center;justify-content:space-between}.wr-modal-header-left{display:flex;align-items:center;gap:.75rem}.wr-modal-icon{width:42px;height:42px;border-radius:12px;display:flex;align-items:center;justify-content:center;font-size:1.25rem;background:linear-gradient(135deg,#1e3a5f,#0891b2)}.wr-modal-title{font-size:1.15rem;font-weight:700;color:#1e293b;margin:0}.wr-modal-close{width:32px;height:32px;border:none;background:#f1f5f9;border-radius:8px;color:#64748b;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s ease;font-size:1.1rem}.wr-modal-close:hover{background:#e2e8f0;color:#1e293b}.wr-modal-body{padding:1.5rem}.wr-modal-footer{padding:0 1.5rem 1.5rem;display:flex;gap:.75rem;justify-content:flex-end}.wr-form-group{margin-bottom:1rem}.wr-form-label{display:block;font-size:.8rem;font-weight:600;color:#475569;margin-bottom:.4rem}.wr-form-input,.wr-form-select,.wr-form-textarea{width:100%;padding:.65rem .875rem;border:1px solid #e2e8f0;border-radius:10px;font-size:.85rem;color:#1e293b;background:#fff;transition:all .2s ease;outline:none;font-family:inherit}.wr-form-input:focus,.wr-form-select:focus,.wr-form-textarea:focus{border-color:#0891b2;box-shadow:0 0 0 3px #0891b21a}.wr-form-textarea{min-height:80px;resize:vertical}.wr-form-row{display:grid;grid-template-columns:1fr 1fr;gap:.75rem}.wr-btn-cancel{padding:.65rem 1.25rem;border:1px solid #e2e8f0;border-radius:10px;font-size:.85rem;font-weight:500;color:#64748b;background:#fff;cursor:pointer;transition:all .2s ease}.wr-btn-cancel:hover{background:#f8fafc;border-color:#cbd5e1}.wr-btn-confirm{padding:.65rem 1.25rem;border:none;border-radius:10px;font-size:.85rem;font-weight:600;color:#fff;background:linear-gradient(135deg,#1e3a5f,#0891b2);cursor:pointer;transition:all .2s ease}.wr-btn-confirm:hover{box-shadow:0 4px 12px #0891b24d;transform:translateY(-1px)}.wr-modal.certificate{max-width:700px}.wr-certificate{border:2px solid #e2e8f0;border-radius:12px;padding:2rem 2.5rem;background:#fff;position:relative}.wr-certificate:before{content:"";position:absolute;top:0;left:0;right:0;height:4px;background:linear-gradient(90deg,#1e3a5f,#0891b2,#22d3ee);border-radius:12px 12px 0 0}.wr-cert-header{text-align:center;margin-bottom:1.5rem;padding-bottom:1rem;border-bottom:1px solid #f1f5f9}.wr-cert-logo{font-size:1.5rem;font-weight:800;background:linear-gradient(135deg,#1e3a5f,#0891b2);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;margin-bottom:.25rem}.wr-cert-title{font-size:1.15rem;font-weight:700;color:#1e293b;margin:.5rem 0 .15rem}.wr-cert-subtitle{font-size:.8rem;color:#94a3b8}.wr-cert-number{font-family:SF Mono,Fira Code,monospace;font-size:.85rem;color:#0891b2;background:#f0fdfa;padding:.25rem .75rem;border-radius:6px;display:inline-block;margin-top:.5rem}.wr-cert-body{margin-bottom:1.5rem}.wr-cert-grid{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin-bottom:1.25rem}.wr-cert-field{display:flex;flex-direction:column;gap:.15rem}.wr-cert-field-label{font-size:.7rem;font-weight:600;color:#94a3b8;text-transform:uppercase;letter-spacing:.05em}.wr-cert-field-value{font-size:.9rem;color:#1e293b;font-weight:500}.wr-cert-conditions{margin-top:1.25rem;padding:1rem;background:#f8fafc;border-radius:10px;border:1px solid #f1f5f9}.wr-cert-conditions-title{font-size:.75rem;font-weight:600;color:#64748b;text-transform:uppercase;letter-spacing:.05em;margin-bottom:.5rem}.wr-cert-conditions-text{font-size:.8rem;color:#475569;line-height:1.5;margin:0}.wr-cert-footer{display:flex;justify-content:space-between;align-items:flex-end;padding-top:1.25rem;border-top:1px solid #f1f5f9}.wr-cert-signature{text-align:center}.wr-cert-signature-line{width:180px;height:1px;background:#cbd5e1;margin-bottom:.35rem}.wr-cert-signature-label{font-size:.7rem;color:#94a3b8}.wr-cert-date-issued{font-size:.75rem;color:#94a3b8;text-align:right}.wr-btn-print{display:flex;align-items:center;gap:.5rem;padding:.65rem 1.25rem;border:none;border-radius:10px;font-size:.85rem;font-weight:600;color:#fff;background:linear-gradient(135deg,#1e3a5f,#0891b2);cursor:pointer;transition:all .2s ease}.wr-btn-print:hover{box-shadow:0 4px 12px #0891b24d;transform:translateY(-1px)}.wr-empty{text-align:center;padding:3rem 1.5rem;color:#94a3b8}.wr-empty-icon{font-size:2.5rem;margin-bottom:.75rem}.wr-empty-title{font-size:1rem;font-weight:600;color:#64748b;margin-bottom:.25rem}.wr-empty-text{font-size:.85rem}@media print{body *{visibility:hidden}.wr-modal-overlay,.wr-modal-overlay *{visibility:visible}.wr-modal-overlay{position:absolute;inset:0;background:#fff;-webkit-backdrop-filter:none;backdrop-filter:none;padding:0}.wr-modal{box-shadow:none;border-radius:0;max-width:100%;max-height:none}.wr-modal-header,.wr-modal-footer,.wr-modal-close,.wr-btn-print{display:none!important}.wr-modal-body{padding:0}.wr-certificate{border:none;padding:1.5rem}}@media(max-width:1024px){.wr-stats-grid{grid-template-columns:repeat(2,1fr)}.wr-table-container{overflow-x:auto}.wr-table{min-width:800px}}@media(max-width:768px){.wr-header{padding:1.5rem;border-radius:16px}.wr-header-content{flex-direction:column;align-items:flex-start;gap:1rem}.wr-btn-emit{width:100%;justify-content:center}.wr-tabs{width:100%;overflow-x:auto}.wr-filters{flex-direction:column;align-items:stretch}.wr-search{max-width:100%}.wr-cert-grid,.wr-form-row{grid-template-columns:1fr}}@media(max-width:480px){.wr-stats-grid{grid-template-columns:1fr}.wr-header-text h1{font-size:1.25rem}}.ort-page{min-height:100%;padding-bottom:2rem}.ort-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:60vh;gap:1rem;color:#64748b}.ort-loading-spinner{width:40px;height:40px;border:3px solid #e2e8f0;border-top-color:#0891b2;border-radius:50%;animation:ort-spin .8s linear infinite}@keyframes ort-spin{to{transform:rotate(360deg)}}.ort-header{margin-bottom:2rem}.ort-header-content{display:flex;align-items:flex-start;justify-content:space-between;gap:1.5rem;flex-wrap:wrap}.ort-header-title-section{display:flex;align-items:center;gap:1rem}.ort-header-icon{width:52px;height:52px;border-radius:14px;background:linear-gradient(135deg,#0891b2,#06b6d4);display:flex;align-items:center;justify-content:center;flex-shrink:0}.ort-header-icon svg{width:26px;height:26px;color:#fff}.ort-header-title{font-size:2rem;font-weight:700;color:#0f172a;margin:0;display:flex;align-items:center;gap:.75rem}.ort-header-title:before{content:"";width:4px;height:28px;background:linear-gradient(180deg,#06b6d4,#0891b2);border-radius:4px}.ort-header-subtitle{color:#64748b;font-size:.95rem;margin:.25rem 0 0}.ort-stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1.25rem;margin-bottom:2rem}.ort-stat-card{background:#fff;border-radius:16px;padding:1.5rem;display:flex;align-items:center;gap:1rem;box-shadow:0 1px 3px #0000000d;border:1px solid #f1f5f9;transition:all .3s ease}.ort-stat-card:hover{transform:translateY(-2px);box-shadow:0 8px 25px #00000014}.ort-stat-icon{width:52px;height:52px;border-radius:14px;display:flex;align-items:center;justify-content:center}.ort-stat-icon svg{width:24px;height:24px}.ort-stat-active .ort-stat-icon{background:linear-gradient(135deg,#cffafe,#a5f3fc);color:#0891b2}.ort-stat-retention .ort-stat-icon{background:linear-gradient(135deg,#e0e7ff,#c7d2fe);color:#6366f1}.ort-stat-completed .ort-stat-icon{background:linear-gradient(135deg,#d1fae5,#a7f3d0);color:#22c55e}.ort-stat-pending .ort-stat-icon{background:linear-gradient(135deg,#fef3c7,#fde68a);color:#f59e0b}.ort-stat-content{display:flex;flex-direction:column}.ort-stat-value{font-size:1.75rem;font-weight:700;color:#0f172a;line-height:1.2}.ort-stat-label{font-size:.85rem;color:#64748b;margin-top:.15rem}.ort-split{display:flex;gap:1.5rem;min-height:70vh}.ort-panel-left{width:320px;flex-shrink:0;background:#fff;border-radius:20px;box-shadow:0 1px 3px #0000000d;border:1px solid #f1f5f9;display:flex;flex-direction:column;overflow:hidden}.ort-search{padding:1.25rem;border-bottom:1px solid #f1f5f9}.ort-search-wrapper{position:relative}.ort-search-icon{position:absolute;left:.85rem;top:50%;transform:translateY(-50%);color:#94a3b8;width:16px;height:16px}.ort-search-icon svg{width:16px;height:16px}.ort-search-input{width:100%;padding:.875rem 1rem .875rem 2.75rem;border:2px solid #e2e8f0;border-radius:12px;font-size:.9rem;transition:all .2s ease;background:#f8fafc;box-sizing:border-box}.ort-search-input:focus{outline:none;border-color:#0891b2;background:#fff;box-shadow:0 0 0 3px #0891b21a}.ort-patient-list{flex:1;overflow-y:auto;padding:.5rem}.ort-empty-list{padding:2rem;text-align:center;color:#94a3b8}.ort-patient-item{display:flex;align-items:center;gap:.75rem;padding:.875rem 1rem;border-radius:12px;cursor:pointer;transition:all .2s ease;border:2px solid transparent}.ort-patient-item:hover{background:#f0fdfa}.ort-patient-item.selected{background:linear-gradient(135deg,#f0fdfa,#ecfeff);border-color:#0891b2}.ort-patient-avatar{width:44px;height:44px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:.85rem;font-weight:700;color:#fff;flex-shrink:0;background:linear-gradient(135deg,#64748b,#475569)}.ort-patient-avatar.ort-indicator-active{background:linear-gradient(135deg,#0891b2,#0e7490);box-shadow:0 0 0 3px #0891b233}.ort-patient-avatar.ort-indicator-planning{background:linear-gradient(135deg,#8b5cf6,#7c3aed);box-shadow:0 0 0 3px #8b5cf633}.ort-patient-avatar.ort-indicator-retention{background:linear-gradient(135deg,#6366f1,#4f46e5);box-shadow:0 0 0 3px #6366f133}.ort-patient-avatar.ort-indicator-completed{background:linear-gradient(135deg,#22c55e,#16a34a);box-shadow:0 0 0 3px #22c55e33}.ort-patient-item-info{flex:1;min-width:0}.ort-patient-item-name{font-size:.9rem;font-weight:600;color:#0f172a;margin:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ort-patient-item-meta{display:flex;align-items:center;gap:.5rem;margin-top:.25rem;flex-wrap:wrap}.ort-phase-badge-sm{font-size:.7rem;font-weight:600;padding:.15rem .5rem;border-radius:6px;white-space:nowrap}.ort-phase-badge-sm.diagnostic{background:#fef3c7;color:#92400e}.ort-phase-badge-sm.planning{background:#ede9fe;color:#5b21b6}.ort-phase-badge-sm.active,.ort-phase-badge-sm.finishing{background:#cffafe;color:#155e75}.ort-phase-badge-sm.retention{background:#e0e7ff;color:#3730a3}.ort-phase-badge-sm.completed{background:#d1fae5;color:#065f46}.ort-bracket-label{font-size:.7rem;color:#94a3b8}.ort-panel-right{flex:1;min-width:0;display:flex;flex-direction:column;gap:1.25rem}.ort-no-selection{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;background:#fff;border-radius:20px;border:2px dashed #e2e8f0;gap:1rem;padding:3rem}.ort-no-selection-icon{width:80px;height:80px;background:linear-gradient(135deg,#f0fdfa,#ecfeff);border-radius:50%;display:flex;align-items:center;justify-content:center}.ort-no-selection-icon svg{width:36px;height:36px;color:#0891b2}.ort-no-selection h3{font-size:1.15rem;color:#0f172a;margin:0}.ort-no-selection p{color:#64748b;margin:0;font-size:.9rem}.ort-patient-summary{background:#fff;border-radius:16px;padding:1.5rem;box-shadow:0 1px 3px #0000000d;border:1px solid #f1f5f9;display:flex;align-items:flex-start;gap:1.5rem;flex-wrap:wrap}.ort-summary-left{display:flex;align-items:center;gap:1rem;flex:1;min-width:280px}.ort-summary-avatar{width:56px;height:56px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:1rem;font-weight:700;color:#fff;flex-shrink:0;background:linear-gradient(135deg,#64748b,#475569)}.ort-summary-avatar.ort-indicator-active{background:linear-gradient(135deg,#0891b2,#0e7490)}.ort-summary-avatar.ort-indicator-planning{background:linear-gradient(135deg,#8b5cf6,#7c3aed)}.ort-summary-avatar.ort-indicator-retention{background:linear-gradient(135deg,#6366f1,#4f46e5)}.ort-summary-avatar.ort-indicator-completed{background:linear-gradient(135deg,#22c55e,#16a34a)}.ort-summary-info h2{font-size:1.25rem;font-weight:700;color:#0f172a;margin:0 0 .5rem}.ort-summary-chips{display:flex;flex-wrap:wrap;gap:.5rem}.ort-phase-badge{font-size:.75rem;font-weight:600;padding:.25rem .75rem;border-radius:8px}.ort-phase-badge.diagnostic{background:#fef3c7;color:#92400e}.ort-phase-badge.planning{background:#ede9fe;color:#5b21b6}.ort-phase-badge.active,.ort-phase-badge.finishing{background:#cffafe;color:#155e75}.ort-phase-badge.retention{background:#e0e7ff;color:#3730a3}.ort-phase-badge.completed{background:#d1fae5;color:#065f46}.ort-chip{font-size:.75rem;padding:.25rem .75rem;border-radius:8px;background:#f1f5f9;color:#475569}.ort-summary-progress{flex:1;min-width:250px}.ort-progress-info{display:flex;justify-content:space-between;margin-bottom:.5rem}.ort-progress-label{font-size:.8rem;color:#64748b}.ort-progress-value{font-size:.85rem;font-weight:700;color:#0891b2}.ort-progress-bar{height:8px;background:#e2e8f0;border-radius:4px;overflow:hidden}.ort-progress-fill{height:100%;background:linear-gradient(90deg,#0891b2,#06b6d4);border-radius:4px;transition:width .5s ease}.ort-progress-dates{display:flex;justify-content:space-between;margin-top:.4rem;font-size:.7rem;color:#94a3b8}.ort-tabs{display:flex;gap:.25rem;background:#fff;border-radius:14px;padding:.35rem;box-shadow:0 1px 3px #0000000d;border:1px solid #f1f5f9;overflow-x:auto}.ort-tab{display:flex;align-items:center;gap:.5rem;padding:.7rem 1rem;border-radius:10px;font-size:.85rem;font-weight:500;color:#64748b;background:transparent;border:none;cursor:pointer;transition:all .2s ease;white-space:nowrap}.ort-tab svg{width:16px;height:16px;flex-shrink:0}.ort-tab:hover{background:#f8fafc;color:#0f172a}.ort-tab.active{background:linear-gradient(135deg,#0891b2,#06b6d4);color:#fff;font-weight:600}.ort-tab-content{background:#fff;border-radius:16px;padding:1.5rem;box-shadow:0 1px 3px #0000000d;border:1px solid #f1f5f9;flex:1}.ort-section-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:1.5rem}.ort-section-header h3{font-size:1.15rem;font-weight:700;color:#0f172a;margin:0}.ort-empty-tab{text-align:center;padding:3rem 2rem;color:#94a3b8}.ort-empty-tab p{margin-bottom:1rem}.ort-diagnosis-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem;margin-bottom:1.5rem}.ort-diagnosis-card{background:#f8fafc;border-radius:12px;padding:1rem 1.25rem;border:1px solid #e2e8f0}.ort-diag-label{font-size:.75rem;color:#64748b;text-transform:uppercase;letter-spacing:.05em;display:block;margin-bottom:.35rem}.ort-diag-value{font-size:1rem;font-weight:600;color:#0f172a}.ort-maloc-badge{color:#0891b2!important}.ort-diagnosis-section{margin-bottom:1.5rem}.ort-diagnosis-section h4{font-size:.95rem;font-weight:600;color:#0f172a;margin:0 0 .75rem}.ort-diagnosis-text{font-size:.9rem;color:#334155;line-height:1.6;margin:0}.ort-objectives-list{list-style:none;padding:0;margin:0}.ort-objectives-list li{display:flex;align-items:flex-start;gap:.75rem;padding:.5rem 0;font-size:.9rem;color:#334155}.ort-obj-check{width:22px;height:22px;border-radius:6px;background:linear-gradient(135deg,#d1fae5,#a7f3d0);display:flex;align-items:center;justify-content:center;flex-shrink:0;margin-top:.1rem}.ort-obj-check svg{width:14px;height:14px;color:#059669}.ort-arch-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1rem;margin-bottom:1.5rem}.ort-arch-card{background:#f8fafc;border-radius:12px;padding:1.25rem;border:1px solid #e2e8f0}.ort-arch-card h4{display:flex;align-items:center;gap:.5rem;font-size:.9rem;font-weight:600;color:#0f172a;margin:0 0 .75rem}.ort-arch-card h4 svg{width:18px;height:18px;color:#0891b2}.ort-arch-card p{font-size:.85rem;color:#475569;line-height:1.5;margin:0}.ort-timeline{display:flex;align-items:flex-start;justify-content:space-between;padding:2rem 1rem;margin-bottom:2rem;overflow-x:auto}.ort-timeline-step{display:flex;flex-direction:column;align-items:center;position:relative;flex:1;min-width:90px}.ort-timeline-dot{width:28px;height:28px;border-radius:50%;background:#e2e8f0;border:3px solid #cbd5e1;display:flex;align-items:center;justify-content:center;z-index:2;transition:all .3s ease}.ort-timeline-dot svg{width:14px;height:14px}.ort-timeline-step.current .ort-timeline-dot{width:34px;height:34px;border-width:4px;background:#fff;box-shadow:0 0 0 6px #0891b226}.ort-timeline-step.past .ort-timeline-dot{border-color:transparent}.ort-timeline-line{position:absolute;top:14px;left:50%;width:100%;height:3px;background:#e2e8f0;z-index:1}.ort-timeline-line.past{background:linear-gradient(90deg,#0891b2,#06b6d4)}.ort-timeline-label{font-size:.7rem;color:#94a3b8;margin-top:.75rem;text-align:center;font-weight:500}.ort-timeline-step.current .ort-timeline-label{color:#0891b2;font-weight:700;font-size:.75rem}.ort-timeline-step.past .ort-timeline-label{color:#0891b2}.ort-plan-details{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1.25rem;margin-bottom:2rem}.ort-plan-card{background:#f8fafc;border-radius:12px;padding:1.25rem;border:1px solid #e2e8f0}.ort-plan-card-header{display:flex;align-items:center;gap:.5rem;font-size:.9rem;font-weight:600;color:#0f172a;margin-bottom:1rem}.ort-plan-card-header svg{width:18px;height:18px;color:#0891b2}.ort-plan-dates{display:flex;flex-direction:column;gap:.75rem}.ort-plan-date-item{display:flex;justify-content:space-between;align-items:center}.ort-plan-date-label{font-size:.8rem;color:#64748b}.ort-plan-date-value{font-size:.85rem;font-weight:600;color:#0f172a}.ort-plan-duration{display:flex;gap:2rem}.ort-duration-item{display:flex;flex-direction:column;align-items:center}.ort-duration-number{font-size:2rem;font-weight:700;color:#0891b2;line-height:1.2}.ort-duration-label{font-size:.75rem;color:#64748b;text-align:center}.ort-plan-objectives h4{font-size:.95rem;font-weight:600;color:#0f172a;margin:0 0 1rem}.ort-objectives-checklist{display:flex;flex-direction:column;gap:.5rem}.ort-objective-item{display:flex;align-items:center;gap:.75rem;padding:.75rem 1rem;background:#f8fafc;border-radius:10px;border:1px solid #e2e8f0;font-size:.9rem;color:#334155}.ort-objective-checkbox{width:24px;height:24px;flex-shrink:0;color:#0891b2}.ort-objective-checkbox svg{width:24px;height:24px}.ort-wire-progression{margin-bottom:1.5rem}.ort-wire-progression h4{font-size:.9rem;font-weight:600;color:#0f172a;margin:0 0 .75rem}.ort-wire-table-wrapper{overflow-x:auto}.ort-wire-table{width:100%;border-collapse:collapse;font-size:.8rem}.ort-wire-table th{text-align:left;padding:.6rem .75rem;background:#f8fafc;color:#64748b;font-weight:600;border-bottom:2px solid #e2e8f0;white-space:nowrap}.ort-wire-table td{padding:.5rem .75rem;border-bottom:1px solid #f1f5f9;color:#334155}.ort-wire-table tbody tr:nth-child(2n){background:#fafbfc}.ort-appointments-list{display:flex;flex-direction:column;gap:1rem}.ort-appt-card{background:#f8fafc;border-radius:14px;padding:1.25rem;border:1px solid #e2e8f0;animation:ort-fadeInUp .3s ease forwards;opacity:0}@keyframes ort-fadeInUp{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.ort-appt-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:.75rem}.ort-appt-date{display:flex;align-items:center;gap:.5rem;font-size:.85rem;font-weight:600;color:#0f172a}.ort-appt-date svg{width:16px;height:16px;color:#64748b}.ort-appt-type-badge{font-size:.7rem;font-weight:600;padding:.2rem .6rem;border-radius:6px}.ort-appt-type-badge.control{background:#cffafe;color:#155e75}.ort-appt-type-badge.wire-change{background:#fef3c7;color:#92400e}.ort-appt-type-badge.placement{background:#d1fae5;color:#065f46}.ort-appt-type-badge.removal{background:#e0e7ff;color:#3730a3}.ort-appt-type-badge.emergency{background:#fee2e2;color:#991b1b}.ort-appt-type-badge.retention{background:#ede9fe;color:#5b21b6}.ort-appt-procedures{font-size:.9rem;color:#334155;line-height:1.5;margin:0 0 .75rem}.ort-appt-details{display:flex;flex-wrap:wrap;gap:.75rem;margin-bottom:.5rem}.ort-appt-detail{display:flex;align-items:center;gap:.35rem;font-size:.8rem}.ort-detail-label{color:#64748b;font-weight:500}.ort-detail-value{color:#0f172a;font-weight:600;background:#e2e8f0;padding:.15rem .5rem;border-radius:4px;font-size:.75rem}.ort-tooth-notes{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:.5rem}.ort-tooth-note-chip{font-size:.75rem;padding:.2rem .6rem;border-radius:6px;background:#fef3c7;color:#92400e;font-weight:500}.ort-appt-notes{font-size:.8rem;color:#64748b;font-style:italic;margin:.5rem 0 0}.ort-next-appt{display:flex;align-items:center;gap:.5rem;margin-top:.75rem;padding-top:.75rem;border-top:1px solid #e2e8f0;font-size:.8rem;color:#0891b2;font-weight:500}.ort-next-appt svg{width:14px;height:14px}.ort-appliances-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:1rem}.ort-appliance-card{background:#f8fafc;border-radius:14px;padding:1.25rem;border:1px solid #e2e8f0}.ort-appliance-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:.75rem}.ort-appliance-header h4{font-size:1rem;font-weight:600;color:#0f172a;margin:0}.ort-appliance-status{font-size:.7rem;font-weight:600;padding:.2rem .6rem;border-radius:6px}.ort-appliance-status.active{background:#d1fae5;color:#065f46}.ort-appliance-status.removed{background:#f1f5f9;color:#64748b}.ort-appliance-status.lost,.ort-appliance-status.broken{background:#fee2e2;color:#991b1b}.ort-appliance-meta{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:.75rem}.ort-appliance-chip{font-size:.75rem;padding:.15rem .5rem;border-radius:4px;background:#e2e8f0;color:#475569}.ort-appliance-date{font-size:.75rem;color:#64748b;display:block;margin-bottom:.25rem}.ort-appliance-instructions{font-size:.8rem;color:#475569;line-height:1.5;margin:.75rem 0 0;padding-top:.75rem;border-top:1px solid #e2e8f0}.ort-appliance-actions{display:flex;gap:.5rem;margin-top:1rem;padding-top:.75rem;border-top:1px solid #e2e8f0}.ort-action-btn{padding:.4rem .75rem;border-radius:8px;font-size:.75rem;font-weight:600;border:none;cursor:pointer;transition:all .2s ease}.ort-action-btn.remove{background:#f1f5f9;color:#475569}.ort-action-btn.remove:hover{background:#e2e8f0}.ort-action-btn.report{background:#fff1f2;color:#dc2626}.ort-action-btn.report:hover{background:#fee2e2}.ort-ceph-comparison{margin-bottom:2rem}.ort-ceph-comparison h4{font-size:.95rem;font-weight:600;color:#0f172a;margin:0 0 1rem}.ort-ceph-table-wrapper{overflow-x:auto}.ort-ceph-table{width:100%;border-collapse:collapse;font-size:.85rem}.ort-ceph-table th{text-align:left;padding:.75rem 1rem;background:#f8fafc;color:#64748b;font-weight:600;border-bottom:2px solid #e2e8f0;white-space:nowrap}.ort-ceph-table td{padding:.65rem 1rem;border-bottom:1px solid #f1f5f9;color:#334155}.ort-ceph-table tbody tr:nth-child(2n){background:#fafbfc}.ort-ceph-table tbody tr:hover{background:#f0fdfa}.ort-ceph-measure-name{font-weight:600;color:#0f172a}.ort-ceph-norm{color:#94a3b8;font-size:.75rem}.ort-ceph-diff{font-weight:600}.ort-ceph-diff.up{color:#dc2626}.ort-ceph-diff.down{color:#059669}.ort-ceph-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(340px,1fr));gap:1rem}.ort-ceph-card{background:#f8fafc;border-radius:14px;padding:1.25rem;border:1px solid #e2e8f0}.ort-ceph-card-header{display:flex;align-items:center;gap:.5rem;margin-bottom:1rem}.ort-ceph-card-header svg{width:20px;height:20px;color:#0891b2}.ort-ceph-date{font-size:.9rem;font-weight:600;color:#0f172a}.ort-ceph-values{display:grid;grid-template-columns:repeat(4,1fr);gap:.5rem;margin-bottom:1rem}.ort-ceph-val{display:flex;flex-direction:column;align-items:center;padding:.5rem;background:#fff;border-radius:8px;border:1px solid #e2e8f0}.ort-ceph-val span{font-size:.65rem;color:#94a3b8;text-transform:uppercase;letter-spacing:.05em}.ort-ceph-val strong{font-size:.95rem;color:#0f172a}.ort-ceph-interpretation{border-top:1px solid #e2e8f0;padding-top:.75rem}.ort-ceph-interpretation h5{font-size:.8rem;font-weight:600;color:#0f172a;margin:0 0 .5rem}.ort-ceph-interpretation p{font-size:.8rem;color:#475569;line-height:1.5;margin:0}.ort-btn-primary{display:flex;align-items:center;gap:.5rem;padding:.6rem 1.25rem;background:linear-gradient(135deg,#0891b2,#06b6d4);color:#fff;border:none;border-radius:10px;font-size:.85rem;font-weight:600;cursor:pointer;transition:all .2s ease}.ort-btn-primary:hover{transform:translateY(-1px);box-shadow:0 4px 12px #0891b24d}.ort-btn-secondary{display:flex;align-items:center;gap:.5rem;padding:.5rem 1rem;background:#f1f5f9;color:#475569;border:1px solid #e2e8f0;border-radius:10px;font-size:.8rem;font-weight:600;cursor:pointer;transition:all .2s ease}.ort-btn-secondary:hover{background:#e2e8f0}.ort-btn-secondary svg{width:14px;height:14px}.ort-modal-overlay{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;padding:1rem;animation:ort-fadeIn .2s ease}@keyframes ort-fadeIn{0%{opacity:0}to{opacity:1}}.ort-modal{background:#fff;border-radius:20px;width:100%;max-width:640px;max-height:90vh;overflow-y:auto;box-shadow:0 25px 50px #00000026;animation:ort-slideUp .3s ease}@keyframes ort-slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.ort-modal-header{display:flex;align-items:center;gap:1rem;padding:1.5rem 1.5rem 1rem;border-bottom:1px solid #f1f5f9}.ort-modal-icon{width:44px;height:44px;border-radius:12px;background:linear-gradient(135deg,#cffafe,#a5f3fc);display:flex;align-items:center;justify-content:center;flex-shrink:0}.ort-modal-icon svg{width:22px;height:22px;color:#0891b2}.ort-modal-header h2{font-size:1.15rem;font-weight:700;color:#0f172a;margin:0}.ort-modal-header p{font-size:.8rem;color:#64748b;margin:.15rem 0 0}.ort-modal-header>div{flex:1}.ort-modal-close{width:36px;height:36px;border-radius:10px;border:none;background:#f1f5f9;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s ease;flex-shrink:0}.ort-modal-close:hover{background:#e2e8f0}.ort-modal-close svg{width:18px;height:18px;color:#64748b}.ort-modal-body{padding:1.5rem}.ort-modal-footer{display:flex;justify-content:flex-end;gap:.75rem;padding:1rem 1.5rem 1.5rem;border-top:1px solid #f1f5f9}.ort-form-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin-bottom:1rem}.ort-form-row-4{grid-template-columns:repeat(4,1fr)}.ort-form-group{margin-bottom:1rem}.ort-form-label{display:block;font-size:.8rem;font-weight:600;color:#374151;margin-bottom:.4rem}.ort-form-input,.ort-form-select{width:100%;padding:.7rem .9rem;border:2px solid #e2e8f0;border-radius:10px;font-size:.85rem;transition:all .2s ease;background:#f8fafc;box-sizing:border-box}.ort-form-input:focus,.ort-form-select:focus{outline:none;border-color:#0891b2;background:#fff;box-shadow:0 0 0 3px #0891b21a}.ort-form-textarea{width:100%;padding:.7rem .9rem;border:2px solid #e2e8f0;border-radius:10px;font-size:.85rem;transition:all .2s ease;background:#f8fafc;resize:vertical;font-family:inherit;box-sizing:border-box}.ort-form-textarea:focus{outline:none;border-color:#0891b2;background:#fff;box-shadow:0 0 0 3px #0891b21a}.ort-btn-cancel{padding:.6rem 1.25rem;background:#f1f5f9;color:#475569;border:1px solid #e2e8f0;border-radius:10px;font-size:.85rem;font-weight:600;cursor:pointer;transition:all .2s ease}.ort-btn-cancel:hover{background:#e2e8f0}.ort-btn-save{display:flex;align-items:center;gap:.5rem;padding:.6rem 1.25rem;background:linear-gradient(135deg,#0891b2,#06b6d4);color:#fff;border:none;border-radius:10px;font-size:.85rem;font-weight:600;cursor:pointer;transition:all .2s ease}.ort-btn-save:hover{transform:translateY(-1px);box-shadow:0 4px 12px #0891b24d}.ort-btn-save:disabled{opacity:.5;cursor:not-allowed;transform:none;box-shadow:none}.ort-btn-save svg{width:16px;height:16px}@media(max-width:1024px){.ort-split{flex-direction:column}.ort-panel-left{width:100%;max-height:300px}.ort-tabs{overflow-x:auto}.ort-form-row-4{grid-template-columns:1fr 1fr}.ort-timeline{overflow-x:auto;padding:1.5rem .5rem}.ort-ceph-values{grid-template-columns:repeat(4,1fr)}}@media(max-width:640px){.ort-header-title{font-size:1.5rem}.ort-stats-grid{grid-template-columns:repeat(2,1fr)}.ort-form-row{grid-template-columns:1fr}.ort-form-row-4{grid-template-columns:1fr 1fr}.ort-patient-summary{flex-direction:column}.ort-summary-left{min-width:unset}.ort-plan-details{grid-template-columns:1fr}.ort-ceph-values{grid-template-columns:repeat(2,1fr)}.ort-ceph-cards{grid-template-columns:1fr}}.imp-page{display:flex;flex-direction:column;gap:1.5rem;animation:impFadeIn .5s ease-out}@keyframes impFadeIn{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@keyframes impPulse{0%,to{opacity:1}50%{opacity:.6}}.imp-header{display:flex;align-items:center;justify-content:space-between;padding:2rem 2.5rem;background:linear-gradient(135deg,#0ea5e9,#6366f1,#8b5cf6);border-radius:20px;position:relative;overflow:hidden}.imp-header:before{content:"";position:absolute;top:-50%;right:-20%;width:300px;height:300px;background:radial-gradient(circle,rgba(255,255,255,.1) 0%,transparent 70%);border-radius:50%}.imp-header:after{content:"";position:absolute;bottom:-30%;left:10%;width:200px;height:200px;background:radial-gradient(circle,rgba(255,255,255,.08) 0%,transparent 60%);border-radius:50%}.imp-header-left{display:flex;align-items:center;gap:1.25rem;position:relative;z-index:1}.imp-header-icon{width:56px;height:56px;background:#ffffff26;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:16px;display:flex;align-items:center;justify-content:center;border:1px solid rgba(255,255,255,.2)}.imp-header-icon svg{color:#fff}.imp-header-info h1{font-size:1.5rem;font-weight:700;color:#fff;margin:0}.imp-header-info p{font-size:.875rem;color:#fffc;margin:.25rem 0 0}.imp-header-right{position:relative;z-index:1}.imp-btn-new{display:flex;align-items:center;gap:.5rem;padding:.75rem 1.5rem;background:#fff;color:#6366f1;border:none;border-radius:12px;font-weight:600;font-size:.875rem;cursor:pointer;transition:all .2s}.imp-btn-new:hover{transform:translateY(-2px);box-shadow:0 8px 25px #00000026}.imp-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem}.imp-stat-card{background:#fff;border-radius:16px;padding:1.25rem;border:1px solid #e2e8f0;display:flex;align-items:center;gap:1rem;transition:all .2s;position:relative;overflow:hidden}.imp-stat-card:before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px}.imp-stat-card:hover{transform:translateY(-2px);box-shadow:0 4px 15px #00000014}.imp-stat-card.total:before{background:linear-gradient(180deg,#0ea5e9,#6366f1)}.imp-stat-card.implants:before{background:linear-gradient(180deg,#3b82f6,#2563eb)}.imp-stat-card.surgeries:before{background:linear-gradient(180deg,#f59e0b,#d97706)}.imp-stat-card.followups:before{background:linear-gradient(180deg,#10b981,#059669)}.imp-stat-icon{width:44px;height:44px;border-radius:12px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.imp-stat-card.total .imp-stat-icon{background:#eff6ff;color:#6366f1}.imp-stat-card.implants .imp-stat-icon{background:#dbeafe;color:#3b82f6}.imp-stat-card.surgeries .imp-stat-icon{background:#fef3c7;color:#f59e0b}.imp-stat-card.followups .imp-stat-icon{background:#d1fae5;color:#10b981}.imp-stat-info{display:flex;flex-direction:column}.imp-stat-value{font-size:1.5rem;font-weight:700;color:#0f172a;line-height:1}.imp-stat-label{font-size:.8rem;color:#64748b;margin-top:.25rem}.imp-controls{display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap}.imp-controls-left{display:flex;align-items:center;gap:1rem;flex:1;min-width:0;flex-wrap:wrap}.imp-search-box{position:relative;min-width:250px;flex-shrink:0}.imp-search-box input{width:100%;padding:.625rem 1rem .625rem 2.5rem;border:1px solid #e2e8f0;border-radius:12px;font-size:.875rem;background:#fff;color:#0f172a;transition:all .2s}.imp-search-box input:focus{outline:none;border-color:#6366f1;box-shadow:0 0 0 3px #6366f11a}.imp-search-icon{position:absolute;left:.75rem;top:50%;transform:translateY(-50%);color:#94a3b8;display:flex}.imp-category-filters{display:flex;gap:.5rem;flex-wrap:wrap}.imp-category-pill{padding:.5rem 1rem;border-radius:20px;border:1px solid #e2e8f0;background:#fff;font-size:.8rem;font-weight:500;color:#64748b;cursor:pointer;transition:all .2s;white-space:nowrap}.imp-category-pill:hover{border-color:#6366f1;color:#6366f1}.imp-category-pill.active{background:linear-gradient(135deg,#6366f1,#8b5cf6);color:#fff;border-color:transparent}.imp-controls-right{display:flex;gap:.25rem;background:#fff;border:1px solid #e2e8f0;border-radius:10px;padding:.25rem}.imp-view-btn{padding:.5rem;border:none;background:transparent;border-radius:8px;cursor:pointer;color:#94a3b8;display:flex;align-items:center;justify-content:center;transition:all .2s}.imp-view-btn.active{background:#6366f1;color:#fff}.imp-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:1rem}.imp-card{background:#fff;border-radius:16px;border:1px solid #e2e8f0;overflow:hidden;transition:all .25s;cursor:pointer}.imp-card:hover{transform:translateY(-3px);box-shadow:0 8px 25px #0000001a;border-color:#c7d2fe}.imp-card-header{padding:1rem 1.25rem;display:flex;align-items:flex-start;justify-content:space-between;gap:.75rem}.imp-card-badge{display:inline-flex;align-items:center;gap:.35rem;padding:.3rem .75rem;border-radius:20px;font-size:.7rem;font-weight:600;text-transform:uppercase;letter-spacing:.03em;white-space:nowrap;flex-shrink:0}.imp-card-badge.implantes{background:#dbeafe;color:#2563eb}.imp-card-badge.cirugia-ortognatica{background:#fce7f3;color:#be185d}.imp-card-badge.planificacion{background:#fef3c7;color:#b45309}.imp-card-badge.seguimiento{background:#d1fae5;color:#047857}.imp-card-status{display:inline-flex;align-items:center;padding:.25rem .6rem;border-radius:8px;font-size:.7rem;font-weight:500;white-space:nowrap}.imp-card-status.planificacion{background:#fef3c7;color:#92400e}.imp-card-status.en-curso{background:#dbeafe;color:#1d4ed8}.imp-card-status.cicatrizacion{background:#e0e7ff;color:#4338ca}.imp-card-status.completado{background:#d1fae5;color:#065f46}.imp-card-status.cancelado{background:#fee2e2;color:#991b1b}.imp-card-body{padding:0 1.25rem 1.25rem}.imp-card-title{font-size:.95rem;font-weight:600;color:#0f172a;margin:0 0 .5rem;line-height:1.3}.imp-card-patient{font-size:.825rem;color:#64748b;margin-bottom:.75rem;display:flex;align-items:center;gap:.4rem}.imp-card-meta{display:flex;align-items:center;justify-content:space-between;gap:.5rem}.imp-card-phase{font-size:.775rem;color:#6366f1;font-weight:500;display:flex;align-items:center;gap:.35rem}.imp-card-devices{font-size:.75rem;color:#94a3b8}.imp-card-progress{margin-top:.75rem}.imp-card-progress-bar{width:100%;height:4px;background:#e2e8f0;border-radius:2px;overflow:hidden}.imp-card-progress-fill{height:100%;border-radius:2px;background:linear-gradient(90deg,#6366f1,#8b5cf6);transition:width .4s ease}.imp-list{display:flex;flex-direction:column;gap:.5rem}.imp-list-item{display:flex;align-items:center;gap:1rem;padding:1rem 1.25rem;background:#fff;border:1px solid #e2e8f0;border-radius:12px;cursor:pointer;transition:all .2s}.imp-list-item:hover{border-color:#c7d2fe;box-shadow:0 2px 10px #0000000f}.imp-list-item-badge{flex-shrink:0}.imp-list-item-info{flex:1;min-width:0}.imp-list-item-title{font-size:.9rem;font-weight:600;color:#0f172a;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.imp-list-item-subtitle{font-size:.8rem;color:#64748b;margin-top:.15rem}.imp-list-item-phase{font-size:.775rem;color:#6366f1;font-weight:500;white-space:nowrap}.imp-list-item-status{flex-shrink:0}.imp-empty{text-align:center;padding:4rem 2rem;color:#94a3b8}.imp-empty-icon{width:64px;height:64px;margin:0 auto 1rem;background:#f1f5f9;border-radius:16px;display:flex;align-items:center;justify-content:center;color:#cbd5e1}.imp-empty h3{font-size:1.1rem;color:#64748b;margin:0 0 .5rem}.imp-empty p{font-size:.875rem}.imp-modal-overlay{position:fixed;inset:0;background:#00000080;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:1000;padding:1.5rem;animation:impFadeIn .2s ease-out}.imp-modal{background:#fff;border-radius:20px;width:100%;max-width:700px;max-height:85vh;display:flex;flex-direction:column;overflow:hidden}.imp-modal.large{max-width:850px}.imp-modal-header{display:flex;align-items:center;justify-content:space-between;padding:1.25rem 1.5rem;border-bottom:1px solid #e2e8f0}.imp-modal-header h2{font-size:1.15rem;font-weight:700;color:#0f172a;margin:0}.imp-modal-close{width:36px;height:36px;border:none;background:#f1f5f9;border-radius:10px;cursor:pointer;display:flex;align-items:center;justify-content:center;color:#64748b;transition:all .2s}.imp-modal-close:hover{background:#e2e8f0;color:#0f172a}.imp-modal-body{padding:1.5rem;overflow-y:auto;flex:1}.imp-modal-footer{display:flex;justify-content:flex-end;gap:.75rem;padding:1.25rem 1.5rem;border-top:1px solid #e2e8f0}.imp-form-section{margin-bottom:1.5rem}.imp-form-section-title{font-size:.85rem;font-weight:600;color:#6366f1;text-transform:uppercase;letter-spacing:.05em;margin-bottom:1rem;padding-bottom:.5rem;border-bottom:2px solid #e0e7ff}.imp-form-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin-bottom:1rem}.imp-form-row.three{grid-template-columns:1fr 1fr 1fr}.imp-form-group{display:flex;flex-direction:column;gap:.35rem}.imp-form-group.full{grid-column:1 / -1}.imp-form-group label{font-size:.8rem;font-weight:500;color:#475569}.imp-form-group input,.imp-form-group select,.imp-form-group textarea{padding:.6rem .85rem;border:1px solid #e2e8f0;border-radius:10px;font-size:.85rem;background:#f8fafc;color:#0f172a;transition:all .2s}.imp-form-group input:focus,.imp-form-group select:focus,.imp-form-group textarea:focus{outline:none;border-color:#6366f1;box-shadow:0 0 0 3px #6366f11a;background:#fff}.imp-form-group textarea{resize:vertical;min-height:80px}.imp-btn-cancel{padding:.6rem 1.25rem;border:1px solid #e2e8f0;background:#fff;color:#64748b;border-radius:10px;font-size:.85rem;font-weight:500;cursor:pointer;transition:all .2s}.imp-btn-cancel:hover{background:#f1f5f9}.imp-btn-save{padding:.6rem 1.5rem;border:none;background:linear-gradient(135deg,#6366f1,#8b5cf6);color:#fff;border-radius:10px;font-size:.85rem;font-weight:600;cursor:pointer;transition:all .2s}.imp-btn-save:hover{transform:translateY(-1px);box-shadow:0 4px 15px #6366f159}.imp-btn-add-device{display:flex;align-items:center;gap:.4rem;padding:.5rem 1rem;border:1px dashed #c7d2fe;background:#f5f3ff;color:#6366f1;border-radius:10px;font-size:.8rem;font-weight:500;cursor:pointer;transition:all .2s;margin-top:.5rem}.imp-btn-add-device:hover{background:#ede9fe;border-color:#6366f1}.imp-detail-header-row{display:flex;align-items:center;gap:.75rem;margin-bottom:1rem;flex-wrap:wrap}.imp-detail-title{font-size:1.1rem;font-weight:700;color:#0f172a}.imp-detail-meta{display:grid;grid-template-columns:1fr 1fr;gap:.75rem;margin-bottom:1.5rem;padding:1rem;background:#f8fafc;border-radius:12px}.imp-detail-meta-item{display:flex;flex-direction:column;gap:.15rem}.imp-detail-meta-label{font-size:.7rem;color:#94a3b8;text-transform:uppercase;letter-spacing:.05em;font-weight:500}.imp-detail-meta-value{font-size:.875rem;color:#0f172a;font-weight:500}.imp-detail-section{margin-bottom:1.5rem}.imp-detail-section-title{font-size:.85rem;font-weight:600;color:#6366f1;text-transform:uppercase;letter-spacing:.05em;margin-bottom:.75rem;display:flex;align-items:center;gap:.5rem}.imp-table-wrapper{overflow-x:auto;border-radius:12px;border:1px solid #e2e8f0}.imp-table{width:100%;border-collapse:collapse;font-size:.8rem}.imp-table thead{background:linear-gradient(135deg,#f8fafc,#f1f5f9)}.imp-table th{padding:.65rem .75rem;text-align:left;font-weight:600;color:#475569;font-size:.75rem;text-transform:uppercase;letter-spacing:.03em;white-space:nowrap}.imp-table td{padding:.6rem .75rem;color:#334155;border-top:1px solid #f1f5f9}.imp-table tbody tr:hover{background:#f8fafc}.imp-cbct-card{background:#f8fafc;border:1px solid #e2e8f0;border-radius:12px;padding:1rem;margin-bottom:.75rem}.imp-cbct-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:.5rem}.imp-cbct-id{font-size:.85rem;font-weight:600;color:#0f172a}.imp-cbct-date{font-size:.75rem;color:#94a3b8}.imp-cbct-measurements{display:flex;gap:1.25rem;flex-wrap:wrap}.imp-cbct-measure{display:flex;flex-direction:column;gap:.1rem}.imp-cbct-measure-label{font-size:.7rem;color:#94a3b8}.imp-cbct-measure-value{font-size:.85rem;font-weight:600;color:#334155}.imp-cbct-notes{margin-top:.5rem;font-size:.8rem;color:#64748b;font-style:italic}.imp-timeline{position:relative;padding-left:2rem}.imp-timeline:before{content:"";position:absolute;left:11px;top:0;bottom:0;width:2px;background:#e2e8f0}.imp-timeline-item{position:relative;padding-bottom:1.5rem;padding-left:1rem}.imp-timeline-item:last-child{padding-bottom:0}.imp-timeline-dot{position:absolute;left:-2rem;top:2px;width:24px;height:24px;border-radius:50%;display:flex;align-items:center;justify-content:center;z-index:1}.imp-timeline-dot.completada{background:#10b981;color:#fff;box-shadow:0 0 0 4px #10b98126}.imp-timeline-dot.en-curso{background:#0ea5e9;color:#fff;box-shadow:0 0 0 4px #0ea5e926;animation:impPulse 2s ease-in-out infinite}.imp-timeline-dot.pendiente{background:#e2e8f0;color:#94a3b8}.imp-timeline-label{font-size:.875rem;font-weight:600;color:#0f172a}.imp-timeline-date{font-size:.75rem;color:#94a3b8;margin-top:.15rem}.imp-timeline-notes{font-size:.8rem;color:#64748b;margin-top:.35rem;line-height:1.4}.imp-timeline-measurements{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:.5rem}.imp-timeline-measure{display:inline-flex;align-items:center;gap:.35rem;padding:.25rem .6rem;background:#f1f5f9;border-radius:6px;font-size:.725rem}.imp-timeline-measure-name{color:#64748b;font-weight:500}.imp-timeline-measure-value{color:#0f172a;font-weight:600}.imp-ortho-grid{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin-bottom:1rem}.imp-ortho-column h4{font-size:.8rem;font-weight:600;color:#475569;margin:0 0 .5rem;padding-bottom:.35rem;border-bottom:2px solid #e0e7ff}.imp-ortho-column.pre h4{border-color:#fecaca;color:#b91c1c}.imp-ortho-column.post h4{border-color:#bbf7d0;color:#15803d}.imp-ortho-measure-row{display:flex;justify-content:space-between;padding:.35rem 0;font-size:.8rem;border-bottom:1px solid #f1f5f9}.imp-ortho-measure-name{color:#64748b}.imp-ortho-measure-val{font-weight:600;color:#0f172a}.imp-ortho-movements{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:.5rem}.imp-ortho-movement-tag{padding:.3rem .75rem;background:#ede9fe;color:#6d28d9;border-radius:8px;font-size:.75rem;font-weight:500}.imp-ortho-fixation{margin-top:.75rem;padding:.75rem;background:#f8fafc;border-radius:10px;font-size:.8rem;color:#334155}.imp-ortho-fixation strong{color:#475569;font-size:.75rem;text-transform:uppercase;letter-spacing:.03em}.imp-loading{display:flex;align-items:center;justify-content:center;padding:4rem;color:#94a3b8;font-size:.9rem}@media(max-width:1024px){.imp-stats{grid-template-columns:repeat(2,1fr)}}@media(max-width:768px){.imp-header{flex-direction:column;align-items:flex-start;gap:1rem;padding:1.5rem}.imp-stats{grid-template-columns:1fr}.imp-controls{flex-direction:column;align-items:stretch}.imp-controls-left{flex-direction:column}.imp-search-box{min-width:100%}.imp-category-filters{overflow-x:auto;flex-wrap:nowrap;-webkit-overflow-scrolling:touch}.imp-grid,.imp-form-row,.imp-form-row.three,.imp-detail-meta,.imp-ortho-grid{grid-template-columns:1fr}.imp-list-item{flex-wrap:wrap}.imp-modal{max-height:95vh}}.image-toolbar{position:absolute;bottom:16px;left:50%;transform:translate(-50%);z-index:20;display:flex;align-items:center;gap:8px;background:#1e293bf2;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);padding:8px 16px;border-radius:12px;box-shadow:0 4px 20px #0000004d}.image-toolbar .toolbar-section{display:flex;align-items:center;gap:6px}.image-toolbar .toolbar-btn{width:32px;height:32px;display:flex;align-items:center;justify-content:center;background:#ffffff1a;border:1px solid rgba(255,255,255,.1);border-radius:8px;cursor:pointer;transition:all .2s ease;font-size:16px;color:#e2e8f0;line-height:1}.image-toolbar .toolbar-btn:hover{background:#fff3;border-color:#fff3;transform:translateY(-1px)}.image-toolbar .toolbar-btn:active{transform:translateY(0);background:#ffffff40}.toolbar-zoom-display{font-size:12px;font-weight:600;color:#e2e8f0;min-width:48px;text-align:center;font-family:Monaco,Consolas,monospace}.image-toolbar .toolbar-divider{width:1px;height:24px;background:#fff3;margin:0 4px}@media(max-width:768px){.image-toolbar{padding:6px 10px;gap:4px;flex-wrap:wrap;max-width:calc(100% - 32px);justify-content:center}.image-toolbar .toolbar-btn{width:28px;height:28px;font-size:14px}.toolbar-zoom-display{font-size:11px;min-width:40px}.image-toolbar .toolbar-divider{display:none}}.minimap-container{position:absolute;top:12px;right:12px;z-index:15;border-radius:10px;overflow:hidden;box-shadow:0 4px 20px #0006;border:2px solid rgba(255,255,255,.15);transition:opacity .3s ease}.minimap-container:hover{border-color:#06b6d480}.minimap-canvas{display:block;width:150px;height:150px;cursor:crosshair}@media(max-width:768px){.minimap-container{display:none}}.visor-hd-page{padding:1.5rem;min-height:100vh;background:linear-gradient(135deg,#f8fafc,#e2e8f0);animation:visorFadeInUp .5s ease-out}@keyframes visorFadeInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.visor-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem;flex-wrap:wrap;gap:1rem}.visor-header-content h1{font-size:1.75rem;font-weight:700;color:#1e293b;margin:0;display:flex;align-items:center;gap:.5rem}.visor-header-content p{color:#64748b;margin:.25rem 0 0}.visor-header-actions{display:flex;gap:.75rem}.visor-hd-page .btn-reset{display:flex;align-items:center;gap:.5rem;padding:.75rem 1.25rem;background:linear-gradient(135deg,#ef4444,#dc2626);color:#fff;border:none;border-radius:12px;font-weight:600;cursor:pointer;transition:all .3s ease;box-shadow:0 4px 15px #ef44444d}.visor-hd-page .btn-reset:hover{transform:translateY(-2px);box-shadow:0 6px 20px #ef444466}.visor-content{display:grid;grid-template-columns:320px 1fr;gap:1.5rem;height:calc(100vh - 180px)}@media(max-width:1024px){.visor-content{grid-template-columns:1fr;height:auto}}.visor-sidebar{display:flex;flex-direction:column;gap:1rem;overflow-y:auto}.visor-card{background:#fff;border-radius:16px;padding:1.25rem;box-shadow:0 4px 20px #00000014;border:1px solid rgba(148,163,184,.1)}.visor-card h3{font-size:1rem;font-weight:600;color:#1e293b;margin:0 0 1rem;display:flex;align-items:center;gap:.5rem}.visor-dropzone{border:2px dashed #cbd5e1;border-radius:12px;padding:2rem;text-align:center;cursor:pointer;transition:all .3s ease;background:#f8fafc}.visor-dropzone:hover{border-color:#0891b2;background:#f0fdfa}.visor-dropzone.dragging{border-color:#0891b2;background:#e0f7fa;transform:scale(1.02)}.visor-dropzone.has-file{border-style:solid;border-color:#10b981;background:#ecfdf5}.visor-dropzone .dropzone-icon{font-size:2.5rem;display:block;margin-bottom:.5rem}.visor-dropzone p{color:#475569;font-weight:500;margin:0}.visor-dropzone .dropzone-hint{font-size:.8rem;color:#94a3b8;margin-top:.25rem;display:block}.visor-file-info{display:flex;flex-direction:column;align-items:center;gap:.5rem}.visor-file-info .file-icon{font-size:2rem}.visor-file-info .file-name{font-weight:600;color:#1e293b;word-break:break-all}.visor-file-info .file-loaded{color:#10b981;font-size:.875rem;font-weight:500}.visor-image-info .info-grid{display:grid;grid-template-columns:1fr 1fr;gap:.75rem}.visor-image-info .info-item{background:#f8fafc;padding:.75rem;border-radius:8px;display:flex;flex-direction:column;gap:.25rem}.visor-image-info .info-label{font-size:.75rem;color:#64748b;text-transform:uppercase;letter-spacing:.5px}.visor-image-info .info-value{font-size:1rem;font-weight:600;color:#1e293b}.visor-slider{display:flex;flex-direction:column;gap:.5rem;margin-bottom:.75rem}.visor-slider label{font-size:.875rem;color:#475569}.visor-slider label strong{color:#0891b2}.visor-slider input[type=range]{width:100%;height:6px;border-radius:3px;background:#e2e8f0;outline:none;cursor:pointer;-webkit-appearance:none;appearance:none}.visor-slider input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:18px;height:18px;border-radius:50%;background:#0891b2;cursor:pointer;box-shadow:0 2px 6px #0891b266}.visor-checkbox{display:flex;align-items:center;gap:.5rem;cursor:pointer;font-size:.875rem;color:#475569;margin-top:.5rem}.visor-checkbox input[type=checkbox]{width:16px;height:16px;accent-color:#0891b2;cursor:pointer}.visor-zoom-buttons{display:flex;gap:.5rem;margin-top:.5rem}.visor-btn{flex:1;padding:.5rem;border:2px solid #e2e8f0;background:#fff;border-radius:8px;font-size:.8rem;font-weight:600;color:#475569;cursor:pointer;transition:all .2s ease}.visor-btn:hover{border-color:#0891b2;color:#0891b2;background:#f0fdfa}.visor-instructions ul{list-style:none;padding:0;margin:0}.visor-instructions li{padding:.5rem 0;color:#475569;font-size:.875rem;border-bottom:1px solid #f1f5f9}.visor-instructions li:last-child{border-bottom:none}.visor-instructions li strong{color:#1e293b}.visor-viewer-container{background:#fff;border-radius:16px;box-shadow:0 4px 20px #00000014;border:1px solid rgba(148,163,184,.1);overflow:hidden;position:relative;min-height:500px}.visor-viewer-container.fullscreen{position:fixed;inset:0;z-index:9999;border-radius:0;min-height:100vh}.visor-canvas{width:100%;height:100%;display:block;position:absolute;top:0;left:0;cursor:grab}.visor-empty-state{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);text-align:center;color:#64748b;z-index:5;pointer-events:none}.visor-empty-state .empty-icon{font-size:4rem;display:block;margin-bottom:1rem;opacity:.5}.visor-empty-state h2{font-size:1.5rem;color:#475569;margin:0 0 .5rem}.visor-empty-state p{margin:0;color:#94a3b8}@media(max-width:768px){.visor-hd-page{padding:1rem}.visor-header-content h1{font-size:1.5rem}.visor-viewer-container{min-height:400px}.visor-dropzone{padding:1.5rem}}.smile-simulator{padding:2rem 2.5rem;min-height:100%;background:linear-gradient(135deg,#f8fafc,#f1f5f9,#e2e8f0);position:relative;overflow-x:hidden}.smile-bg-1{position:absolute;top:-100px;right:-100px;width:400px;height:400px;border-radius:50%;pointer-events:none;filter:blur(80px);opacity:.5;background:radial-gradient(circle,rgba(14,165,233,.15) 0%,transparent 70%)}.smile-bg-2{position:absolute;bottom:-150px;left:-150px;width:500px;height:500px;border-radius:50%;pointer-events:none;filter:blur(80px);opacity:.5;background:radial-gradient(circle,rgba(168,85,247,.1) 0%,transparent 70%)}.smile-header{margin-bottom:2rem;position:relative;z-index:1}.smile-header h1{font-size:2.25rem;font-weight:800;color:#0f172a;margin:0 0 .5rem;letter-spacing:-.03em;line-height:1.2}.smile-header p{font-size:1rem;color:#64748b;margin:0;font-weight:400}.smile-content{display:flex;gap:1.5rem;position:relative;z-index:1}.smile-sidebar{width:340px;flex-shrink:0;display:flex;flex-direction:column;gap:1.25rem}.smile-main{flex:1;min-width:0}.smile-card{background:linear-gradient(145deg,#fff,#f8fafc);border-radius:16px;padding:1.25rem;box-shadow:0 1px 3px #0000000a,0 4px 12px #00000008,0 0 0 1px #00000005}.smile-card-title{font-size:.8125rem;font-weight:700;color:#475569;text-transform:uppercase;letter-spacing:.05em;margin:0 0 .75rem}.treatment-options{display:flex;flex-direction:column;gap:.5rem}.treatment-btn{display:flex;align-items:center;gap:.75rem;width:100%;padding:.875rem 1rem;border-radius:12px;border:2px solid #e2e8f0;background:#fff;cursor:pointer;transition:all .2s ease;text-align:left}.treatment-btn:hover{border-color:#cbd5e1;transform:translateY(-1px);box-shadow:0 2px 8px #0000000f}.treatment-btn.active{border-color:var(--treatment-color, #0ea5e9);background:var(--treatment-bg, #f0f9ff);box-shadow:0 2px 12px var(--treatment-shadow, rgba(14, 165, 233, .15))}.treatment-btn-icon{width:40px;height:40px;border-radius:10px;display:flex;align-items:center;justify-content:center;font-size:1.25rem;flex-shrink:0}.treatment-btn-text{flex:1}.treatment-btn-text strong{display:block;font-size:.9375rem;color:#0f172a;font-weight:600}.treatment-btn-text span{display:block;font-size:.75rem;color:#94a3b8;margin-top:2px}.upload-dropzone{border:2px dashed #cbd5e1;border-radius:12px;padding:1.5rem 1rem;text-align:center;cursor:pointer;transition:all .2s ease;background:#ffffff80}.upload-dropzone:hover,.upload-dropzone.drag-over{border-color:#0ea5e9;background:#0ea5e90a}.upload-dropzone.has-file{border-style:solid;border-color:#0ea5e9;padding:.75rem}.upload-icon{color:#94a3b8;margin-bottom:.5rem}.upload-text{font-size:.875rem;color:#64748b;margin:0}.upload-text strong{color:#0ea5e9}.upload-hint{font-size:.75rem;color:#94a3b8;margin:.25rem 0 0}.upload-preview{position:relative;border-radius:8px;overflow:hidden}.upload-preview img{width:100%;height:140px;object-fit:cover;display:block;border-radius:8px}.upload-preview-remove{position:absolute;top:6px;right:6px;width:24px;height:24px;border-radius:50%;border:none;background:#00000080;color:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:.75rem;transition:background .15s}.upload-preview-remove:hover{background:#ef4444cc}.generate-btn{width:100%;padding:.875rem 1.5rem;border-radius:12px;border:none;font-size:1rem;font-weight:700;cursor:pointer;transition:all .3s ease;display:flex;align-items:center;justify-content:center;gap:.5rem;background:linear-gradient(135deg,#0ea5e9,#0284c7);color:#fff;box-shadow:0 4px 12px #0ea5e94d}.generate-btn:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 6px 20px #0ea5e966}.generate-btn:disabled{opacity:.5;cursor:not-allowed;transform:none;box-shadow:none}.generate-btn .btn-spinner{width:20px;height:20px;border:2px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:spin 1s linear infinite}.smile-empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:4rem 2rem;text-align:center;color:#94a3b8}.smile-empty-icon{font-size:4rem;margin-bottom:1.5rem;opacity:.6}.smile-empty-state h3{font-size:1.25rem;font-weight:700;color:#475569;margin:0 0 .5rem}.smile-empty-state p{font-size:.9375rem;color:#94a3b8;margin:0;max-width:400px}.smile-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:4rem 2rem;text-align:center}.smile-loading-spinner{width:56px;height:56px;border:3px solid rgba(14,165,233,.2);border-top-color:#0ea5e9;border-radius:50%;animation:spin 1s linear infinite;margin-bottom:1.5rem}.smile-loading h3{font-size:1.125rem;font-weight:700;color:#0f172a;margin:0 0 .5rem}.smile-loading p{font-size:.875rem;color:#94a3b8;margin:0;animation:pulse-text 2s ease-in-out infinite}@keyframes pulse-text{0%,to{opacity:1}50%{opacity:.5}}.smile-result{position:relative}.smile-result-actions{display:flex;gap:.75rem;margin-top:1rem;justify-content:center}.result-action-btn{display:flex;align-items:center;gap:.5rem;padding:.625rem 1.25rem;border-radius:10px;font-size:.875rem;font-weight:600;cursor:pointer;transition:all .2s ease;border:1px solid #e2e8f0;background:#fff;color:#475569}.result-action-btn:hover{background:#f8fafc;border-color:#cbd5e1;transform:translateY(-1px)}.result-action-btn.primary{background:linear-gradient(135deg,#0ea5e9,#06b6d4);color:#fff;border-color:transparent}.result-action-btn.primary:hover{box-shadow:0 4px 12px #0ea5e94d}.smile-history{margin-top:2rem;position:relative;z-index:1}.smile-history h2{font-size:1.25rem;font-weight:700;color:#0f172a;margin:0 0 1rem;letter-spacing:-.02em}.history-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:1rem}.history-card{background:#fff;border-radius:12px;overflow:hidden;box-shadow:0 1px 3px #0000000d;border:1px solid #e2e8f0;cursor:pointer;transition:all .2s ease}.history-card:hover{transform:translateY(-2px);box-shadow:0 4px 12px #00000014}.history-card-images{display:grid;grid-template-columns:1fr 1fr;height:100px}.history-card-images img{width:100%;height:100%;object-fit:cover}.history-card-info{padding:.75rem;display:flex;align-items:center;justify-content:space-between}.history-treatment-badge{display:inline-flex;align-items:center;gap:.375rem;padding:.25rem .625rem;border-radius:6px;font-size:.75rem;font-weight:600}.history-treatment-badge.carillas{background:#eff6ff;color:#1d4ed8}.history-treatment-badge.blanqueamiento{background:#ecfeff;color:#0891b2}.history-treatment-badge.ortodoncia{background:#f5f3ff;color:#7c3aed}.history-date{font-size:.75rem;color:#94a3b8}.smile-error{padding:1rem;background:#fef2f2;border:1px solid #fecaca;border-radius:12px;color:#dc2626;font-size:.875rem;display:flex;align-items:center;gap:.5rem;margin-top:1rem}@media(max-width:768px){.smile-simulator{padding:1.25rem}.smile-content{flex-direction:column}.smile-sidebar{width:100%}.smile-header h1{font-size:1.5rem}.history-grid{grid-template-columns:1fr}}.videos-page{min-height:100%;padding-bottom:2rem}.videos-header{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:2rem;flex-wrap:wrap;gap:1.5rem}.videos-header-left h1{font-size:2rem;font-weight:700;color:#0f172a;margin:0 0 .5rem;display:flex;align-items:center;gap:.75rem}.videos-header-left h1:before{content:"";width:4px;height:28px;background:linear-gradient(180deg,#0891b2,#0e7490);border-radius:4px}.videos-header-left p{color:#64748b;font-size:.95rem;margin:0}.videos-header-right{display:flex;gap:.75rem}.videos-btn-secondary{display:flex;align-items:center;gap:.5rem;padding:.75rem 1.25rem;background:#fff;color:#475569;border:1px solid #e2e8f0;border-radius:12px;font-size:.875rem;font-weight:500;cursor:pointer;transition:all .2s ease}.videos-btn-secondary:hover{border-color:#0891b2;color:#0891b2;background:#ecfeff}.videos-btn-primary{display:flex;align-items:center;gap:.5rem;padding:.75rem 1.5rem;background:linear-gradient(135deg,#0891b2,#0e7490);color:#fff;border:none;border-radius:12px;font-size:.875rem;font-weight:600;cursor:pointer;transition:all .3s ease;box-shadow:0 4px 14px #0891b259}.videos-btn-primary:hover{background:linear-gradient(135deg,#0e7490,#155e75);transform:translateY(-2px);box-shadow:0 6px 20px #0891b273}.videos-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1.25rem;margin-bottom:2rem}.videos-stat-card{background:#fff;border-radius:16px;padding:1.5rem;display:flex;align-items:center;gap:1rem;box-shadow:0 1px 3px #0000000d;border:1px solid #f1f5f9;transition:all .3s ease;position:relative;overflow:hidden}.videos-stat-card:before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,transparent,rgba(8,145,178,.3),transparent);opacity:0;transition:opacity .3s ease}.videos-stat-card:hover{transform:translateY(-4px);box-shadow:0 12px 30px #0891b226}.videos-stat-card:hover:before{opacity:1}.videos-stat-icon{width:56px;height:56px;border-radius:16px;display:flex;align-items:center;justify-content:center;font-size:1.5rem}.videos-stat-icon.total{background:linear-gradient(135deg,#cffafe,#a5f3fc)}.videos-stat-icon.duration{background:linear-gradient(135deg,#d1fae5,#a7f3d0)}.videos-stat-icon.transcribed{background:linear-gradient(135deg,#dbeafe,#bfdbfe)}.videos-stat-icon.pending{background:linear-gradient(135deg,#fef3c7,#fde68a)}.videos-stat-content h3{font-size:1.75rem;font-weight:700;color:#0f172a;margin:0;line-height:1.2}.videos-stat-content p{font-size:.85rem;color:#64748b;margin:.25rem 0 0}.videos-stat-trend{display:flex;align-items:center;gap:.25rem;font-size:.75rem;font-weight:600;margin-top:.35rem}.videos-stat-trend.up{color:#10b981}.videos-stat-trend.down{color:#f59e0b}.videos-controls{background:#fff;border-radius:16px;padding:1.25rem;margin-bottom:1.5rem;box-shadow:0 1px 3px #0000000d;border:1px solid #f1f5f9;display:flex;align-items:center;flex-wrap:wrap;gap:1rem}.videos-search-box{display:flex;align-items:center;gap:.5rem;background:#f8fafc;border:1px solid #e2e8f0;border-radius:10px;padding:.5rem .75rem;min-width:200px;transition:all .2s ease}.videos-search-box:focus-within{border-color:#0891b2;box-shadow:0 0 0 3px #0891b21a}.videos-search-icon{font-size:.875rem;opacity:.5}.videos-search-box input{border:none;background:transparent;outline:none;font-size:.875rem;color:#334155;width:100%}.videos-category-filters{display:flex;gap:.5rem;flex-wrap:wrap;flex:1}.videos-category-pill{display:flex;align-items:center;gap:.35rem;padding:.4rem .85rem;border-radius:20px;border:1px solid #e2e8f0;background:#fff;font-size:.8rem;font-weight:500;color:#64748b;cursor:pointer;transition:all .2s ease;white-space:nowrap}.videos-category-pill:hover{border-color:#0891b2;color:#0891b2;background:#ecfeff}.videos-category-pill.active{background:linear-gradient(135deg,#0891b2,#0e7490);color:#fff;border-color:transparent;box-shadow:0 2px 8px #0891b24d}.pill-icon{font-size:.85rem}.videos-view-controls{display:flex;gap:.25rem;margin-left:auto}.videos-view-btn{width:36px;height:36px;border-radius:8px;border:1px solid #e2e8f0;background:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:1rem;color:#94a3b8;transition:all .2s ease}.videos-view-btn:hover{border-color:#0891b2;color:#0891b2}.videos-view-btn.active{background:#0891b2;color:#fff;border-color:#0891b2}.videos-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:1.5rem}.videos-card{background:#fff;border-radius:16px;overflow:hidden;box-shadow:0 1px 3px #0000000d;border:1px solid #f1f5f9;transition:all .3s ease;cursor:pointer}.videos-card:hover{transform:translateY(-4px);box-shadow:0 12px 30px #0891b21f}.videos-card-header{height:180px;display:flex;align-items:center;justify-content:center;position:relative;overflow:hidden}.videos-card-header.has-thumbnail{background:#000}.videos-card-header.no-thumbnail{background:linear-gradient(135deg,#164e63,#0e7490,#06b6d4)}.videos-card-thumbnail{width:100%;height:100%;object-fit:cover}.videos-card-play-icon{position:absolute;width:56px;height:56px;background:#ffffffe6;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:1.5rem;box-shadow:0 4px 12px #0003;transition:all .2s ease}.videos-card:hover .videos-card-play-icon{transform:scale(1.1);background:#fff}.videos-card-duration{position:absolute;bottom:8px;right:8px;background:#000000bf;color:#fff;padding:.2rem .5rem;border-radius:6px;font-size:.75rem;font-weight:600}.videos-card-category-badge{position:absolute;top:8px;left:8px;padding:.25rem .6rem;border-radius:8px;font-size:.7rem;font-weight:600;text-transform:uppercase;letter-spacing:.03em}.videos-card-category-badge.cirugia{background:#fee2e2;color:#dc2626}.videos-card-category-badge.endodoncia{background:#fef3c7;color:#d97706}.videos-card-category-badge.implantes{background:#dbeafe;color:#2563eb}.videos-card-category-badge.ortodoncia{background:#d1fae5;color:#059669}.videos-card-category-badge.periodoncia{background:#ede9fe;color:#7c3aed}.videos-card-category-badge.estetica{background:#fce7f3;color:#db2777}.videos-card-category-badge.otro{background:#f1f5f9;color:#475569}.videos-card-body{padding:1rem 1.25rem}.videos-card-title{font-size:.95rem;font-weight:600;color:#0f172a;margin:0 0 .35rem;line-height:1.3;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.videos-card-patient{font-size:.8rem;color:#64748b;margin:0 0 .5rem;display:flex;align-items:center;gap:.35rem}.videos-card-meta{display:flex;align-items:center;justify-content:space-between;gap:.5rem}.videos-card-status{padding:.2rem .5rem;border-radius:6px;font-size:.7rem;font-weight:600}.videos-card-status.ready{background:#d1fae5;color:#059669}.videos-card-status.transcribing{background:#dbeafe;color:#2563eb}.videos-card-status.processing{background:#fef3c7;color:#d97706}.videos-card-status.error{background:#fee2e2;color:#dc2626}.videos-card-date{font-size:.75rem;color:#94a3b8}.videos-card-footer{padding:.75rem 1.25rem;border-top:1px solid #f1f5f9;display:flex;gap:.5rem}.videos-action-btn{flex:1;padding:.4rem;border:1px solid #e2e8f0;border-radius:8px;background:#fff;font-size:.75rem;cursor:pointer;transition:all .2s ease;color:#475569}.videos-action-btn:hover{border-color:#0891b2;color:#0891b2;background:#ecfeff}.videos-action-btn.delete:hover{border-color:#ef4444;color:#ef4444;background:#fef2f2}.videos-table-container{background:#fff;border-radius:16px;overflow:hidden;box-shadow:0 1px 3px #0000000d;border:1px solid #f1f5f9}.videos-table{width:100%;border-collapse:collapse}.videos-table thead{background:#f8fafc}.videos-table th{padding:.85rem 1rem;text-align:left;font-size:.75rem;font-weight:600;color:#64748b;text-transform:uppercase;letter-spacing:.05em;border-bottom:1px solid #e2e8f0}.videos-table td{padding:.85rem 1rem;font-size:.85rem;color:#334155;border-bottom:1px solid #f1f5f9}.videos-table tbody tr{cursor:pointer;transition:background-color .15s ease}.videos-table tbody tr:hover{background:#f0fdfa}.videos-cell{display:flex;align-items:center;gap:.75rem}.videos-cell-icon{width:40px;height:40px;border-radius:10px;display:flex;align-items:center;justify-content:center;font-size:1.2rem;background:linear-gradient(135deg,#cffafe,#a5f3fc)}.videos-cell-info{display:flex;flex-direction:column}.videos-cell-name{font-weight:500;color:#0f172a}.videos-cell-size{font-size:.75rem;color:#94a3b8}.videos-category-tag{padding:.2rem .5rem;border-radius:6px;font-size:.7rem;font-weight:600}.videos-category-tag.cirugia{background:#fee2e2;color:#dc2626}.videos-category-tag.endodoncia{background:#fef3c7;color:#d97706}.videos-category-tag.implantes{background:#dbeafe;color:#2563eb}.videos-category-tag.ortodoncia{background:#d1fae5;color:#059669}.videos-category-tag.periodoncia{background:#ede9fe;color:#7c3aed}.videos-category-tag.estetica{background:#fce7f3;color:#db2777}.videos-category-tag.otro{background:#f1f5f9;color:#475569}.videos-table-actions{display:flex;gap:.35rem}.videos-table-action-btn{width:32px;height:32px;border-radius:8px;border:1px solid #e2e8f0;background:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:.85rem;transition:all .2s ease}.videos-table-action-btn:hover{border-color:#0891b2;background:#ecfeff}.videos-table-action-btn.delete:hover{border-color:#ef4444;background:#fef2f2}.videos-modal-overlay{position:fixed;inset:0;background:#0f172a99;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:1000;display:flex;align-items:center;justify-content:center;padding:1.5rem;animation:videos-fadeIn .2s ease}@keyframes videos-fadeIn{0%{opacity:0}to{opacity:1}}.videos-modal{background:#fff;border-radius:20px;width:100%;max-width:560px;max-height:90vh;display:flex;flex-direction:column;box-shadow:0 25px 60px #00000026;animation:videos-slideUp .3s ease}.videos-modal.large{max-width:800px}.videos-modal.xlarge{max-width:1100px}@keyframes videos-slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.videos-modal-header{display:flex;align-items:flex-start;justify-content:space-between;padding:1.5rem 1.5rem 1rem;border-bottom:1px solid #f1f5f9}.videos-modal-header-content h2{font-size:1.25rem;font-weight:700;color:#0f172a;margin:0}.videos-modal-header-content p{font-size:.85rem;color:#64748b;margin:.25rem 0 0}.videos-modal-close{width:36px;height:36px;border-radius:10px;border:1px solid #e2e8f0;background:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:1.1rem;color:#64748b;transition:all .2s ease;flex-shrink:0}.videos-modal-close:hover{border-color:#ef4444;color:#ef4444;background:#fef2f2}.videos-modal-body{padding:1.5rem;overflow-y:auto;flex:1}.videos-modal-footer{display:flex;justify-content:flex-end;gap:.75rem;padding:1rem 1.5rem;border-top:1px solid #f1f5f9}.videos-btn-cancel{padding:.65rem 1.25rem;background:#fff;color:#475569;border:1px solid #e2e8f0;border-radius:10px;font-size:.875rem;font-weight:500;cursor:pointer;transition:all .2s ease}.videos-btn-cancel:hover{border-color:#94a3b8;background:#f8fafc}.videos-btn-submit{padding:.65rem 1.5rem;background:linear-gradient(135deg,#0891b2,#0e7490);color:#fff;border:none;border-radius:10px;font-size:.875rem;font-weight:600;cursor:pointer;transition:all .3s ease;box-shadow:0 2px 8px #0891b24d}.videos-btn-submit:hover{background:linear-gradient(135deg,#0e7490,#155e75);transform:translateY(-1px)}.videos-btn-submit:disabled{opacity:.5;cursor:not-allowed;transform:none}.videos-form-group{margin-bottom:1.25rem}.videos-form-label{display:flex;align-items:center;gap:.4rem;font-size:.85rem;font-weight:600;color:#334155;margin-bottom:.4rem}.videos-form-input,.videos-form-select,.videos-form-textarea{width:100%;padding:.65rem .85rem;border:1px solid #e2e8f0;border-radius:10px;font-size:.875rem;color:#334155;background:#f8fafc;transition:all .2s ease;box-sizing:border-box}.videos-form-input:focus,.videos-form-select:focus,.videos-form-textarea:focus{outline:none;border-color:#0891b2;box-shadow:0 0 0 3px #0891b21a;background:#fff}.videos-form-textarea{min-height:80px;resize:vertical}.videos-form-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.videos-upload-area{border:2px dashed #cbd5e1;border-radius:16px;padding:2.5rem;text-align:center;transition:all .3s ease;cursor:pointer;background:#f8fafc;margin-bottom:1.25rem}.videos-upload-area:hover,.videos-upload-area.dragover{border-color:#0891b2;background:#ecfeff}.videos-upload-area.has-file{border-color:#0891b2;background:#ecfeff;border-style:solid}.videos-upload-icon{font-size:2.5rem;margin-bottom:.75rem}.videos-upload-text{font-size:.95rem;font-weight:600;color:#334155;margin:0 0 .25rem}.videos-upload-hint{font-size:.8rem;color:#94a3b8;margin:0}.videos-upload-file-info{display:flex;align-items:center;gap:.75rem;padding:.75rem;background:#fff;border-radius:10px;margin-top:.75rem;border:1px solid #e2e8f0}.videos-upload-file-name{font-size:.85rem;font-weight:500;color:#0f172a;flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.videos-upload-file-size{font-size:.75rem;color:#64748b}.videos-upload-remove{width:28px;height:28px;border-radius:6px;border:none;background:#fee2e2;color:#ef4444;cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:.9rem}.videos-player-container{border-radius:12px;overflow:hidden;background:#000;margin-bottom:1.25rem}.videos-player-container video{width:100%;max-height:400px;display:block}.videos-detail-meta{display:grid;grid-template-columns:1fr 1fr;gap:.75rem;margin-bottom:1.25rem}.videos-detail-meta-item{display:flex;align-items:center;gap:.5rem;font-size:.85rem;color:#475569}.videos-detail-meta-item .meta-label{font-weight:600;color:#334155}.videos-detail-actions{display:flex;gap:.75rem;margin-bottom:1.25rem}.videos-btn-transcribe{display:flex;align-items:center;gap:.5rem;padding:.6rem 1rem;background:linear-gradient(135deg,#6366f1,#4f46e5);color:#fff;border:none;border-radius:10px;font-size:.8rem;font-weight:600;cursor:pointer;transition:all .2s ease}.videos-btn-transcribe:hover{transform:translateY(-1px);box-shadow:0 4px 12px #6366f14d}.videos-btn-transcribe:disabled{opacity:.6;cursor:not-allowed;transform:none}.videos-btn-trim{display:flex;align-items:center;gap:.5rem;padding:.6rem 1rem;background:#fff;color:#475569;border:1px solid #e2e8f0;border-radius:10px;font-size:.8rem;font-weight:600;cursor:pointer;transition:all .2s ease}.videos-btn-trim:hover{border-color:#0891b2;color:#0891b2;background:#ecfeff}.videos-transcription-panel{background:#f8fafc;border-radius:12px;border:1px solid #e2e8f0;overflow:hidden;margin-bottom:1.25rem}.videos-transcription-header{display:flex;align-items:center;justify-content:space-between;padding:.85rem 1rem;background:#fff;border-bottom:1px solid #e2e8f0}.videos-transcription-header h4{margin:0;font-size:.9rem;font-weight:600;color:#0f172a;display:flex;align-items:center;gap:.5rem}.videos-transcription-segments{max-height:250px;overflow-y:auto;padding:.5rem}.videos-segment{display:flex;gap:.75rem;padding:.5rem .65rem;border-radius:8px;cursor:pointer;transition:all .15s ease}.videos-segment:hover{background:#ecfeff}.videos-segment.active{background:#cffafe;border-left:3px solid #0891b2}.videos-segment-time{font-size:.75rem;font-weight:600;color:#0891b2;white-space:nowrap;min-width:55px;padding-top:.1rem}.videos-segment-text{font-size:.82rem;color:#334155;line-height:1.4}.videos-no-transcription{padding:2rem;text-align:center;color:#94a3b8;font-size:.85rem}.videos-clips-section{margin-top:1.25rem}.videos-clips-section h4{font-size:.9rem;font-weight:600;color:#0f172a;margin:0 0 .75rem;display:flex;align-items:center;gap:.5rem}.videos-clip-item{display:flex;align-items:center;gap:.75rem;padding:.65rem .85rem;background:#f8fafc;border-radius:10px;border:1px solid #e2e8f0;margin-bottom:.5rem;cursor:pointer;transition:all .2s ease}.videos-clip-item:hover{background:#ecfeff;border-color:#0891b2}.videos-clip-icon{width:36px;height:36px;border-radius:8px;background:linear-gradient(135deg,#cffafe,#a5f3fc);display:flex;align-items:center;justify-content:center;font-size:1rem}.videos-clip-info{flex:1}.videos-clip-title{font-size:.85rem;font-weight:600;color:#0f172a}.videos-clip-range{font-size:.75rem;color:#64748b}.videos-trim-controls{margin-top:1rem}.videos-range-group{margin-bottom:1rem}.videos-range-label{display:flex;align-items:center;justify-content:space-between;margin-bottom:.4rem}.videos-range-label span{font-size:.8rem;font-weight:600;color:#334155}.videos-range-value{font-size:.8rem;color:#0891b2;font-weight:600}.videos-range-input{width:100%;accent-color:#0891b2}.videos-trim-preview{display:flex;align-items:center;gap:.75rem;padding:.85rem;background:#ecfeff;border-radius:10px;border:1px solid #0891b2;margin:1rem 0}.videos-trim-preview-label{font-size:.85rem;font-weight:600;color:#0e7490}.videos-trim-preview-duration{font-size:.85rem;color:#475569;margin-left:auto}.videos-search-results{max-height:500px;overflow-y:auto}.videos-search-result-item{display:flex;gap:1rem;padding:1rem;border-bottom:1px solid #f1f5f9;cursor:pointer;transition:background .15s ease}.videos-search-result-item:hover{background:#f0fdfa}.videos-search-result-item:last-child{border-bottom:none}.videos-search-result-video{flex-shrink:0;width:48px;height:48px;border-radius:10px;background:linear-gradient(135deg,#164e63,#0e7490);display:flex;align-items:center;justify-content:center;font-size:1.3rem}.videos-search-result-content{flex:1;min-width:0}.videos-search-result-title{font-size:.9rem;font-weight:600;color:#0f172a;margin:0 0 .15rem}.videos-search-result-patient{font-size:.78rem;color:#64748b;margin:0 0 .5rem}.videos-search-match{display:flex;align-items:flex-start;gap:.5rem;padding:.4rem .6rem;background:#fefce8;border-radius:8px;margin-bottom:.35rem}.videos-search-match-time{font-size:.75rem;font-weight:700;color:#0891b2;white-space:nowrap;padding-top:.05rem}.videos-search-match-text{font-size:.8rem;color:#334155;line-height:1.35}.videos-search-match-text mark{background:#fde68a;color:#92400e;padding:0 .15rem;border-radius:3px}.videos-search-input-group{display:flex;gap:.75rem;margin-bottom:1.25rem}.videos-search-input-group input{flex:1;padding:.75rem 1rem;border:1px solid #e2e8f0;border-radius:10px;font-size:.9rem;background:#f8fafc;transition:all .2s ease}.videos-search-input-group input:focus{outline:none;border-color:#0891b2;box-shadow:0 0 0 3px #0891b21a;background:#fff}.videos-search-btn{padding:.75rem 1.25rem;background:linear-gradient(135deg,#0891b2,#0e7490);color:#fff;border:none;border-radius:10px;font-size:.875rem;font-weight:600;cursor:pointer;transition:all .2s ease;white-space:nowrap}.videos-search-btn:hover{transform:translateY(-1px)}.videos-search-btn:disabled{opacity:.5;cursor:not-allowed;transform:none}.videos-search-empty{text-align:center;padding:2rem;color:#94a3b8}.videos-loading-container{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:4rem 2rem}.videos-loading-spinner{width:40px;height:40px;border:3px solid #e2e8f0;border-top-color:#0891b2;border-radius:50%;animation:videos-spin .8s linear infinite}.videos-loading-spinner.small{width:24px;height:24px;border-width:2px}@keyframes videos-spin{to{transform:rotate(360deg)}}.videos-loading-text{margin-top:1rem;color:#64748b;font-size:.9rem}.videos-empty-state{display:flex;flex-direction:column;align-items:center;padding:4rem 2rem;text-align:center}.videos-empty-state-icon{font-size:3.5rem;margin-bottom:1rem}.videos-empty-state-title{font-size:1.25rem;font-weight:700;color:#0f172a;margin:0 0 .5rem}.videos-empty-state-message{color:#64748b;font-size:.9rem;max-width:400px;margin:0 0 1.5rem}.videos-patient-search{position:relative}.videos-patient-search-results{position:absolute;top:100%;left:0;right:0;background:#fff;border:1px solid #e2e8f0;border-radius:10px;box-shadow:0 8px 24px #0000001a;max-height:200px;overflow-y:auto;z-index:10;margin-top:.25rem}.videos-patient-option{display:flex;align-items:center;gap:.5rem;padding:.6rem .85rem;cursor:pointer;transition:background .15s;font-size:.85rem;border:none;background:none;width:100%;text-align:left;color:#334155}.videos-patient-option:hover{background:#ecfeff}@media(max-width:768px){.videos-header{flex-direction:column}.videos-header-right{width:100%}.videos-header-right button{flex:1;justify-content:center}.videos-controls{flex-direction:column;align-items:stretch}.videos-category-filters{overflow-x:auto;flex-wrap:nowrap;padding-bottom:.25rem}.videos-view-controls{margin-left:0}.videos-grid,.videos-form-row,.videos-detail-meta{grid-template-columns:1fr}.videos-modal{max-width:100%;max-height:95vh}}.tt-page{display:flex;flex-direction:column;gap:1.5rem;animation:ttFadeIn .5s ease}@keyframes ttFadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.tt-header{background:linear-gradient(135deg,#1e3a5f,#0891b2,#22d3ee);border-radius:20px;padding:2rem;position:relative;overflow:hidden}.tt-header:before{content:"";position:absolute;top:-50%;right:-20%;width:60%;height:200%;background:radial-gradient(ellipse,rgba(255,255,255,.1) 0%,transparent 70%);transform:rotate(-15deg)}.tt-header:after{content:"";position:absolute;bottom:-30%;left:-10%;width:40%;height:150%;background:radial-gradient(ellipse,rgba(34,211,238,.2) 0%,transparent 60%)}.tt-header-content{display:flex;justify-content:space-between;align-items:center;position:relative;z-index:1}.tt-header-title-section{display:flex;align-items:center;gap:1rem}.tt-header-icon{width:56px;height:56px;background:#ffffff26;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:16px;display:flex;align-items:center;justify-content:center;border:1px solid rgba(255,255,255,.2)}.tt-header-icon svg{width:28px;height:28px;color:#fff}.tt-header-title{font-size:1.75rem;font-weight:700;color:#fff;margin:0;text-shadow:0 2px 10px rgba(0,0,0,.1)}.tt-header-subtitle{color:#fffc;margin:.25rem 0 0;font-size:.95rem}.tt-btn-new{display:flex;align-items:center;gap:.5rem;padding:.875rem 1.5rem;background:#fff;color:#1e3a5f;border:none;border-radius:12px;font-size:.95rem;font-weight:600;cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1);box-shadow:0 4px 15px #00000026}.tt-btn-new:hover{transform:translateY(-2px);box-shadow:0 8px 25px #0003}.tt-btn-new .btn-icon{font-size:1.25rem;font-weight:300}.tt-stats-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem}.tt-stat-card{background:#fff;border-radius:16px;padding:1.25rem;display:flex;align-items:center;gap:1rem;position:relative;overflow:hidden;box-shadow:0 2px 12px #0000000f;transition:all .3s ease}.tt-stat-card:hover{transform:translateY(-4px);box-shadow:0 8px 25px #0000001a}.tt-stat-card:before{content:"";position:absolute;top:0;left:0;width:4px;height:100%}.tt-stat-total:before{background:linear-gradient(180deg,#22d3ee,#0891b2)}.tt-stat-ortodoncia:before{background:linear-gradient(180deg,#818cf8,#6366f1)}.tt-stat-estetica:before{background:linear-gradient(180deg,#f472b6,#ec4899)}.tt-stat-implantes:before{background:linear-gradient(180deg,#34d399,#059669)}.tt-stat-icon{width:48px;height:48px;border-radius:12px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.tt-stat-total .tt-stat-icon{background:linear-gradient(135deg,#cffafe,#a5f3fc)}.tt-stat-ortodoncia .tt-stat-icon{background:linear-gradient(135deg,#e0e7ff,#c7d2fe)}.tt-stat-estetica .tt-stat-icon{background:linear-gradient(135deg,#fce7f3,#fbcfe8)}.tt-stat-implantes .tt-stat-icon{background:linear-gradient(135deg,#d1fae5,#a7f3d0)}.tt-stat-icon svg{width:24px;height:24px}.tt-stat-total .tt-stat-icon svg{color:#0891b2}.tt-stat-ortodoncia .tt-stat-icon svg{color:#6366f1}.tt-stat-estetica .tt-stat-icon svg{color:#ec4899}.tt-stat-implantes .tt-stat-icon svg{color:#059669}.tt-stat-content{display:flex;flex-direction:column;flex:1}.tt-stat-value{font-size:1.75rem;font-weight:700;color:#1e293b;line-height:1}.tt-stat-label{font-size:.8rem;color:#64748b;margin-top:.25rem}.tt-controls-bar{display:flex;align-items:center;gap:1rem;flex-wrap:wrap}.tt-search-wrapper{position:relative;flex:1;min-width:220px;max-width:350px}.tt-search-icon{position:absolute;left:1rem;top:50%;transform:translateY(-50%);width:18px;height:18px;color:#94a3b8;pointer-events:none}.tt-search-input{width:100%;padding:.75rem 1rem .75rem 2.75rem;border:2px solid #e2e8f0;border-radius:12px;font-size:.9rem;color:#1e293b;background:#fff;transition:all .2s ease}.tt-search-input:focus{outline:none;border-color:#22d3ee;box-shadow:0 0 0 3px #22d3ee1a}.tt-search-input::placeholder{color:#94a3b8}.tt-filter-pills{display:flex;gap:.5rem;flex-wrap:wrap}.tt-pill{padding:.5rem 1rem;border:2px solid #e2e8f0;background:#fff;border-radius:30px;font-size:.8rem;font-weight:500;color:#64748b;cursor:pointer;transition:all .2s ease;white-space:nowrap}.tt-pill:hover{border-color:#cbd5e1;color:#475569}.tt-pill.active{background:#ecfeff;border-color:#22d3ee;color:#0891b2}.tt-view-toggle{display:flex;background:#fff;border:2px solid #e2e8f0;border-radius:12px;overflow:hidden;margin-left:auto}.tt-view-btn{display:flex;align-items:center;justify-content:center;padding:.6rem .875rem;border:none;background:transparent;color:#94a3b8;cursor:pointer;transition:all .2s ease}.tt-view-btn:first-child{border-right:1px solid #e2e8f0}.tt-view-btn.active{background:linear-gradient(135deg,#0891b2,#0e7490);color:#fff}.tt-view-btn svg{width:18px;height:18px}.tt-gallery{display:grid;grid-template-columns:repeat(auto-fill,minmax(380px,1fr));gap:1.5rem}@keyframes ttCardIn{to{opacity:1;transform:translateY(0)}}.tt-card{background:#fff;border-radius:20px;overflow:hidden;box-shadow:0 2px 12px #0000000f;transition:all .3s ease;animation:ttCardIn .4s ease forwards;opacity:0;transform:translateY(10px)}.tt-card:hover{transform:translateY(-6px);box-shadow:0 12px 35px #0000001f}.tt-card-patient{display:flex;align-items:center;justify-content:space-between;padding:1.25rem 1.5rem}.tt-card-patient-left{display:flex;align-items:center;gap:.875rem;min-width:0;flex:1}.tt-card-avatar{width:42px;height:42px;background:linear-gradient(135deg,#1e3a5f,#0891b2);border-radius:12px;display:flex;align-items:center;justify-content:center;color:#fff;font-size:.8rem;font-weight:600;flex-shrink:0}.tt-card-patient-info{display:flex;flex-direction:column;min-width:0}.tt-card-patient-name{font-weight:600;font-size:.95rem;color:#1e293b}.tt-card-patient-treatment{font-size:.8rem;color:#64748b;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.tt-card-category{padding:.3rem .75rem;border-radius:30px;font-size:.7rem;font-weight:600;white-space:nowrap;flex-shrink:0}.tt-card-preview{display:grid;grid-template-columns:1fr 1fr;gap:4px;padding:0 1rem;max-height:140px;overflow:hidden}.tt-card-preview-img{width:100%;height:65px;background:#f1f5f9;border-radius:8px;display:flex;align-items:center;justify-content:center}.tt-card-preview-img svg{width:20px;height:20px;color:#cbd5e1}.tt-card-meta{display:flex;align-items:center;justify-content:space-between;padding:.875rem 1.5rem;border-top:1px solid #f1f5f9}.tt-card-date{display:flex;align-items:center;gap:.375rem;font-size:.8rem;color:#475569}.tt-card-date svg{width:14px;height:14px;color:#94a3b8}.tt-card-photos-count{display:flex;align-items:center;gap:.375rem;padding:.3rem .75rem;background:linear-gradient(135deg,#ecfeff,#cffafe);border-radius:30px;font-size:.75rem;font-weight:600;color:#0891b2}.tt-card-photos-count svg{width:14px;height:14px}.tt-card-actions{display:flex;gap:.5rem;padding:.875rem 1.5rem;border-top:1px solid #f1f5f9}.tt-action-btn{display:flex;align-items:center;gap:.375rem;padding:.5rem .75rem;border:none;border-radius:8px;font-size:.775rem;font-weight:500;cursor:pointer;transition:all .2s ease;flex:1;justify-content:center}.tt-action-btn svg{width:14px;height:14px}.tt-action-btn.view{background:linear-gradient(135deg,#ecfeff,#cffafe);color:#0891b2}.tt-action-btn.view:hover{background:linear-gradient(135deg,#cffafe,#a5f3fc)}.tt-action-btn.pdf{background:linear-gradient(135deg,#eef2ff,#e0e7ff);color:#6366f1}.tt-action-btn.pdf:hover{background:linear-gradient(135deg,#e0e7ff,#c7d2fe)}.tt-action-btn.delete{background:#f1f5f9;color:#64748b}.tt-action-btn.delete:hover{background:#fef2f2;color:#dc2626}.tt-list{display:flex;flex-direction:column;gap:.5rem}.tt-list-item{display:flex;align-items:center;gap:1rem;padding:1rem 1.5rem;background:#fff;border-radius:14px;box-shadow:0 2px 8px #0000000a;transition:all .3s ease;animation:ttCardIn .4s ease forwards;opacity:0}.tt-list-item:hover{transform:translateY(-2px);box-shadow:0 6px 20px #00000014}.tt-list-avatar{width:40px;height:40px;background:linear-gradient(135deg,#1e3a5f,#0891b2);border-radius:12px;display:flex;align-items:center;justify-content:center;color:#fff;font-size:.8rem;font-weight:600;flex-shrink:0}.tt-list-info{display:flex;flex-direction:column;flex:1;min-width:0}.tt-list-name{font-weight:600;font-size:.9rem;color:#1e293b}.tt-list-treatment{font-size:.8rem;color:#64748b;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.tt-list-category{padding:.3rem .75rem;border-radius:30px;font-size:.7rem;font-weight:600;white-space:nowrap;flex-shrink:0}.tt-list-date{font-size:.8rem;color:#475569;flex-shrink:0}.tt-list-photos{padding:.3rem .625rem;background:linear-gradient(135deg,#ecfeff,#cffafe);border-radius:30px;font-size:.7rem;font-weight:600;color:#0891b2;white-space:nowrap;flex-shrink:0}.tt-list-actions{display:flex;gap:.5rem;flex-shrink:0}.tt-list-action-btn{display:flex;align-items:center;gap:.375rem;padding:.5rem 1rem;border:2px solid #e2e8f0;background:#fff;border-radius:10px;font-size:.8rem;font-weight:500;color:#0891b2;cursor:pointer;transition:all .2s ease}.tt-list-action-btn:hover{border-color:#22d3ee;background:#ecfeff}.tt-list-action-btn svg{width:16px;height:16px}.tt-list-action-btn.pdf{color:#6366f1}.tt-list-action-btn.pdf:hover{border-color:#818cf8;background:#eef2ff}.tt-empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:4rem 2rem;text-align:center;background:#fff;border-radius:20px;box-shadow:0 4px 20px #0000000f}.tt-empty-icon-wrapper{width:80px;height:80px;background:linear-gradient(135deg,#f1f5f9,#e2e8f0);border-radius:20px;display:flex;align-items:center;justify-content:center;margin-bottom:1.5rem}.tt-empty-icon-wrapper svg{width:40px;height:40px;color:#94a3b8}.tt-empty-state h3{font-size:1.25rem;font-weight:600;color:#1e293b;margin:0 0 .5rem}.tt-empty-state p{color:#64748b;margin-bottom:1.5rem}.tt-modal-overlay{position:fixed;inset:0;background:#0f172a99;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:1000;padding:1rem;animation:ttFadeIn .2s ease}.tt-modal{background:#fff;border-radius:24px;width:100%;max-width:800px;max-height:90vh;overflow:hidden;display:flex;flex-direction:column;box-shadow:0 25px 50px -12px #00000040;animation:ttModalSlide .3s ease}.tt-modal-preview{max-width:900px}@keyframes ttModalSlide{0%{opacity:0;transform:scale(.95) translateY(20px)}to{opacity:1;transform:scale(1) translateY(0)}}.tt-modal-header{display:flex;align-items:center;gap:1rem;padding:1.5rem;background:linear-gradient(135deg,#1e3a5f,#0891b2);color:#fff}.tt-modal-icon{width:48px;height:48px;background:#ffffff26;border-radius:12px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.tt-modal-icon svg{width:24px;height:24px}.tt-modal-header h2{font-size:1.25rem;font-weight:600;margin:0}.tt-modal-header p{font-size:.875rem;opacity:.8;margin:.25rem 0 0}.tt-modal-close-btn{margin-left:auto;width:36px;height:36px;background:#ffffff1a;border:none;border-radius:10px;display:flex;align-items:center;justify-content:center;color:#fff;cursor:pointer;transition:all .2s ease;flex-shrink:0}.tt-modal-close-btn:hover{background:#fff3}.tt-modal-close-btn svg{width:20px;height:20px}.tt-modal-body{padding:1.5rem;overflow-y:auto;display:flex;flex-direction:column;gap:1.25rem}.tt-modal-footer{display:flex;justify-content:space-between;align-items:center;gap:.75rem;padding:1.25rem 1.5rem;background:#f8fafc;border-top:1px solid #e2e8f0}.tt-modal-footer-right{display:flex;gap:.75rem}.tt-btn-cancel{padding:.75rem 1.5rem;border:2px solid #e2e8f0;background:#fff;border-radius:12px;font-size:.9rem;font-weight:500;color:#64748b;cursor:pointer;transition:all .2s ease}.tt-btn-cancel:hover{border-color:#cbd5e1;color:#475569}.tt-btn-back{display:flex;align-items:center;gap:.5rem;padding:.75rem 1.5rem;border:2px solid #e2e8f0;background:#fff;border-radius:12px;font-size:.9rem;font-weight:500;color:#64748b;cursor:pointer;transition:all .2s ease}.tt-btn-back:hover{border-color:#cbd5e1;color:#475569}.tt-btn-back svg{width:16px;height:16px}.tt-btn-next{display:flex;align-items:center;gap:.5rem;padding:.75rem 1.5rem;border:none;background:linear-gradient(135deg,#0891b2,#0e7490);border-radius:12px;font-size:.9rem;font-weight:600;color:#fff;cursor:pointer;transition:all .2s ease;box-shadow:0 4px 12px #0891b24d}.tt-btn-next:hover{background:linear-gradient(135deg,#0e7490,#155e75);transform:translateY(-1px);box-shadow:0 6px 16px #0891b266}.tt-btn-next svg{width:18px;height:18px}.tt-btn-generate{display:flex;align-items:center;gap:.5rem;padding:.75rem 1.5rem;border:none;background:linear-gradient(135deg,#6366f1,#4f46e5);border-radius:12px;font-size:.9rem;font-weight:600;color:#fff;cursor:pointer;transition:all .2s ease;box-shadow:0 4px 12px #6366f14d}.tt-btn-generate:hover{background:linear-gradient(135deg,#4f46e5,#4338ca);transform:translateY(-1px);box-shadow:0 6px 16px #6366f166}.tt-btn-generate svg{width:18px;height:18px}.tt-btn-preview{display:flex;align-items:center;gap:.5rem;padding:.75rem 1.5rem;border:2px solid #e0e7ff;background:#eef2ff;border-radius:12px;font-size:.9rem;font-weight:500;color:#6366f1;cursor:pointer;transition:all .2s ease}.tt-btn-preview:hover{background:#e0e7ff;border-color:#c7d2fe}.tt-btn-preview svg{width:18px;height:18px}.tt-step-indicator{display:flex;align-items:center;justify-content:center;gap:.5rem;padding:0 0 .5rem}.tt-step{display:flex;align-items:center;gap:.5rem}.tt-step-number{width:32px;height:32px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:.8rem;font-weight:700;transition:all .3s ease}.tt-step-number.active{background:linear-gradient(135deg,#0891b2,#0e7490);color:#fff;box-shadow:0 2px 8px #0891b24d}.tt-step-number.completed{background:linear-gradient(135deg,#22d3ee,#06b6d4);color:#fff}.tt-step-number.pending{background:#f1f5f9;color:#94a3b8;border:2px solid #e2e8f0}.tt-step-label{font-size:.8rem;font-weight:500;color:#64748b}.tt-step-label.active{color:#0891b2;font-weight:600}.tt-step-connector{width:40px;height:2px;background:#e2e8f0;margin:0 .25rem}.tt-step-connector.completed{background:linear-gradient(90deg,#22d3ee,#0891b2)}.tt-form-section{display:flex;flex-direction:column;gap:.5rem}.tt-form-label{display:flex;align-items:center;gap:.5rem;font-size:.875rem;font-weight:600;color:#475569}.tt-form-label svg{width:16px;height:16px;color:#94a3b8}.tt-form-select{padding:.75rem 1rem;border:2px solid #e2e8f0;border-radius:12px;font-size:.9rem;color:#1e293b;background:#f8fafc;transition:all .2s ease}.tt-form-select:focus{outline:none;border-color:#22d3ee;background:#fff;box-shadow:0 0 0 3px #22d3ee1a}.tt-form-input{padding:.75rem 1rem;border:2px solid #e2e8f0;border-radius:12px;font-size:.9rem;color:#1e293b;background:#f8fafc;transition:all .2s ease}.tt-form-input:focus{outline:none;border-color:#22d3ee;background:#fff;box-shadow:0 0 0 3px #22d3ee1a}.tt-form-textarea{padding:.75rem 1rem;border:2px solid #e2e8f0;border-radius:12px;font-size:.9rem;color:#1e293b;background:#f8fafc;min-height:80px;resize:vertical;font-family:inherit;transition:all .2s ease;line-height:1.6}.tt-form-textarea:focus{outline:none;border-color:#22d3ee;background:#fff;box-shadow:0 0 0 3px #22d3ee1a}.tt-form-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.tt-photo-grid{display:flex;flex-direction:column;gap:.75rem}.tt-photo-grid-header{display:grid;grid-template-columns:120px 1fr 1fr;gap:.75rem;padding:.5rem 0}.tt-photo-grid-header span{font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.1em;text-align:center}.tt-photo-grid-header span:first-child{text-align:left;color:#475569}.tt-photo-grid-header span:nth-child(2){color:#b91c1c;background:#fef2f2;border-radius:6px;padding:.375rem}.tt-photo-grid-header span:nth-child(3){color:#15803d;background:#ecfdf5;border-radius:6px;padding:.375rem}.tt-photo-row{display:grid;grid-template-columns:120px 1fr 1fr;gap:.75rem;align-items:center}.tt-photo-row-label{font-size:.825rem;font-weight:600;color:#475569;padding:.5rem 0}.tt-photo-slot{position:relative;aspect-ratio:4 / 3;border:2px dashed #cbd5e1;border-radius:12px;background:#f8fafc;cursor:pointer;transition:all .2s ease;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.25rem;overflow:hidden}.tt-photo-slot:hover{border-color:#22d3ee;background:#f0fdfa}.tt-photo-slot.before:hover{border-color:#fca5a5;background:#fef2f2}.tt-photo-slot.after:hover{border-color:#86efac;background:#ecfdf5}.tt-photo-slot svg{width:24px;height:24px;color:#94a3b8}.tt-photo-slot span{font-size:.7rem;color:#94a3b8}.tt-photo-slot.has-image{border-style:solid;border-color:#e2e8f0}.tt-photo-slot.has-image img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.tt-photo-slot-overlay{position:absolute;inset:0;background:#00000080;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.25rem;opacity:0;transition:opacity .2s ease;color:#fff;font-size:.7rem;font-weight:500}.tt-photo-slot-overlay svg{width:20px;height:20px;color:#fff}.tt-photo-slot.has-image:hover .tt-photo-slot-overlay{opacity:1}.tt-photo-slot-remove{position:absolute;top:4px;right:4px;width:22px;height:22px;border-radius:50%;background:#dc2626e6;border:none;cursor:pointer;display:flex;align-items:center;justify-content:center;opacity:0;transition:opacity .2s ease;z-index:2}.tt-photo-slot-remove svg{width:12px;height:12px;color:#fff}.tt-photo-slot.has-image:hover .tt-photo-slot-remove{opacity:1}.tt-preview-container{background:#64748b;border-radius:12px;padding:1.5rem;display:flex;justify-content:center;overflow-y:auto;max-height:65vh}.tt-preview-pages{display:flex;flex-direction:column;gap:1.5rem}.tt-preview-page{width:595px;min-height:842px;background:#fff;box-shadow:0 4px 20px #0000004d;padding:0;font-family:Helvetica,Arial,sans-serif;position:relative}.tt-preview-page-header{background:#1e3a5f;color:#fff;padding:1.25rem 1.5rem;text-align:center}.tt-preview-page-header h1{font-size:1.125rem;font-weight:700;margin:0;letter-spacing:.05em}.tt-preview-page-header p{font-size:.75rem;opacity:.8;margin:.25rem 0 0}.tt-preview-patient-info{display:grid;grid-template-columns:1fr 1fr;gap:.75rem;padding:1rem 1.5rem;background:#f8fafc;border-bottom:1px solid #e2e8f0}.tt-preview-info-item{display:flex;flex-direction:column;gap:.125rem}.tt-preview-info-label{font-size:.625rem;color:#94a3b8;text-transform:uppercase;letter-spacing:.05em;font-weight:600}.tt-preview-info-value{font-size:.8rem;color:#1e293b;font-weight:600}.tt-preview-photo-grid{padding:1rem 1.5rem}.tt-preview-photo-grid-header{display:grid;grid-template-columns:80px 1fr 1fr;gap:.5rem;margin-bottom:.5rem}.tt-preview-photo-grid-header span{font-size:.65rem;font-weight:700;text-transform:uppercase;letter-spacing:.1em;text-align:center;padding:.25rem}.tt-preview-photo-grid-header span:nth-child(2){background:#fef2f2;color:#b91c1c;border-radius:4px}.tt-preview-photo-grid-header span:nth-child(3){background:#ecfdf5;color:#15803d;border-radius:4px}.tt-preview-photo-row{display:grid;grid-template-columns:80px 1fr 1fr;gap:.5rem;margin-bottom:.5rem;align-items:center}.tt-preview-photo-label{font-size:.7rem;font-weight:600;color:#475569}.tt-preview-photo-cell{aspect-ratio:4 / 3;background:#f1f5f9;border-radius:6px;overflow:hidden;display:flex;align-items:center;justify-content:center}.tt-preview-photo-cell img{width:100%;height:100%;object-fit:cover}.tt-preview-photo-cell.empty{border:1px dashed #cbd5e1}.tt-preview-photo-cell.empty span{font-size:.6rem;color:#94a3b8}.tt-preview-observations{padding:1rem 1.5rem;border-top:1px solid #e2e8f0}.tt-preview-observations h3{font-size:.75rem;font-weight:700;color:#475569;text-transform:uppercase;letter-spacing:.05em;margin:0 0 .5rem}.tt-preview-observations p{font-size:.75rem;color:#475569;line-height:1.6;margin:0}.tt-preview-footer{position:absolute;bottom:0;left:0;right:0;display:flex;justify-content:space-between;padding:.75rem 1.5rem;background:#f8fafc;border-top:1px solid #e2e8f0;font-size:.625rem;color:#94a3b8}@media(max-width:1024px){.tt-stats-grid{grid-template-columns:repeat(2,1fr)}.tt-gallery{grid-template-columns:1fr}.tt-list-date{display:none}.tt-preview-page{width:100%;min-height:auto}}@media(max-width:768px){.tt-header{padding:1.5rem}.tt-header-content{flex-direction:column;gap:1rem;align-items:stretch}.tt-header-title-section,.tt-btn-new{justify-content:center}.tt-controls-bar{flex-direction:column;align-items:stretch}.tt-search-wrapper{max-width:none}.tt-filter-pills{overflow-x:auto;flex-wrap:nowrap;padding-bottom:.25rem}.tt-view-toggle{margin-left:0}.tt-form-row{grid-template-columns:1fr}.tt-photo-row,.tt-photo-grid-header{grid-template-columns:80px 1fr 1fr}.tt-modal{max-width:100%;border-radius:20px}.tt-modal-footer{flex-direction:column;gap:.5rem}.tt-modal-footer-right{width:100%;justify-content:flex-end}.tt-list-item{flex-wrap:wrap}.tt-list-photos{display:none}}@media(max-width:480px){.tt-stats-grid{grid-template-columns:1fr}.tt-card-actions{flex-wrap:wrap}.tt-photo-row{grid-template-columns:1fr;gap:.5rem}.tt-photo-grid-header{grid-template-columns:1fr}.tt-photo-grid-header span:first-child{display:none}}.expenses-page{display:flex;flex-direction:column;gap:2rem;animation:expensesFadeInUp .5s ease}@keyframes expensesFadeInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.expenses-header{display:flex;justify-content:space-between;align-items:flex-start;flex-wrap:wrap;gap:1.5rem}.expenses-header-content h1{font-size:2rem;font-weight:700;background:linear-gradient(135deg,#1e3a5f,#0891b2);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;margin-bottom:.5rem}.expenses-header-content p{color:#64748b;font-size:1rem}.expenses-header-actions{display:flex;gap:.75rem}.exp-btn-premium{display:flex;align-items:center;gap:.5rem;padding:.75rem 1.5rem;background:linear-gradient(135deg,#0891b2,#0e7490,#155e75);color:#fff;border:none;border-radius:12px;font-size:.9rem;font-weight:600;cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1);box-shadow:0 4px 15px #0891b24d;position:relative;overflow:hidden}.exp-btn-premium:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.2),transparent);transition:left .5s}.exp-btn-premium:hover:before{left:100%}.exp-btn-premium:hover{transform:translateY(-2px);box-shadow:0 8px 25px #0891b266}.exp-btn-outline{display:flex;align-items:center;gap:.5rem;padding:.75rem 1.25rem;background:#fff;color:#0891b2;border:2px solid #0891b2;border-radius:12px;font-size:.9rem;font-weight:600;cursor:pointer;transition:all .3s ease}.exp-btn-outline:hover{background:#0891b2;color:#fff;transform:translateY(-2px)}.expenses-overview{display:grid;grid-template-columns:repeat(4,1fr);gap:1.5rem}.exp-finance-card{background:#fff;border-radius:20px;padding:1.75rem;position:relative;overflow:hidden;transition:all .4s cubic-bezier(.4,0,.2,1);box-shadow:0 4px 20px #0000000d;border:1px solid rgba(0,0,0,.05)}.exp-finance-card:before{content:"";position:absolute;top:0;left:0;right:0;height:4px;background:linear-gradient(90deg,var(--exp-card-accent),var(--exp-card-accent-light))}.exp-finance-card:hover{transform:translateY(-5px);box-shadow:0 20px 40px #0000001a}.exp-finance-card.total-expenses{--exp-card-accent: #ef4444;--exp-card-accent-light: #f87171}.exp-finance-card.paid-expenses{--exp-card-accent: #10b981;--exp-card-accent-light: #34d399}.exp-finance-card.pending-expenses{--exp-card-accent: #f59e0b;--exp-card-accent-light: #fbbf24}.exp-finance-card.budget-deviation{--exp-card-accent: #6366f1;--exp-card-accent-light: #818cf8}.exp-finance-card-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:1rem}.exp-finance-card-icon{width:52px;height:52px;border-radius:14px;display:flex;align-items:center;justify-content:center;font-size:1.5rem;background:linear-gradient(135deg,var(--exp-card-accent) 0%,var(--exp-card-accent-light) 100%);box-shadow:0 4px 15px #00000026}.exp-finance-card-trend{display:flex;align-items:center;gap:.25rem;padding:.35rem .75rem;border-radius:20px;font-size:.75rem;font-weight:600}.exp-finance-card-trend.positive{background:#dcfce7;color:#16a34a}.exp-finance-card-trend.negative{background:#fee2e2;color:#dc2626}.exp-finance-card-trend.neutral{background:#f3f4f6;color:#6b7280}.exp-finance-card-body h3{font-size:2rem;font-weight:700;color:#1e293b;margin-bottom:.25rem;letter-spacing:-.02em}.exp-finance-card-body p{color:#64748b;font-size:.9rem;font-weight:500}.exp-finance-card-footer{display:flex;align-items:center;gap:.5rem;margin-top:1rem;padding-top:1rem;border-top:1px solid #f1f5f9;font-size:.8rem;color:#94a3b8}.expenses-quick-stats{display:flex;gap:1rem;padding:1rem 1.5rem;background:linear-gradient(135deg,#1e3a5f,#0f2744);border-radius:16px;color:#fff}.exp-quick-stat{flex:1;display:flex;align-items:center;gap:1rem;padding:.75rem 1rem;background:#ffffff1a;border-radius:12px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);transition:all .3s ease}.exp-quick-stat:hover{background:#ffffff26}.exp-quick-stat-icon{width:40px;height:40px;background:#fff3;border-radius:10px;display:flex;align-items:center;justify-content:center;font-size:1.2rem}.exp-quick-stat-content h4{font-size:1.25rem;font-weight:700;margin-bottom:.125rem}.exp-quick-stat-content span{font-size:.8rem;opacity:.8}.expenses-content-grid{display:grid;grid-template-columns:2fr 1fr;gap:1.5rem}.expenses-table-card{background:#fff;border-radius:20px;box-shadow:0 4px 20px #0000000d;overflow:hidden;border:1px solid rgba(0,0,0,.05)}.expenses-table-header{display:flex;justify-content:space-between;align-items:center;padding:1.5rem 1.75rem;border-bottom:1px solid #f1f5f9;flex-wrap:wrap;gap:1rem}.expenses-table-title{display:flex;align-items:center;gap:.75rem}.expenses-table-title h2{font-size:1.25rem;font-weight:600;color:#1e293b;margin:0}.exp-count-badge{background:linear-gradient(135deg,#0891b2,#0e7490);color:#fff;padding:.25rem .75rem;border-radius:20px;font-size:.75rem;font-weight:600}.exp-filter-tabs{display:flex;gap:.5rem;padding:.25rem;background:#f8fafc;border-radius:12px}.exp-filter-tab{position:relative;padding:.6rem 1.25rem;background:transparent;border:none;border-radius:10px;font-size:.85rem;font-weight:500;color:#64748b;cursor:pointer;transition:all .3s ease}.exp-filter-tab:hover{color:#0891b2}.exp-filter-tab.active{background:#fff;color:#0891b2;box-shadow:0 2px 10px #00000014}.exp-filter-tab .count{margin-left:.5rem;padding:.15rem .5rem;background:#e2e8f0;border-radius:10px;font-size:.7rem;color:#64748b}.exp-filter-tab.active .count{background:#0891b2;color:#fff}.exp-search-bar{position:relative;max-width:280px}.exp-search-bar input{width:100%;padding:.7rem 1rem .7rem 2.75rem;background:#f8fafc;border:2px solid transparent;border-radius:12px;font-size:.875rem;transition:all .3s ease}.exp-search-bar input:focus{outline:none;background:#fff;border-color:#0891b2;box-shadow:0 0 0 4px #0891b21a}.exp-search-bar .exp-search-icon{position:absolute;left:1rem;top:50%;transform:translateY(-50%);color:#94a3b8;font-size:1rem}.exp-premium-table{width:100%;border-collapse:separate;border-spacing:0}.exp-premium-table thead{background:linear-gradient(180deg,#f8fafc,#f1f5f9)}.exp-premium-table th{padding:1rem 1.25rem;text-align:left;font-size:.75rem;font-weight:700;color:#475569;text-transform:uppercase;letter-spacing:.08em;border-bottom:2px solid #e2e8f0}.exp-premium-table td{padding:1.25rem;font-size:.9rem;color:#334155;border-bottom:1px solid #f1f5f9;transition:all .2s ease}.exp-premium-table tbody tr{transition:all .3s ease}.exp-premium-table tbody tr:hover{background:linear-gradient(90deg,rgba(8,145,178,.03) 0%,transparent 100%)}.exp-premium-table tbody tr:hover td{color:#1e293b}.exp-reference-cell{display:flex;align-items:center;gap:.75rem}.exp-reference-icon{width:40px;height:40px;border-radius:10px;display:flex;align-items:center;justify-content:center;font-size:1rem;border:1px solid #e2e8f0}.exp-reference-info strong{display:block;font-weight:700;color:#1e293b;font-size:.95rem}.exp-reference-info span{font-size:.75rem;color:#94a3b8}.exp-category-badge{display:inline-flex;align-items:center;gap:.4rem;padding:.4rem .8rem;border-radius:8px;font-size:.8rem;font-weight:600;background:var(--cat-bg);color:var(--cat-color)}.exp-category-badge.alquiler{--cat-bg: #eef2ff;--cat-color: #4f46e5}.exp-category-badge.suministros{--cat-bg: #ecfeff;--cat-color: #0e7490}.exp-category-badge.nominas{--cat-bg: #ecfdf5;--cat-color: #059669}.exp-category-badge.seguros{--cat-bg: #fffbeb;--cat-color: #d97706}.exp-category-badge.material-fungible{--cat-bg: #fdf2f8;--cat-color: #db2777}.exp-category-badge.laboratorio{--cat-bg: #f5f3ff;--cat-color: #7c3aed}.exp-category-badge.marketing{--cat-bg: #fff7ed;--cat-color: #ea580c}.exp-category-badge.otros{--cat-bg: #f8fafc;--cat-color: #475569}.exp-amount-cell{font-weight:700;font-size:1rem!important;color:#1e293b;font-family:SF Mono,Consolas,monospace}.exp-status-badge{display:inline-flex;align-items:center;gap:.5rem;padding:.5rem 1rem;border-radius:10px;font-size:.8rem;font-weight:600;letter-spacing:.02em}.exp-status-badge .exp-status-dot{width:8px;height:8px;border-radius:50%;animation:expPulse 2s infinite}@keyframes expPulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.5;transform:scale(.9)}}.exp-status-badge.pagado{background:linear-gradient(135deg,#dcfce7,#d1fae5);color:#15803d}.exp-status-badge.pagado .exp-status-dot{background:#16a34a}.exp-status-badge.pendiente{background:linear-gradient(135deg,#fef3c7,#fef9c3);color:#b45309}.exp-status-badge.pendiente .exp-status-dot{background:#f59e0b;animation:expPulse 1.5s infinite}.exp-status-badge.vencido{background:linear-gradient(135deg,#fee2e2,#fecaca);color:#b91c1c}.exp-status-badge.vencido .exp-status-dot{background:#dc2626;animation:expPulse 1s infinite}.exp-status-badge.cancelado{background:linear-gradient(135deg,#f1f5f9,#e2e8f0);color:#64748b}.exp-status-badge.cancelado .exp-status-dot{background:#94a3b8;animation:none}.exp-actions-cell{display:flex;gap:.5rem}.exp-action-btn{width:36px;height:36px;border:none;border-radius:10px;background:#f8fafc;color:#64748b;cursor:pointer;transition:all .3s ease;display:flex;align-items:center;justify-content:center;font-size:1rem}.exp-action-btn:hover{background:#0891b2;color:#fff;transform:scale(1.1)}.exp-action-btn.pay:hover{background:#10b981}.exp-action-btn.delete:hover{background:#ef4444}.expenses-sidebar{display:flex;flex-direction:column;gap:1.5rem}.exp-category-card{background:#fff;border-radius:20px;padding:1.5rem;box-shadow:0 4px 20px #0000000d;border:1px solid rgba(0,0,0,.05)}.exp-sidebar-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.25rem}.exp-sidebar-header h3{font-size:1rem;font-weight:600;color:#1e293b;margin:0}.exp-sidebar-header a{font-size:.8rem;color:#0891b2;text-decoration:none;font-weight:500}.exp-category-list{display:flex;flex-direction:column;gap:.75rem}.exp-category-item{display:flex;align-items:center;justify-content:space-between;padding:.875rem;background:#f8fafc;border-radius:12px;transition:all .3s ease}.exp-category-item:hover{background:#f1f5f9;transform:translate(5px)}.exp-category-item-info{display:flex;align-items:center;gap:.75rem}.exp-category-item-icon{width:38px;height:38px;border-radius:10px;display:flex;align-items:center;justify-content:center;font-size:1.1rem;color:#fff}.exp-category-item-details strong{display:block;font-size:.85rem;color:#1e293b}.exp-category-item-details span{font-size:.75rem;color:#64748b}.exp-category-item-amount{font-weight:700;color:#1e293b;font-size:.9rem;font-family:SF Mono,Consolas,monospace}.exp-budget-card{background:#fff;border-radius:20px;padding:1.5rem;box-shadow:0 4px 20px #0000000d;border:1px solid rgba(0,0,0,.05)}.exp-budget-list{display:flex;flex-direction:column;gap:1rem}.exp-budget-item{padding-bottom:1rem;border-bottom:1px solid #f1f5f9}.exp-budget-item:last-child{border-bottom:none;padding-bottom:0}.exp-budget-item-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.5rem}.exp-budget-item-header strong{font-size:.85rem;color:#1e293b}.exp-budget-item-header span{font-size:.8rem;font-weight:600}.exp-budget-item-header span.ok{color:#16a34a}.exp-budget-item-header span.warning{color:#d97706}.exp-budget-item-header span.danger{color:#dc2626}.exp-budget-progress{height:8px;background:#f1f5f9;border-radius:4px;overflow:hidden;margin-bottom:.35rem}.exp-budget-progress-bar{height:100%;border-radius:4px;transition:width .6s cubic-bezier(.4,0,.2,1)}.exp-budget-progress-bar.ok{background:linear-gradient(90deg,#10b981,#34d399)}.exp-budget-progress-bar.warning{background:linear-gradient(90deg,#f59e0b,#fbbf24)}.exp-budget-progress-bar.danger{background:linear-gradient(90deg,#ef4444,#f87171)}.exp-budget-item-footer{display:flex;justify-content:space-between;font-size:.75rem;color:#94a3b8}.exp-comparison-card{background:#fff;border-radius:20px;padding:1.5rem;box-shadow:0 4px 20px #0000000d;border:1px solid rgba(0,0,0,.05)}.exp-comparison-chart{display:flex;flex-direction:column;gap:.75rem}.exp-comparison-row{display:flex;align-items:center;gap:.75rem}.exp-comparison-label{width:60px;font-size:.7rem;color:#64748b;text-align:right;flex-shrink:0}.exp-comparison-bars{flex:1;display:flex;flex-direction:column;gap:3px}.exp-comparison-bar{height:10px;border-radius:5px;transition:width .6s cubic-bezier(.4,0,.2,1)}.exp-comparison-bar.expense{background:linear-gradient(90deg,#ef4444,#f87171)}.exp-comparison-bar.income{background:linear-gradient(90deg,#10b981,#34d399)}.exp-comparison-legend{display:flex;justify-content:center;gap:1.5rem;margin-top:.75rem;padding-top:.75rem;border-top:1px solid #f1f5f9}.exp-legend-item{display:flex;align-items:center;gap:.5rem;font-size:.75rem;color:#64748b}.exp-legend-dot{width:10px;height:10px;border-radius:3px}.exp-legend-dot.expense{background:#ef4444}.exp-legend-dot.income{background:#10b981}.exp-table-pagination{display:flex;align-items:center;justify-content:space-between;padding:1.25rem 1.5rem;border-top:1px solid #f1f5f9}.exp-pagination-info{font-size:.875rem;color:#64748b}.exp-pagination-controls{display:flex;align-items:center;gap:.5rem}.exp-page-btn{width:36px;height:36px;border:1px solid #e2e8f0;background:#fff;border-radius:8px;color:#64748b;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s ease;font-size:.875rem}.exp-page-btn:hover:not(:disabled){border-color:#0891b2;color:#0891b2}.exp-page-btn.active{background:#0891b2;border-color:#0891b2;color:#fff}.exp-page-btn:disabled{opacity:.5;cursor:not-allowed}.exp-empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:4rem 2rem;text-align:center}.exp-empty-state-icon{width:80px;height:80px;background:linear-gradient(135deg,#f8fafc,#e2e8f0);border-radius:20px;display:flex;align-items:center;justify-content:center;font-size:2.5rem;margin-bottom:1.5rem}.exp-empty-state h3{font-size:1.25rem;font-weight:600;color:#1e293b;margin-bottom:.5rem}.exp-empty-state p{color:#64748b;margin-bottom:1.5rem}.exp-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:4rem 2rem;gap:1rem}.exp-loading-spinner{width:48px;height:48px;border:4px solid #e2e8f0;border-top-color:#0891b2;border-radius:50%;animation:expSpin 1s linear infinite}@keyframes expSpin{to{transform:rotate(360deg)}}.exp-modal-overlay{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.exp-modal{background:#fff;border-radius:24px;width:100%;max-width:620px;max-height:90vh;overflow:hidden;box-shadow:0 25px 80px #0000004d;animation:expModalSlideIn .4s cubic-bezier(.4,0,.2,1)}@keyframes expModalSlideIn{0%{opacity:0;transform:scale(.95) translateY(20px)}to{opacity:1;transform:scale(1) translateY(0)}}.exp-modal-header{display:flex;align-items:center;justify-content:space-between;padding:1.5rem 2rem;background:linear-gradient(135deg,#1e3a5f,#0e7490);color:#fff}.exp-modal-header h2{font-size:1.25rem;font-weight:600;margin:0;display:flex;align-items:center;gap:.75rem}.exp-modal-close{width:36px;height:36px;background:#ffffff26;border:none;border-radius:10px;color:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:1.25rem;transition:all .2s ease}.exp-modal-close:hover{background:#ffffff40}.exp-modal-body{padding:2rem;overflow-y:auto;max-height:60vh}.exp-form-group{margin-bottom:1.5rem}.exp-form-label{display:block;font-size:.875rem;font-weight:600;color:#374151;margin-bottom:.5rem}.exp-form-input{width:100%;padding:.875rem 1rem;border:2px solid #e2e8f0;border-radius:12px;font-size:.9rem;transition:all .3s ease;background:#f8fafc}.exp-form-input:focus{outline:none;border-color:#0891b2;background:#fff;box-shadow:0 0 0 4px #0891b21a}.exp-form-select{width:100%;padding:.875rem 1rem;border:2px solid #e2e8f0;border-radius:12px;font-size:.9rem;background:#f8fafc;cursor:pointer;transition:all .3s ease}.exp-form-select:focus{outline:none;border-color:#0891b2;background:#fff}.exp-form-row{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem}.exp-modal-summary{background:linear-gradient(135deg,#f8fafc,#f1f5f9);border-radius:12px;padding:1.25rem;margin-top:1.5rem}.exp-summary-row{display:flex;justify-content:space-between;align-items:center;padding:.5rem 0;font-size:.9rem}.exp-summary-row.total{border-top:2px solid #e2e8f0;margin-top:.5rem;padding-top:1rem;font-size:1.1rem;font-weight:700;color:#1e293b}.exp-modal-footer{display:flex;justify-content:flex-end;gap:.75rem;padding:1.25rem 2rem;background:#f8fafc;border-top:1px solid #e2e8f0}.exp-btn-cancel{padding:.75rem 1.5rem;background:#fff;border:2px solid #e2e8f0;border-radius:12px;font-size:.9rem;font-weight:600;color:#64748b;cursor:pointer;transition:all .3s ease}.exp-btn-cancel:hover{background:#f8fafc;border-color:#cbd5e1}.exp-analytics-section{display:flex;flex-direction:column;gap:1.5rem}.exp-analytics-header{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:1rem}.exp-analytics-header h2{font-size:1.4rem;font-weight:700;background:linear-gradient(135deg,#1e3a5f,#0891b2);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;margin:0}.exp-analytics-period{display:flex;gap:.375rem;padding:.25rem;background:#f8fafc;border-radius:12px;border:1px solid #e2e8f0}.exp-analytics-period-btn{padding:.5rem 1rem;background:transparent;border:none;border-radius:10px;font-size:.8rem;font-weight:600;color:#64748b;cursor:pointer;transition:all .3s ease}.exp-analytics-period-btn:hover{color:#0891b2}.exp-analytics-period-btn.active{background:#fff;color:#0891b2;box-shadow:0 2px 8px #00000014}.exp-charts-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1.5rem}.exp-chart-card{background:#fff;border-radius:20px;box-shadow:0 4px 20px #0000000d;border:1px solid rgba(0,0,0,.05);overflow:hidden;transition:all .4s cubic-bezier(.4,0,.2,1)}.exp-chart-card:hover{box-shadow:0 12px 35px #00000014;transform:translateY(-2px)}.exp-chart-card-header{display:flex;justify-content:space-between;align-items:center;padding:1.25rem 1.5rem;border-bottom:1px solid #f1f5f9}.exp-chart-title{display:flex;align-items:center;gap:.75rem}.exp-chart-icon{width:40px;height:40px;background:linear-gradient(135deg,#f8fafc,#e2e8f0);border-radius:10px;display:flex;align-items:center;justify-content:center;font-size:1.15rem}.exp-chart-title h3{font-size:1rem;font-weight:600;color:#1e293b;margin:0}.exp-chart-title span{font-size:.8rem;color:#94a3b8}.exp-chart-badge{padding:.3rem .75rem;border-radius:20px;font-size:.75rem;font-weight:700}.exp-chart-badge.positive{background:#dcfce7;color:#16a34a}.exp-chart-badge.negative{background:#fee2e2;color:#dc2626}.exp-chart-body{padding:1rem 1rem .5rem}.exp-chart-body-pie{display:flex;align-items:center;gap:.5rem}.exp-pie-legend{display:flex;flex-direction:column;gap:.5rem;min-width:130px;padding-right:1rem}.exp-pie-legend-item{display:flex;align-items:center;gap:.5rem}.exp-pie-legend-dot{width:10px;height:10px;border-radius:3px;flex-shrink:0}.exp-pie-legend-label{font-size:.8rem;color:#64748b;flex:1}.exp-pie-legend-value{font-size:.8rem;font-weight:700;color:#1e293b}@media(max-width:1200px){.expenses-content-grid{grid-template-columns:1fr}.expenses-sidebar{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem}}@media(max-width:992px){.expenses-overview{grid-template-columns:repeat(2,1fr)}.expenses-quick-stats{flex-wrap:wrap}.exp-quick-stat{flex:1 1 45%}.exp-charts-grid{grid-template-columns:1fr}.exp-chart-body-pie{flex-direction:column}.exp-pie-legend{flex-direction:row;flex-wrap:wrap;gap:.75rem;min-width:unset;padding:0 1rem 1rem;justify-content:center}}@media(max-width:768px){.expenses-header{flex-direction:column;align-items:stretch}.expenses-header-actions{justify-content:stretch}.expenses-header-actions button{flex:1;justify-content:center}.expenses-overview,.expenses-sidebar{grid-template-columns:1fr}.expenses-table-header{flex-direction:column;align-items:stretch}.exp-filter-tabs{overflow-x:auto;padding-bottom:.5rem}.exp-form-row{grid-template-columns:1fr}.exp-quick-stat{flex:1 1 100%}}.accounting-page{display:flex;flex-direction:column;gap:2rem;animation:accFadeIn .5s ease}@keyframes accFadeIn{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.accounting-header{display:flex;justify-content:space-between;align-items:flex-start;flex-wrap:wrap;gap:1.5rem}.accounting-header-content h1{font-size:2rem;font-weight:700;background:linear-gradient(135deg,#0f766e,#0891b2);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;margin-bottom:.5rem}.accounting-header-content p{color:#64748b;font-size:1rem}.accounting-header-actions{display:flex;gap:.75rem}.accounting-kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:1.5rem}.acc-kpi-card{background:#fff;border-radius:20px;padding:1.75rem;position:relative;overflow:hidden;transition:all .4s cubic-bezier(.4,0,.2,1);box-shadow:0 4px 20px #0000000d;border:1px solid rgba(0,0,0,.05)}.acc-kpi-card:before{content:"";position:absolute;top:0;left:0;right:0;height:4px;background:linear-gradient(90deg,var(--kpi-color),var(--kpi-color-light))}.acc-kpi-card:hover{transform:translateY(-5px);box-shadow:0 20px 40px #0000001a}.acc-kpi-card.income{--kpi-color: #10b981;--kpi-color-light: #34d399}.acc-kpi-card.expenses{--kpi-color: #ef4444;--kpi-color-light: #f87171}.acc-kpi-card.profit{--kpi-color: #3b82f6;--kpi-color-light: #60a5fa}.acc-kpi-card.vat{--kpi-color: #f59e0b;--kpi-color-light: #fbbf24}.acc-kpi-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:1rem}.acc-kpi-icon{width:52px;height:52px;border-radius:14px;display:flex;align-items:center;justify-content:center;font-size:1.5rem;background:linear-gradient(135deg,var(--kpi-color) 0%,var(--kpi-color-light) 100%);box-shadow:0 4px 15px #00000026}.acc-kpi-body h3{font-size:2rem;font-weight:700;color:#1e293b;margin-bottom:.25rem;letter-spacing:-.02em}.acc-kpi-body p{color:#64748b;font-size:.9rem;font-weight:500}.accounting-quick-stats{display:flex;gap:1rem;padding:1rem 1.5rem;background:linear-gradient(135deg,#134e4a,#0f766e);border-radius:16px;color:#fff}.acc-quick-stat{flex:1;display:flex;align-items:center;gap:1rem;padding:.75rem 1rem;background:#ffffff1a;border-radius:12px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);transition:all .3s ease}.acc-quick-stat:hover{background:#ffffff26}.acc-quick-stat-icon{width:40px;height:40px;background:#fff3;border-radius:10px;display:flex;align-items:center;justify-content:center;font-size:1.2rem}.acc-quick-stat-content h4{font-size:1.25rem;font-weight:700;margin-bottom:.125rem}.acc-quick-stat-content span{font-size:.8rem;opacity:.8}.accounting-tabs{display:flex;gap:.5rem;padding:.25rem;background:#fff;border-radius:16px;box-shadow:0 4px 20px #0000000d;border:1px solid rgba(0,0,0,.05);overflow-x:auto}.acc-tab{padding:.75rem 1.5rem;background:transparent;border:none;border-radius:12px;font-size:.9rem;font-weight:500;color:#64748b;cursor:pointer;transition:all .3s ease;white-space:nowrap;display:flex;align-items:center;gap:.5rem}.acc-tab:hover{color:#0f766e;background:#f0fdfa}.acc-tab.active{background:linear-gradient(135deg,#0f766e,#0891b2);color:#fff;box-shadow:0 4px 15px #0f766e4d}.acc-tab-content{background:#fff;border-radius:20px;box-shadow:0 4px 20px #0000000d;border:1px solid rgba(0,0,0,.05);overflow:hidden}.acc-tab-content-header{display:flex;justify-content:space-between;align-items:center;padding:1.5rem 1.75rem;border-bottom:1px solid #f1f5f9;flex-wrap:wrap;gap:1rem}.acc-tab-content-header h2{font-size:1.25rem;font-weight:600;color:#1e293b;margin:0}.acc-tab-content-body{padding:1.5rem 1.75rem}.acc-date-filters{display:flex;gap:.75rem;align-items:center}.acc-date-filters input[type=date]{padding:.6rem 1rem;border:2px solid #e2e8f0;border-radius:10px;font-size:.875rem;transition:all .3s ease;background:#f8fafc}.acc-date-filters input[type=date]:focus{outline:none;border-color:#0f766e;background:#fff;box-shadow:0 0 0 4px #0f766e1a}.acc-date-filters select{padding:.6rem 1rem;border:2px solid #e2e8f0;border-radius:10px;font-size:.875rem;background:#f8fafc;cursor:pointer}.acc-table{width:100%;border-collapse:separate;border-spacing:0}.acc-table thead{background:linear-gradient(180deg,#f8fafc,#f1f5f9)}.acc-table th{padding:1rem 1.25rem;text-align:left;font-size:.75rem;font-weight:700;color:#475569;text-transform:uppercase;letter-spacing:.08em;border-bottom:2px solid #e2e8f0}.acc-table td{padding:1rem 1.25rem;font-size:.9rem;color:#334155;border-bottom:1px solid #f1f5f9;transition:all .2s ease}.acc-table tbody tr{transition:all .3s ease;cursor:pointer}.acc-table tbody tr:hover{background:linear-gradient(90deg,rgba(15,118,110,.03) 0%,transparent 100%)}.acc-table .amount-debit{font-weight:600;color:#dc2626;font-family:SF Mono,Consolas,monospace}.acc-table .amount-credit{font-weight:600;color:#16a34a;font-family:SF Mono,Consolas,monospace}.acc-table .amount-cell{font-weight:700;font-family:SF Mono,Consolas,monospace;color:#1e293b}.acc-entry-lines{background:#f8fafc}.acc-entry-lines td{padding:.75rem 1.25rem .75rem 3rem;font-size:.85rem;color:#64748b;border-bottom:1px solid #e2e8f0}.acc-source-badge{display:inline-flex;align-items:center;gap:.35rem;padding:.3rem .75rem;border-radius:8px;font-size:.75rem;font-weight:600}.acc-source-badge.invoice{background:#dbeafe;color:#1d4ed8}.acc-source-badge.payment{background:#dcfce7;color:#15803d}.acc-source-badge.expense{background:#fee2e2;color:#b91c1c}.acc-source-badge.manual{background:#f3f4f6;color:#4b5563}.acc-account-group{margin-bottom:1.5rem}.acc-account-group-header{display:flex;align-items:center;justify-content:space-between;padding:.75rem 1rem;background:linear-gradient(135deg,#f8fafc,#f1f5f9);border-radius:12px;cursor:pointer;transition:all .3s ease;margin-bottom:.5rem}.acc-account-group-header:hover{background:linear-gradient(135deg,#f1f5f9,#e2e8f0)}.acc-account-group-header h3{font-size:1rem;font-weight:600;color:#1e293b;display:flex;align-items:center;gap:.5rem}.acc-account-group-header span{font-size:.9rem;font-weight:700;font-family:SF Mono,Consolas,monospace}.acc-account-item{display:flex;align-items:center;justify-content:space-between;padding:.75rem 1rem .75rem 2rem;border-bottom:1px solid #f1f5f9;transition:all .2s ease}.acc-account-item:hover{background:#f8fafc}.acc-account-item .code{font-family:SF Mono,Consolas,monospace;font-weight:600;color:#0f766e;width:60px}.acc-account-item .name{flex:1;color:#334155}.acc-account-item .balance{font-weight:700;font-family:SF Mono,Consolas,monospace;color:#1e293b}.acc-reports-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1.5rem}.acc-report-card{background:#f8fafc;border-radius:16px;padding:1.5rem;border:1px solid #e2e8f0;transition:all .3s ease}.acc-report-card:hover{border-color:#0f766e;box-shadow:0 4px 15px #0f766e1a}.acc-report-card h3{font-size:1.1rem;font-weight:600;color:#1e293b;margin-bottom:.5rem;display:flex;align-items:center;gap:.5rem}.acc-report-card p{color:#64748b;font-size:.85rem;margin-bottom:1rem}.acc-report-card .report-controls{display:flex;gap:.75rem;align-items:center;flex-wrap:wrap}.acc-report-card .report-controls input,.acc-report-card .report-controls select{padding:.5rem .75rem;border:2px solid #e2e8f0;border-radius:8px;font-size:.85rem;background:#fff}.acc-report-result{margin-top:1rem;padding:1rem;background:#fff;border-radius:12px;border:1px solid #e2e8f0}.acc-report-result .report-row{display:flex;justify-content:space-between;padding:.5rem 0;font-size:.9rem;border-bottom:1px solid #f1f5f9}.acc-report-result .report-row:last-child{border-bottom:none}.acc-report-result .report-row.total{font-weight:700;color:#1e293b;border-top:2px solid #e2e8f0;margin-top:.5rem;padding-top:.75rem}.acc-report-result .report-row .positive{color:#16a34a;font-weight:600}.acc-report-result .report-row .negative{color:#dc2626;font-weight:600}.acc-export-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}.acc-export-card{background:#f8fafc;border-radius:14px;padding:1.25rem;border:1px solid #e2e8f0;text-align:center;transition:all .3s ease}.acc-export-card:hover{border-color:#0f766e;transform:translateY(-3px);box-shadow:0 8px 20px #0f766e1a}.acc-export-card .export-icon{font-size:2rem;margin-bottom:.5rem}.acc-export-card h4{font-size:.95rem;font-weight:600;color:#1e293b;margin-bottom:.25rem}.acc-export-card p{font-size:.8rem;color:#64748b;margin-bottom:1rem}.acc-summary-grid{display:grid;grid-template-columns:2fr 1fr;gap:1.5rem}.acc-chart-section{background:#f8fafc;border-radius:16px;padding:1.5rem}.acc-chart-section h3{font-size:1rem;font-weight:600;color:#1e293b;margin-bottom:1rem}.acc-chart-bars{display:flex;align-items:flex-end;gap:.75rem;height:160px;padding:0 .5rem}.acc-chart-bar-group{flex:1;display:flex;flex-direction:column;align-items:center;gap:.25rem}.acc-chart-bar-pair{display:flex;align-items:flex-end;gap:4px;height:140px}.acc-chart-bar{width:18px;border-radius:4px 4px 0 0;transition:all .3s ease}.acc-chart-bar.income-bar{background:linear-gradient(180deg,#10b981,#059669)}.acc-chart-bar.expense-bar{background:linear-gradient(180deg,#ef4444,#dc2626)}.acc-chart-bar-label{font-size:.7rem;color:#94a3b8}.acc-chart-legend{display:flex;gap:1.5rem;margin-top:1rem;justify-content:center}.acc-chart-legend span{display:flex;align-items:center;gap:.5rem;font-size:.8rem;color:#64748b}.acc-chart-legend span:before{content:"";width:12px;height:12px;border-radius:3px}.acc-chart-legend .income-legend:before{background:#10b981}.acc-chart-legend .expense-legend:before{background:#ef4444}.acc-recent-list{display:flex;flex-direction:column;gap:.75rem}.acc-recent-item{display:flex;gap:.75rem;padding:.75rem;background:#f8fafc;border-radius:10px;transition:all .2s ease}.acc-recent-item:hover{background:#f1f5f9}.acc-recent-item .icon{width:36px;height:36px;border-radius:8px;display:flex;align-items:center;justify-content:center;font-size:.9rem;flex-shrink:0}.acc-recent-item .icon.income-icon{background:#dcfce7}.acc-recent-item .icon.expense-icon{background:#fee2e2}.acc-recent-item .info{flex:1;min-width:0}.acc-recent-item .info strong{display:block;font-size:.85rem;color:#1e293b;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.acc-recent-item .info span{font-size:.75rem;color:#94a3b8}.acc-recent-item .amount{font-weight:700;font-size:.9rem;font-family:SF Mono,Consolas,monospace;white-space:nowrap}.acc-recent-item .amount.positive{color:#16a34a}.acc-recent-item .amount.negative{color:#dc2626}.acc-modal-overlay{position:fixed;inset:0;background:#00000080;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:1000;padding:1rem}.acc-modal{background:#fff;border-radius:24px;width:100%;max-width:640px;max-height:90vh;overflow:hidden;box-shadow:0 25px 80px #0000004d;animation:accModalIn .4s cubic-bezier(.4,0,.2,1)}@keyframes accModalIn{0%{opacity:0;transform:scale(.95) translateY(20px)}to{opacity:1;transform:scale(1) translateY(0)}}.acc-modal-header{display:flex;align-items:center;justify-content:space-between;padding:1.5rem 2rem;background:linear-gradient(135deg,#134e4a,#0f766e);color:#fff}.acc-modal-header h2{font-size:1.25rem;font-weight:600;margin:0;display:flex;align-items:center;gap:.75rem}.acc-modal-close{width:36px;height:36px;background:#ffffff26;border:none;border-radius:10px;color:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:1.25rem;transition:all .2s ease}.acc-modal-close:hover{background:#ffffff40}.acc-modal-body{padding:2rem;overflow-y:auto;max-height:60vh}.acc-modal-footer{display:flex;justify-content:flex-end;gap:.75rem;padding:1.25rem 2rem;background:#f8fafc;border-top:1px solid #e2e8f0}.acc-form-group{margin-bottom:1.25rem}.acc-form-label{display:block;font-size:.875rem;font-weight:600;color:#374151;margin-bottom:.5rem}.acc-form-input,.acc-form-select,.acc-form-textarea{width:100%;padding:.75rem 1rem;border:2px solid #e2e8f0;border-radius:12px;font-size:.9rem;transition:all .3s ease;background:#f8fafc}.acc-form-input:focus,.acc-form-select:focus,.acc-form-textarea:focus{outline:none;border-color:#0f766e;background:#fff;box-shadow:0 0 0 4px #0f766e1a}.acc-form-textarea{min-height:80px;resize:vertical}.acc-form-row{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem}.acc-form-row-3{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}.acc-form-summary{background:linear-gradient(135deg,#f8fafc,#f1f5f9);border-radius:12px;padding:1rem;margin-top:1rem}.acc-form-summary .row{display:flex;justify-content:space-between;padding:.4rem 0;font-size:.9rem}.acc-form-summary .row.total{border-top:2px solid #e2e8f0;margin-top:.5rem;padding-top:.75rem;font-weight:700;color:#1e293b}.acc-entry-line-row{display:grid;grid-template-columns:2fr 2fr 1fr 1fr auto;gap:.5rem;align-items:center;margin-bottom:.5rem}.acc-entry-line-row input,.acc-entry-line-row select{padding:.5rem .75rem;border:2px solid #e2e8f0;border-radius:8px;font-size:.85rem;background:#f8fafc}.acc-entry-line-row input:focus,.acc-entry-line-row select:focus{outline:none;border-color:#0f766e}.acc-remove-line-btn{width:32px;height:32px;border:none;border-radius:8px;background:#fee2e2;color:#dc2626;cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:1rem;transition:all .2s ease}.acc-remove-line-btn:hover{background:#fecaca}.acc-add-line-btn{width:100%;padding:.6rem;background:transparent;border:2px dashed #cbd5e1;border-radius:8px;color:#64748b;cursor:pointer;transition:all .3s ease;font-size:.85rem;margin-top:.5rem}.acc-add-line-btn:hover{border-color:#0f766e;color:#0f766e;background:#0f766e0d}.acc-btn-primary{display:flex;align-items:center;gap:.5rem;padding:.75rem 1.5rem;background:linear-gradient(135deg,#0f766e,#0891b2);color:#fff;border:none;border-radius:12px;font-size:.9rem;font-weight:600;cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1);box-shadow:0 4px 15px #0f766e4d;position:relative;overflow:hidden}.acc-btn-primary:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.2),transparent);transition:left .5s}.acc-btn-primary:hover:before{left:100%}.acc-btn-primary:hover{transform:translateY(-2px);box-shadow:0 8px 25px #0f766e66}.acc-btn-outline{display:flex;align-items:center;gap:.5rem;padding:.75rem 1.25rem;background:#fff;color:#0f766e;border:2px solid #0f766e;border-radius:12px;font-size:.9rem;font-weight:600;cursor:pointer;transition:all .3s ease}.acc-btn-outline:hover{background:#0f766e;color:#fff;transform:translateY(-2px)}.acc-btn-cancel{padding:.75rem 1.5rem;background:#fff;border:2px solid #e2e8f0;border-radius:12px;font-size:.9rem;font-weight:600;color:#64748b;cursor:pointer;transition:all .3s ease}.acc-btn-cancel:hover{background:#f8fafc;border-color:#cbd5e1}.acc-btn-small{padding:.5rem 1rem;font-size:.85rem;border-radius:8px}.acc-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:4rem 2rem;gap:1rem}.acc-loading-spinner{width:48px;height:48px;border:4px solid #e2e8f0;border-top-color:#0f766e;border-radius:50%;animation:accSpin 1s linear infinite}@keyframes accSpin{to{transform:rotate(360deg)}}.acc-empty{display:flex;flex-direction:column;align-items:center;padding:3rem 2rem;text-align:center;color:#64748b}.acc-empty .icon{font-size:3rem;margin-bottom:1rem}@media(max-width:1200px){.acc-summary-grid,.acc-reports-grid{grid-template-columns:1fr}.acc-export-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:992px){.accounting-kpis{grid-template-columns:repeat(2,1fr)}.accounting-quick-stats{flex-wrap:wrap}.acc-quick-stat{flex:1 1 45%}}@media(max-width:768px){.accounting-header{flex-direction:column;align-items:stretch}.accounting-header-actions{justify-content:stretch}.accounting-header-actions button{flex:1;justify-content:center}.accounting-kpis{grid-template-columns:1fr}.acc-quick-stat{flex:1 1 100%}.acc-form-row,.acc-form-row-3,.acc-export-grid{grid-template-columns:1fr}.acc-entry-line-row{grid-template-columns:1fr 1fr}}@keyframes modalSlideIn{0%{opacity:0;transform:scale(.95) translateY(24px)}to{opacity:1;transform:scale(1) translateY(0)}}.deudores-tab{display:flex;flex-direction:column;gap:1.5rem;animation:fadeInUp .45s ease}.deudores-filters{display:flex;align-items:center;justify-content:space-between;gap:1.25rem;flex-wrap:wrap}.deudores-search-wrapper{position:relative;flex:0 0 320px;max-width:360px}.deudores-search-input{width:100%;padding:.75rem 2.6rem .75rem 2.75rem;background:#f8fafc;border:2px solid transparent;border-radius:12px;font-size:.875rem;color:#334155;transition:all .3s ease;box-sizing:border-box}.deudores-search-input::placeholder{color:#94a3b8}.deudores-search-input:focus{outline:none;background:#fff;border-color:#0891b2;box-shadow:0 0 0 4px #0891b21a}.deudores-search-icon{position:absolute;left:1rem;top:50%;transform:translateY(-50%);color:#94a3b8;font-size:.95rem;pointer-events:none}.deudores-search-clear{position:absolute;right:.75rem;top:50%;transform:translateY(-50%);background:none;border:none;color:#94a3b8;cursor:pointer;font-size:.8rem;padding:.2rem .35rem;border-radius:6px;transition:all .2s ease}.deudores-search-clear:hover{background:#e2e8f0;color:#475569}.severity-filter-tabs{display:flex;gap:.4rem;padding:.25rem;background:#f8fafc;border-radius:12px;flex-wrap:wrap}.severity-tab{position:relative;display:flex;align-items:center;gap:.5rem;padding:.55rem 1.1rem;background:transparent;border:none;border-radius:10px;font-size:.82rem;font-weight:500;color:#64748b;cursor:pointer;transition:all .3s ease;white-space:nowrap}.severity-tab:hover{color:#0891b2}.severity-tab.active{background:#fff;color:#1e293b;box-shadow:0 2px 10px #00000014;font-weight:600}.severity-tab-count{padding:.12rem .5rem;border-radius:10px;font-size:.7rem;background:#e2e8f0;color:#64748b;font-weight:600;transition:all .3s ease}.severity-tab.active .severity-tab-count{background:#0891b2;color:#fff}.severity-tab-leve:hover,.severity-tab-leve.active{color:#059669}.severity-tab-leve.active .severity-tab-count{background:#10b981}.severity-tab-medio:hover,.severity-tab-medio.active{color:#b45309}.severity-tab-medio.active .severity-tab-count{background:#f59e0b}.severity-tab-alto:hover,.severity-tab-alto.active{color:#c2410c}.severity-tab-alto.active .severity-tab-count{background:#f97316}.severity-tab-critico:hover,.severity-tab-critico.active{color:#b91c1c}.severity-tab-critico.active .severity-tab-count{background:#ef4444}.deudores-table-container{background:#fff;border-radius:20px;box-shadow:0 4px 20px #0000000d;border:1px solid rgba(0,0,0,.05);overflow:hidden}.deudores-premium-table{width:100%;border-collapse:separate;border-spacing:0}.deudores-premium-table thead{background:linear-gradient(180deg,#f8fafc,#f1f5f9)}.deudores-premium-table th{padding:.9rem 1.1rem;text-align:left;font-size:.75rem;font-weight:700;color:#475569;text-transform:uppercase;letter-spacing:.08em;border-bottom:2px solid #e2e8f0}.deudores-premium-table td{padding:1.1rem;font-size:.9rem;color:#334155;border-bottom:1px solid #f1f5f9;transition:all .2s ease;vertical-align:middle}.deudores-premium-table tbody tr:last-child td{border-bottom:none}.aging-th{display:inline-block;padding:.15rem .6rem;border-radius:6px;font-size:.7rem;font-weight:700;letter-spacing:.06em}.aging-th-green{background:#dcfce7;color:#15803d}.aging-th-amber{background:#fef3c7;color:#b45309}.aging-th-orange{background:#ffedd5;color:#c2410c}.aging-th-red{background:#fee2e2;color:#b91c1c}.debtor-row{cursor:pointer;border-left:4px solid var(--severity-color, #e2e8f0);transition:all .3s ease}.debtor-row:hover{background:linear-gradient(90deg,rgba(8,145,178,.04) 0%,transparent 100%);transform:translate(2px)}.debtor-row:hover td{color:#1e293b}.debtor-patient-cell{display:flex;align-items:center;gap:.85rem}.debtor-avatar{width:42px;height:42px;border-radius:12px;display:flex;align-items:center;justify-content:center;color:#fff;font-weight:700;font-size:.875rem;flex-shrink:0;box-shadow:0 4px 12px #00000026}.debtor-avatar-leve{background:linear-gradient(135deg,#10b981,#059669)}.debtor-avatar-medio{background:linear-gradient(135deg,#f59e0b,#d97706)}.debtor-avatar-alto{background:linear-gradient(135deg,#f97316,#ea580c)}.debtor-avatar-critico{background:linear-gradient(135deg,#ef4444,#dc2626)}.debtor-patient-info{display:flex;flex-direction:column;gap:.1rem}.debtor-patient-info strong{font-weight:600;color:#1e293b;font-size:.9rem}.debtor-patient-info span{font-size:.75rem;color:#64748b}.debtor-phone{font-size:.72rem!important;color:#94a3b8!important}.debtor-total-amount{display:block;font-weight:700;font-size:1rem;color:#1e293b;font-family:SF Mono,Consolas,Monaco,monospace;letter-spacing:-.02em}.debtor-invoice-count{display:block;font-size:.72rem;color:#94a3b8;margin-top:.15rem}.aging-cell{display:inline-flex;align-items:center;justify-content:center;padding:.35rem .7rem;border-radius:8px;font-size:.8rem;font-weight:700;font-family:SF Mono,Consolas,Monaco,monospace;white-space:nowrap}.aging-cell.green{background:#dcfce7;color:#15803d}.aging-cell.amber{background:#fef3c7;color:#b45309}.aging-cell.orange{background:#ffedd5;color:#c2410c}.aging-cell.red{background:#fee2e2;color:#b91c1c}.aging-cell.zero{color:#cbd5e1;font-weight:400;font-family:inherit;font-size:.9rem}.debtor-contact-date{display:block;font-size:.85rem;color:#475569}.debtor-avg-days{display:block;font-size:.7rem;color:#94a3b8;margin-top:.15rem}.debtor-status-badge{display:inline-flex;align-items:center;gap:.45rem;padding:.45rem .9rem;border-radius:10px;font-size:.78rem;font-weight:600;letter-spacing:.02em;white-space:nowrap}.status-dot-animated{width:7px;height:7px;border-radius:50%;animation:pulse 2s infinite;flex-shrink:0}.debtor-status-activo{background:linear-gradient(135deg,#dbeafe,#bfdbfe);color:#1d4ed8}.debtor-status-plan-pago{background:linear-gradient(135deg,#ede9fe,#ddd6fe);color:#6d28d9}.debtor-status-bloqueado{background:linear-gradient(135deg,#fee2e2,#fecaca);color:#b91c1c}.debtor-status-legal{background:linear-gradient(135deg,#fee2e2,#fca5a5);color:#7f1d1d}.debtor-status-resuelto{background:linear-gradient(135deg,#dcfce7,#d1fae5);color:#15803d}.debtor-actions{display:flex;gap:.5rem;flex-wrap:nowrap}.debtor-action-btn{display:inline-flex;align-items:center;justify-content:center;padding:.45rem .85rem;border:none;border-radius:9px;font-size:.78rem;font-weight:600;cursor:pointer;transition:all .3s ease;white-space:nowrap}.debtor-action-detail{background:#f1f5f9;color:#475569}.debtor-action-detail:hover{background:#0891b2;color:#fff;transform:translateY(-1px);box-shadow:0 4px 12px #0891b24d}.debtor-action-contact{background:#ecfdf5;color:#059669}.debtor-action-contact:hover{background:#10b981;color:#fff;transform:translateY(-1px);box-shadow:0 4px 12px #10b9814d}.deudores-table-footer{display:flex;align-items:center;justify-content:space-between;padding:1rem 1.25rem;border-top:1px solid #f1f5f9;background:#fafbfc}.deudores-table-count{font-size:.82rem;color:#64748b}.deudores-table-count strong{color:#1e293b}.deudores-clear-filter{background:none;border:1px solid #e2e8f0;border-radius:8px;padding:.35rem .85rem;font-size:.78rem;color:#64748b;cursor:pointer;transition:all .2s ease}.deudores-clear-filter:hover{border-color:#0891b2;color:#0891b2;background:#0891b20a}.deudores-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:3.5rem 2rem;gap:.75rem;text-align:center}.deudores-empty-icon{font-size:2.5rem;opacity:.4}.deudores-empty p{font-size:.9rem;color:#94a3b8;margin:0}.debtor-detail-overlay{position:fixed;inset:0;background:#0f172a99;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:1000;padding:1.5rem}.debtor-detail-modal{background:#fff;border-radius:24px;width:100%;max-width:780px;max-height:90vh;overflow:hidden;display:flex;flex-direction:column;box-shadow:0 25px 80px #0000004d;animation:modalSlideIn .4s cubic-bezier(.4,0,.2,1)}.debtor-modal-header{display:flex;align-items:flex-start;gap:1.5rem;padding:1.75rem 2rem;background:linear-gradient(135deg,#1e3a5f,#0e7490);color:#fff;position:relative;flex-shrink:0}.debtor-modal-header:before{content:"";position:absolute;bottom:0;left:0;right:0;height:4px;background:linear-gradient(90deg,var(--severity-color, #10b981),transparent);opacity:.7}.debtor-modal-header-content{display:flex;align-items:center;gap:1.25rem;flex:1}.debtor-modal-avatar{width:56px;height:56px;border-radius:16px;display:flex;align-items:center;justify-content:center;font-size:1.2rem;font-weight:700;color:#fff;flex-shrink:0;box-shadow:0 4px 16px #00000040;border:2px solid rgba(255,255,255,.3)}.debtor-modal-title h2{font-size:1.2rem;font-weight:700;margin:0 0 .25rem;line-height:1.3}.debtor-modal-title p{font-size:.82rem;opacity:.75;margin:0;line-height:1.5}.debtor-modal-header-meta{display:flex;flex-direction:column;align-items:flex-end;gap:.5rem;flex-shrink:0}.debtor-modal-severity-badge{display:flex;gap:.5rem;flex-wrap:wrap;justify-content:flex-end}.debtor-severity-pill{display:inline-block;padding:.3rem .75rem;border-radius:20px;font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em}.debtor-severity-leve{background:#10b98140;color:#6ee7b7}.debtor-severity-medio{background:#f59e0b40;color:#fcd34d}.debtor-severity-alto{background:#f9731640;color:#fdba74}.debtor-severity-critico{background:#ef444440;color:#fca5a5}.debtor-modal-total{display:flex;flex-direction:column;align-items:flex-end;gap:.1rem;font-size:1.5rem;font-weight:800;font-family:SF Mono,Consolas,Monaco,monospace;color:#fff;letter-spacing:-.02em;line-height:1.1}.debtor-modal-total span{font-size:.72rem;font-weight:400;font-family:inherit;opacity:.65;letter-spacing:0}.debtor-modal-close{position:absolute;top:1.25rem;right:1.25rem;width:36px;height:36px;background:#ffffff26;border:none;border-radius:10px;color:#fff;font-size:1.1rem;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s ease;flex-shrink:0}.debtor-modal-close:hover{background:#ffffff40;transform:scale(1.05)}.debtor-modal-body{flex:1;overflow-y:auto;padding:1.75rem 2rem;display:flex;flex-direction:column;gap:1.5rem}.debtor-modal-aging{display:grid;grid-template-columns:repeat(4,1fr);gap:.85rem}.debtor-aging-item{padding:1rem 1.1rem;border-radius:14px;display:flex;flex-direction:column;gap:.35rem;border:1px solid transparent}.aging-item-green{background:#f0fdf4;border-color:#bbf7d0}.aging-item-amber{background:#fffbeb;border-color:#fde68a}.aging-item-orange{background:#fff7ed;border-color:#fed7aa}.aging-item-red{background:#fef2f2;border-color:#fecaca}.aging-item-label{font-size:.72rem;font-weight:600;text-transform:uppercase;letter-spacing:.06em;opacity:.65}.aging-item-green .aging-item-label{color:#15803d}.aging-item-amber .aging-item-label{color:#b45309}.aging-item-orange .aging-item-label{color:#c2410c}.aging-item-red .aging-item-label{color:#b91c1c}.aging-item-value{font-size:1.1rem;font-weight:800;font-family:SF Mono,Consolas,Monaco,monospace;letter-spacing:-.02em}.aging-item-green .aging-item-value{color:#15803d}.aging-item-amber .aging-item-value{color:#b45309}.aging-item-orange .aging-item-value{color:#c2410c}.aging-item-red .aging-item-value{color:#b91c1c}.debtor-payment-plan-notice{display:flex;align-items:flex-start;gap:.85rem;padding:1rem 1.25rem;background:linear-gradient(135deg,#ede9fe,#e0e7ff);border:1px solid #c4b5fd;border-radius:14px}.plan-notice-icon{font-size:1.25rem;flex-shrink:0}.plan-notice-info{display:flex;flex-direction:column;gap:.2rem}.plan-notice-info strong{font-size:.875rem;font-weight:700;color:#4c1d95}.plan-notice-info span{font-size:.8rem;color:#6d28d9}.debtor-modal-section-title{font-size:.9rem;font-weight:700;color:#1e293b;margin:0 0 .85rem;display:flex;align-items:center;gap:.5rem}.debtor-modal-invoices-scroll{overflow-x:auto;border-radius:12px;border:1px solid #e2e8f0}.debtor-invoice-table{width:100%;border-collapse:separate;border-spacing:0;min-width:620px}.debtor-invoice-table thead{background:linear-gradient(180deg,#f8fafc,#f1f5f9)}.debtor-invoice-table th{padding:.75rem 1rem;text-align:left;font-size:.7rem;font-weight:700;color:#475569;text-transform:uppercase;letter-spacing:.07em;border-bottom:1px solid #e2e8f0;white-space:nowrap}.debtor-invoice-table td{padding:.85rem 1rem;font-size:.82rem;color:#334155;border-bottom:1px solid #f1f5f9;vertical-align:middle}.debtor-invoice-row:last-child td{border-bottom:none}.debtor-invoice-row:hover{background:#0891b208}.debtor-invoice-number{font-size:.82rem;font-weight:700;color:#0891b2}.debtor-invoice-date{font-size:.8rem;color:#64748b;white-space:nowrap}.debtor-invoice-amount{font-weight:700;font-family:SF Mono,Consolas,Monaco,monospace;color:#1e293b;white-space:nowrap}.debtor-invoice-paid{font-family:SF Mono,Consolas,Monaco,monospace;color:#15803d;white-space:nowrap}.debtor-invoice-pending{font-weight:700;font-family:SF Mono,Consolas,Monaco,monospace;color:#b91c1c;white-space:nowrap}.debtor-days-badge{display:inline-flex;align-items:center;justify-content:center;padding:.25rem .6rem;border-radius:7px;font-size:.75rem;font-weight:700;font-family:SF Mono,Consolas,monospace}.days-low{background:#dcfce7;color:#15803d}.days-medium{background:#fef3c7;color:#b45309}.days-high{background:#ffedd5;color:#c2410c}.days-critical{background:#fee2e2;color:#b91c1c}.debtor-inv-status{display:inline-flex;align-items:center;padding:.2rem .6rem;border-radius:7px;font-size:.72rem;font-weight:600}.debtor-inv-pending{background:#fef3c7;color:#b45309}.debtor-inv-partial{background:#ede9fe;color:#6d28d9}.debtor-inv-overdue{background:#fee2e2;color:#b91c1c}.debtor-modal-notes{display:flex;align-items:flex-start;gap:.75rem;padding:.85rem 1.1rem;background:#fffbeb;border:1px solid #fde68a;border-left:4px solid #f59e0b;border-radius:12px;font-size:.85rem;color:#92400e}.debtor-notes-icon{font-size:1rem;flex-shrink:0;margin-top:.1rem}.debtor-modal-notes p{margin:0}.debtor-modal-meta-row{display:grid;grid-template-columns:repeat(4,1fr);gap:.85rem;padding:1.1rem;background:#f8fafc;border-radius:14px}.debtor-meta-item{display:flex;flex-direction:column;gap:.25rem}.debtor-meta-label{font-size:.7rem;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:#94a3b8}.debtor-meta-value{font-size:.875rem;font-weight:600;color:#1e293b}.debtor-modal-footer{display:flex;align-items:center;justify-content:flex-end;gap:.65rem;padding:1.25rem 2rem;border-top:1px solid #f1f5f9;flex-shrink:0;flex-wrap:wrap}.debtor-footer-btn{display:inline-flex;align-items:center;gap:.45rem;padding:.65rem 1.2rem;border:none;border-radius:12px;font-size:.85rem;font-weight:600;cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1);white-space:nowrap}.debtor-footer-cancel{background:#f1f5f9;color:#64748b}.debtor-footer-cancel:hover{background:#e2e8f0;color:#475569}.debtor-footer-reminder{background:#fff;color:#0891b2;border:2px solid #0891b2}.debtor-footer-reminder:hover{background:#0891b2;color:#fff;transform:translateY(-2px);box-shadow:0 6px 18px #0891b24d}.debtor-footer-plan{background:linear-gradient(135deg,#0891b2,#0e7490,#155e75);color:#fff;box-shadow:0 4px 15px #0891b24d;position:relative;overflow:hidden}.debtor-footer-plan:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.2),transparent);transition:left .5s}.debtor-footer-plan:hover:before{left:100%}.debtor-footer-plan:hover{transform:translateY(-2px);box-shadow:0 8px 25px #0891b266}.debtor-footer-block{background:linear-gradient(135deg,#ef4444,#dc2626);color:#fff;box-shadow:0 4px 15px #ef444440}.debtor-footer-block:hover{transform:translateY(-2px);box-shadow:0 8px 20px #ef444459}@media(max-width:1200px){.deudores-filters{flex-direction:column;align-items:stretch}.deudores-search-wrapper{flex:1;max-width:100%}.severity-filter-tabs{justify-content:flex-start}.debtor-modal-aging,.debtor-modal-meta-row{grid-template-columns:repeat(2,1fr)}}@media(max-width:768px){.deudores-premium-table th:nth-child(3),.deudores-premium-table td:nth-child(3),.deudores-premium-table th:nth-child(4),.deudores-premium-table td:nth-child(4),.deudores-premium-table th:nth-child(5),.deudores-premium-table td:nth-child(5),.deudores-premium-table th:nth-child(6),.deudores-premium-table td:nth-child(6){display:none}.debtor-detail-overlay{padding:.75rem;align-items:flex-end}.debtor-detail-modal{max-height:95vh;border-radius:20px 20px 0 0}.debtor-modal-header{flex-direction:column;gap:1rem;padding:1.25rem}.debtor-modal-header-content{width:100%}.debtor-modal-header-meta{align-items:flex-start;width:100%}.debtor-modal-total{font-size:1.3rem;align-items:flex-start;flex-direction:row;gap:.5rem;align-items:baseline}.debtor-modal-body{padding:1.25rem}.debtor-modal-aging,.debtor-modal-meta-row{grid-template-columns:repeat(2,1fr);gap:.6rem}.debtor-modal-footer{padding:1rem 1.25rem;justify-content:center}.debtor-footer-btn{flex:1;justify-content:center;font-size:.78rem;padding:.6rem .8rem}.severity-filter-tabs{overflow-x:auto;flex-wrap:nowrap;padding-bottom:.1rem}}@keyframes pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.5;transform:scale(.9)}}@keyframes toggleOn{0%{transform:translate(0)}to{transform:translate(22px)}}.alertas-tab{display:flex;flex-direction:column;gap:1.5rem;animation:fadeInUp .5s ease}.alertas-layout{display:flex;gap:1.5rem;align-items:flex-start}.alertas-panel{flex:0 0 60%;min-width:0;background:#fff;border-radius:20px;box-shadow:0 4px 20px #0000000d;border:1px solid rgba(0,0,0,.05);overflow:hidden;display:flex;flex-direction:column}.bloqueos-panel{flex:0 0 calc(40% - 1.5rem);min-width:0;display:flex;flex-direction:column;gap:1.25rem}.alertas-panel-header{padding:1.4rem 1.6rem 1rem;border-bottom:1px solid #f1f5f9;background:linear-gradient(180deg,#f8fafc,#f1f5f9)}.alertas-panel-title-row{display:flex;align-items:center;gap:.75rem;margin-bottom:.25rem}.alertas-panel-title{font-size:1rem;font-weight:700;color:#1e293b;margin:0}.alertas-unread-badge{display:inline-flex;align-items:center;padding:.2rem .65rem;background:linear-gradient(135deg,#0891b2,#0e7490);color:#fff;border-radius:20px;font-size:.7rem;font-weight:700;letter-spacing:.03em}.alertas-panel-subtitle{font-size:.78rem;color:#94a3b8;margin:0}.alertas-list{flex:1;overflow-y:auto;padding:1rem 1.25rem;display:flex;flex-direction:column;gap:.85rem}.alert-card{display:flex;gap:.9rem;padding:1rem 1.1rem;border-radius:14px;border:1px solid rgba(0,0,0,.06);border-left:4px solid var(--alert-border-color, #e2e8f0);background:#fff;transition:all .3s ease;align-items:flex-start}.alert-card:hover{box-shadow:0 4px 16px #00000014;transform:translate(2px)}.alert-card.unread{background:linear-gradient(135deg,#3b82f60a,#fffffffa)}.alert-severity-icon{width:38px;height:38px;border-radius:10px;display:flex;align-items:center;justify-content:center;font-size:1.05rem;flex-shrink:0;margin-top:.05rem}.alert-content{flex:1;min-width:0;display:flex;flex-direction:column;gap:.35rem}.alert-title-row{display:flex;align-items:flex-start;gap:.6rem;flex-wrap:wrap}.alert-title{font-size:.875rem;font-weight:700;color:#1e293b;line-height:1.35}.alert-severity-pill{display:inline-flex;align-items:center;padding:.15rem .55rem;border-radius:20px;border:1px solid transparent;font-size:.67rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;white-space:nowrap;flex-shrink:0;margin-top:.1rem}.alert-description{font-size:.82rem;color:#475569;margin:0;line-height:1.5}.alert-meta{display:flex;align-items:center;gap:.85rem;flex-wrap:wrap;margin-top:.1rem}.alert-patient,.alert-amount,.alert-date{display:inline-flex;align-items:center;gap:.3rem;font-size:.75rem;color:#64748b;white-space:nowrap}.alert-amount{font-family:SF Mono,Consolas,monospace;font-weight:700;color:#1e293b}.alert-meta-icon{font-size:.7rem}.alert-actions{display:flex;flex-direction:column;gap:.4rem;flex-shrink:0;align-items:stretch}.btn-alert{display:inline-flex;align-items:center;justify-content:center;padding:.4rem .8rem;border-radius:9px;font-size:.75rem;font-weight:600;cursor:pointer;transition:all .25s ease;border:none;white-space:nowrap}.btn-mark-read{background:#f1f5f9;color:#475569}.btn-mark-read:hover{background:#e2e8f0;color:#1e293b}.btn-resolve{background:linear-gradient(135deg,#0891b2,#0e7490);color:#fff;box-shadow:0 2px 8px #0891b240}.btn-resolve:hover{transform:translateY(-1px);box-shadow:0 4px 12px #0891b259}.alertas-resolved-section{display:flex;align-items:center;justify-content:center;padding:.6rem 0 .25rem;border-top:1px dashed #e2e8f0;margin-top:.25rem}.alertas-resolved-label{font-size:.75rem;color:#94a3b8;margin:0}.alertas-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:3rem 2rem;gap:.65rem;text-align:center}.alertas-empty-icon{font-size:2.2rem;opacity:.5}.alertas-empty p{font-size:.875rem;color:#94a3b8;margin:0}.bloqueos-section,.blocked-section{background:#fff;border-radius:20px;box-shadow:0 4px 20px #0000000d;border:1px solid rgba(0,0,0,.05);overflow:hidden}.bloqueos-section-header{display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:1.2rem 1.4rem .9rem;border-bottom:1px solid #f1f5f9;background:linear-gradient(180deg,#f8fafc,#f1f5f9)}.bloqueos-section-title{font-size:.9rem;font-weight:700;color:#1e293b;margin:0}.bloqueos-section-subtitle{font-size:.75rem;color:#94a3b8;margin:0}.rules-list{padding:.85rem 1rem;display:flex;flex-direction:column;gap:.65rem}.rule-card{padding:.9rem 1rem;border-radius:14px;border:1px solid #e2e8f0;background:#fafbfc;transition:all .3s ease}.rule-card.rule-active{border-color:#0891b240;background:#0891b205}.rule-card:hover{box-shadow:0 2px 10px #0000000f}.rule-header{display:flex;gap:.85rem;align-items:flex-start}.rule-toggle-wrapper{flex-shrink:0;margin-top:.15rem}.rule-toggle{display:inline-flex;align-items:center;cursor:pointer}.rule-toggle input{position:absolute;opacity:0;width:0;height:0;pointer-events:none}.rule-toggle-track{position:relative;display:inline-block;width:44px;height:24px;background:#cbd5e1;border-radius:12px;transition:background .3s ease;box-shadow:inset 0 1px 3px #00000026}.rule-toggle input:checked+.rule-toggle-track{background:linear-gradient(135deg,#0891b2,#0e7490);box-shadow:inset 0 1px 3px #0000001a,0 0 0 3px #0891b226}.rule-toggle-thumb{position:absolute;top:3px;left:3px;width:18px;height:18px;background:#fff;border-radius:50%;box-shadow:0 1px 4px #0003;transition:transform .3s cubic-bezier(.4,0,.2,1)}.rule-toggle input:checked+.rule-toggle-track .rule-toggle-thumb{transform:translate(20px)}.rule-info{flex:1;min-width:0;display:flex;flex-direction:column;gap:.25rem}.rule-name-row{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}.rule-name{font-size:.85rem;font-weight:700;color:#1e293b;line-height:1.3}.rule-auto-badge{display:inline-flex;align-items:center;padding:.12rem .5rem;background:linear-gradient(135deg,#ede9fe,#ddd6fe);color:#6d28d9;border-radius:6px;font-size:.65rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;flex-shrink:0}.rule-description{font-size:.78rem;color:#64748b;margin:0;line-height:1.45}.rule-threshold{display:flex;gap:.75rem;flex-wrap:wrap;margin-top:.15rem}.rule-threshold-item{font-size:.75rem;color:#64748b}.rule-threshold-item strong{color:#0891b2;font-family:SF Mono,Consolas,monospace}.rule-footer{display:flex;align-items:center;justify-content:space-between;margin-top:.7rem;padding-top:.6rem;border-top:1px solid #f1f5f9}.rule-blocked-count{display:inline-flex;align-items:center;gap:.4rem;font-size:.75rem;color:#64748b}.rule-blocked-dot{width:7px;height:7px;border-radius:50%;flex-shrink:0;animation:pulse 2s infinite}.rule-status-label{font-size:.72rem;font-weight:600;color:#94a3b8}.rule-status-label.active{color:#0891b2}.blocked-count-badge{display:inline-flex;align-items:center;justify-content:center;min-width:24px;height:24px;padding:0 .5rem;background:linear-gradient(135deg,#fee2e2,#fecaca);color:#b91c1c;border-radius:20px;font-size:.72rem;font-weight:700}.blocked-table-wrapper{overflow-x:auto}.blocked-table{width:100%;border-collapse:separate;border-spacing:0;min-width:340px}.blocked-table thead{background:linear-gradient(180deg,#f8fafc,#f1f5f9)}.blocked-table th{padding:.7rem .9rem;text-align:left;font-size:.68rem;font-weight:700;color:#475569;text-transform:uppercase;letter-spacing:.08em;border-bottom:1px solid #e2e8f0;white-space:nowrap}.blocked-table td{padding:.75rem .9rem;font-size:.82rem;color:#334155;border-bottom:1px solid #f1f5f9;vertical-align:middle}.blocked-row:last-child td{border-bottom:none}.blocked-row:hover{background:#ef444408}.blocked-patient-cell{display:flex;align-items:center;gap:.6rem}.blocked-avatar{width:32px;height:32px;border-radius:9px;background:linear-gradient(135deg,#ef4444,#dc2626);display:flex;align-items:center;justify-content:center;color:#fff;font-size:.7rem;font-weight:700;flex-shrink:0;box-shadow:0 2px 8px #ef444440}.blocked-patient-name{font-size:.82rem;font-weight:600;color:#1e293b;line-height:1.2}.blocked-amount{font-family:SF Mono,Consolas,monospace;font-weight:700;font-size:.82rem;color:#b91c1c}.blocked-days{display:inline-flex;align-items:center;justify-content:center;padding:.2rem .55rem;background:#fee2e2;color:#b91c1c;border-radius:7px;font-size:.75rem;font-weight:700;font-family:SF Mono,Consolas,monospace}.btn-unblock{display:inline-flex;align-items:center;justify-content:center;padding:.35rem .75rem;background:transparent;border:1.5px solid #ef4444;border-radius:8px;color:#ef4444;font-size:.72rem;font-weight:600;cursor:pointer;transition:all .25s ease;white-space:nowrap}.btn-unblock:hover{background:#ef4444;color:#fff;transform:translateY(-1px);box-shadow:0 4px 12px #ef44444d}.blocked-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:2rem 1.25rem;gap:.5rem;text-align:center}.blocked-empty-icon{font-size:1.8rem;opacity:.45}.blocked-empty p{font-size:.8rem;color:#94a3b8;margin:0}@media(max-width:768px){.alertas-layout{flex-direction:column}.alertas-panel,.bloqueos-panel{flex:1 1 100%;width:100%}.alert-card{flex-wrap:wrap}.alert-actions{flex-direction:row;width:100%}.btn-alert{flex:1;justify-content:center}.bloqueos-section-header{flex-wrap:wrap;gap:.5rem}.rule-header{gap:.65rem}.rule-footer{flex-wrap:wrap;gap:.4rem}}.alertas-pagination{display:flex;align-items:center;justify-content:space-between;padding:1rem 0;margin-top:.5rem;border-top:1px solid #f1f5f9}.alertas-pagination-info{font-size:.8rem;color:#64748b}.alertas-pagination-controls{display:flex;align-items:center;gap:.35rem}.alertas-page-btn{width:30px;height:30px;border:1px solid #e2e8f0;background:#fff;border-radius:6px;cursor:pointer;font-size:.8rem;color:#334155;display:flex;align-items:center;justify-content:center;transition:all .15s ease}.alertas-page-btn:hover:not(:disabled){border-color:#0891b2;color:#0891b2}.alertas-page-btn.active{background:#0891b2;border-color:#0891b2;color:#fff}.alertas-page-btn:disabled{opacity:.5;cursor:not-allowed}@keyframes fadeInUp{0%{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}.comunicaciones-tab{animation:fadeInUp .5s ease}.comms-section{background:#fff;border-radius:20px;box-shadow:0 4px 20px #0000000d;border:1px solid rgba(0,0,0,.05);padding:1.5rem 1.75rem;margin-bottom:1.5rem}.comms-section-title{display:flex;align-items:center;gap:.5rem;font-size:1.25rem;font-weight:700;color:#1e3a5f;margin:0 0 1.25rem}.comms-filter-tabs{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:1.25rem}.comms-filter-tab{display:inline-flex;align-items:center;gap:.35rem;padding:.4rem .85rem;border-radius:999px;border:1.5px solid rgba(8,145,178,.25);background:transparent;color:#64748b;font-size:.8rem;font-weight:500;cursor:pointer;transition:all .2s ease;white-space:nowrap}.comms-filter-tab:hover{border-color:#0891b2;color:#0891b2;background:#0891b20f}.comms-filter-tab.active{background:linear-gradient(135deg,#0891b2,#0e7490);border-color:transparent;color:#fff;font-weight:600}.comms-filter-tab-icon{font-size:.9rem}.comms-filter-tab-count{display:inline-flex;align-items:center;justify-content:center;min-width:18px;height:18px;border-radius:999px;background:#0000001f;font-size:.7rem;font-weight:700;padding:0 4px}.comms-filter-tab.active .comms-filter-tab-count{background:#ffffff40;color:#fff}.comms-table-wrapper{overflow-x:auto;border-radius:12px;border:1px solid rgba(0,0,0,.06)}.comms-table{width:100%;border-collapse:collapse;font-size:.9rem}.comms-table thead tr{background:linear-gradient(135deg,#f8fafc,#f1f5f9)}.comms-table th{padding:.75rem 1rem;text-align:left;font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:#64748b;white-space:nowrap;border-bottom:1px solid rgba(0,0,0,.06)}.comms-table td{padding:.75rem 1rem;font-size:.9rem;color:#334155;border-bottom:1px solid rgba(0,0,0,.04);vertical-align:middle}.comms-table tbody tr:last-child td{border-bottom:none}.comms-table tbody tr:hover td{background:#0891b208}.comms-td-date{white-space:nowrap;color:#64748b;font-size:.85rem!important}.comms-td-patient{font-weight:600;color:#1e3a5f!important}.comms-td-subject{max-width:220px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.comms-td-amount{font-family:SF Mono,Consolas,monospace;font-weight:600;color:#1e3a5f!important;white-space:nowrap}.comms-td-sender{color:#64748b;font-size:.85rem!important}.comms-table-empty{text-align:center;padding:2rem!important;color:#94a3b8;font-style:italic}.comm-type-badge{display:inline-flex;align-items:center;gap:.3rem;padding:.25rem .6rem;border-radius:999px;font-size:.78rem;font-weight:600;white-space:nowrap;background:#64748b1a;color:#475569}.comm-type-icon{font-size:.85rem}.comm-type-email{background:#3b82f61a;color:#2563eb}.comm-type-sms{background:#10b9811a;color:#059669}.comm-type-carta{background:#8b5cf61a;color:#7c3aed}.comm-type-llamada{background:#f973161a;color:#ea580c}.comm-type-burofax{background:#ef44441a;color:#dc2626}.comm-status-badge{display:inline-flex;align-items:center;gap:.35rem;padding:.25rem .65rem;border-radius:999px;font-size:.78rem;font-weight:600;white-space:nowrap}.comm-status-dot{width:7px;height:7px;border-radius:50%;flex-shrink:0}.comm-status-enviado{background:#3b82f61f;color:#1d4ed8}.comm-status-enviado .comm-status-dot{background:#3b82f6}.comm-status-entregado{background:#22c55e1f;color:#15803d}.comm-status-entregado .comm-status-dot{background:#22c55e}.comm-status-leido{background:#10b9811f;color:#047857}.comm-status-leido .comm-status-dot{background:#10b981;animation:statusPulse 2s ease-in-out infinite}.comm-status-fallido{background:#ef44441f;color:#b91c1c}.comm-status-fallido .comm-status-dot{background:#ef4444}.comm-status-pendiente{background:#f59e0b1f;color:#b45309}.comm-status-pendiente .comm-status-dot{background:#f59e0b;animation:statusPulse 1.8s ease-in-out infinite}@keyframes statusPulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.5;transform:scale(.8)}}.templates-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}.template-card{display:flex;flex-direction:column;background:#fff;border-radius:16px;border:1px solid rgba(0,0,0,.07);border-top:4px solid var(--template-accent, #0891b2);padding:1.25rem;transition:transform .22s ease,box-shadow .22s ease;cursor:default}.template-card:hover{transform:translateY(-4px);box-shadow:0 8px 28px #0000001a}.template-card-icon{width:48px;height:48px;border-radius:12px;display:flex;align-items:center;justify-content:center;margin-bottom:.85rem;flex-shrink:0}.template-card-icon-inner{font-size:1.5rem;line-height:1}.template-card-info{flex:1}.template-card-header{display:flex;align-items:flex-start;justify-content:space-between;gap:.5rem;margin-bottom:.4rem}.template-card-name{font-size:.92rem;font-weight:700;color:#1e3a5f;line-height:1.3}.template-usage-badge{display:inline-flex;align-items:center;padding:.15rem .5rem;border-radius:999px;background:#0891b21a;color:#0891b2;font-size:.7rem;font-weight:700;white-space:nowrap;flex-shrink:0}.template-card-desc{font-size:.82rem;color:#64748b;line-height:1.5;margin:0 0 1rem}.template-use-btn{width:100%;padding:.5rem 1rem;border-radius:10px;border:none;background:linear-gradient(135deg,var(--template-accent, #0891b2) 0%,color-mix(in srgb,var(--template-accent, #0891b2) 80%,#000) 100%);color:#fff;font-size:.82rem;font-weight:600;cursor:pointer;transition:opacity .18s ease,transform .18s ease;letter-spacing:.02em;margin-top:auto}.template-use-btn:hover{opacity:.88;transform:translateY(-1px)}.template-use-btn:active{transform:translateY(0)}.generation-form{display:flex;flex-direction:column;gap:1.25rem}.generation-form-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.generation-field{display:flex;flex-direction:column;gap:.4rem}.generation-label{font-size:.8rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:#64748b}.generation-select{width:100%;padding:.6rem 2.25rem .6rem .85rem;border-radius:10px;border:1.5px solid rgba(0,0,0,.12);background:#f8fafc;color:#1e3a5f;font-size:.9rem;font-family:inherit;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%2364748b' d='M6 8L1 3h10z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right .75rem center;cursor:pointer;transition:border-color .18s ease,box-shadow .18s ease}.generation-select:focus{outline:none;border-color:#0891b2;box-shadow:0 0 0 3px #0891b21f;background-color:#fff}.generation-preview-wrapper{display:flex;flex-direction:column;gap:.4rem}.generation-preview{background:#f1f5f9;border:1.5px solid rgba(0,0,0,.08);border-radius:12px;padding:1.25rem;min-height:160px;display:flex;align-items:flex-start}.generation-preview-text{font-family:SF Mono,Consolas,monospace;font-size:.82rem;color:#334155;line-height:1.7;white-space:pre-wrap;word-break:break-word;margin:0;width:100%}.generation-preview-placeholder{font-size:.88rem;color:#94a3b8;font-style:italic;align-self:center;width:100%;text-align:center}.generation-actions{display:flex;flex-direction:row;align-items:center;gap:.75rem}.generation-btn{display:inline-flex;align-items:center;gap:.4rem;padding:.6rem 1.4rem;border-radius:10px;border:none;font-size:.88rem;font-weight:600;cursor:pointer;transition:opacity .18s ease,transform .18s ease,box-shadow .18s ease;letter-spacing:.02em}.generation-btn:hover:not(:disabled){opacity:.88;transform:translateY(-1px);box-shadow:0 4px 14px #00000024}.generation-btn:active:not(:disabled){transform:translateY(0)}.generation-btn:disabled{opacity:.4;cursor:not-allowed}.generation-btn-email{background:linear-gradient(135deg,#0891b2,#0e7490);color:#fff}.generation-btn-pdf{background:linear-gradient(135deg,#1e3a5f,#0f2240);color:#fff}@media(max-width:768px){.comms-section{padding:1.1rem 1rem}.comms-table-wrapper{overflow-x:auto}.comms-table th,.comms-table td{padding:.65rem .75rem}.templates-grid,.generation-form-row{grid-template-columns:1fr}.generation-actions{flex-direction:column}.generation-btn{width:100%;justify-content:center}}.informes-tab{display:flex;flex-direction:column;gap:1.5rem;animation:fadeInUp .5s ease}.informes-filters{display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap}.informes-filters-left{display:flex;align-items:center;gap:.75rem;flex-wrap:wrap}.informes-select{padding:.75rem 2.25rem .75rem 1rem;background:#fff;border:2px solid #e2e8f0;border-radius:12px;font-size:.875rem;color:#334155;cursor:pointer;transition:all .2s ease;outline:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%2394a3b8' stroke-width='2.5'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right .85rem center}.informes-select:focus{border-color:#0891b2;box-shadow:0 0 0 4px #0891b21a}.informes-select:hover{border-color:#0891b2}.informes-export-btns{display:flex;align-items:center;gap:.5rem}.informes-export-btn{display:inline-flex;align-items:center;gap:.45rem;padding:.65rem 1.1rem;border:none;border-radius:10px;font-size:.8rem;font-weight:600;cursor:pointer;transition:all .25s ease;letter-spacing:.02em}.informes-export-pdf{background:linear-gradient(135deg,#ef4444,#dc2626);color:#fff;box-shadow:0 3px 10px #ef444440}.informes-export-pdf:hover{transform:translateY(-2px);box-shadow:0 6px 18px #ef444459}.informes-export-excel{background:linear-gradient(135deg,#10b981,#059669);color:#fff;box-shadow:0 3px 10px #10b98140}.informes-export-excel:hover{transform:translateY(-2px);box-shadow:0 6px 18px #10b98159}.informes-export-csv{background:linear-gradient(135deg,#0891b2,#0e7490);color:#fff;box-shadow:0 3px 10px #0891b240}.informes-export-csv:hover{transform:translateY(-2px);box-shadow:0 6px 18px #0891b259}.informes-card{background:#fff;border-radius:20px;box-shadow:0 4px 20px #0000000d;border:1px solid rgba(0,0,0,.05);padding:1.75rem}.informes-card-full{width:100%}.informes-card-title{display:flex;align-items:center;gap:.6rem;font-size:1rem;font-weight:700;color:#1e293b;margin:0 0 1.5rem}.informes-grid{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem}.informes-aging-total{display:flex;align-items:center;gap:.5rem;font-size:.82rem;color:#64748b;margin-bottom:1.25rem}.informes-aging-total-amount{font-weight:700;font-size:.95rem;color:#1e293b;font-family:SF Mono,Consolas,monospace}.aging-chart{display:flex;flex-direction:column;gap:1.1rem}.aging-bar-row{display:flex;align-items:center;gap:.85rem}.aging-bar-label{flex:0 0 90px;font-size:.8rem;font-weight:600;color:#475569;white-space:nowrap}.aging-bar-track{flex:1;height:12px;background:#f1f5f9;border-radius:6px;overflow:hidden}.aging-bar{height:12px;border-radius:6px;transition:width .7s cubic-bezier(.4,0,.2,1);min-width:4px}.aging-bar.green{background:linear-gradient(90deg,#10b981,#34d399)}.aging-bar.amber{background:linear-gradient(90deg,#f59e0b,#fbbf24)}.aging-bar.orange{background:linear-gradient(90deg,#f97316,#fb923c)}.aging-bar.red{background:linear-gradient(90deg,#ef4444,#f87171)}.aging-bar-meta{flex:0 0 130px;display:flex;align-items:center;justify-content:flex-end;gap:.5rem}.aging-bar-amount{font-size:.82rem;font-weight:700;font-family:SF Mono,Consolas,monospace;white-space:nowrap}.aging-bar-pct{font-size:.75rem;color:#94a3b8;font-weight:500;min-width:36px;text-align:right}.aging-legend{display:flex;flex-wrap:wrap;gap:.85rem 1.5rem;margin-top:1.25rem;padding-top:1rem;border-top:1px solid #f1f5f9}.aging-legend-item{display:flex;align-items:center;gap:.4rem;font-size:.78rem;color:#64748b}.aging-legend-dot{width:10px;height:10px;border-radius:50%;flex-shrink:0}.aging-legend-text{font-weight:500}.recovery-chart{display:flex;align-items:flex-end;justify-content:space-around;gap:.5rem;min-height:160px;padding-bottom:.5rem}.recovery-month{display:flex;flex-direction:column;align-items:center;gap:.35rem;flex:1}.recovery-bars{display:flex;align-items:flex-end;width:100%;justify-content:center}.recovery-bar-group{display:flex;align-items:flex-end;gap:3px;width:100%;justify-content:center}.recovery-bar{width:calc(50% - 2px);max-width:20px;border-radius:4px 4px 0 0;transition:height .6s cubic-bezier(.4,0,.2,1);min-height:4px}.recovery-bar-debt{background:linear-gradient(180deg,#f87171,#ef4444)}.recovery-bar-recovered{background:linear-gradient(180deg,#34d399,#10b981)}.recovery-month-label{font-size:.65rem;font-weight:600;color:#64748b;text-align:center;white-space:nowrap}.recovery-rate-label{font-size:.6rem;font-weight:700;color:#0891b2;text-align:center}.recovery-chart-legend{display:flex;align-items:center;justify-content:center;gap:1.5rem;margin-top:1rem;padding-top:1rem;border-top:1px solid #f1f5f9}.recovery-legend-item{display:flex;align-items:center;gap:.4rem;font-size:.78rem;color:#64748b;font-weight:500}.recovery-legend-dot{width:10px;height:10px;border-radius:3px;flex-shrink:0}.recovery-legend-dot-debt{background:#ef4444}.recovery-legend-dot-recovered{background:#10b981}.top-debtors-list{display:flex;flex-direction:column;gap:.6rem}.top-debtor-item{display:flex;align-items:center;gap:1rem;padding:.85rem 1rem;border-radius:12px;background:#f8fafc;border:1px solid #f1f5f9;transition:all .2s ease}.top-debtor-item:hover{background:linear-gradient(90deg,#0891b20a,#f8fafc);border-color:#0891b233;transform:translate(2px)}.top-debtor-rank{flex:0 0 36px;font-size:1.1rem;font-weight:800;color:#cbd5e1;text-align:center;font-family:SF Mono,Consolas,monospace}.top-debtor-item:nth-child(1) .top-debtor-rank{color:#f59e0b}.top-debtor-item:nth-child(2) .top-debtor-rank{color:#94a3b8}.top-debtor-item:nth-child(3) .top-debtor-rank{color:#b45309}.top-debtor-info{flex:1;display:flex;flex-direction:column;gap:.35rem;min-width:0}.top-debtor-name{font-size:.875rem;font-weight:600;color:#1e293b;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.top-debtor-bar-wrap{height:6px;background:#e2e8f0;border-radius:3px;overflow:hidden}.top-debtor-bar{height:100%;border-radius:3px;transition:width .7s cubic-bezier(.4,0,.2,1);min-width:4px;opacity:.8}.top-debtor-right{display:flex;flex-direction:column;align-items:flex-end;gap:.3rem;flex-shrink:0}.top-debtor-amount{font-size:.95rem;font-weight:800;font-family:SF Mono,Consolas,monospace;letter-spacing:-.02em;white-space:nowrap}.top-debtor-severity{display:inline-flex;align-items:center;padding:.15rem .55rem;border-radius:8px;font-size:.68rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em}.summary-table-wrapper{overflow-x:auto;border-radius:14px;border:1px solid #e2e8f0}.summary-table{width:100%;border-collapse:separate;border-spacing:0;min-width:560px}.summary-table thead{background:linear-gradient(180deg,#f8fafc,#f1f5f9)}.summary-table th{padding:.9rem 1.25rem;text-align:left;font-size:.75rem;font-weight:700;color:#475569;text-transform:uppercase;letter-spacing:.08em;border-bottom:2px solid #e2e8f0;white-space:nowrap}.summary-table tbody td{padding:.95rem 1.25rem;font-size:.9rem;color:#334155;border-bottom:1px solid #f1f5f9;vertical-align:middle}.summary-table tbody tr:last-child td{border-bottom:none}.summary-table tbody tr:hover td{background:#0891b206}.summary-td-month{font-weight:600;color:#1e293b}.summary-td-currency{font-family:SF Mono,Consolas,monospace;font-weight:600;color:#1e293b;white-space:nowrap}.summary-td-recovered{font-family:SF Mono,Consolas,monospace;font-weight:600;color:#15803d;white-space:nowrap}.summary-td-center{text-align:center;font-weight:600;color:#475569}.summary-rate-badge{display:inline-flex;align-items:center;justify-content:center;padding:.3rem .7rem;border-radius:8px;font-size:.78rem;font-weight:700;white-space:nowrap}.rate-good{background:#dcfce7;color:#15803d}.rate-medium{background:#fef3c7;color:#b45309}.rate-low{background:#fee2e2;color:#b91c1c}.summary-totals td{padding:1rem 1.25rem;font-size:.9rem;font-weight:700;color:#1e293b;background:linear-gradient(180deg,#f8fafc,#f1f5f9);border-top:2px solid #e2e8f0;border-bottom:none}.summary-totals .summary-td-currency{font-family:SF Mono,Consolas,monospace;font-weight:800;color:#1e293b}.summary-totals .summary-td-recovered{font-family:SF Mono,Consolas,monospace;font-weight:800;color:#15803d}@media(max-width:1024px){.aging-bar-meta{flex:0 0 110px}}@media(max-width:768px){.informes-grid{grid-template-columns:1fr}.informes-filters,.informes-filters-left{flex-direction:column;align-items:stretch}.informes-select{width:100%}.informes-export-btns{justify-content:flex-start;flex-wrap:wrap}.aging-bar-label{flex:0 0 80px;font-size:.75rem}.aging-bar-meta{flex:0 0 100px}.aging-bar-amount{font-size:.75rem}.top-debtor-item{gap:.65rem}.top-debtor-rank{flex:0 0 28px;font-size:.95rem}.recovery-chart{gap:.25rem;overflow-x:auto;padding-bottom:.75rem;min-width:0}.recovery-month-label{font-size:.58rem}.summary-table th,.summary-table tbody td,.summary-totals td{padding:.75rem .85rem;font-size:.82rem}.informes-card{padding:1.25rem}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.morosidad-page{padding:2rem;max-width:1600px;margin:0 auto;animation:fadeInUp .5s ease}.morosidad-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:2rem;gap:1.5rem}.morosidad-header-content h1{font-size:2rem;font-weight:700;background:linear-gradient(135deg,#1e3a5f,#0891b2);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;margin-bottom:.5rem}.morosidad-header-content p{color:#64748b;font-size:1rem}.morosidad-header-actions{display:flex;gap:.75rem;flex-shrink:0}.btn-outline-premium{display:flex;align-items:center;gap:.5rem;padding:.75rem 1.5rem;background:#fff;border:2px solid #e2e8f0;border-radius:12px;font-size:.875rem;font-weight:600;color:#475569;cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1)}.btn-outline-premium:hover{border-color:#0891b2;color:#0891b2;background:#0891b20d;transform:translateY(-2px);box-shadow:0 4px 12px #0891b226}.morosidad-overview{display:grid;grid-template-columns:repeat(4,1fr);gap:1.5rem;margin-bottom:1.5rem}.morosidad-card{position:relative;background:#fff;border-radius:20px;padding:1.75rem;box-shadow:0 4px 20px #0000000d;border:1px solid rgba(0,0,0,.05);transition:all .4s cubic-bezier(.4,0,.2,1);overflow:hidden}.morosidad-card:before{content:"";position:absolute;top:0;left:0;right:0;height:4px;background:linear-gradient(90deg,var(--card-accent),var(--card-accent-light))}.morosidad-card:hover{transform:translateY(-5px);box-shadow:0 20px 40px #0000001a}.morosidad-card.debt-total{--card-accent: #ef4444;--card-accent-light: #f87171}.morosidad-card.debtors-active{--card-accent: #f97316;--card-accent-light: #fb923c}.morosidad-card.recovery-rate{--card-accent: #10b981;--card-accent-light: #34d399}.morosidad-card.critical-debt{--card-accent: #991b1b;--card-accent-light: #b91c1c}.morosidad-card-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:1rem}.morosidad-card-icon{width:52px;height:52px;border-radius:14px;display:flex;align-items:center;justify-content:center;font-size:1.5rem;background:linear-gradient(135deg,var(--card-accent) 0%,var(--card-accent-light) 100%);box-shadow:0 4px 15px #00000026}.morosidad-card-trend{display:flex;align-items:center;gap:.25rem;padding:.35rem .75rem;border-radius:20px;font-size:.75rem;font-weight:600}.morosidad-card-trend.negative{background:#fee2e2;color:#dc2626}.morosidad-card-trend.positive{background:#dcfce7;color:#16a34a}.morosidad-card-trend.neutral{background:#f1f5f9;color:#64748b}.morosidad-card-body h3{font-size:1.75rem;font-weight:800;color:#1e293b;margin-bottom:.25rem;font-family:SF Mono,Consolas,monospace}.morosidad-card-body p{font-size:.85rem;color:#64748b;font-weight:500}.morosidad-card-footer{margin-top:1rem;padding-top:.75rem;border-top:1px solid #f1f5f9;font-size:.75rem;color:#94a3b8}.morosidad-quick-stats{display:flex;gap:1rem;padding:1rem 1.5rem;background:linear-gradient(135deg,#1e3a5f,#0f2744);border-radius:16px;color:#fff;margin-bottom:1.5rem}.morosidad-quick-stat{flex:1;display:flex;align-items:center;gap:1rem;padding:.75rem 1rem;background:#ffffff1a;border-radius:12px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);transition:all .3s ease}.morosidad-quick-stat:hover{background:#ffffff26}.morosidad-quick-stat-icon{width:40px;height:40px;background:#fff3;border-radius:10px;display:flex;align-items:center;justify-content:center;font-size:1.2rem;flex-shrink:0}.morosidad-quick-stat-content h4{font-size:1.1rem;font-weight:700;margin-bottom:.1rem}.morosidad-quick-stat-content span{font-size:.75rem;opacity:.7}.morosidad-tabs-nav{display:flex;gap:.5rem;padding:.5rem;background:#fff;border-radius:16px;box-shadow:0 4px 20px #0000000d;border:1px solid rgba(0,0,0,.05);margin-bottom:1.5rem;overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none}.morosidad-tabs-nav::-webkit-scrollbar{display:none}.morosidad-tab-btn{display:flex;align-items:center;gap:.5rem;padding:.75rem 1.5rem;background:transparent;border:none;border-radius:12px;font-size:.9rem;font-weight:600;color:#64748b;cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1);white-space:nowrap}.morosidad-tab-btn:hover{color:#0891b2;background:#0891b20d}.morosidad-tab-btn.active{background:linear-gradient(135deg,#0891b2,#0e7490);color:#fff;box-shadow:0 4px 15px #0891b24d}.morosidad-tab-icon{font-size:1.1rem}.morosidad-tab-content{min-height:400px}.morosidad-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:4rem;color:#64748b;gap:1rem}.morosidad-loading-spinner{width:40px;height:40px;border:3px solid #e2e8f0;border-top-color:#0891b2;border-radius:50%;animation:spin 1s linear infinite}@media(max-width:1200px){.morosidad-overview{grid-template-columns:repeat(2,1fr)}.morosidad-quick-stats{flex-wrap:wrap}.morosidad-quick-stat{min-width:calc(50% - .5rem)}}@media(max-width:768px){.morosidad-page{padding:1rem}.morosidad-header{flex-direction:column}.morosidad-header-content h1{font-size:1.5rem}.morosidad-header-actions{width:100%}.morosidad-header-actions .btn-outline-premium{flex:1;justify-content:center}.morosidad-overview{grid-template-columns:1fr}.morosidad-quick-stats{flex-direction:column}.morosidad-quick-stat{min-width:100%}.morosidad-card-body h3{font-size:1.4rem}}.odontograma-container{background:#fff;border-radius:20px;padding:2rem;box-shadow:0 4px 20px #0000000d;border:1px solid rgba(0,0,0,.05)}.odontograma-svg{width:100%;max-width:800px;margin:0 auto;display:block}.tooth-group{cursor:pointer;transition:all .2s ease}.tooth-group:hover .tooth-shape{fill:#0891b226;stroke:#0891b2}.tooth-shape{fill:#f8fafc;stroke:#cbd5e1;stroke-width:1.5;transition:all .2s ease}.tooth-shape.selected{fill:#0891b233;stroke:#0891b2;stroke-width:2.5}.tooth-shape.has-treatment{fill:#10b98126;stroke:#10b981;stroke-width:2}.tooth-number{font-size:11px;font-weight:600;fill:#475569;text-anchor:middle;pointer-events:none;-webkit-user-select:none;user-select:none}.tooth-number.selected{fill:#0891b2}.arch-label{font-size:13px;font-weight:700;fill:#1e3a5f;text-anchor:middle}.arch-divider{stroke:#e2e8f0;stroke-width:1;stroke-dasharray:4 4}.budget-items-card{background:#fff;border-radius:20px;box-shadow:0 4px 20px #0000000d;border:1px solid rgba(0,0,0,.05);overflow:hidden}.budget-items-header{display:flex;justify-content:space-between;align-items:center;padding:1.5rem 1.75rem;border-bottom:1px solid #f1f5f9}.budget-items-header h3{font-size:1.1rem;font-weight:600;color:#1e293b;margin:0}.budget-item-row{display:flex;align-items:center;justify-content:space-between;padding:1rem 1.75rem;border-bottom:1px solid #f1f5f9;transition:background .2s ease}.budget-item-row:hover{background:#f8fafc}.budget-item-info{flex:1}.budget-item-info strong{display:block;color:#1e293b;font-size:.9rem;margin-bottom:.25rem}.budget-item-info span{color:#64748b;font-size:.8rem}.tooth-badges{display:flex;gap:.25rem;margin-top:.25rem}.tooth-badge{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;background:linear-gradient(135deg,#f1f5f9,#e2e8f0);border-radius:6px;font-size:.7rem;font-weight:700;color:#475569}.budget-item-price{font-weight:700;font-size:1rem;color:#1e293b;font-family:SF Mono,Consolas,monospace;min-width:80px;text-align:right}.budget-item-remove{width:32px;height:32px;border:none;background:transparent;color:#94a3b8;border-radius:8px;cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:1rem;transition:all .2s ease;margin-left:.75rem}.budget-item-remove:hover{background:#fee2e2;color:#ef4444}.treatment-selector{background:#fff;border-radius:20px;padding:1.5rem;box-shadow:0 4px 20px #0000000d;border:1px solid rgba(0,0,0,.05)}.treatment-selector h3{font-size:1.1rem;font-weight:600;color:#1e293b;margin:0 0 1rem}.treatment-search{width:100%;padding:.75rem 1rem;border:2px solid #e2e8f0;border-radius:12px;font-size:.9rem;background:#f8fafc;transition:all .3s ease;margin-bottom:1rem}.treatment-search:focus{outline:none;border-color:#0891b2;background:#fff;box-shadow:0 0 0 4px #0891b21a}.treatment-list{display:flex;flex-direction:column;gap:.5rem;max-height:300px;overflow-y:auto}.treatment-option{display:flex;justify-content:space-between;align-items:center;padding:.75rem 1rem;background:#f8fafc;border:2px solid transparent;border-radius:10px;cursor:pointer;transition:all .2s ease}.treatment-option:hover{border-color:#0891b2;background:#0891b20d}.treatment-option-name{font-weight:500;color:#1e293b;font-size:.9rem}.treatment-option-category{font-size:.75rem;color:#64748b}.treatment-option-price{font-weight:700;color:#0891b2;font-family:SF Mono,Consolas,monospace}.budget-summary{background:linear-gradient(135deg,#f8fafc,#f1f5f9);border-radius:16px;padding:1.5rem;margin-top:1.5rem}.budget-summary-row{display:flex;justify-content:space-between;align-items:center;padding:.5rem 0;font-size:.9rem;color:#475569}.budget-summary-row.total{border-top:2px solid #e2e8f0;margin-top:.75rem;padding-top:1rem;font-size:1.2rem;font-weight:700;color:#1e293b}.budget-summary-row.total span:last-child{color:#0891b2}.option-tabs{display:flex;gap:.5rem;margin-bottom:1.5rem}.option-tab{padding:.5rem 1.25rem;border:2px solid #e2e8f0;background:#fff;border-radius:10px;font-size:.85rem;font-weight:600;color:#64748b;cursor:pointer;transition:all .3s ease}.option-tab.active{border-color:#0891b2;background:#0891b214;color:#0891b2}.option-tab:hover:not(.active){border-color:#94a3b8}.add-option-btn{padding:.5rem 1rem;border:2px dashed #cbd5e1;background:transparent;border-radius:10px;font-size:.85rem;color:#64748b;cursor:pointer;transition:all .2s ease}.add-option-btn:hover{border-color:#0891b2;color:#0891b2}.patient-search-container{margin-bottom:1.5rem}.patient-search-container label{display:block;font-size:.875rem;font-weight:600;color:#374151;margin-bottom:.5rem}.patient-search-results{background:#fff;border:1px solid #e2e8f0;border-radius:12px;max-height:200px;overflow-y:auto;margin-top:.5rem;box-shadow:0 4px 15px #0000001a}.patient-search-item{display:flex;align-items:center;gap:.75rem;padding:.75rem 1rem;cursor:pointer;transition:background .2s ease;border-bottom:1px solid #f1f5f9}.patient-search-item:last-child{border-bottom:none}.patient-search-item:hover{background:#f8fafc}.patient-search-avatar{width:36px;height:36px;border-radius:10px;background:linear-gradient(135deg,#1e3a5f,#0e7490);display:flex;align-items:center;justify-content:center;color:#fff;font-weight:700;font-size:.8rem}.selected-patient-card{display:flex;align-items:center;gap:1rem;padding:1rem;background:#f0fdfa;border:2px solid #0891b2;border-radius:12px;margin-top:.5rem}.selected-patient-card .patient-avatar-premium{width:42px;height:42px;border-radius:12px;background:linear-gradient(135deg,#1e3a5f,#0e7490);display:flex;align-items:center;justify-content:center;color:#fff;font-weight:700;font-size:.9rem}.selected-patient-info strong{display:block;color:#1e293b;font-weight:600}.selected-patient-info span{color:#64748b;font-size:.8rem}.change-patient-btn{margin-left:auto;padding:.4rem .8rem;background:#fff;border:1px solid #e2e8f0;border-radius:8px;font-size:.8rem;color:#64748b;cursor:pointer;transition:all .2s ease}.change-patient-btn:hover{border-color:#0891b2;color:#0891b2}.crear-layout{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem}.crear-left,.crear-right{display:flex;flex-direction:column;gap:1.5rem}.pipeline-container{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem;min-height:400px}.pipeline-column{background:#f8fafc;border-radius:16px;padding:1rem;border:1px solid rgba(0,0,0,.05)}.pipeline-column-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:1rem;padding-bottom:.75rem;border-bottom:2px solid #e2e8f0}.pipeline-column-title{display:flex;align-items:center;gap:.5rem}.pipeline-column-title h3{font-size:.9rem;font-weight:600;color:#1e293b;margin:0}.pipeline-column-count{padding:.15rem .5rem;border-radius:10px;font-size:.7rem;font-weight:600;color:#fff}.pipeline-column.draft .pipeline-column-count{background:#6b7280}.pipeline-column.sent .pipeline-column-count{background:#3b82f6}.pipeline-column.accepted .pipeline-column-count{background:#10b981}.pipeline-column.rejected .pipeline-column-count{background:#ef4444}.pipeline-column.expired .pipeline-column-count{background:#f59e0b}.pipeline-column.converted .pipeline-column-count{background:#6366f1}.pipeline-column-total{font-size:.75rem;font-weight:600;color:#64748b}.pipeline-cards{display:flex;flex-direction:column;gap:.75rem}.pipeline-card{background:#fff;border-radius:12px;padding:1rem;box-shadow:0 2px 8px #0000000d;border:1px solid rgba(0,0,0,.05);cursor:pointer;transition:all .3s ease}.pipeline-card:hover{transform:translateY(-2px);box-shadow:0 8px 20px #0000001a}.pipeline-card-number{font-size:.75rem;font-weight:700;color:#0891b2;margin-bottom:.25rem}.pipeline-card-patient{font-weight:600;color:#1e293b;font-size:.85rem;margin-bottom:.5rem}.pipeline-card-footer{display:flex;justify-content:space-between;align-items:center}.pipeline-card-total{font-weight:700;color:#1e293b;font-family:SF Mono,Consolas,monospace;font-size:.9rem}.pipeline-card-date{font-size:.7rem;color:#94a3b8}.detalle-container{display:flex;flex-direction:column;gap:1.5rem}.detalle-header{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:1rem}.detalle-header-left{display:flex;align-items:center;gap:1rem}.detalle-back-btn{width:40px;height:40px;border:2px solid #e2e8f0;background:#fff;border-radius:10px;cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:1.1rem;color:#64748b;transition:all .2s ease}.detalle-back-btn:hover{border-color:#0891b2;color:#0891b2}.detalle-title h2{font-size:1.25rem;font-weight:700;color:#1e293b;margin:0}.detalle-title span{font-size:.85rem;color:#64748b}.detalle-actions{display:flex;gap:.5rem}.detalle-grid{display:grid;grid-template-columns:2fr 1fr;gap:1.5rem}.detalle-info-card{background:#fff;border-radius:20px;padding:1.5rem;box-shadow:0 4px 20px #0000000d;border:1px solid rgba(0,0,0,.05)}.detalle-info-card h3{font-size:1rem;font-weight:600;color:#1e293b;margin:0 0 1rem;display:flex;align-items:center;gap:.5rem}.detalle-info-row{display:flex;justify-content:space-between;padding:.5rem 0;border-bottom:1px solid #f1f5f9;font-size:.9rem}.detalle-info-row:last-child{border-bottom:none}.detalle-info-label{color:#64748b}.detalle-info-value{color:#1e293b;font-weight:600}.detalle-sidebar{display:flex;flex-direction:column;gap:1.5rem}.print-preview-card{background:#fff;border-radius:20px;padding:2rem;box-shadow:0 4px 20px #0000000d;border:1px solid rgba(0,0,0,.05)}.print-preview-header{text-align:center;margin-bottom:2rem;padding-bottom:1.5rem;border-bottom:2px solid #e2e8f0}.print-preview-header h2{font-size:1.5rem;font-weight:700;color:#1e3a5f;margin:0 0 .25rem}.print-preview-header p{color:#64748b;font-size:.85rem}.print-preview-meta{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem;margin-bottom:2rem}.print-preview-meta-section h4{font-size:.8rem;text-transform:uppercase;letter-spacing:.08em;color:#64748b;margin:0 0 .5rem}.print-preview-meta-section p{color:#1e293b;font-size:.9rem;margin:.15rem 0}.status-badge-premium.sent{background:linear-gradient(135deg,#dbeafe,#bfdbfe);color:#1e40af}.status-badge-premium.sent .status-dot{background:#3b82f6}.status-badge-premium.accepted{background:linear-gradient(135deg,#dcfce7,#d1fae5);color:#15803d}.status-badge-premium.accepted .status-dot{background:#16a34a}.status-badge-premium.rejected{background:linear-gradient(135deg,#fee2e2,#fecaca);color:#b91c1c}.status-badge-premium.rejected .status-dot{background:#dc2626}.status-badge-premium.expired{background:linear-gradient(135deg,#fef3c7,#fef9c3);color:#b45309}.status-badge-premium.expired .status-dot{background:#f59e0b}.status-badge-premium.converted{background:linear-gradient(135deg,#ede9fe,#ddd6fe);color:#6d28d9}.status-badge-premium.converted .status-dot{background:#7c3aed}@media(max-width:1200px){.crear-layout{grid-template-columns:1fr}.pipeline-container{grid-template-columns:repeat(2,1fr)}.detalle-grid{grid-template-columns:1fr}}@media(max-width:768px){.pipeline-container{grid-template-columns:1fr}}@media print{.billing-page>*:not(.billing-tab-content){display:none!important}.billing-tab-content{margin:0;padding:0}.detalle-container>*:not(.print-preview-card){display:none!important}.print-preview-card{box-shadow:none;border:none;border-radius:0;padding:0}}.budget-notes-textarea{width:100%;min-height:80px;padding:.875rem 1rem;border:2px solid #e2e8f0;border-radius:12px;font-size:.9rem;background:#f8fafc;resize:vertical;font-family:inherit;transition:all .3s ease}.budget-notes-textarea:focus{outline:none;border-color:#0891b2;background:#fff;box-shadow:0 0 0 4px #0891b21a}.crear-form-section{background:#fff;border-radius:20px;padding:1.5rem;box-shadow:0 4px 20px #0000000d;border:1px solid rgba(0,0,0,.05)}.crear-form-section h3{font-size:1.1rem;font-weight:600;color:#1e293b;margin:0 0 1rem;display:flex;align-items:center;gap:.5rem}.crear-footer{display:flex;justify-content:flex-end;gap:.75rem;padding-top:1.5rem;border-top:1px solid #f1f5f9;margin-top:1.5rem}.selected-teeth-display{display:flex;flex-wrap:wrap;gap:.25rem;margin-top:.5rem;min-height:36px;padding:.5rem;background:#f8fafc;border-radius:8px}.selected-tooth-chip{display:inline-flex;align-items:center;gap:.25rem;padding:.25rem .5rem;background:linear-gradient(135deg,#0891b2,#0e7490);color:#fff;border-radius:6px;font-size:.75rem;font-weight:600}.selected-tooth-chip button{background:none;border:none;color:#fffc;cursor:pointer;font-size:.7rem;padding:0;line-height:1}.selected-tooth-chip button:hover{color:#fff}.pacs-page{min-height:100%;padding-bottom:2rem}.pacs-header{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:2rem;flex-wrap:wrap;gap:1.5rem}.pacs-header-left h1{font-size:2rem;font-weight:700;color:#0f172a;margin:0 0 .5rem;display:flex;align-items:center;gap:.75rem}.pacs-header-left h1:before{content:"";width:4px;height:28px;background:linear-gradient(180deg,#0891b2,#0e7490);border-radius:4px}.pacs-header-left p{color:#64748b;font-size:.95rem;margin:0}.pacs-header-right{display:flex;gap:.75rem}.pacs-btn-export{display:flex;align-items:center;gap:.5rem;padding:.75rem 1.25rem;background:#fff;color:#475569;border:1px solid #e2e8f0;border-radius:12px;font-size:.875rem;font-weight:500;cursor:pointer;transition:all .2s ease}.pacs-btn-export:hover{border-color:#0891b2;color:#0891b2;background:#ecfeff}.pacs-btn-primary{display:flex;align-items:center;gap:.5rem;padding:.75rem 1.5rem;background:linear-gradient(135deg,#0891b2,#0e7490);color:#fff;border:none;border-radius:12px;font-size:.875rem;font-weight:600;cursor:pointer;transition:all .3s ease;box-shadow:0 4px 14px #0891b259}.pacs-btn-primary:hover{background:linear-gradient(135deg,#0e7490,#155e75);transform:translateY(-2px);box-shadow:0 6px 20px #0891b273}.pacs-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1.25rem;margin-bottom:2rem}.pacs-stat-card{background:#fff;border-radius:16px;padding:1.5rem;display:flex;align-items:center;gap:1rem;box-shadow:0 1px 3px #0000000d;border:1px solid #f1f5f9;transition:all .3s ease;position:relative;overflow:hidden}.pacs-stat-card:before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,transparent,rgba(8,145,178,.3),transparent);opacity:0;transition:opacity .3s ease}.pacs-stat-card:hover{transform:translateY(-4px);box-shadow:0 12px 30px #0891b226}.pacs-stat-card:hover:before{opacity:1}.pacs-stat-icon{width:56px;height:56px;border-radius:16px;display:flex;align-items:center;justify-content:center;font-size:1.5rem}.pacs-stat-icon.total{background:linear-gradient(135deg,#cffafe,#a5f3fc)}.pacs-stat-icon.storage{background:linear-gradient(135deg,#dbeafe,#bfdbfe)}.pacs-stat-icon.dicom{background:linear-gradient(135deg,#ede9fe,#ddd6fe)}.pacs-stat-icon.devices{background:linear-gradient(135deg,#d1fae5,#a7f3d0)}.pacs-stat-content h3{font-size:1.75rem;font-weight:700;color:#0f172a;margin:0;line-height:1.2}.pacs-stat-content p{font-size:.85rem;color:#64748b;margin:.25rem 0 0}.pacs-stat-trend{display:flex;align-items:center;gap:.25rem;font-size:.75rem;font-weight:600;margin-top:.35rem}.pacs-stat-trend.up{color:#10b981}.pacs-stat-trend.warning{color:#f59e0b}.pacs-manufacturers{background:#fff;border-radius:16px;padding:1.25rem 1.5rem;margin-bottom:1.5rem;box-shadow:0 1px 3px #0000000d;border:1px solid #f1f5f9}.pacs-manufacturers-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:1rem}.pacs-manufacturers-header h3{font-size:.85rem;font-weight:700;color:#64748b;text-transform:uppercase;letter-spacing:.05em;margin:0;display:flex;align-items:center;gap:.5rem}.pacs-manufacturers-header span.label{font-size:.7rem;padding:.2rem .6rem;background:linear-gradient(135deg,#d1fae5,#a7f3d0);color:#047857;border-radius:20px;font-weight:600}.pacs-manufacturers-list{display:flex;gap:.75rem;flex-wrap:wrap}.pacs-manufacturer-chip{display:flex;align-items:center;gap:.5rem;padding:.6rem 1.1rem;background:#f8fafc;border:1px solid #e2e8f0;border-radius:12px;font-size:.8rem;font-weight:600;color:#475569;transition:all .2s ease;cursor:default}.pacs-manufacturer-chip:hover{border-color:#0891b2;background:#ecfeff;color:#0e7490;transform:translateY(-1px)}.pacs-manufacturer-chip .chip-icon{width:28px;height:28px;border-radius:8px;display:flex;align-items:center;justify-content:center;font-size:.85rem;background:#fff;border:1px solid #e2e8f0}.pacs-manufacturer-chip .chip-count{font-size:.7rem;padding:.15rem .5rem;background:#e2e8f0;color:#64748b;border-radius:20px;font-weight:600}.pacs-controls{background:#fff;border-radius:16px;padding:1.25rem;margin-bottom:1.5rem;display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:1rem;box-shadow:0 1px 3px #0000000d;border:1px solid #f1f5f9}.pacs-search-box{position:relative;flex:1;max-width:350px}.pacs-search-box input{width:100%;padding:.875rem 1rem .875rem 3rem;border:2px solid #e2e8f0;border-radius:12px;font-size:.9rem;transition:all .2s ease;background:#f8fafc}.pacs-search-box input:focus{outline:none;border-color:#0891b2;background:#fff;box-shadow:0 0 0 3px #0891b21a}.pacs-search-box input::placeholder{color:#94a3b8}.pacs-search-icon{position:absolute;left:1rem;top:50%;transform:translateY(-50%);color:#94a3b8;font-size:1.1rem}.pacs-category-filters{display:flex;gap:.5rem;flex-wrap:wrap}.pacs-category-pill{padding:.5rem 1rem;border:2px solid #e2e8f0;background:#fff;border-radius:25px;font-size:.8rem;font-weight:500;cursor:pointer;color:#64748b;transition:all .25s ease;display:flex;align-items:center;gap:.4rem}.pacs-category-pill:hover{border-color:#0891b2;color:#0891b2;transform:translateY(-1px)}.pacs-category-pill.active{background:linear-gradient(135deg,#0891b2,#0e7490);border-color:transparent;color:#fff;box-shadow:0 4px 12px #0891b24d}.pacs-category-pill .pill-icon{font-size:.9rem}.pacs-view-controls{display:flex;gap:.5rem}.pacs-view-btn{width:42px;height:42px;border:1px solid #e2e8f0;background:#fff;border-radius:10px;display:flex;align-items:center;justify-content:center;cursor:pointer;color:#64748b;transition:all .2s ease;font-size:1.1rem}.pacs-view-btn:hover{border-color:#0891b2;color:#0891b2}.pacs-view-btn.active{background:linear-gradient(135deg,#0891b2,#0e7490);border-color:transparent;color:#fff}.pacs-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:1.5rem}@media(min-width:1400px){.pacs-grid{grid-template-columns:repeat(4,1fr)}}.pacs-card{background:#fff;border-radius:20px;overflow:hidden;box-shadow:0 1px 3px #0000000d;border:1px solid #f1f5f9;transition:all .4s cubic-bezier(.4,0,.2,1);position:relative;cursor:pointer}.pacs-card:hover{transform:translateY(-6px) scale(1.01);box-shadow:0 25px 50px #0891b226;border-color:transparent}.pacs-card-header{position:relative;padding:1.75rem 1.5rem 1.25rem;overflow:hidden}.pacs-card-header:before{content:"";position:absolute;inset:0;opacity:.95;z-index:0}.pacs-card-header.periapical:before{background:linear-gradient(135deg,#cffafe,#a5f3fc)}.pacs-card-header.panoramica:before{background:linear-gradient(135deg,#dbeafe,#bfdbfe)}.pacs-card-header.cbct:before{background:linear-gradient(135deg,#ede9fe,#ddd6fe)}.pacs-card-header.foto-intraoral:before{background:linear-gradient(135deg,#fce7f3,#fbcfe8)}.pacs-card-header.foto-extraoral:before{background:linear-gradient(135deg,#fef3c7,#fde68a)}.pacs-card-header.dicom:before{background:linear-gradient(135deg,#e0e7ff,#c7d2fe)}.pacs-card-header.stl:before{background:linear-gradient(135deg,#d1fae5,#a7f3d0)}.pacs-card-header.pdf:before{background:linear-gradient(135deg,#fee2e2,#fecaca)}.pacs-card-header:after{content:"";position:absolute;bottom:0;left:0;right:0;height:20px;background:#fff;border-radius:20px 20px 0 0;z-index:1}.pacs-card-thumbnail{position:relative;z-index:2;width:60px;height:60px;border-radius:16px;background:#fff;display:flex;align-items:center;justify-content:center;box-shadow:0 8px 20px #0000001a;margin-bottom:.5rem}.pacs-thumbnail-icon{font-size:1.75rem}.pacs-category-badge{position:absolute;top:1rem;right:1rem;z-index:2;padding:.35rem .85rem;border-radius:20px;font-size:.7rem;font-weight:600;text-transform:uppercase;letter-spacing:.5px;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#ffffffe6;border:1px solid rgba(0,0,0,.05)}.pacs-category-badge.periapical{color:#0e7490}.pacs-category-badge.panoramica{color:#1d4ed8}.pacs-category-badge.cbct{color:#6d28d9}.pacs-category-badge.foto-intraoral{color:#be185d}.pacs-category-badge.foto-extraoral{color:#b45309}.pacs-category-badge.dicom{color:#4338ca}.pacs-category-badge.stl{color:#047857}.pacs-category-badge.pdf{color:#dc2626}.pacs-card-body{padding:0 1.5rem 1.25rem;position:relative}.pacs-card-patient{font-size:1.1rem;font-weight:700;color:#0f172a;margin:0 0 .25rem;line-height:1.3}.pacs-card-filename{font-size:.8rem;color:#94a3b8;margin:0 0 .75rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.pacs-card-tags{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap;margin-bottom:.5rem}.pacs-card-category-tag{display:inline-flex;align-items:center;gap:.35rem;padding:.35rem .75rem;border-radius:8px;font-size:.75rem;font-weight:600}.pacs-card-category-tag.periapical{background:#cffafe;color:#0e7490}.pacs-card-category-tag.panoramica{background:#dbeafe;color:#1d4ed8}.pacs-card-category-tag.cbct{background:#ede9fe;color:#6d28d9}.pacs-card-category-tag.foto-intraoral{background:#fce7f3;color:#be185d}.pacs-card-category-tag.foto-extraoral{background:#fef3c7;color:#b45309}.pacs-card-category-tag.dicom{background:#e0e7ff;color:#4338ca}.pacs-card-category-tag.stl{background:#d1fae5;color:#047857}.pacs-card-category-tag.pdf{background:#fee2e2;color:#dc2626}.pacs-card-format-tag{display:inline-flex;align-items:center;gap:.3rem;padding:.25rem .6rem;border-radius:6px;font-size:.7rem;font-weight:700;background:#f1f5f9;color:#475569;text-transform:uppercase;letter-spacing:.03em}.pacs-card-manufacturer{display:flex;align-items:center;gap:.35rem;font-size:.75rem;color:#64748b;margin-top:.5rem}.pacs-card-manufacturer .mfr-icon{font-size:.85rem}.pacs-card-sync-badge{display:inline-flex;align-items:center;gap:.3rem;padding:.2rem .55rem;border-radius:6px;font-size:.65rem;font-weight:600;margin-left:auto}.pacs-card-sync-badge.synced{background:#d1fae5;color:#047857}.pacs-card-sync-badge.pending{background:#fef3c7;color:#b45309}.pacs-card-meta{display:flex;align-items:center;justify-content:space-between;padding:1rem 1.5rem;background:#f8fafc;border-top:1px solid #f1f5f9}.pacs-card-date{display:flex;align-items:center;gap:.5rem;font-size:.8rem;color:#64748b}.pacs-card-date .icon{font-size:.9rem}.pacs-card-size{font-size:.75rem;font-weight:600;color:#94a3b8}.pacs-card-footer{display:flex;border-top:1px solid #f1f5f9}.pacs-action-btn{flex:1;padding:.875rem;border:none;background:transparent;color:#64748b;font-size:.85rem;font-weight:500;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;justify-content:center;gap:.5rem}.pacs-action-btn:first-child{border-right:1px solid #f1f5f9}.pacs-action-btn:hover{background:#f8fafc;color:#0891b2}.pacs-action-btn.share:hover{background:#ecfeff;color:#0e7490}.pacs-loading-container{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:4rem 2rem;gap:1.5rem}.pacs-loading-spinner{width:50px;height:50px;border:3px solid #e2e8f0;border-top-color:#0891b2;border-radius:50%;animation:pacs-spin .8s linear infinite}@keyframes pacs-spin{to{transform:rotate(360deg)}}.pacs-loading-text{color:#64748b;font-size:.95rem}.pacs-empty-state{text-align:center;padding:4rem 2rem;background:#fff;border-radius:20px;border:2px dashed #e2e8f0}.pacs-empty-state-icon{font-size:4rem;margin-bottom:1rem;opacity:.8}.pacs-empty-state-title{font-size:1.25rem;font-weight:600;color:#1e293b;margin:0 0 .5rem}.pacs-empty-state-message{color:#64748b;margin:0 0 1.5rem}.pacs-table-container{background:#fff;border-radius:20px;overflow:hidden;box-shadow:0 1px 3px #0000000d;border:1px solid #f1f5f9}.pacs-table{width:100%;border-collapse:collapse}.pacs-table th{text-align:left;padding:1rem 1.25rem;background:linear-gradient(135deg,#f8fafc,#f1f5f9);font-size:.75rem;font-weight:700;color:#64748b;text-transform:uppercase;letter-spacing:.05em;border-bottom:2px solid #e2e8f0}.pacs-table td{padding:1rem 1.25rem;font-size:.9rem;color:#1e293b;border-bottom:1px solid #f1f5f9;vertical-align:middle}.pacs-table tbody tr{transition:all .2s ease;cursor:pointer}.pacs-table tbody tr:hover{background:linear-gradient(135deg,#ecfeff,#f0fdfa)}.pacs-table tbody tr:last-child td{border-bottom:none}.pacs-cell{display:flex;align-items:center;gap:1rem}.pacs-cell-icon{width:48px;height:48px;border-radius:12px;display:flex;align-items:center;justify-content:center;font-size:1.25rem;flex-shrink:0}.pacs-cell-icon.periapical{background:linear-gradient(135deg,#cffafe,#a5f3fc)}.pacs-cell-icon.panoramica{background:linear-gradient(135deg,#dbeafe,#bfdbfe)}.pacs-cell-icon.cbct{background:linear-gradient(135deg,#ede9fe,#ddd6fe)}.pacs-cell-icon.foto-intraoral{background:linear-gradient(135deg,#fce7f3,#fbcfe8)}.pacs-cell-icon.foto-extraoral{background:linear-gradient(135deg,#fef3c7,#fde68a)}.pacs-cell-icon.dicom{background:linear-gradient(135deg,#e0e7ff,#c7d2fe)}.pacs-cell-icon.stl{background:linear-gradient(135deg,#d1fae5,#a7f3d0)}.pacs-cell-icon.pdf{background:linear-gradient(135deg,#fee2e2,#fecaca)}.pacs-cell-info{display:flex;flex-direction:column}.pacs-cell-name{font-weight:600;color:#0f172a}.pacs-cell-size{font-size:.8rem;color:#64748b}.pacs-table-category-tag{display:inline-flex;align-items:center;gap:.35rem;padding:.35rem .75rem;border-radius:8px;font-size:.75rem;font-weight:600}.pacs-table-category-tag.periapical{background:#cffafe;color:#0e7490}.pacs-table-category-tag.panoramica{background:#dbeafe;color:#1d4ed8}.pacs-table-category-tag.cbct{background:#ede9fe;color:#6d28d9}.pacs-table-category-tag.foto-intraoral{background:#fce7f3;color:#be185d}.pacs-table-category-tag.foto-extraoral{background:#fef3c7;color:#b45309}.pacs-table-category-tag.dicom{background:#e0e7ff;color:#4338ca}.pacs-table-category-tag.stl{background:#d1fae5;color:#047857}.pacs-table-category-tag.pdf{background:#fee2e2;color:#dc2626}.pacs-table-sync{display:inline-flex;align-items:center;gap:.35rem;padding:.35rem .85rem;border-radius:20px;font-size:.75rem;font-weight:600}.pacs-table-sync.synced{background:linear-gradient(135deg,#d1fae5,#a7f3d0);color:#047857}.pacs-table-sync.pending{background:linear-gradient(135deg,#fef3c7,#fde68a);color:#b45309}.pacs-table-actions{display:flex;gap:.5rem}.pacs-table-action-btn{width:36px;height:36px;border:1px solid #e2e8f0;background:#fff;border-radius:10px;display:flex;align-items:center;justify-content:center;cursor:pointer;color:#64748b;transition:all .2s ease}.pacs-table-action-btn:hover{border-color:#0891b2;color:#0891b2;background:#ecfeff}.pacs-modal-overlay{position:fixed;inset:0;background:#0f172a99;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:1000;padding:1rem;animation:pacs-fadeIn .2s ease}@keyframes pacs-fadeIn{0%{opacity:0}to{opacity:1}}.pacs-modal{background:#fff;border-radius:24px;width:100%;max-width:640px;max-height:90vh;overflow:hidden;box-shadow:0 25px 60px #00000040;animation:pacs-slideUp .3s ease;display:flex;flex-direction:column}.pacs-modal.large{max-width:800px}@keyframes pacs-slideUp{0%{opacity:0;transform:translateY(20px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}.pacs-modal-header{display:flex;align-items:center;justify-content:space-between;padding:1.5rem 1.75rem;background:linear-gradient(135deg,#0891b2,#0e7490);color:#fff}.pacs-modal-header-content h2{font-size:1.25rem;font-weight:600;margin:0 0 .25rem}.pacs-modal-header-content p{font-size:.85rem;opacity:.85;margin:0}.pacs-modal-close{width:36px;height:36px;border-radius:10px;background:#ffffff26;border:none;color:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:1.25rem;transition:all .2s ease;flex-shrink:0}.pacs-modal-close:hover{background:#ffffff40;transform:rotate(90deg)}.pacs-modal-body{padding:1.75rem;max-height:60vh;overflow-y:auto;flex:1}.pacs-modal-footer{display:flex;justify-content:flex-end;gap:.75rem;padding:1.25rem 1.75rem;background:#f8fafc;border-top:1px solid #f1f5f9}.pacs-btn-cancel{padding:.75rem 1.5rem;background:#fff;color:#64748b;border:2px solid #e2e8f0;border-radius:12px;font-size:.875rem;font-weight:600;cursor:pointer;transition:all .2s ease}.pacs-btn-cancel:hover{border-color:#cbd5e1;background:#f8fafc}.pacs-btn-save{padding:.75rem 1.5rem;background:linear-gradient(135deg,#0891b2,#0e7490);color:#fff;border:none;border-radius:12px;font-size:.875rem;font-weight:600;cursor:pointer;transition:all .2s ease;box-shadow:0 4px 14px #0891b259}.pacs-btn-save:hover{background:linear-gradient(135deg,#0e7490,#155e75);transform:translateY(-1px);box-shadow:0 6px 20px #0891b273}.pacs-detail-preview{width:100%;height:220px;border-radius:16px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.75rem;margin-bottom:1.5rem;position:relative;overflow:hidden}.pacs-detail-preview.periapical{background:linear-gradient(135deg,#cffafe,#a5f3fc)}.pacs-detail-preview.panoramica{background:linear-gradient(135deg,#dbeafe,#bfdbfe)}.pacs-detail-preview.cbct{background:linear-gradient(135deg,#ede9fe,#ddd6fe)}.pacs-detail-preview.foto-intraoral{background:linear-gradient(135deg,#fce7f3,#fbcfe8)}.pacs-detail-preview.foto-extraoral{background:linear-gradient(135deg,#fef3c7,#fde68a)}.pacs-detail-preview.dicom{background:linear-gradient(135deg,#e0e7ff,#c7d2fe)}.pacs-detail-preview.stl{background:linear-gradient(135deg,#d1fae5,#a7f3d0)}.pacs-detail-preview.pdf{background:linear-gradient(135deg,#fee2e2,#fecaca)}.pacs-detail-preview-icon{font-size:4rem;opacity:.7}.pacs-detail-preview-label{font-size:.85rem;color:#64748b;margin:0}.pacs-detail-meta{display:flex;flex-wrap:wrap;gap:.75rem;margin-bottom:1.5rem}.pacs-detail-meta-item{display:flex;align-items:center;gap:.5rem;padding:.5rem 1rem;background:#fff;border:1px solid #e2e8f0;border-radius:10px;font-size:.8rem;color:#475569}.pacs-detail-meta-item .meta-label{font-weight:600;color:#1e293b}.pacs-detail-section{margin-top:1.5rem}.pacs-detail-section h4{font-size:.875rem;font-weight:600;color:#374151;margin:0 0 .75rem;display:flex;align-items:center;gap:.5rem}.pacs-detail-notes{font-size:.85rem;color:#475569;line-height:1.6;margin:0;padding:.75rem 1rem;background:#f8fafc;border:1px solid #e2e8f0;border-radius:10px}.pacs-detail-tags-list{display:flex;flex-wrap:wrap;gap:.5rem}.pacs-detail-tag{padding:.35rem .85rem;background:linear-gradient(135deg,#cffafe,#a5f3fc);color:#0e7490;border-radius:20px;font-size:.75rem;font-weight:600}.pacs-detail-teeth{display:flex;gap:.5rem;flex-wrap:wrap}.pacs-tooth-badge{width:40px;height:40px;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#f8fafc,#f1f5f9);border:2px solid #e2e8f0;border-radius:10px;font-size:.85rem;font-weight:700;color:#0f172a;font-family:SF Mono,Monaco,Inconsolata,monospace}.pacs-detail-shared{display:flex;flex-wrap:wrap;gap:.5rem}.pacs-shared-badge{display:flex;align-items:center;gap:.35rem;padding:.35rem .75rem;background:#ecfeff;border:1px solid #a5f3fc;border-radius:8px;font-size:.75rem;font-weight:600;color:#0e7490}.pacs-upload-dropzone{border:2px dashed #cbd5e1;border-radius:16px;padding:3rem 2rem;text-align:center;transition:all .3s ease;cursor:pointer;margin-bottom:1.5rem}.pacs-upload-dropzone:hover{border-color:#0891b2;background:#ecfeff}.pacs-upload-dropzone-icon{font-size:3rem;margin-bottom:.75rem;opacity:.7}.pacs-upload-dropzone h3{font-size:1rem;font-weight:600;color:#1e293b;margin:0 0 .5rem}.pacs-upload-dropzone p{font-size:.8rem;color:#94a3b8;margin:0}.pacs-upload-formats{display:flex;flex-wrap:wrap;gap:.5rem;justify-content:center;margin-top:1rem}.pacs-format-badge{padding:.25rem .65rem;background:#f1f5f9;border-radius:6px;font-size:.7rem;font-weight:700;color:#475569;text-transform:uppercase}.pacs-form-group{margin-bottom:1.5rem}.pacs-form-label{display:flex;align-items:center;gap:.5rem;font-size:.875rem;font-weight:600;color:#374151;margin-bottom:.5rem}.pacs-form-label .label-icon{font-size:1rem}.pacs-form-select{width:100%;padding:.875rem 1rem;border:2px solid #e2e8f0;border-radius:12px;font-size:.9rem;transition:all .2s ease;background:#f8fafc;cursor:pointer;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke='%2394a3b8'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M19 9l-7 7-7-7'%3E%3C/path%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 1rem center;background-size:1.25rem}.pacs-form-select:focus{outline:none;border-color:#0891b2;background-color:#fff;box-shadow:0 0 0 3px #0891b21a}.pacs-form-input{width:100%;padding:.875rem 1rem;border:2px solid #e2e8f0;border-radius:12px;font-size:.9rem;transition:all .2s ease;background:#f8fafc}.pacs-form-input:focus{outline:none;border-color:#0891b2;background:#fff;box-shadow:0 0 0 3px #0891b21a}.pacs-form-input::placeholder{color:#94a3b8}.pacs-form-textarea{width:100%;padding:.875rem 1rem;border:2px solid #e2e8f0;border-radius:12px;font-size:.9rem;transition:all .2s ease;background:#f8fafc;min-height:80px;resize:vertical;font-family:inherit}.pacs-form-textarea:focus{outline:none;border-color:#0891b2;background:#fff;box-shadow:0 0 0 3px #0891b21a}.pacs-form-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.pacs-devices-section{margin-top:1.5rem;padding-top:1.5rem;border-top:2px dashed #e2e8f0}.pacs-devices-section h4{font-size:.875rem;font-weight:600;color:#374151;margin:0 0 .75rem;display:flex;align-items:center;gap:.5rem}.pacs-device-item{display:flex;align-items:center;justify-content:space-between;padding:.75rem 1rem;background:#f8fafc;border:1px solid #e2e8f0;border-radius:12px;margin-bottom:.5rem;transition:all .2s ease}.pacs-device-item:hover{border-color:#0891b2;background:#ecfeff}.pacs-device-info{display:flex;align-items:center;gap:.75rem}.pacs-device-icon{width:40px;height:40px;border-radius:10px;display:flex;align-items:center;justify-content:center;font-size:1.1rem;background:#fff;border:1px solid #e2e8f0}.pacs-device-details{display:flex;flex-direction:column}.pacs-device-name{font-size:.85rem;font-weight:600;color:#1e293b}.pacs-device-model{font-size:.75rem;color:#64748b}.pacs-device-status{display:flex;align-items:center;gap:.5rem}.pacs-device-indicator{width:8px;height:8px;border-radius:50%}.pacs-device-indicator.online{background:#10b981;box-shadow:0 0 6px #10b98166}.pacs-device-indicator.offline{background:#94a3b8}.pacs-device-status-label{font-size:.75rem;font-weight:600}.pacs-device-status-label.online{color:#059669}.pacs-device-status-label.offline{color:#94a3b8}@media(max-width:768px){.pacs-header{flex-direction:column;align-items:stretch}.pacs-header-right{width:100%}.pacs-btn-primary{flex:1;justify-content:center}.pacs-controls{flex-direction:column;align-items:stretch}.pacs-search-box{max-width:none}.pacs-category-filters{overflow-x:auto;padding-bottom:.5rem;flex-wrap:nowrap}.pacs-grid{grid-template-columns:1fr}.pacs-table{display:block;overflow-x:auto}.pacs-detail-meta{flex-direction:column}.pacs-form-row{grid-template-columns:1fr}.pacs-manufacturers-list{flex-direction:column}}.pacs-pagination{display:flex;align-items:center;justify-content:space-between;padding:1.25rem 1.5rem;margin-top:1rem;background:#fff;border-radius:12px;box-shadow:0 1px 3px #00000014}.pacs-pagination-info{font-size:.875rem;color:#64748b}.pacs-pagination-controls{display:flex;align-items:center;gap:.5rem}.pacs-page-btn{width:36px;height:36px;border:1px solid #e2e8f0;background:#fff;border-radius:8px;cursor:pointer;font-size:.875rem;color:#334155;display:flex;align-items:center;justify-content:center;transition:all .15s ease}.pacs-page-btn:hover:not(:disabled){border-color:#0891b2;color:#0891b2}.pacs-page-btn.active{background:#0891b2;border-color:#0891b2;color:#fff}.pacs-page-btn:disabled{opacity:.5;cursor:not-allowed}@media(max-width:640px){.pacs-pagination{flex-direction:column;gap:.75rem}}.suppliers-page{display:flex;flex-direction:column;gap:2rem;animation:suppliersFadeIn .6s ease}@keyframes suppliersFadeIn{0%{opacity:0;transform:translateY(25px)}to{opacity:1;transform:translateY(0)}}.suppliers-header{display:flex;justify-content:space-between;align-items:flex-start;flex-wrap:wrap;gap:1.5rem}.suppliers-header-content h1{font-size:2.25rem;font-weight:800;background:linear-gradient(135deg,#1e3a5f,#0891b2,#06b6d4);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;margin-bottom:.5rem;letter-spacing:-.02em}.suppliers-header-content p{color:#64748b;font-size:1.05rem;display:flex;align-items:center;gap:.5rem}.suppliers-header-content p:before{content:"";display:inline-block;width:8px;height:8px;background:linear-gradient(135deg,#10b981,#34d399);border-radius:50%;animation:suppliersPulse 2s ease infinite}@keyframes suppliersPulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.7;transform:scale(1.2)}}.suppliers-header-actions{display:flex;gap:.75rem;flex-wrap:wrap}.btn-suppliers-primary{display:flex;align-items:center;gap:.5rem;padding:.875rem 1.75rem;background:linear-gradient(135deg,#0891b2,#0e7490,#155e75);color:#fff;border:none;border-radius:14px;font-size:.925rem;font-weight:600;cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1);box-shadow:0 4px 20px #0891b259;position:relative;overflow:hidden}.btn-suppliers-primary:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.25),transparent);transition:left .6s}.btn-suppliers-primary:hover:before{left:100%}.btn-suppliers-primary:hover{transform:translateY(-3px);box-shadow:0 10px 30px #0891b273}.btn-suppliers-secondary{display:flex;align-items:center;gap:.5rem;padding:.875rem 1.5rem;background:#fff;color:#0891b2;border:2px solid rgba(8,145,178,.3);border-radius:14px;font-size:.925rem;font-weight:600;cursor:pointer;transition:all .3s ease;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.btn-suppliers-secondary:hover{background:#0891b21a;border-color:#0891b2;transform:translateY(-2px)}.suppliers-stats-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1.25rem}@media(max-width:1200px){.suppliers-stats-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:640px){.suppliers-stats-grid{grid-template-columns:1fr}}.suppliers-stat-card{background:#fff;border-radius:20px;padding:1.75rem;position:relative;overflow:hidden;transition:all .4s cubic-bezier(.4,0,.2,1);box-shadow:0 4px 25px #0000000a;border:1px solid rgba(0,0,0,.04)}.suppliers-stat-card:before{content:"";position:absolute;top:0;left:0;right:0;height:4px;background:linear-gradient(90deg,var(--stat-color),var(--stat-color-light))}.suppliers-stat-card:after{content:"";position:absolute;top:-50%;right:-50%;width:200px;height:200px;background:radial-gradient(circle,var(--stat-bg) 0%,transparent 70%);opacity:.5;transition:all .4s ease}.suppliers-stat-card:hover{transform:translateY(-6px) scale(1.01);box-shadow:0 20px 50px #0000001a}.suppliers-stat-card:hover:after{opacity:.8;transform:scale(1.2)}.suppliers-stat-card.total{--stat-color: #6366f1;--stat-color-light: #a5b4fc;--stat-bg: rgba(99, 102, 241, .1)}.suppliers-stat-card.pending-orders{--stat-color: #f59e0b;--stat-color-light: #fcd34d;--stat-bg: rgba(245, 158, 11, .1)}.suppliers-stat-card.overdue{--stat-color: #ef4444;--stat-color-light: #fca5a5;--stat-bg: rgba(239, 68, 68, .1)}.suppliers-stat-card.payments{--stat-color: #f59e0b;--stat-color-light: #fde68a;--stat-bg: rgba(245, 158, 11, .1)}.suppliers-stat-card .stat-card-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:1.25rem;position:relative;z-index:1}.suppliers-stat-card .stat-card-icon{width:52px;height:52px;border-radius:16px;display:flex;align-items:center;justify-content:center;font-size:1.5rem;background:linear-gradient(135deg,var(--stat-color) 0%,var(--stat-color-light) 100%);box-shadow:0 8px 20px #00000026}.suppliers-stat-card .stat-card-value{position:relative;z-index:1}.suppliers-stat-card .stat-card-value h3{font-size:2rem;font-weight:800;color:#1e293b;margin-bottom:.25rem;letter-spacing:-.02em}.suppliers-stat-card .stat-card-value p{font-size:.875rem;color:#64748b;font-weight:500}.suppliers-tabs{display:flex;gap:.25rem;background:linear-gradient(135deg,#f8fafc,#f1f5f9);border-radius:16px;padding:.375rem;border:1px solid rgba(0,0,0,.04);overflow-x:auto}.suppliers-tab{display:flex;align-items:center;gap:.5rem;padding:.75rem 1.25rem;background:transparent;border:none;border-radius:12px;font-size:.9rem;font-weight:500;color:#64748b;cursor:pointer;transition:all .25s ease;white-space:nowrap}.suppliers-tab:hover{background:#0891b214;color:#0891b2}.suppliers-tab.active{background:#fff;color:#0891b2;font-weight:600;box-shadow:0 2px 8px #00000014}.suppliers-tab .tab-icon{font-size:1rem}.suppliers-tab .tab-badge{background:#0891b226;color:#0891b2;padding:.125rem .5rem;border-radius:100px;font-size:.7rem;font-weight:700}.suppliers-tab.active .tab-badge{background:#0891b233}.suppliers-tab-content{animation:suppliersFadeIn .3s ease}.suppliers-table-container{background:#fff;border-radius:24px;box-shadow:0 4px 30px #0000000f;overflow:hidden;border:1px solid rgba(0,0,0,.04)}.suppliers-table-header{padding:1.5rem 1.75rem;border-bottom:1px solid #f1f5f9;display:flex;flex-direction:column;gap:1.25rem}.suppliers-search-row{display:flex;align-items:center;gap:1rem;flex-wrap:wrap}.suppliers-search-box{position:relative;flex:1;min-width:280px}.suppliers-search-box input{width:100%;padding:.875rem 1.25rem .875rem 3rem;border:2px solid #e2e8f0;border-radius:14px;font-size:.925rem;transition:all .3s ease;background:#f8fafc}.suppliers-search-box input:focus{outline:none;border-color:#0891b2;background:#fff;box-shadow:0 0 0 4px #0891b21a}.suppliers-search-box input::placeholder{color:#94a3b8}.suppliers-search-icon{position:absolute;left:1rem;top:50%;transform:translateY(-50%);color:#94a3b8;font-size:1.1rem}.suppliers-filter-chips{display:flex;gap:.5rem;flex-wrap:wrap}.suppliers-filter-chip{display:flex;align-items:center;gap:.375rem;padding:.5rem 1rem;background:#f1f5f9;border:1px solid transparent;border-radius:100px;font-size:.8rem;font-weight:500;color:#475569;cursor:pointer;transition:all .25s ease}.suppliers-filter-chip:hover{background:#e2e8f0}.suppliers-filter-chip.active{background:linear-gradient(135deg,#0891b2,#0e7490);color:#fff;box-shadow:0 2px 8px #0891b24d}.suppliers-table{width:100%;border-collapse:separate;border-spacing:0}.suppliers-table thead{background:linear-gradient(135deg,#f8fafc,#f1f5f9);position:sticky;top:0;z-index:10}.suppliers-table th{text-align:left;padding:1rem 1.25rem;font-size:.75rem;font-weight:700;color:#475569;text-transform:uppercase;letter-spacing:.08em;border-bottom:2px solid #e2e8f0;white-space:nowrap}.suppliers-table th.sortable{cursor:pointer;transition:color .2s ease}.suppliers-table th.sortable:hover{color:#0891b2}.suppliers-table th .sort-icon{margin-left:.5rem;opacity:.5}.suppliers-table td{padding:1.125rem 1.25rem;font-size:.9rem;color:#1e293b;border-bottom:1px solid #f1f5f9;vertical-align:middle}.suppliers-table tbody tr{transition:all .2s ease}.suppliers-table tbody tr:hover{background:linear-gradient(90deg,#0891b208,#0891b20f)}.suppliers-status-pill{display:inline-flex;align-items:center;gap:.375rem;padding:.4rem .875rem;border-radius:100px;font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.04em}.suppliers-status-pill .status-dot{width:6px;height:6px;border-radius:50%;animation:suppliersStatusPulse 2s ease infinite}@keyframes suppliersStatusPulse{0%,to{opacity:1}50%{opacity:.5}}.suppliers-status-pill.active{background:linear-gradient(135deg,#10b9811a,#34d3991a);color:#059669}.suppliers-status-pill.active .status-dot{background:#10b981}.suppliers-status-pill.inactive{background:#64748b1a;color:#475569}.suppliers-status-pill.inactive .status-dot{background:#64748b}.suppliers-status-pill.blocked{background:linear-gradient(135deg,#ef44441a,#f871711a);color:#dc2626}.suppliers-status-pill.blocked .status-dot{background:#ef4444}.suppliers-status-pill.draft{background:#64748b1a;color:#475569}.suppliers-status-pill.draft .status-dot{background:#94a3b8}.suppliers-status-pill.sent{background:#3b82f61a;color:#2563eb}.suppliers-status-pill.sent .status-dot{background:#3b82f6}.suppliers-status-pill.confirmed{background:#10b9811a;color:#059669}.suppliers-status-pill.confirmed .status-dot{background:#10b981}.suppliers-status-pill.partial{background:#f59e0b1a;color:#b45309}.suppliers-status-pill.partial .status-dot{background:#f59e0b}.suppliers-status-pill.received{background:#10b98126;color:#047857}.suppliers-status-pill.received .status-dot{background:#059669}.suppliers-status-pill.cancelled{background:#ef44441a;color:#dc2626}.suppliers-status-pill.cancelled .status-dot{background:#ef4444}.suppliers-status-pill.pending{background:#f59e0b1a;color:#b45309}.suppliers-status-pill.pending .status-dot{background:#f59e0b}.suppliers-status-pill.verified{background:#3b82f61a;color:#2563eb}.suppliers-status-pill.verified .status-dot{background:#3b82f6}.suppliers-status-pill.discrepancy{background:#ef44441a;color:#dc2626}.suppliers-status-pill.discrepancy .status-dot{background:#ef4444}.suppliers-status-pill.accepted{background:#10b9811a;color:#059669}.suppliers-status-pill.accepted .status-dot{background:#10b981}.suppliers-status-pill.paid{background:#10b98126;color:#047857}.suppliers-status-pill.paid .status-dot{background:#059669}.suppliers-status-pill.overdue{background:#ef444426;color:#b91c1c}.suppliers-status-pill.overdue .status-dot{background:#dc2626}.suppliers-status-pill.disputed{background:#a855f71a;color:#7c3aed}.suppliers-status-pill.disputed .status-dot{background:#a855f7}.suppliers-rating{display:flex;gap:.125rem}.suppliers-rating .star{color:#e2e8f0;font-size:.9rem}.suppliers-rating .star.filled{color:#f59e0b}.suppliers-category-tag{display:inline-flex;align-items:center;gap:.375rem;padding:.375rem .875rem;border-radius:100px;font-size:.8rem;font-weight:500}.suppliers-category-tag.materials{background:#dbeafe;color:#2563eb}.suppliers-category-tag.equipment{background:#e0e7ff;color:#4f46e5}.suppliers-category-tag.medications{background:#dcfce7;color:#16a34a}.suppliers-category-tag.laboratory{background:#fce7f3;color:#db2777}.suppliers-category-tag.cleaning{background:#cffafe;color:#0891b2}.suppliers-category-tag.office{background:#f3e8ff;color:#9333ea}.suppliers-category-tag.other{background:#f1f5f9;color:#475569}.suppliers-actions{display:flex;gap:.375rem}.suppliers-action-btn{width:36px;height:36px;display:flex;align-items:center;justify-content:center;background:transparent;border:1px solid transparent;border-radius:10px;cursor:pointer;transition:all .2s ease;color:#64748b;font-size:1rem}.suppliers-action-btn:hover{background:#f1f5f9;color:#1e293b;border-color:#e2e8f0}.suppliers-action-btn.view:hover{background:#0891b21a;color:#0891b2;border-color:#0891b233}.suppliers-action-btn.edit:hover{background:#3b82f61a;color:#3b82f6;border-color:#3b82f633}.suppliers-action-btn.delete:hover{background:#ef44441a;color:#ef4444;border-color:#ef444433}.suppliers-table-footer{display:flex;align-items:center;justify-content:space-between;padding:1.25rem 1.75rem;border-top:1px solid #f1f5f9;background:#fafafa}.suppliers-pagination-info{font-size:.875rem;color:#64748b}.suppliers-pagination-info strong{color:#1e293b;font-weight:600}.suppliers-pagination-controls{display:flex;align-items:center;gap:.5rem}.suppliers-pagination-btn{display:flex;align-items:center;justify-content:center;min-width:40px;height:40px;padding:0 .75rem;background:#fff;border:1px solid #e2e8f0;border-radius:10px;font-size:.875rem;font-weight:500;color:#475569;cursor:pointer;transition:all .2s ease}.suppliers-pagination-btn:hover:not(:disabled){background:#0891b2;color:#fff;border-color:#0891b2}.suppliers-pagination-btn:disabled{opacity:.5;cursor:not-allowed}.suppliers-pagination-btn.active{background:#0891b2;color:#fff;border-color:#0891b2}.suppliers-amount{font-weight:600;color:#1e293b}.suppliers-amount .currency{font-size:.8rem;color:#64748b;margin-right:.125rem}.suppliers-amount.overdue{color:#dc2626}.suppliers-suggestions-card{background:linear-gradient(135deg,#fffbeb,#fef3c7);border-radius:16px;padding:1.25rem 1.5rem;margin-bottom:1.5rem;border:1px solid rgba(245,158,11,.2)}.suppliers-suggestions-card .suggestions-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:1rem}.suppliers-suggestions-card .suggestions-header h3{font-size:.95rem;font-weight:700;color:#92400e;display:flex;align-items:center;gap:.5rem}.suppliers-suggestions-card .suggestions-header button{padding:.5rem 1rem;background:linear-gradient(135deg,#f59e0b,#d97706);color:#fff;border:none;border-radius:10px;font-size:.8rem;font-weight:600;cursor:pointer;transition:all .2s ease}.suppliers-suggestions-card .suggestions-header button:hover{transform:translateY(-1px);box-shadow:0 4px 12px #f59e0b4d}.suggestions-list{display:flex;flex-direction:column;gap:.5rem}.suggestion-item{display:flex;align-items:center;justify-content:space-between;padding:.625rem .875rem;background:#fff;border-radius:10px;font-size:.85rem}.suggestion-item .suggestion-product{font-weight:600;color:#1e293b}.suggestion-item .suggestion-stock{color:#dc2626;font-weight:500;font-size:.8rem}.suggestion-item .suggestion-qty{color:#059669;font-weight:600;font-size:.8rem}.suppliers-modal-overlay{position:fixed;inset:0;background:#0f172a99;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);display:flex;align-items:center;justify-content:center;z-index:1000;animation:suppliersModalOverlayIn .3s ease}@keyframes suppliersModalOverlayIn{0%{opacity:0}to{opacity:1}}.suppliers-modal{background:#fff;border-radius:24px;width:100%;max-width:650px;max-height:90vh;overflow:hidden;box-shadow:0 25px 80px #00000040;animation:suppliersModalSlideIn .4s cubic-bezier(.4,0,.2,1)}@keyframes suppliersModalSlideIn{0%{opacity:0;transform:scale(.95) translateY(20px)}to{opacity:1;transform:scale(1) translateY(0)}}.suppliers-modal-header{display:flex;align-items:center;justify-content:space-between;padding:1.5rem 2rem;border-bottom:1px solid #f1f5f9;background:linear-gradient(135deg,#f8fafc,#fff)}.suppliers-modal-header h2{font-size:1.375rem;font-weight:700;color:#1e293b;display:flex;align-items:center;gap:.625rem}.suppliers-modal-close{width:40px;height:40px;display:flex;align-items:center;justify-content:center;background:#f1f5f9;border:none;border-radius:10px;cursor:pointer;transition:all .2s ease;color:#64748b;font-size:1.25rem}.suppliers-modal-close:hover{background:#fee2e2;color:#ef4444;transform:rotate(90deg)}.suppliers-modal-body{padding:2rem;overflow-y:auto;max-height:calc(90vh - 180px)}.suppliers-form{display:flex;flex-direction:column;gap:1.5rem}.suppliers-form-section{display:flex;flex-direction:column;gap:1rem}.suppliers-form-section-title{font-size:.8rem;font-weight:700;color:#64748b;text-transform:uppercase;letter-spacing:.08em;padding-bottom:.5rem;border-bottom:1px solid #f1f5f9}.suppliers-form-row{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem}.suppliers-form-group{display:flex;flex-direction:column;gap:.5rem}.suppliers-form-group.full-width{grid-column:span 2}.suppliers-form-label{font-size:.875rem;font-weight:600;color:#475569}.suppliers-form-input{padding:.875rem 1rem;border:2px solid #e2e8f0;border-radius:12px;font-size:.925rem;transition:all .25s ease;background:#fafafa}.suppliers-form-input:focus{outline:none;border-color:#0891b2;background:#fff;box-shadow:0 0 0 4px #0891b21a}.suppliers-form-select{padding:.875rem 1rem;border:2px solid #e2e8f0;border-radius:12px;font-size:.925rem;background:#fafafa url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%2364748b' d='M6 8L1 3h10z'/%3E%3C/svg%3E") no-repeat right 1rem center;appearance:none;cursor:pointer;transition:all .25s ease}.suppliers-form-select:focus{outline:none;border-color:#0891b2;background-color:#fff;box-shadow:0 0 0 4px #0891b21a}.suppliers-form-textarea{padding:.875rem 1rem;border:2px solid #e2e8f0;border-radius:12px;font-size:.925rem;resize:vertical;min-height:80px;transition:all .25s ease;background:#fafafa;font-family:inherit}.suppliers-form-textarea:focus{outline:none;border-color:#0891b2;background:#fff;box-shadow:0 0 0 4px #0891b21a}.suppliers-modal-footer{display:flex;justify-content:flex-end;gap:.75rem;padding:1.5rem 2rem;border-top:1px solid #f1f5f9;background:#fafafa}.suppliers-modal-btn-cancel{padding:.875rem 1.5rem;background:#fff;color:#64748b;border:2px solid #e2e8f0;border-radius:12px;font-size:.925rem;font-weight:600;cursor:pointer;transition:all .25s ease}.suppliers-modal-btn-cancel:hover{background:#f1f5f9;border-color:#cbd5e1}.suppliers-modal-btn-save{padding:.875rem 2rem;background:linear-gradient(135deg,#0891b2,#0e7490);color:#fff;border:none;border-radius:12px;font-size:.925rem;font-weight:600;cursor:pointer;transition:all .3s ease;box-shadow:0 4px 15px #0891b24d}.suppliers-modal-btn-save:hover{transform:translateY(-2px);box-shadow:0 8px 25px #0891b266}.suppliers-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:4rem 2rem;gap:1.5rem}.suppliers-loading-spinner{width:50px;height:50px;border:4px solid #e2e8f0;border-top-color:#0891b2;border-radius:50%;animation:suppliersSpin 1s linear infinite}@keyframes suppliersSpin{to{transform:rotate(360deg)}}.suppliers-loading-text{color:#64748b;font-size:.95rem;font-weight:500}.suppliers-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:4rem 2rem;text-align:center}.suppliers-empty-icon{font-size:4rem;margin-bottom:1.5rem;opacity:.3}.suppliers-empty-title{font-size:1.25rem;font-weight:700;color:#1e293b;margin-bottom:.5rem}.suppliers-empty-description{color:#64748b;font-size:.95rem;margin-bottom:1.5rem;max-width:400px}.payment-method-badge{display:inline-flex;align-items:center;gap:.375rem;padding:.375rem .75rem;border-radius:8px;font-size:.8rem;font-weight:500;background:#f1f5f9;color:#475569}.payment-method-badge.transfer{background:#dbeafe;color:#2563eb}.payment-method-badge.card{background:#e0e7ff;color:#4f46e5}.payment-method-badge.cash{background:#dcfce7;color:#16a34a}.payment-method-badge.check{background:#fef3c7;color:#d97706}.suppliers-date{font-size:.85rem;color:#64748b}.suppliers-date.overdue{color:#dc2626;font-weight:600}@media(max-width:768px){.suppliers-header{flex-direction:column;align-items:flex-start}.suppliers-header-content h1{font-size:1.75rem}.suppliers-tabs{overflow-x:auto;-webkit-overflow-scrolling:touch}.suppliers-table-header{padding:1.25rem}.suppliers-search-row{flex-direction:column}.suppliers-search-box{min-width:100%}.suppliers-form-row{grid-template-columns:1fr}.suppliers-form-group.full-width{grid-column:span 1}.suppliers-modal{margin:1rem;max-width:calc(100% - 2rem)}.suppliers-table-footer{flex-direction:column;gap:1rem;align-items:stretch}.suppliers-pagination-controls{justify-content:center}}@media(max-width:640px){.suppliers-tab{padding:.625rem .875rem;font-size:.8rem}.suppliers-tab .tab-icon{font-size:.9rem}}.config-layout{display:grid;grid-template-columns:1fr 2fr;gap:1.5rem}.config-professionals-card{background:#fff;border-radius:20px;box-shadow:0 4px 20px #0000000d;border:1px solid rgba(0,0,0,.05);overflow:hidden}.config-card-header{display:flex;align-items:center;justify-content:space-between;padding:1.5rem 1.75rem;border-bottom:1px solid #f1f5f9}.config-card-header h2{font-size:1.125rem;font-weight:600;color:#1e293b;margin:0}.config-professionals-list{display:flex;flex-direction:column;max-height:600px;overflow-y:auto}.config-prof-item{display:flex;align-items:center;gap:.75rem;padding:1rem 1.5rem;background:transparent;border:none;border-bottom:1px solid #f1f5f9;cursor:pointer;transition:all .2s ease;text-align:left;width:100%}.config-prof-item:hover{background:#f8fafc}.config-prof-item.active{background:linear-gradient(90deg,#0891b214,#0891b205);border-left:3px solid #0891b2}.config-prof-item.inactive{opacity:.6}.config-prof-avatar{width:42px;height:42px;border-radius:12px;background:linear-gradient(135deg,#1e3a5f,#0e7490);display:flex;align-items:center;justify-content:center;color:#fff;font-weight:700;font-size:.85rem;flex-shrink:0}.config-prof-info{flex:1;min-width:0}.config-prof-info strong{display:block;font-size:.9rem;color:#1e293b;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.config-prof-info span{font-size:.75rem;color:#64748b}.config-prof-meta{display:flex;flex-direction:column;align-items:flex-end;gap:.25rem}.config-scheme-badge{display:inline-flex;padding:.2rem .6rem;border-radius:8px;font-size:.7rem;font-weight:600}.config-scheme-badge.percentage{background:#dcfce7;color:#16a34a}.config-scheme-badge.fixed{background:#dbeafe;color:#2563eb}.config-scheme-badge.mixed{background:#ede9fe;color:#7c3aed}.config-scheme-badge.none{background:#f1f5f9;color:#94a3b8}.config-scheme-badge.large{padding:.4rem 1rem;font-size:.85rem;border-radius:10px}.config-inactive-badge{font-size:.65rem;color:#ef4444;font-weight:500}.config-detail-card{background:#fff;border-radius:20px;box-shadow:0 4px 20px #0000000d;border:1px solid rgba(0,0,0,.05);overflow:hidden}.config-detail-header{display:flex;justify-content:space-between;align-items:center;padding:1.5rem 1.75rem;border-bottom:1px solid #f1f5f9}.config-detail-header h2{font-size:1.25rem;font-weight:600;color:#1e293b;margin:0 0 .25rem}.config-detail-header p{font-size:.875rem;color:#64748b;margin:0}.config-detail-actions{display:flex;gap:.5rem}.config-scheme-overview{display:flex;gap:2rem;padding:1.5rem 1.75rem;background:#f8fafc;border-bottom:1px solid #f1f5f9}.config-scheme-stat{display:flex;flex-direction:column;gap:.5rem}.config-scheme-stat-label{font-size:.75rem;font-weight:600;color:#64748b;text-transform:uppercase;letter-spacing:.05em}.config-scheme-stat-value{font-size:1.5rem;font-weight:700;color:#1e293b}.config-rules-section{padding:1.5rem 1.75rem}.config-rules-section h3{font-size:1rem;font-weight:600;color:#1e293b;margin:0 0 1rem}@media(max-width:992px){.config-layout{grid-template-columns:1fr}.config-professionals-list{max-height:300px}}.produccion-container{display:flex;flex-direction:column;gap:1.5rem}.produccion-summary{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem}.produccion-summary-card{background:#fff;border-radius:16px;padding:1.25rem 1.5rem;box-shadow:0 4px 20px #0000000d;border:1px solid rgba(0,0,0,.05);display:flex;flex-direction:column;gap:.5rem}.produccion-summary-label{font-size:.75rem;font-weight:600;color:#64748b;text-transform:uppercase;letter-spacing:.05em}.produccion-summary-value{font-size:1.5rem;font-weight:700;color:#1e293b}.produccion-summary-value.green{color:#10b981}.produccion-filters{display:flex;gap:.75rem;align-items:center}.produccion-select{max-width:250px}.produccion-rate-badge{display:inline-flex;padding:.25rem .75rem;border-radius:8px;font-size:.8rem;font-weight:600;background:#dcfce7;color:#16a34a}.produccion-rate-badge.fixed{background:#dbeafe;color:#2563eb}@media(max-width:992px){.produccion-summary{grid-template-columns:repeat(2,1fr)}}@media(max-width:768px){.produccion-summary{grid-template-columns:1fr}.produccion-filters{flex-direction:column;align-items:stretch}.produccion-select{max-width:none}}.nominas-container{display:flex;flex-direction:column;gap:1.5rem}.nominas-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}.nominas-summary-card{display:flex;align-items:center;gap:1rem;background:#fff;border-radius:16px;padding:1.25rem 1.5rem;box-shadow:0 4px 20px #0000000d;border:1px solid rgba(0,0,0,.05)}.nominas-summary-card.positive{border-left:4px solid #10b981}.nominas-summary-card.negative{border-left:4px solid #ef4444}.nominas-summary-card.net{border-left:4px solid #6366f1}.nominas-summary-icon{font-size:1.5rem}.nominas-summary-label{display:block;font-size:.75rem;font-weight:600;color:#64748b;text-transform:uppercase;letter-spacing:.05em;margin-bottom:.25rem}.nominas-summary-value{display:block;font-size:1.25rem;font-weight:700;color:#1e293b}.nomina-type-badge{display:inline-flex;padding:.25rem .75rem;border-radius:8px;font-size:.8rem;font-weight:600}.nomina-type-badge.bonus{background:#dcfce7;color:#16a34a}.nomina-type-badge.incentive{background:#dbeafe;color:#2563eb}.nomina-type-badge.adjustment{background:#fef3c7;color:#d97706}.nomina-type-badge.deduction{background:#fee2e2;color:#dc2626}@media(max-width:768px){.nominas-summary{grid-template-columns:1fr}}.informes-container{display:flex;flex-direction:column;gap:1.5rem}.informes-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}.informes-summary-card{background:#fff;border-radius:16px;padding:1.25rem 1.5rem;box-shadow:0 4px 20px #0000000d;border:1px solid rgba(0,0,0,.05);display:flex;flex-direction:column;gap:.5rem}.informes-summary-label{font-size:.75rem;font-weight:600;color:#64748b;text-transform:uppercase;letter-spacing:.05em}.informes-summary-value{font-size:1.5rem;font-weight:700;color:#1e293b}.informes-charts-grid{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem}.informes-chart-card{background:#fff;border-radius:20px;padding:1.5rem;box-shadow:0 4px 20px #0000000d;border:1px solid rgba(0,0,0,.05)}.informes-chart-header{margin-bottom:1.5rem}.informes-chart-header h3{font-size:1rem;font-weight:600;color:#1e293b;margin:0}.informes-bar-chart{display:flex;align-items:flex-end;gap:1rem;height:250px;padding-top:1.5rem}.informes-bar-group{flex:1;display:flex;flex-direction:column;align-items:center;height:100%}.informes-bar-value{font-size:.7rem;font-weight:600;color:#64748b;margin-bottom:.5rem;white-space:nowrap}.informes-bar-wrapper{flex:1;width:100%;display:flex;align-items:flex-end;justify-content:center}.informes-bar{width:70%;max-width:48px;border-radius:8px 8px 0 0;background:linear-gradient(180deg,#0891b2,#0e7490);transition:height .6s cubic-bezier(.4,0,.2,1);min-height:4px}.informes-bar-group:hover .informes-bar{background:linear-gradient(180deg,#06b6d4,#0891b2);box-shadow:0 4px 12px #0891b24d}.informes-bar-label{font-size:.7rem;color:#64748b;margin-top:.5rem;text-align:center;white-space:nowrap}.informes-horizontal-chart{display:flex;flex-direction:column;gap:1rem}.informes-hbar-group{display:flex;flex-direction:column;gap:.375rem}.informes-hbar-label{font-size:.8rem;font-weight:600;color:#1e293b}.informes-hbar-wrapper{display:flex;align-items:center;gap:.75rem;height:28px}.informes-hbar{height:100%;border-radius:6px;background:linear-gradient(90deg,#0891b2,#06b6d4);transition:width .6s cubic-bezier(.4,0,.2,1);min-width:4px}.informes-hbar-group:nth-child(2) .informes-hbar{background:linear-gradient(90deg,#6366f1,#818cf8)}.informes-hbar-group:nth-child(3) .informes-hbar{background:linear-gradient(90deg,#10b981,#34d399)}.informes-hbar-group:nth-child(4) .informes-hbar{background:linear-gradient(90deg,#f59e0b,#fbbf24)}.informes-hbar-group:nth-child(5) .informes-hbar{background:linear-gradient(90deg,#ef4444,#f87171)}.informes-hbar-value{font-size:.8rem;font-weight:600;color:#64748b;white-space:nowrap}@media(max-width:992px){.informes-charts-grid{grid-template-columns:1fr}}@media(max-width:768px){.informes-summary{grid-template-columns:1fr}.informes-bar-chart{height:200px}}.commissions-page{display:flex;flex-direction:column;gap:2rem;animation:fadeInUp .5s ease}.commissions-header{display:flex;justify-content:space-between;align-items:flex-start;flex-wrap:wrap;gap:1.5rem}.commissions-header-content h1{font-size:2rem;font-weight:700;background:linear-gradient(135deg,#1e3a5f,#0891b2);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;margin-bottom:.5rem}.commissions-header-content p{color:#64748b;font-size:1rem}.commissions-header-actions{display:flex;gap:.75rem}@media(max-width:768px){.commissions-header{flex-direction:column;align-items:stretch}.commissions-header-actions{justify-content:stretch}.commissions-header-actions button{flex:1;justify-content:center}}.documents-page{display:flex;flex-direction:column;gap:2rem;animation:documentsFadeIn .6s ease}@keyframes documentsFadeIn{0%{opacity:0;transform:translateY(25px)}to{opacity:1;transform:translateY(0)}}.documents-header{display:flex;justify-content:space-between;align-items:flex-start;flex-wrap:wrap;gap:1.5rem}.documents-header-content h1{font-size:2.25rem;font-weight:800;background:linear-gradient(135deg,#1e3a5f,#0891b2,#06b6d4);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;margin-bottom:.5rem;letter-spacing:-.02em}.documents-header-content p{color:#64748b;font-size:1.05rem;display:flex;align-items:center;gap:.5rem}.documents-header-content p:before{content:"";display:inline-block;width:8px;height:8px;background:linear-gradient(135deg,#10b981,#34d399);border-radius:50%;animation:documentsPulse 2s ease infinite}@keyframes documentsPulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.7;transform:scale(1.2)}}.documents-header-actions{display:flex;gap:.75rem;flex-wrap:wrap}.documents-btn-primary{display:flex;align-items:center;gap:.5rem;padding:.7rem 1.4rem;background:linear-gradient(135deg,#0891b2,#0e7490);color:#fff;border:none;border-radius:14px;font-weight:600;font-size:.9rem;cursor:pointer;transition:all .3s ease;box-shadow:0 4px 20px #0891b259}.documents-btn-primary:hover{transform:translateY(-3px);box-shadow:0 8px 30px #0891b273}.documents-btn-secondary{display:flex;align-items:center;gap:.5rem;padding:.7rem 1.4rem;background:#fff;color:#334155;border:1px solid #e2e8f0;border-radius:14px;font-weight:600;font-size:.9rem;cursor:pointer;transition:all .3s ease}.documents-btn-secondary:hover{background:#0891b21a;border-color:#0891b2;color:#0891b2;transform:translateY(-2px)}.documents-stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1.25rem}.documents-stat-card{background:#fff;border-radius:20px;padding:1.75rem;position:relative;overflow:hidden;border:1px solid #f1f5f9;box-shadow:0 1px 3px #0000000a;transition:all .3s ease}.documents-stat-card:before{content:"";position:absolute;top:0;left:0;right:0;height:4px;background:linear-gradient(90deg,#0891b2,#06b6d4)}.documents-stat-card:hover{transform:translateY(-4px);box-shadow:0 12px 25px #0891b214}.documents-stat-icon{font-size:1.75rem;margin-bottom:.75rem}.documents-stat-value{font-size:2rem;font-weight:800;color:#0f172a;line-height:1;margin-bottom:.35rem}.documents-stat-label{font-size:.85rem;color:#64748b;font-weight:500}.documents-filters{display:flex;flex-wrap:wrap;gap:1rem;align-items:center}.documents-search-wrapper{position:relative;flex:1;min-width:280px}.documents-search-icon{position:absolute;left:1rem;top:50%;transform:translateY(-50%);color:#94a3b8;font-size:1rem}.documents-search-input{width:100%;padding:.75rem 1rem .75rem 2.75rem;border:1px solid #e2e8f0;border-radius:12px;font-size:.9rem;background:#f8fafc;transition:all .3s ease;outline:none}.documents-search-input:focus{border-color:#0891b2;box-shadow:0 0 0 3px #0891b21a;background:#fff}.documents-category-chips{display:flex;flex-wrap:wrap;gap:.5rem}.documents-chip{padding:.45rem 1rem;border-radius:20px;font-size:.8rem;font-weight:600;border:1px solid #e2e8f0;background:#fff;color:#64748b;cursor:pointer;transition:all .2s ease;white-space:nowrap}.documents-chip:hover{border-color:#0891b2;color:#0891b2}.documents-chip.active{background:linear-gradient(135deg,#0891b2,#0e7490);color:#fff;border-color:transparent;box-shadow:0 2px 8px #0891b24d}.documents-content-layout{display:grid;grid-template-columns:1fr 300px;gap:1.5rem}@media(max-width:1024px){.documents-content-layout{grid-template-columns:1fr}}.documents-table-container{background:#fff;border-radius:16px;overflow:hidden;border:1px solid #f1f5f9;box-shadow:0 1px 3px #0000000a}.documents-table{width:100%;border-collapse:collapse}.documents-table thead{background:#f8fafc}.documents-table th{padding:.85rem 1rem;text-align:left;font-size:.75rem;font-weight:600;color:#64748b;text-transform:uppercase;letter-spacing:.05em;border-bottom:1px solid #f1f5f9}.documents-table td{padding:.85rem 1rem;font-size:.85rem;color:#334155;border-bottom:1px solid #f1f5f9;max-width:200px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.documents-table tbody tr{transition:background .2s ease;cursor:pointer}.documents-table tbody tr:hover{background:#f0fdfa}.documents-file-info{display:flex;align-items:center;gap:.75rem}.documents-file-icon{font-size:1.5rem;flex-shrink:0}.documents-file-name{font-weight:600;color:#0f172a;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.documents-file-mime{font-size:.75rem;color:#94a3b8}.documents-category-badge{display:inline-flex;align-items:center;gap:.35rem;padding:.3rem .75rem;border-radius:20px;font-size:.75rem;font-weight:600;background:#ecfeff;color:#0891b2;white-space:nowrap}.documents-actions-cell{display:flex;gap:.35rem}.documents-action-btn{padding:.4rem .6rem;border:1px solid #e2e8f0;border-radius:8px;background:#fff;cursor:pointer;font-size:.85rem;transition:all .2s ease}.documents-action-btn:hover{border-color:#0891b2;background:#ecfeff}.documents-action-btn.delete:hover{border-color:#ef4444;background:#fef2f2}.documents-sidebar{display:flex;flex-direction:column;gap:1.25rem}.documents-sidebar-card{background:#fff;border-radius:16px;padding:1.25rem;border:1px solid #f1f5f9;box-shadow:0 1px 3px #0000000a}.documents-sidebar-card h3{font-size:.9rem;font-weight:700;color:#0f172a;margin-bottom:1rem;display:flex;align-items:center;gap:.5rem}.documents-activity-list{display:flex;flex-direction:column;gap:.75rem}.documents-activity-item{display:flex;align-items:center;gap:.75rem;padding:.5rem;border-radius:10px;transition:background .2s ease}.documents-activity-item:hover{background:#f8fafc}.documents-activity-icon{font-size:1.25rem;flex-shrink:0}.documents-activity-text{flex:1;min-width:0}.documents-activity-name{font-size:.8rem;font-weight:600;color:#0f172a;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.documents-activity-time{font-size:.7rem;color:#94a3b8}.documents-folder-list{display:flex;flex-direction:column;gap:.5rem}.documents-folder-item{display:flex;align-items:center;gap:.75rem;padding:.6rem .75rem;border-radius:10px;cursor:pointer;transition:all .2s ease;font-size:.85rem;color:#334155}.documents-folder-item:hover{background:#ecfeff;color:#0891b2}.documents-folder-item.active{background:linear-gradient(135deg,#0891b21a,#06b6d414);color:#0891b2;font-weight:600}.documents-quick-upload{border:2px dashed #e2e8f0;border-radius:12px;padding:1.5rem;text-align:center;cursor:pointer;transition:all .3s ease}.documents-quick-upload:hover{border-color:#0891b2;background:#0891b20a}.documents-quick-upload.dragging{border-color:#0891b2;background:#0891b214;transform:scale(1.02)}.documents-quick-upload-icon{font-size:2rem;margin-bottom:.5rem}.documents-quick-upload-text{font-size:.85rem;color:#64748b;font-weight:500}.documents-quick-upload-hint{font-size:.75rem;color:#94a3b8;margin-top:.25rem}.documents-pagination{display:flex;justify-content:center;align-items:center;gap:.5rem;padding-top:1rem}.documents-pagination-btn{padding:.5rem 1rem;border:1px solid #e2e8f0;border-radius:10px;background:#fff;color:#334155;font-size:.85rem;font-weight:500;cursor:pointer;transition:all .2s ease}.documents-pagination-btn:hover:not(:disabled){border-color:#0891b2;color:#0891b2}.documents-pagination-btn:disabled{opacity:.5;cursor:not-allowed}.documents-pagination-btn.active{background:linear-gradient(135deg,#0891b2,#0e7490);color:#fff;border-color:transparent}.documents-pagination-info{font-size:.85rem;color:#64748b;padding:0 .5rem}.documents-modal-overlay{position:fixed;inset:0;background:#0f172a99;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;justify-content:center;align-items:center;z-index:1000;animation:documentsOverlayIn .2s ease;padding:1rem}@keyframes documentsOverlayIn{0%{opacity:0}to{opacity:1}}.documents-modal{background:#fff;border-radius:20px;width:100%;max-width:600px;max-height:90vh;overflow-y:auto;box-shadow:0 25px 60px #00000026;animation:documentsSlideUp .3s ease}@keyframes documentsSlideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.documents-modal-header{display:flex;justify-content:space-between;align-items:center;padding:1.5rem;border-bottom:1px solid #f1f5f9}.documents-modal-header h2{font-size:1.25rem;font-weight:700;color:#0f172a}.documents-modal-close{padding:.4rem;border:none;background:none;cursor:pointer;font-size:1.25rem;color:#94a3b8;border-radius:8px;transition:all .2s ease}.documents-modal-close:hover{background:#f1f5f9;color:#0f172a}.documents-modal-body{padding:1.5rem;display:flex;flex-direction:column;gap:1.25rem}.documents-form-group{display:flex;flex-direction:column;gap:.4rem}.documents-form-group label{font-size:.85rem;font-weight:600;color:#334155}.documents-form-group input,.documents-form-group select,.documents-form-group textarea{padding:.65rem .85rem;border:1px solid #e2e8f0;border-radius:10px;font-size:.9rem;background:#f8fafc;transition:all .3s ease;outline:none}.documents-form-group input:focus,.documents-form-group select:focus,.documents-form-group textarea:focus{border-color:#0891b2;box-shadow:0 0 0 3px #0891b21a;background:#fff}.documents-form-group textarea{resize:vertical;min-height:80px}.documents-form-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.documents-drop-zone{border:2px dashed #e2e8f0;border-radius:14px;padding:2rem;text-align:center;cursor:pointer;transition:all .3s ease;background:#f8fafc}.documents-drop-zone:hover{border-color:#0891b2;background:#0891b20a}.documents-drop-zone.dragging{border-color:#0891b2;background:#0891b214;transform:scale(1.01)}.documents-drop-zone.has-file{border-color:#10b981;border-style:solid;background:#f0fdf4}.documents-drop-zone-icon{font-size:2.5rem;margin-bottom:.75rem}.documents-drop-zone-text{font-size:.95rem;font-weight:600;color:#334155}.documents-drop-zone-hint{font-size:.8rem;color:#94a3b8;margin-top:.35rem}.documents-drop-zone-file{display:flex;align-items:center;justify-content:center;gap:.5rem;font-size:.9rem;font-weight:600;color:#10b981}.documents-modal-footer{display:flex;justify-content:flex-end;gap:.75rem;padding:1.25rem 1.5rem;border-top:1px solid #f1f5f9}.documents-btn-cancel{padding:.65rem 1.25rem;border:1px solid #e2e8f0;border-radius:12px;background:#fff;color:#64748b;font-weight:600;font-size:.9rem;cursor:pointer;transition:all .2s ease}.documents-btn-cancel:hover{border-color:#94a3b8}.documents-btn-submit{padding:.65rem 1.5rem;background:linear-gradient(135deg,#0891b2,#0e7490);color:#fff;border:none;border-radius:12px;font-weight:600;font-size:.9rem;cursor:pointer;transition:all .3s ease;box-shadow:0 4px 14px #0891b259}.documents-btn-submit:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 6px 20px #0891b273}.documents-btn-submit:disabled{opacity:.6;cursor:not-allowed}.documents-detail-modal{max-width:700px}.documents-detail-preview{background:#f8fafc;border-radius:12px;padding:1.5rem;display:flex;justify-content:center;align-items:center;min-height:200px;margin-bottom:1rem}.documents-detail-preview img{max-width:100%;max-height:400px;border-radius:8px;object-fit:contain}.documents-detail-preview iframe{width:100%;height:400px;border:none;border-radius:8px}.documents-detail-preview-placeholder{display:flex;flex-direction:column;align-items:center;gap:.75rem;color:#94a3b8}.documents-detail-preview-placeholder span:first-child{font-size:3rem}.documents-detail-meta{display:grid;grid-template-columns:1fr 1fr;gap:.75rem}.documents-detail-field{padding:.75rem;background:#f8fafc;border-radius:10px}.documents-detail-field-label{font-size:.75rem;font-weight:600;color:#64748b;text-transform:uppercase;letter-spacing:.05em;margin-bottom:.25rem}.documents-detail-field-value{font-size:.9rem;color:#0f172a;font-weight:500}.documents-detail-actions{display:flex;gap:.75rem;margin-top:1rem}.documents-empty{text-align:center;padding:3rem 1.5rem;color:#94a3b8}.documents-empty-icon{font-size:3.5rem;margin-bottom:1rem}.documents-empty h3{font-size:1.1rem;font-weight:600;color:#64748b;margin-bottom:.5rem}.documents-empty p{font-size:.9rem}.documents-loading{display:flex;justify-content:center;align-items:center;padding:3rem;color:#64748b;font-size:.95rem}.documents-spinner{display:inline-block;width:20px;height:20px;border:2px solid #e2e8f0;border-top-color:#0891b2;border-radius:50%;animation:documentsSpin .6s linear infinite;margin-right:.75rem}@keyframes documentsSpin{to{transform:rotate(360deg)}}.documents-uploading-overlay{position:fixed;inset:0;background:#0f172ab3;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);display:flex;flex-direction:column;justify-content:center;align-items:center;z-index:2000;gap:1rem;color:#fff}.documents-uploading-spinner{width:48px;height:48px;border:3px solid rgba(255,255,255,.2);border-top-color:#fff;border-radius:50%;animation:documentsSpin .8s linear infinite}.documents-uploading-text{font-size:1.1rem;font-weight:600}@keyframes emFadeIn{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@keyframes emSlideIn{0%{opacity:0;transform:translate(-8px)}to{opacity:1;transform:translate(0)}}@keyframes emPulse{0%,to{opacity:1}50%{opacity:.6}}.em-page{animation:emFadeIn .5s ease;padding:0}.em-header{background:linear-gradient(135deg,#1e3a5f,#2563eb);border-radius:20px;padding:2rem 2.5rem;margin-bottom:1.5rem;position:relative;overflow:hidden}.em-header:before{content:"";position:absolute;top:-50%;right:-10%;width:300px;height:300px;background:radial-gradient(circle,rgba(255,255,255,.08) 0%,transparent 70%);border-radius:50%}.em-header-content{display:flex;align-items:center;justify-content:space-between;position:relative;z-index:1}.em-header-left{display:flex;align-items:center;gap:1.25rem}.em-header-icon{width:56px;height:56px;background:#ffffff26;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:16px;display:flex;align-items:center;justify-content:center;font-size:1.75rem}.em-header-text h1{color:#fff;font-size:1.6rem;font-weight:700;margin:0;letter-spacing:-.02em}.em-header-text p{color:#ffffffb3;font-size:.875rem;margin:.25rem 0 0}.em-btn-primary{display:flex;align-items:center;gap:.5rem;padding:.75rem 1.5rem;background:#ffffff26;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.25);border-radius:12px;color:#fff;font-size:.875rem;font-weight:600;cursor:pointer;transition:all .2s ease}.em-btn-primary:hover{background:#ffffff40;transform:translateY(-1px)}.em-btn-primary svg{width:18px;height:18px}.em-stats-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem;margin-bottom:1.5rem}.em-stat-card{background:#fff;border-radius:16px;padding:1.25rem;display:flex;align-items:center;gap:1rem;box-shadow:0 1px 3px #0000000f;border:1px solid #f1f5f9;position:relative;overflow:hidden;animation:emFadeIn .5s ease}.em-stat-card:nth-child(1){animation-delay:.05s}.em-stat-card:nth-child(2){animation-delay:.1s}.em-stat-card:nth-child(3){animation-delay:.15s}.em-stat-card:nth-child(4){animation-delay:.2s}.em-stat-card:before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;border-radius:0 4px 4px 0}.em-stat-card.stat-operational:before{background:linear-gradient(180deg,#059669,#10b981)}.em-stat-card.stat-maintenance:before{background:linear-gradient(180deg,#d97706,#f59e0b)}.em-stat-card.stat-overdue:before{background:linear-gradient(180deg,#dc2626,#ef4444)}.em-stat-card.stat-cost:before{background:linear-gradient(180deg,#6366f1,#8b5cf6)}.em-stat-icon{width:44px;height:44px;border-radius:12px;display:flex;align-items:center;justify-content:center;font-size:1.25rem;flex-shrink:0}.stat-operational .em-stat-icon{background:#ecfdf5}.stat-maintenance .em-stat-icon{background:#fffbeb}.stat-overdue .em-stat-icon{background:#fef2f2}.stat-cost .em-stat-icon{background:#eef2ff}.em-stat-content{flex:1;min-width:0}.em-stat-value{font-size:1.5rem;font-weight:700;color:#1e293b;line-height:1}.em-stat-label{font-size:.75rem;color:#64748b;margin-top:.25rem;font-weight:500}.em-tabs{display:flex;gap:.5rem;margin-bottom:1.5rem;background:#f1f5f9;padding:.35rem;border-radius:14px;width:fit-content}.em-tab{padding:.6rem 1.25rem;border:none;border-radius:10px;font-size:.85rem;font-weight:500;color:#64748b;background:transparent;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;gap:.5rem}.em-tab:hover{color:#1e293b;background:#ffffff80}.em-tab.active{background:linear-gradient(135deg,#1e3a5f,#2563eb);color:#fff;box-shadow:0 2px 8px #1e3a5f4d}.em-tab-badge{font-size:.7rem;background:#fff3;padding:.1rem .45rem;border-radius:8px;font-weight:600}.em-tab.active .em-tab-badge{background:#ffffff40}.em-filters{display:flex;align-items:center;gap:.75rem;margin-bottom:1.25rem;flex-wrap:wrap}.em-search{position:relative;flex:1;min-width:240px;max-width:400px}.em-search-icon{position:absolute;left:.875rem;top:50%;transform:translateY(-50%);color:#94a3b8;width:16px;height:16px}.em-search input{width:100%;padding:.65rem .875rem .65rem 2.5rem;border:1px solid #e2e8f0;border-radius:10px;font-size:.85rem;color:#1e293b;background:#fff;transition:all .2s ease;outline:none}.em-search input:focus{border-color:#2563eb;box-shadow:0 0 0 3px #2563eb1a}.em-search input::placeholder{color:#94a3b8}.em-filter-select{padding:.65rem 2rem .65rem .875rem;border:1px solid #e2e8f0;border-radius:10px;font-size:.85rem;color:#1e293b;background:#fff;cursor:pointer;outline:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%2394a3b8' stroke-width='2.5'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right .75rem center;transition:all .2s ease}.em-filter-select:focus{border-color:#2563eb;box-shadow:0 0 0 3px #2563eb1a}.em-table-container{background:#fff;border-radius:16px;border:1px solid #f1f5f9;box-shadow:0 1px 3px #0000000f;overflow:hidden;animation:emFadeIn .5s ease .1s both}.em-table{width:100%;border-collapse:collapse}.em-table thead{background:#f8fafc;border-bottom:1px solid #e2e8f0}.em-table th{padding:.875rem 1rem;text-align:left;font-size:.75rem;font-weight:600;color:#64748b;text-transform:uppercase;letter-spacing:.05em;white-space:nowrap}.em-table td{padding:.875rem 1rem;font-size:.85rem;color:#334155;border-bottom:1px solid #f1f5f9;vertical-align:middle}.em-table tbody tr{transition:background .15s ease}.em-table tbody tr:hover{background:#f8fafc}.em-table tbody tr:last-child td{border-bottom:none}.em-equipment-cell{display:flex;flex-direction:column;gap:.15rem}.em-equipment-name{font-weight:600;color:#1e293b;font-size:.85rem}.em-equipment-serial{font-size:.7rem;color:#94a3b8;font-family:SF Mono,Fira Code,monospace}.em-category-badge{display:inline-flex;padding:.25rem .65rem;border-radius:8px;font-size:.75rem;font-weight:500;background:#f1f5f9;color:#475569}.em-equip-status{display:inline-flex;align-items:center;gap:.35rem;padding:.3rem .75rem;border-radius:20px;font-size:.75rem;font-weight:600;white-space:nowrap}.em-equip-status.operational{background:#ecfdf5;color:#059669}.em-equip-status.maintenance{background:#fffbeb;color:#d97706}.em-equip-status.repair{background:#fef2f2;color:#dc2626;animation:emPulse 2s ease infinite}.em-equip-status.out-of-service{background:#f1f5f9;color:#64748b}.em-status-dot{width:6px;height:6px;border-radius:50%;background:currentColor}.em-maint-status{display:inline-flex;align-items:center;gap:.35rem;padding:.3rem .75rem;border-radius:20px;font-size:.75rem;font-weight:600;white-space:nowrap}.em-maint-status.scheduled{background:#eff6ff;color:#2563eb}.em-maint-status.in-progress{background:#fffbeb;color:#d97706}.em-maint-status.completed{background:#ecfdf5;color:#059669}.em-maint-status.overdue{background:#fef2f2;color:#dc2626;animation:emPulse 2s ease infinite}.em-maint-status.cancelled{background:#f1f5f9;color:#64748b}.em-type-badge{display:inline-flex;padding:.25rem .65rem;border-radius:8px;font-size:.75rem;font-weight:500}.em-type-badge.preventive{background:#ecfdf5;color:#059669}.em-type-badge.corrective{background:#fef2f2;color:#dc2626}.em-type-badge.calibration{background:#eef2ff;color:#6366f1}.em-type-badge.inspection{background:#eff6ff;color:#2563eb}.em-cost-cell{font-variant-numeric:tabular-nums;font-weight:600;color:#1e293b}.em-cost-zero{color:#94a3b8;font-weight:400}.em-description-cell{max-width:250px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;font-size:.8rem;color:#64748b;line-height:1.4}.em-actions-cell{display:flex;gap:.5rem}.em-action-btn{padding:.4rem .75rem;border:1px solid #e2e8f0;border-radius:8px;font-size:.75rem;font-weight:500;color:#475569;background:#fff;cursor:pointer;transition:all .2s ease;display:inline-flex;align-items:center;gap:.35rem}.em-action-btn:hover{border-color:#2563eb;color:#2563eb;background:#eff6ff}.em-alerts-list{display:flex;flex-direction:column;gap:1rem;animation:emFadeIn .5s ease .1s both}.em-alert-card{background:#fff;border-radius:16px;border:1px solid #f1f5f9;box-shadow:0 1px 3px #0000000f;padding:1.25rem 1.5rem;transition:all .2s ease;border-left:4px solid transparent;display:flex;align-items:flex-start;gap:1rem}.em-alert-card:hover{box-shadow:0 4px 12px #00000014}.em-alert-card.critical{border-left-color:#dc2626}.em-alert-card.warning{border-left-color:#d97706}.em-alert-card.info{border-left-color:#2563eb}.em-alert-icon{width:40px;height:40px;border-radius:10px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.em-alert-card.critical .em-alert-icon{background:#fef2f2;color:#dc2626}.em-alert-card.warning .em-alert-icon{background:#fffbeb;color:#d97706}.em-alert-card.info .em-alert-icon{background:#eff6ff;color:#2563eb}.em-alert-content{flex:1;min-width:0}.em-alert-title{font-weight:600;color:#1e293b;font-size:.9rem;margin-bottom:.25rem}.em-alert-description{font-size:.8rem;color:#64748b;line-height:1.4;margin:0}.em-alert-meta{display:flex;align-items:center;gap:.75rem;margin-top:.5rem}.em-alert-equipment{font-size:.7rem;color:#94a3b8;font-weight:500}.em-alert-days{display:flex;align-items:center;gap:.25rem;flex-shrink:0;font-size:.8rem;font-weight:700;padding:.3rem .75rem;border-radius:10px}.em-alert-card.critical .em-alert-days{background:#fef2f2;color:#dc2626}.em-alert-card.warning .em-alert-days{background:#fffbeb;color:#d97706}.em-alert-card.info .em-alert-days{background:#eff6ff;color:#2563eb}.em-contracts-container{animation:emFadeIn .5s ease .1s both}.em-progress-cell{min-width:120px}.em-progress-info{display:flex;justify-content:space-between;align-items:center;margin-bottom:.35rem}.em-progress-days{font-size:.75rem;font-weight:600;color:#1e293b}.em-progress-pct{font-size:.65rem;color:#94a3b8}.em-progress-bar{width:100%;height:6px;background:#f1f5f9;border-radius:3px;overflow:hidden}.em-progress-fill{height:100%;border-radius:3px;transition:width .5s ease}.em-progress-fill.green{background:linear-gradient(90deg,#059669,#10b981)}.em-progress-fill.yellow{background:linear-gradient(90deg,#d97706,#f59e0b)}.em-progress-fill.red{background:linear-gradient(90deg,#dc2626,#ef4444)}.em-contract-type{display:inline-flex;padding:.2rem .5rem;border-radius:6px;font-size:.7rem;font-weight:500}.em-contract-type.warranty{background:#ecfdf5;color:#059669}.em-contract-type.service{background:#eef2ff;color:#6366f1}.em-date-cell{font-size:.8rem;color:#64748b}.em-modal-overlay{position:fixed;inset:0;background:#0f172a99;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:1000;animation:emFadeIn .2s ease;padding:1rem}.em-modal{background:#fff;border-radius:20px;box-shadow:0 25px 50px #00000026;width:100%;max-width:600px;max-height:90vh;overflow-y:auto;animation:emFadeIn .3s ease}.em-modal-header{padding:1.5rem 1.5rem 0;display:flex;align-items:center;justify-content:space-between}.em-modal-header-left{display:flex;align-items:center;gap:.75rem}.em-modal-icon{width:42px;height:42px;border-radius:12px;display:flex;align-items:center;justify-content:center;font-size:1.25rem;background:linear-gradient(135deg,#1e3a5f,#2563eb)}.em-modal-title{font-size:1.15rem;font-weight:700;color:#1e293b;margin:0}.em-modal-close{width:32px;height:32px;border:none;background:#f1f5f9;border-radius:8px;color:#64748b;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s ease;font-size:1.1rem}.em-modal-close:hover{background:#e2e8f0;color:#1e293b}.em-modal-body{padding:1.5rem}.em-modal-footer{padding:0 1.5rem 1.5rem;display:flex;gap:.75rem;justify-content:flex-end}.em-form-group{margin-bottom:1rem}.em-form-label{display:block;font-size:.8rem;font-weight:600;color:#475569;margin-bottom:.4rem}.em-form-input,.em-form-select,.em-form-textarea{width:100%;padding:.65rem .875rem;border:1px solid #e2e8f0;border-radius:10px;font-size:.85rem;color:#1e293b;background:#fff;transition:all .2s ease;outline:none;font-family:inherit}.em-form-input:focus,.em-form-select:focus,.em-form-textarea:focus{border-color:#2563eb;box-shadow:0 0 0 3px #2563eb1a}.em-form-textarea{min-height:80px;resize:vertical}.em-form-row{display:grid;grid-template-columns:1fr 1fr;gap:.75rem}.em-btn-cancel{padding:.65rem 1.25rem;border:1px solid #e2e8f0;border-radius:10px;font-size:.85rem;font-weight:500;color:#64748b;background:#fff;cursor:pointer;transition:all .2s ease}.em-btn-cancel:hover{background:#f8fafc;border-color:#cbd5e1}.em-btn-confirm{padding:.65rem 1.25rem;border:none;border-radius:10px;font-size:.85rem;font-weight:600;color:#fff;background:linear-gradient(135deg,#1e3a5f,#2563eb);cursor:pointer;transition:all .2s ease}.em-btn-confirm:hover{box-shadow:0 4px 12px #2563eb4d;transform:translateY(-1px)}.em-empty{text-align:center;padding:3rem 1.5rem;color:#94a3b8}.em-empty-icon{font-size:2.5rem;margin-bottom:.75rem}.em-empty-title{font-size:1rem;font-weight:600;color:#64748b;margin-bottom:.25rem}.em-empty-text{font-size:.85rem}@media(max-width:1024px){.em-stats-grid{grid-template-columns:repeat(2,1fr)}.em-table-container{overflow-x:auto}.em-table{min-width:800px}}@media(max-width:768px){.em-header{padding:1.5rem;border-radius:16px}.em-header-content{flex-direction:column;align-items:flex-start;gap:1rem}.em-btn-primary{width:100%;justify-content:center}.em-tabs{width:100%;overflow-x:auto}.em-filters{flex-direction:column;align-items:stretch}.em-search{max-width:100%}.em-form-row{grid-template-columns:1fr}}@media(max-width:480px){.em-stats-grid{grid-template-columns:1fr}.em-header-text h1{font-size:1.25rem}}.esign-page{min-height:100%;padding-bottom:2rem}.esign-header{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:2rem;flex-wrap:wrap;gap:1.5rem}.esign-header-left h1{font-size:2rem;font-weight:700;color:#0f172a;margin:0 0 .5rem;display:flex;align-items:center;gap:.75rem}.esign-header-left h1:before{content:"";width:4px;height:28px;background:linear-gradient(180deg,#059669,#047857);border-radius:4px}.esign-header-left p{color:#64748b;font-size:.95rem;margin:0}.esign-header-right{display:flex;gap:.75rem}.esign-btn-export{display:flex;align-items:center;gap:.5rem;padding:.75rem 1.25rem;background:#fff;color:#475569;border:1px solid #e2e8f0;border-radius:12px;font-size:.875rem;font-weight:500;cursor:pointer;transition:all .2s ease}.esign-btn-export:hover{border-color:#059669;color:#059669;background:#f0fdf4}.esign-btn-new{display:flex;align-items:center;gap:.5rem;padding:.75rem 1.5rem;background:linear-gradient(135deg,#059669,#047857);color:#fff;border:none;border-radius:12px;font-size:.875rem;font-weight:600;cursor:pointer;transition:all .3s ease;box-shadow:0 4px 14px #05966959}.esign-btn-new:hover{background:linear-gradient(135deg,#047857,#065f46);transform:translateY(-2px);box-shadow:0 6px 20px #05966973}.esign-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1.25rem;margin-bottom:2rem}.esign-stat-card{background:#fff;border-radius:16px;padding:1.5rem;display:flex;align-items:center;gap:1rem;box-shadow:0 1px 3px #0000000d;border:1px solid #f1f5f9;transition:all .3s ease;position:relative;overflow:hidden}.esign-stat-card:before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,transparent,rgba(5,150,105,.3),transparent);opacity:0;transition:opacity .3s ease}.esign-stat-card:hover{transform:translateY(-4px);box-shadow:0 12px 30px #05966926}.esign-stat-card:hover:before{opacity:1}.esign-stat-icon{width:56px;height:56px;border-radius:16px;display:flex;align-items:center;justify-content:center;font-size:1.5rem}.esign-stat-icon.signed{background:linear-gradient(135deg,#d1fae5,#a7f3d0)}.esign-stat-icon.pending{background:linear-gradient(135deg,#fef3c7,#fde68a)}.esign-stat-icon.certificates{background:linear-gradient(135deg,#dbeafe,#bfdbfe)}.esign-stat-icon.verifications{background:linear-gradient(135deg,#ede9fe,#ddd6fe)}.esign-stat-content h3{font-size:1.75rem;font-weight:700;color:#0f172a;margin:0;line-height:1.2}.esign-stat-content p{font-size:.85rem;color:#64748b;margin:.25rem 0 0}.esign-stat-trend{display:flex;align-items:center;gap:.25rem;font-size:.75rem;font-weight:600;margin-top:.35rem}.esign-stat-trend.up{color:#10b981}.esign-stat-trend.down{color:#ef4444}.esign-info-banner{background:linear-gradient(135deg,#ecfdf5,#d1fae5,#a7f3d0);border:1px solid #6ee7b7;border-radius:16px;padding:1.5rem 2rem;margin-bottom:2rem;display:flex;align-items:flex-start;gap:1.25rem;position:relative;overflow:hidden}.esign-info-banner:before{content:"";position:absolute;top:-50%;right:-10%;width:200px;height:200px;background:radial-gradient(circle,rgba(5,150,105,.08) 0%,transparent 70%);border-radius:50%}.esign-info-banner-icon{font-size:2.5rem;flex-shrink:0}.esign-info-banner-content h3{font-size:1.1rem;font-weight:700;color:#064e3b;margin:0 0 .5rem}.esign-info-banner-content p{font-size:.875rem;color:#065f46;margin:0;line-height:1.6}.esign-info-features{display:flex;flex-wrap:wrap;gap:.75rem;margin-top:1rem}.esign-info-feature{display:flex;align-items:center;gap:.4rem;padding:.4rem .85rem;background:#ffffffb3;border-radius:20px;font-size:.8rem;font-weight:500;color:#047857;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.esign-controls{background:#fff;border-radius:16px;padding:1.25rem;margin-bottom:1.5rem;display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:1rem;box-shadow:0 1px 3px #0000000d;border:1px solid #f1f5f9}.esign-search-box{position:relative;flex:1;max-width:350px}.esign-search-box input{width:100%;padding:.875rem 1rem .875rem 3rem;border:2px solid #e2e8f0;border-radius:12px;font-size:.9rem;transition:all .2s ease;background:#f8fafc}.esign-search-box input:focus{outline:none;border-color:#059669;background:#fff;box-shadow:0 0 0 3px #0596691a}.esign-search-box input::placeholder{color:#94a3b8}.esign-search-icon{position:absolute;left:1rem;top:50%;transform:translateY(-50%);color:#94a3b8;font-size:1.1rem}.esign-status-filters{display:flex;gap:.5rem;flex-wrap:wrap}.esign-status-pill{padding:.5rem 1rem;border:2px solid #e2e8f0;background:#fff;border-radius:25px;font-size:.8rem;font-weight:500;cursor:pointer;color:#64748b;transition:all .25s ease;display:flex;align-items:center;gap:.4rem}.esign-status-pill:hover{border-color:#059669;color:#059669;transform:translateY(-1px)}.esign-status-pill.active{background:linear-gradient(135deg,#059669,#047857);border-color:transparent;color:#fff;box-shadow:0 4px 12px #0596694d}.esign-status-pill .pill-icon{font-size:.9rem}.esign-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:1.5rem;margin-bottom:2rem}@media(min-width:1400px){.esign-grid{grid-template-columns:repeat(3,1fr)}}.esign-card{background:#fff;border-radius:20px;overflow:hidden;box-shadow:0 1px 3px #0000000d;border:1px solid #f1f5f9;transition:all .4s cubic-bezier(.4,0,.2,1);position:relative;cursor:pointer}.esign-card:hover{transform:translateY(-6px) scale(1.01);box-shadow:0 25px 50px #05966926;border-color:transparent}.esign-card-header{position:relative;padding:1.75rem 1.5rem 1.25rem;overflow:hidden}.esign-card-header:before{content:"";position:absolute;inset:0;opacity:.95;z-index:0}.esign-card-header.consentimiento:before{background:linear-gradient(135deg,#d1fae5,#a7f3d0)}.esign-card-header.contrato:before{background:linear-gradient(135deg,#dbeafe,#bfdbfe)}.esign-card-header.clinico:before{background:linear-gradient(135deg,#ede9fe,#ddd6fe)}.esign-card-header.presupuesto:before{background:linear-gradient(135deg,#fef3c7,#fde68a)}.esign-card-header.rgpd:before{background:linear-gradient(135deg,#fce7f3,#fbcfe8)}.esign-card-header.informe:before{background:linear-gradient(135deg,#cffafe,#a5f3fc)}.esign-card-header:after{content:"";position:absolute;bottom:0;left:0;right:0;height:20px;background:#fff;border-radius:20px 20px 0 0;z-index:1}.esign-card-icon{position:relative;z-index:2;width:60px;height:60px;border-radius:16px;background:#fff;display:flex;align-items:center;justify-content:center;font-size:1.75rem;box-shadow:0 8px 20px #0000001a;margin-bottom:.5rem}.esign-card-status{position:absolute;top:1rem;right:1rem;z-index:2;padding:.35rem .85rem;border-radius:20px;font-size:.7rem;font-weight:600;text-transform:uppercase;letter-spacing:.5px;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.esign-card-status.firmado{background:#ffffffe6;color:#059669;border:1px solid rgba(5,150,105,.2)}.esign-card-status.pendiente{background:#ffffffe6;color:#d97706;border:1px solid rgba(217,119,6,.2)}.esign-card-status.expirado{background:#ffffffe6;color:#dc2626;border:1px solid rgba(220,38,38,.2)}.esign-card-body{padding:0 1.5rem 1.25rem}.esign-card-title{font-size:1.1rem;font-weight:700;color:#0f172a;margin:0 0 .35rem;line-height:1.3}.esign-card-desc{font-size:.85rem;color:#64748b;margin:0 0 1rem;display:-webkit-box;-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;line-height:1.5}.esign-card-tags{display:flex;flex-wrap:wrap;gap:.4rem;margin-bottom:.5rem}.esign-tag{display:inline-flex;align-items:center;gap:.3rem;padding:.3rem .65rem;border-radius:8px;font-size:.7rem;font-weight:600}.esign-tag.certificado{background:#d1fae5;color:#047857}.esign-tag.timestamp{background:#dbeafe;color:#1d4ed8}.esign-tag.eidas{background:#ede9fe;color:#6d28d9}.esign-tag.rgpd{background:#fce7f3;color:#be185d}.esign-card-meta{display:flex;align-items:center;justify-content:space-between;padding:1rem 1.5rem;background:#f8fafc;border-top:1px solid #f1f5f9}.esign-card-signer{display:flex;align-items:center;gap:.5rem;font-size:.85rem;color:#64748b}.esign-card-signer .signer-avatar{width:28px;height:28px;border-radius:50%;background:linear-gradient(135deg,#059669,#047857);display:flex;align-items:center;justify-content:center;color:#fff;font-size:.65rem;font-weight:700}.esign-card-date{font-size:.8rem;color:#94a3b8;display:flex;align-items:center;gap:.35rem}.esign-card-footer{display:flex;border-top:1px solid #f1f5f9}.esign-action-btn{flex:1;padding:.875rem;border:none;background:transparent;color:#64748b;font-size:.85rem;font-weight:500;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;justify-content:center;gap:.5rem}.esign-action-btn:not(:last-child){border-right:1px solid #f1f5f9}.esign-action-btn:hover{background:#f8fafc;color:#059669}.esign-action-btn.verify:hover{background:#f0fdf4;color:#059669}.esign-action-btn.download:hover{background:#eff6ff;color:#2563eb}.esign-action-btn.revoke:hover{background:#fef2f2;color:#dc2626}.esign-section-title{font-size:1.25rem;font-weight:700;color:#0f172a;margin:0 0 1.25rem;display:flex;align-items:center;gap:.75rem}.esign-certificates{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:1.25rem;margin-bottom:2rem}.esign-cert-card{background:#fff;border-radius:16px;padding:1.5rem;box-shadow:0 1px 3px #0000000d;border:1px solid #f1f5f9;transition:all .3s ease;display:flex;gap:1.25rem;align-items:flex-start}.esign-cert-card:hover{transform:translateY(-3px);box-shadow:0 10px 25px #0596691f}.esign-cert-icon{width:52px;height:52px;border-radius:14px;display:flex;align-items:center;justify-content:center;font-size:1.5rem;flex-shrink:0}.esign-cert-icon.active{background:linear-gradient(135deg,#d1fae5,#a7f3d0)}.esign-cert-icon.expiring{background:linear-gradient(135deg,#fef3c7,#fde68a)}.esign-cert-icon.expired{background:linear-gradient(135deg,#fee2e2,#fecaca)}.esign-cert-info{flex:1;min-width:0}.esign-cert-name{font-size:.95rem;font-weight:700;color:#0f172a;margin:0 0 .25rem}.esign-cert-issuer{font-size:.8rem;color:#64748b;margin:0 0 .5rem}.esign-cert-details{display:flex;flex-wrap:wrap;gap:.5rem}.esign-cert-detail{display:flex;align-items:center;gap:.3rem;font-size:.75rem;color:#475569;padding:.25rem .5rem;background:#f8fafc;border-radius:6px}.esign-cert-badge{display:inline-flex;padding:.25rem .65rem;border-radius:20px;font-size:.7rem;font-weight:600;margin-top:.5rem}.esign-cert-badge.active{background:#d1fae5;color:#047857}.esign-cert-badge.expiring{background:#fef3c7;color:#b45309}.esign-cert-badge.expired{background:#fee2e2;color:#dc2626}.esign-table-container{background:#fff;border-radius:20px;overflow:hidden;box-shadow:0 1px 3px #0000000d;border:1px solid #f1f5f9}.esign-table{width:100%;border-collapse:collapse}.esign-table th{text-align:left;padding:1rem 1.25rem;background:linear-gradient(135deg,#f8fafc,#f1f5f9);font-size:.75rem;font-weight:700;color:#64748b;text-transform:uppercase;letter-spacing:.05em;border-bottom:2px solid #e2e8f0}.esign-table td{padding:1rem 1.25rem;font-size:.9rem;color:#1e293b;border-bottom:1px solid #f1f5f9;vertical-align:middle}.esign-table tbody tr{transition:all .2s ease;cursor:pointer}.esign-table tbody tr:hover{background:linear-gradient(135deg,#f0fdf4,#ecfdf5)}.esign-table tbody tr:last-child td{border-bottom:none}.esign-table-doc{display:flex;align-items:center;gap:1rem}.esign-table-doc-icon{width:44px;height:44px;border-radius:12px;display:flex;align-items:center;justify-content:center;font-size:1.2rem}.esign-table-doc-icon.consentimiento{background:linear-gradient(135deg,#d1fae5,#a7f3d0)}.esign-table-doc-icon.contrato{background:linear-gradient(135deg,#dbeafe,#bfdbfe)}.esign-table-doc-icon.clinico{background:linear-gradient(135deg,#ede9fe,#ddd6fe)}.esign-table-doc-icon.presupuesto{background:linear-gradient(135deg,#fef3c7,#fde68a)}.esign-table-doc-icon.rgpd{background:linear-gradient(135deg,#fce7f3,#fbcfe8)}.esign-table-doc-icon.informe{background:linear-gradient(135deg,#cffafe,#a5f3fc)}.esign-table-doc-info{display:flex;flex-direction:column}.esign-table-doc-name{font-weight:600;color:#0f172a}.esign-table-doc-type{font-size:.8rem;color:#64748b}.esign-table-status{display:inline-flex;padding:.35rem .85rem;border-radius:20px;font-size:.75rem;font-weight:600}.esign-table-status.firmado{background:linear-gradient(135deg,#d1fae5,#a7f3d0);color:#047857}.esign-table-status.pendiente{background:linear-gradient(135deg,#fef3c7,#fde68a);color:#b45309}.esign-table-status.expirado{background:linear-gradient(135deg,#fee2e2,#fecaca);color:#dc2626}.esign-table-hash{font-family:SF Mono,Fira Code,monospace;font-size:.75rem;color:#64748b;background:#f1f5f9;padding:.25rem .5rem;border-radius:6px}.esign-table-actions{display:flex;gap:.5rem}.esign-table-action-btn{width:36px;height:36px;border:1px solid #e2e8f0;background:#fff;border-radius:10px;display:flex;align-items:center;justify-content:center;cursor:pointer;color:#64748b;transition:all .2s ease}.esign-table-action-btn:hover{border-color:#059669;color:#059669;background:#f0fdf4}.esign-table-action-btn.danger:hover{border-color:#dc2626;color:#dc2626;background:#fef2f2}.esign-loading-container{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:4rem 2rem;gap:1.5rem}.esign-loading-spinner{width:50px;height:50px;border:3px solid #e2e8f0;border-top-color:#059669;border-radius:50%;animation:esign-spin .8s linear infinite}@keyframes esign-spin{to{transform:rotate(360deg)}}.esign-loading-text{color:#64748b;font-size:.95rem}.esign-empty-state{text-align:center;padding:4rem 2rem;background:#fff;border-radius:20px;border:2px dashed #e2e8f0}.esign-empty-icon{font-size:4rem;margin-bottom:1rem;opacity:.8}.esign-empty-title{font-size:1.25rem;font-weight:600;color:#1e293b;margin:0 0 .5rem}.esign-empty-message{color:#64748b;margin:0 0 1.5rem}.esign-modal-overlay{position:fixed;inset:0;background:#0f172a99;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:1000;padding:1rem;animation:esign-fadeIn .2s ease}@keyframes esign-fadeIn{0%{opacity:0}to{opacity:1}}.esign-modal{background:#fff;border-radius:24px;width:100%;max-width:720px;max-height:90vh;overflow:hidden;box-shadow:0 25px 60px #00000040;animation:esign-slideUp .3s ease;display:flex;flex-direction:column}@keyframes esign-slideUp{0%{opacity:0;transform:translateY(20px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}.esign-modal-header{display:flex;align-items:center;justify-content:space-between;padding:1.5rem 1.75rem;background:linear-gradient(135deg,#059669,#047857);color:#fff}.esign-modal-header-content h2{font-size:1.25rem;font-weight:600;margin:0 0 .25rem}.esign-modal-header-content p{font-size:.85rem;opacity:.85;margin:0}.esign-modal-close{width:36px;height:36px;border-radius:10px;background:#ffffff26;border:none;color:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:1.25rem;transition:all .2s ease}.esign-modal-close:hover{background:#ffffff40;transform:rotate(90deg)}.esign-modal-body{padding:1.75rem;max-height:60vh;overflow-y:auto;flex:1}.esign-form-group{margin-bottom:1.5rem}.esign-form-label{display:flex;align-items:center;gap:.5rem;font-size:.875rem;font-weight:600;color:#374151;margin-bottom:.5rem}.esign-form-label .label-icon{font-size:1rem}.esign-form-input{width:100%;padding:.875rem 1rem;border:2px solid #e2e8f0;border-radius:12px;font-size:.9rem;transition:all .2s ease;background:#f8fafc}.esign-form-input:focus{outline:none;border-color:#059669;background:#fff;box-shadow:0 0 0 3px #0596691a}.esign-form-input::placeholder{color:#94a3b8}.esign-form-select{width:100%;padding:.875rem 1rem;border:2px solid #e2e8f0;border-radius:12px;font-size:.9rem;transition:all .2s ease;background:#f8fafc;cursor:pointer;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke='%2394a3b8'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M19 9l-7 7-7-7'%3E%3C/path%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 1rem center;background-size:1.25rem}.esign-form-select:focus{outline:none;border-color:#059669;background-color:#fff;box-shadow:0 0 0 3px #0596691a}.esign-form-row{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem}.esign-form-row .esign-form-group{margin-bottom:0}.esign-modal-footer{display:flex;justify-content:flex-end;gap:.75rem;padding:1.25rem 1.75rem;background:#f8fafc;border-top:1px solid #f1f5f9}.esign-btn-cancel{padding:.75rem 1.5rem;background:#fff;color:#64748b;border:2px solid #e2e8f0;border-radius:12px;font-size:.875rem;font-weight:600;cursor:pointer;transition:all .2s ease}.esign-btn-cancel:hover{border-color:#cbd5e1;background:#f8fafc}.esign-btn-sign{padding:.75rem 1.5rem;background:linear-gradient(135deg,#059669,#047857);color:#fff;border:none;border-radius:12px;font-size:.875rem;font-weight:600;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;gap:.5rem;box-shadow:0 4px 14px #05966959}.esign-btn-sign:hover{background:linear-gradient(135deg,#047857,#065f46);transform:translateY(-1px);box-shadow:0 6px 20px #05966973}.esign-detail-meta{display:flex;flex-wrap:wrap;gap:.75rem;margin-bottom:1.5rem}.esign-detail-meta-item{display:flex;align-items:center;gap:.5rem;padding:.5rem 1rem;background:#fff;border:1px solid #e2e8f0;border-radius:10px;font-size:.8rem;color:#475569}.esign-detail-meta-item .meta-label{font-weight:600;color:#1e293b}.esign-detail-content{background:#f8fafc;border:1px solid #e2e8f0;border-radius:12px;padding:1.5rem;margin-bottom:1.5rem}.esign-detail-section{margin-bottom:1.25rem}.esign-detail-section:last-child{margin-bottom:0}.esign-detail-section h4{font-size:.9rem;font-weight:600;color:#0f172a;margin:0 0 .5rem;display:flex;align-items:center;gap:.5rem}.esign-detail-section p{font-size:.85rem;color:#475569;margin:0;line-height:1.6}.esign-hash-display{display:flex;align-items:center;gap:.75rem;padding:1rem;background:#0f172a;border-radius:10px;margin-bottom:1.5rem}.esign-hash-display .hash-label{font-size:.75rem;color:#94a3b8;font-weight:600;white-space:nowrap}.esign-hash-display .hash-value{font-family:SF Mono,Fira Code,monospace;font-size:.75rem;color:#22d3ee;word-break:break-all;flex:1}.esign-hash-display .hash-copy{background:#ffffff1a;border:none;color:#94a3b8;padding:.35rem .65rem;border-radius:6px;cursor:pointer;font-size:.75rem;transition:all .2s ease;flex-shrink:0}.esign-hash-display .hash-copy:hover{background:#fff3;color:#fff}.esign-compliance-badges{display:flex;flex-wrap:wrap;gap:.75rem;margin-bottom:1.5rem}.esign-compliance-badge{display:flex;align-items:center;gap:.5rem;padding:.65rem 1rem;border-radius:12px;font-size:.8rem;font-weight:600}.esign-compliance-badge.eidas{background:linear-gradient(135deg,#ede9fe,#ddd6fe);color:#6d28d9}.esign-compliance-badge.rgpd-badge{background:linear-gradient(135deg,#fce7f3,#fbcfe8);color:#be185d}.esign-compliance-badge.timestamp-badge{background:linear-gradient(135deg,#dbeafe,#bfdbfe);color:#1d4ed8}.esign-compliance-badge.cert-badge{background:linear-gradient(135deg,#d1fae5,#a7f3d0);color:#047857}.esign-compliance-notice{display:flex;align-items:flex-start;gap:.5rem;padding:.75rem 1rem;background:#f0fdf4;border:1px solid #bbf7d0;border-radius:10px;font-size:.75rem;color:#166534;line-height:1.5}.esign-compliance-notice .notice-icon{font-size:1rem;flex-shrink:0;margin-top:.1rem}@media(max-width:768px){.esign-header{flex-direction:column;align-items:stretch}.esign-header-right{width:100%}.esign-btn-new{flex:1;justify-content:center}.esign-controls{flex-direction:column;align-items:stretch}.esign-search-box{max-width:none}.esign-status-filters{overflow-x:auto;padding-bottom:.5rem;flex-wrap:nowrap}.esign-grid,.esign-certificates,.esign-form-row{grid-template-columns:1fr}.esign-table{display:block;overflow-x:auto}.esign-info-banner{flex-direction:column;gap:.75rem;padding:1.25rem}.esign-hash-display{flex-direction:column;align-items:flex-start;gap:.5rem}}.sc-page{display:flex;flex-direction:column;gap:2rem;animation:scFadeInUp .5s ease}@keyframes scFadeInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes scModalSlideIn{0%{opacity:0;transform:translateY(-30px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes scPulse{0%,to{opacity:1}50%{opacity:.5}}@keyframes scSpin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.sc-header{display:flex;justify-content:space-between;align-items:flex-start;flex-wrap:wrap;gap:1.5rem}.sc-header-content h1{font-size:2rem;font-weight:700;background:linear-gradient(135deg,#1e3a5f,#6366f1);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;margin-bottom:.5rem}.sc-header-content p{color:#64748b;font-size:1rem}.sc-header-actions{display:flex;gap:.75rem}.sc-btn-premium{display:flex;align-items:center;gap:.5rem;padding:.75rem 1.5rem;background:linear-gradient(135deg,#6366f1,#4f46e5,#4338ca);color:#fff;border:none;border-radius:12px;font-size:.9rem;font-weight:600;cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1);box-shadow:0 4px 15px #6366f14d;position:relative;overflow:hidden}.sc-btn-premium:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.2),transparent);transition:left .5s}.sc-btn-premium:hover:before{left:100%}.sc-btn-premium:hover{transform:translateY(-2px);box-shadow:0 8px 25px #6366f166}.sc-btn-premium:disabled{opacity:.6;cursor:not-allowed;transform:none}.sc-btn-outline{display:flex;align-items:center;gap:.5rem;padding:.75rem 1.25rem;background:#fff;color:#6366f1;border:2px solid #6366f1;border-radius:12px;font-size:.9rem;font-weight:600;cursor:pointer;transition:all .3s ease}.sc-btn-outline:hover{background:#6366f1;color:#fff;transform:translateY(-2px)}.sc-btn-sm{padding:.5rem 1rem;font-size:.8rem;border-radius:8px}.sc-btn-danger{background:#fff;color:#ef4444;border:2px solid #ef4444}.sc-btn-danger:hover{background:#ef4444;color:#fff}.sc-btn-success{background:linear-gradient(135deg,#10b981,#059669);color:#fff;border:none;box-shadow:0 4px 15px #10b9814d}.sc-btn-success:hover{box-shadow:0 8px 25px #10b98166}.sc-overview{display:grid;grid-template-columns:repeat(4,1fr);gap:1.5rem}.sc-stat-card{background:#fff;border-radius:20px;padding:1.75rem;position:relative;overflow:hidden;transition:all .4s cubic-bezier(.4,0,.2,1);box-shadow:0 4px 20px #0000000d;border:1px solid rgba(0,0,0,.05)}.sc-stat-card:before{content:"";position:absolute;top:0;left:0;right:0;height:4px;background:linear-gradient(90deg,var(--sc-card-accent),var(--sc-card-accent-light))}.sc-stat-card:hover{transform:translateY(-5px);box-shadow:0 20px 40px #0000001a}.sc-stat-card.suppliers{--sc-card-accent: #6366f1;--sc-card-accent-light: #818cf8}.sc-stat-card.products{--sc-card-accent: #06b6d4;--sc-card-accent-light: #22d3ee}.sc-stat-card.offers{--sc-card-accent: #10b981;--sc-card-accent-light: #34d399}.sc-stat-card.alerts{--sc-card-accent: #f59e0b;--sc-card-accent-light: #fbbf24}.sc-stat-card-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:1rem}.sc-stat-card-icon{width:52px;height:52px;border-radius:14px;display:flex;align-items:center;justify-content:center;font-size:1.5rem;background:linear-gradient(135deg,var(--sc-card-accent) 0%,var(--sc-card-accent-light) 100%);box-shadow:0 4px 15px #00000026}.sc-stat-card-value{font-size:2rem;font-weight:800;color:#1e293b;line-height:1;margin-bottom:.25rem}.sc-stat-card-label{font-size:.85rem;color:#64748b;font-weight:500}.sc-tabs{display:flex;gap:.25rem;background:#f1f5f9;padding:.375rem;border-radius:16px;width:fit-content}.sc-tab{padding:.75rem 1.5rem;border:none;background:transparent;color:#64748b;font-size:.9rem;font-weight:600;cursor:pointer;border-radius:12px;transition:all .3s ease}.sc-tab:hover{color:#1e293b;background:#ffffff80}.sc-tab.active{background:#fff;color:#6366f1;box-shadow:0 2px 8px #00000014}.sc-content{background:#fff;border-radius:20px;padding:2rem;box-shadow:0 4px 20px #0000000d;border:1px solid rgba(0,0,0,.05)}.sc-compare-controls{display:flex;gap:1rem;align-items:center;margin-bottom:2rem;flex-wrap:wrap}.sc-select{flex:1;min-width:250px;padding:.75rem 2.5rem .75rem 1rem;border:2px solid #e2e8f0;border-radius:12px;font-size:.95rem;color:#1e293b;background:#fff;transition:border-color .3s;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%2364748b' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 1rem center}.sc-select:focus{outline:none;border-color:#6366f1;box-shadow:0 0 0 3px #6366f11a}.sc-table-container{overflow-x:auto;margin-bottom:1.5rem}.sc-table{width:100%;border-collapse:separate;border-spacing:0}.sc-table thead th{padding:1rem 1.25rem;text-align:left;font-size:.8rem;font-weight:700;color:#64748b;text-transform:uppercase;letter-spacing:.05em;border-bottom:2px solid #e2e8f0;white-space:nowrap}.sc-table tbody td{padding:1rem 1.25rem;font-size:.95rem;color:#1e293b;border-bottom:1px solid #f1f5f9;vertical-align:middle}.sc-table tbody tr{transition:all .2s}.sc-table tbody tr:hover{background:#f8fafc}.sc-table tbody tr.sc-best-price{background:#10b9810d}.sc-table tbody tr.sc-best-price td:first-child{position:relative}.sc-table tbody tr.sc-best-price td:first-child:before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:#10b981;border-radius:0 3px 3px 0}.sc-price{font-weight:700;font-variant-numeric:tabular-nums}.sc-price-effective{color:#10b981;font-size:1.1rem}.sc-price-base{color:#64748b}.sc-price-strikethrough{text-decoration:line-through;color:#94a3b8;font-size:.85rem}.sc-discount-badge{display:inline-flex;align-items:center;padding:.25rem .75rem;border-radius:20px;font-size:.8rem;font-weight:600;background:#dbeafe;color:#2563eb}.sc-offer-badge{display:inline-flex;align-items:center;gap:.25rem;padding:.25rem .75rem;border-radius:20px;font-size:.8rem;font-weight:600;background:#dcfce7;color:#16a34a}.sc-savings{font-weight:700;color:#16a34a}.sc-status-badge{display:inline-flex;align-items:center;gap:.35rem;padding:.35rem .85rem;border-radius:20px;font-size:.8rem;font-weight:600}.sc-status-badge.active{background:#dcfce7;color:#16a34a}.sc-status-badge.inactive{background:#fee2e2;color:#dc2626}.sc-status-dot{width:6px;height:6px;border-radius:50%;background:currentColor;animation:scPulse 2s infinite}.sc-ai-card{background:#fff;border-radius:20px;padding:2rem;border:2px solid transparent;background-image:linear-gradient(#fff,#fff),linear-gradient(135deg,#6366f1,#8b5cf6,#a855f7);background-origin:border-box;background-clip:padding-box,border-box;margin-top:1.5rem}.sc-ai-card-header{display:flex;align-items:center;gap:.75rem;margin-bottom:1rem}.sc-ai-card-icon{width:40px;height:40px;border-radius:12px;background:linear-gradient(135deg,#6366f1,#a855f7);display:flex;align-items:center;justify-content:center;font-size:1.2rem}.sc-ai-card-title{font-size:1.1rem;font-weight:700;color:#1e293b}.sc-ai-card-subtitle{font-size:.85rem;color:#64748b}.sc-ai-reasoning{font-size:.95rem;line-height:1.6;color:#475569;padding:1rem 1.25rem;background:#f8fafc;border-radius:12px;border-left:4px solid #6366f1;margin-bottom:1rem}.sc-ai-recommendation{display:flex;align-items:center;gap:1rem;padding:1rem;background:linear-gradient(135deg,#6366f10d,#a855f70d);border-radius:12px}.sc-ai-recommendation-label{font-size:.85rem;color:#64748b;font-weight:500}.sc-ai-recommendation-supplier{font-size:1.2rem;font-weight:700;color:#6366f1}.sc-ai-recommendation-price{font-size:1.3rem;font-weight:800;color:#10b981;margin-left:auto}.sc-bulk-section{margin-top:2rem}.sc-bulk-title{font-size:1.1rem;font-weight:700;color:#1e293b;margin-bottom:1rem;display:flex;align-items:center;gap:.5rem}.sc-bulk-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:1rem}.sc-bulk-card{background:#f8fafc;border-radius:16px;padding:1.25rem;border:1px solid #e2e8f0;transition:all .3s}.sc-bulk-card:hover{border-color:#6366f1;box-shadow:0 4px 15px #6366f11a}.sc-bulk-card-name{font-weight:700;color:#1e293b;margin-bottom:.5rem}.sc-bulk-card-supplier{font-size:.9rem;color:#6366f1;font-weight:600;margin-bottom:.25rem}.sc-bulk-card-price{font-size:1.1rem;font-weight:800;color:#10b981}.sc-bulk-card-reasoning{font-size:.85rem;color:#64748b;margin-top:.5rem;line-height:1.5}.sc-suppliers-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem}.sc-suppliers-title{font-size:1.1rem;font-weight:700;color:#1e293b}.sc-products-filters{display:flex;gap:.75rem;margin-bottom:1.5rem;flex-wrap:wrap}.sc-category-btn{padding:.5rem 1rem;border:2px solid #e2e8f0;background:#fff;border-radius:10px;font-size:.85rem;font-weight:600;color:#64748b;cursor:pointer;transition:all .3s}.sc-category-btn:hover{border-color:#6366f1;color:#6366f1}.sc-category-btn.active{background:#6366f1;color:#fff;border-color:#6366f1}.sc-commonly-used{display:inline-flex;align-items:center;gap:.25rem;padding:.2rem .6rem;border-radius:6px;font-size:.75rem;font-weight:600;background:#fef3c7;color:#d97706}.sc-alerts-list{display:flex;flex-direction:column;gap:1rem}.sc-alert-card{display:flex;gap:1rem;padding:1.25rem;background:#f8fafc;border-radius:16px;border:1px solid #e2e8f0;transition:all .3s;align-items:flex-start}.sc-alert-card:hover{border-color:#cbd5e1;box-shadow:0 4px 12px #0000000d}.sc-alert-card.unread{background:#fff;border-color:#6366f1;border-width:2px}.sc-alert-icon{width:44px;height:44px;border-radius:12px;display:flex;align-items:center;justify-content:center;font-size:1.2rem;flex-shrink:0}.sc-alert-icon.price_drop{background:#dcfce7}.sc-alert-icon.new_offer{background:#dbeafe}.sc-alert-icon.best_deal{background:#fef3c7}.sc-alert-icon.expiring_offer{background:#fee2e2}.sc-alert-type-badge{display:inline-flex;padding:.2rem .6rem;border-radius:6px;font-size:.75rem;font-weight:600;margin-bottom:.25rem}.sc-alert-type-badge.price_drop{background:#dcfce7;color:#16a34a}.sc-alert-type-badge.new_offer{background:#dbeafe;color:#2563eb}.sc-alert-type-badge.best_deal{background:#fef3c7;color:#d97706}.sc-alert-type-badge.expiring_offer{background:#fee2e2;color:#dc2626}.sc-alert-content{flex:1}.sc-alert-title{font-weight:700;color:#1e293b;font-size:.95rem;margin-bottom:.25rem}.sc-alert-message{font-size:.9rem;color:#64748b;line-height:1.5}.sc-alert-savings{font-weight:700;color:#10b981;font-size:.9rem;margin-top:.25rem}.sc-alert-actions{display:flex;gap:.5rem;flex-shrink:0}.sc-alert-btn{padding:.4rem .75rem;border:1px solid #e2e8f0;background:#fff;border-radius:8px;font-size:.8rem;font-weight:500;color:#64748b;cursor:pointer;transition:all .2s}.sc-alert-btn:hover{border-color:#6366f1;color:#6366f1}.sc-history-controls{display:flex;gap:1rem;align-items:center;margin-bottom:2rem;flex-wrap:wrap}.sc-input{padding:.75rem 1rem;border:2px solid #e2e8f0;border-radius:12px;font-size:.95rem;color:#1e293b;transition:border-color .3s}.sc-input:focus{outline:none;border-color:#6366f1;box-shadow:0 0 0 3px #6366f11a}.sc-history-bars{display:flex;flex-direction:column;gap:.75rem;margin-bottom:2rem}.sc-history-bar-row{display:flex;align-items:center;gap:1rem}.sc-history-bar-label{width:160px;font-size:.85rem;font-weight:600;color:#1e293b;flex-shrink:0;text-align:right}.sc-history-bar-track{flex:1;height:32px;background:#f1f5f9;border-radius:8px;overflow:hidden;position:relative}.sc-history-bar-fill{height:100%;border-radius:8px;display:flex;align-items:center;justify-content:flex-end;padding-right:.75rem;font-size:.8rem;font-weight:700;color:#fff;transition:width .6s ease;min-width:60px}.sc-history-bar-fill.bar-indigo{background:linear-gradient(90deg,#6366f1,#818cf8)}.sc-history-bar-fill.bar-cyan{background:linear-gradient(90deg,#06b6d4,#22d3ee)}.sc-history-bar-fill.bar-green{background:linear-gradient(90deg,#10b981,#34d399)}.sc-history-bar-fill.bar-amber{background:linear-gradient(90deg,#f59e0b,#fbbf24)}.sc-history-bar-fill.bar-pink{background:linear-gradient(90deg,#ec4899,#f472b6)}.sc-variation-positive{color:#16a34a;font-weight:600}.sc-variation-negative{color:#dc2626;font-weight:600}.sc-modal-overlay{position:fixed;inset:0;background:#00000080;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:1000;padding:1rem}.sc-modal{background:#fff;border-radius:24px;width:100%;max-width:560px;max-height:90vh;overflow-y:auto;animation:scModalSlideIn .3s ease}.sc-modal-header{padding:1.5rem 2rem;background:linear-gradient(135deg,#6366f1,#8b5cf6);border-radius:24px 24px 0 0;display:flex;justify-content:space-between;align-items:center}.sc-modal-title{font-size:1.2rem;font-weight:700;color:#fff}.sc-modal-close{background:#fff3;border:none;color:#fff;width:36px;height:36px;border-radius:10px;font-size:1.2rem;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .3s}.sc-modal-close:hover{background:#ffffff4d}.sc-modal-body{padding:2rem}.sc-form-group{margin-bottom:1.25rem}.sc-form-label{display:block;font-size:.85rem;font-weight:600;color:#475569;margin-bottom:.5rem}.sc-form-input{width:100%;padding:.75rem 1rem;border:2px solid #e2e8f0;border-radius:12px;font-size:.95rem;color:#1e293b;transition:border-color .3s;box-sizing:border-box}.sc-form-input:focus{outline:none;border-color:#6366f1;box-shadow:0 0 0 3px #6366f11a}.sc-form-textarea{width:100%;padding:.75rem 1rem;border:2px solid #e2e8f0;border-radius:12px;font-size:.95rem;color:#1e293b;transition:border-color .3s;resize:vertical;min-height:80px;box-sizing:border-box;font-family:inherit}.sc-form-textarea:focus{outline:none;border-color:#6366f1;box-shadow:0 0 0 3px #6366f11a}.sc-form-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.sc-slider-container{display:flex;align-items:center;gap:1rem}.sc-slider{flex:1;accent-color:#6366f1;height:6px}.sc-slider-value{min-width:50px;font-weight:700;color:#6366f1;font-size:1.1rem;text-align:center}.sc-modal-footer{padding:1rem 2rem 1.5rem;display:flex;justify-content:flex-end;gap:.75rem}.sc-form-checkbox{display:flex;align-items:center;gap:.5rem;cursor:pointer}.sc-form-checkbox input[type=checkbox]{accent-color:#6366f1;width:18px;height:18px}.sc-actions{display:flex;gap:.5rem}.sc-action-btn{padding:.4rem .6rem;border:1px solid #e2e8f0;background:#fff;border-radius:8px;cursor:pointer;transition:all .2s;font-size:.85rem}.sc-action-btn:hover{border-color:#6366f1;color:#6366f1}.sc-action-btn.delete:hover{border-color:#ef4444;color:#ef4444}.sc-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:3rem;gap:1rem}.sc-spinner{width:40px;height:40px;border:4px solid #e2e8f0;border-top-color:#6366f1;border-radius:50%;animation:scSpin .8s linear infinite}.sc-empty{text-align:center;padding:3rem;color:#64748b}.sc-empty-icon{font-size:3rem;margin-bottom:1rem;opacity:.5}.sc-empty-text{font-size:1.1rem;font-weight:600;color:#475569;margin-bottom:.5rem}.sc-empty-sub{font-size:.9rem;color:#94a3b8}@media(max-width:1200px){.sc-overview{grid-template-columns:repeat(2,1fr)}.sc-bulk-grid{grid-template-columns:1fr}}@media(max-width:992px){.sc-header{flex-direction:column}.sc-header-actions{width:100%}.sc-tabs{width:100%;overflow-x:auto}.sc-compare-controls{flex-direction:column;align-items:stretch}.sc-form-row{grid-template-columns:1fr}}@media(max-width:768px){.sc-overview{grid-template-columns:1fr}.sc-header-content h1{font-size:1.5rem}.sc-content{padding:1.25rem}.sc-table{font-size:.85rem}.sc-table thead th,.sc-table tbody td{padding:.75rem}.sc-alert-card{flex-direction:column}.sc-alert-actions{align-self:flex-end}.sc-history-bar-row{flex-direction:column;align-items:stretch}.sc-history-bar-label{width:auto;text-align:left}.sc-modal{max-width:100%;border-radius:16px}.sc-modal-header{border-radius:16px 16px 0 0}}@keyframes labFadeIn{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@keyframes labPulse{0%,to{opacity:1}50%{opacity:.6}}.lab-page{animation:labFadeIn .5s ease;padding:0}.lab-header{background:linear-gradient(135deg,#1e3a5f,#0891b2);border-radius:20px;padding:2rem 2.5rem;margin-bottom:1.5rem;position:relative;overflow:hidden}.lab-header:before{content:"";position:absolute;top:-50%;right:-10%;width:300px;height:300px;background:radial-gradient(circle,rgba(255,255,255,.08) 0%,transparent 70%);border-radius:50%}.lab-header-content{display:flex;align-items:center;justify-content:space-between;position:relative;z-index:1}.lab-header-left{display:flex;align-items:center;gap:1.25rem}.lab-header-icon{width:56px;height:56px;background:#ffffff26;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:16px;display:flex;align-items:center;justify-content:center}.lab-header-text h1{color:#fff;font-size:1.6rem;font-weight:700;margin:0;letter-spacing:-.02em}.lab-header-text p{color:#ffffffb3;font-size:.875rem;margin:.25rem 0 0}.lab-btn-primary{display:flex;align-items:center;gap:.5rem;padding:.75rem 1.5rem;background:#ffffff26;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.25);border-radius:12px;color:#fff;font-size:.875rem;font-weight:600;cursor:pointer;transition:all .2s ease}.lab-btn-primary:hover{background:#ffffff40;transform:translateY(-1px)}.lab-stats-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem;margin-bottom:1.5rem}.lab-stat-card{background:#fff;border-radius:16px;padding:1.25rem;display:flex;align-items:center;gap:1rem;box-shadow:0 1px 3px #0000000f;border:1px solid #f1f5f9;position:relative;overflow:hidden;animation:labFadeIn .5s ease}.lab-stat-card:nth-child(1){animation-delay:.05s}.lab-stat-card:nth-child(2){animation-delay:.1s}.lab-stat-card:nth-child(3){animation-delay:.15s}.lab-stat-card:nth-child(4){animation-delay:.2s}.lab-stat-card:before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;border-radius:0 4px 4px 0}.lab-stat-card.stat-orders:before{background:linear-gradient(180deg,#6366f1,#8b5cf6)}.lab-stat-card.stat-deliveries:before{background:linear-gradient(180deg,#d97706,#f59e0b)}.lab-stat-card.stat-claims:before{background:linear-gradient(180deg,#dc2626,#ef4444)}.lab-stat-card.stat-billing:before{background:linear-gradient(180deg,#059669,#10b981)}.lab-stat-icon{width:44px;height:44px;border-radius:12px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.stat-orders .lab-stat-icon{background:#eef2ff}.stat-deliveries .lab-stat-icon{background:#fffbeb}.stat-claims .lab-stat-icon{background:#fef2f2}.stat-billing .lab-stat-icon{background:#ecfdf5}.lab-stat-content{flex:1;min-width:0}.lab-stat-value{font-size:1.5rem;font-weight:700;color:#1e293b;line-height:1}.lab-stat-label{font-size:.75rem;color:#64748b;margin-top:.25rem;font-weight:500}.lab-tabs{display:flex;gap:.5rem;margin-bottom:1.5rem;background:#f1f5f9;padding:.35rem;border-radius:14px;width:fit-content}.lab-tab{padding:.6rem 1.25rem;border:none;border-radius:10px;font-size:.85rem;font-weight:500;color:#64748b;background:transparent;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;gap:.5rem}.lab-tab:hover{color:#1e293b;background:#ffffff80}.lab-tab.active{background:linear-gradient(135deg,#1e3a5f,#0891b2);color:#fff;box-shadow:0 2px 8px #1e3a5f4d}.lab-tab-badge{font-size:.7rem;background:#fff3;padding:.1rem .45rem;border-radius:8px;font-weight:600}.lab-tab.active .lab-tab-badge{background:#ffffff40}.lab-filters{display:flex;align-items:center;gap:.75rem;margin-bottom:1.25rem;flex-wrap:wrap}.lab-search{position:relative;flex:1;min-width:240px;max-width:400px}.lab-search-icon{position:absolute;left:.875rem;top:50%;transform:translateY(-50%);color:#94a3b8;width:16px;height:16px}.lab-search input{width:100%;padding:.65rem .875rem .65rem 2.5rem;border:1px solid #e2e8f0;border-radius:10px;font-size:.85rem;color:#1e293b;background:#fff;transition:all .2s ease;outline:none}.lab-search input:focus{border-color:#0891b2;box-shadow:0 0 0 3px #0891b21a}.lab-search input::placeholder{color:#94a3b8}.lab-filter-select{padding:.65rem 2rem .65rem .875rem;border:1px solid #e2e8f0;border-radius:10px;font-size:.85rem;color:#1e293b;background:#fff;cursor:pointer;outline:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%2394a3b8' stroke-width='2.5'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right .75rem center;transition:all .2s ease}.lab-filter-select:focus{border-color:#0891b2;box-shadow:0 0 0 3px #0891b21a}.lab-table-container{background:#fff;border-radius:16px;border:1px solid #f1f5f9;box-shadow:0 1px 3px #0000000f;overflow:hidden;animation:labFadeIn .5s ease .1s both}.lab-table{width:100%;border-collapse:collapse}.lab-table thead{background:#f8fafc;border-bottom:1px solid #e2e8f0}.lab-table th{padding:.875rem 1rem;text-align:left;font-size:.75rem;font-weight:600;color:#64748b;text-transform:uppercase;letter-spacing:.05em;white-space:nowrap}.lab-table td{padding:.875rem 1rem;font-size:.85rem;color:#334155;border-bottom:1px solid #f1f5f9;vertical-align:middle}.lab-table tbody tr{transition:background .15s ease}.lab-table tbody tr:hover{background:#f8fafc}.lab-table tbody tr:last-child td{border-bottom:none}.lab-cell-main{display:flex;flex-direction:column;gap:.15rem}.lab-cell-primary{font-weight:600;color:#1e293b;font-size:.85rem}.lab-cell-secondary{font-size:.7rem;color:#94a3b8}.lab-cell-mono{font-family:SF Mono,Fira Code,monospace;font-size:.75rem;color:#0891b2}.lab-dates-cell{display:flex;flex-direction:column;gap:.15rem;font-size:.8rem}.lab-date-row{display:flex;align-items:center;gap:.35rem;color:#64748b}.lab-date-label{font-size:.65rem;color:#94a3b8;text-transform:uppercase;font-weight:600;width:40px}.lab-status-badge{display:inline-flex;align-items:center;gap:.35rem;padding:.3rem .75rem;border-radius:20px;font-size:.75rem;font-weight:600;white-space:nowrap}.lab-status-dot{width:6px;height:6px;border-radius:50%;background:currentColor}.lab-status-badge.pending{background:#f1f5f9;color:#64748b}.lab-status-badge.in-progress{background:#dbeafe;color:#2563eb}.lab-status-badge.quality-check{background:#fef3c7;color:#d97706}.lab-status-badge.ready{background:#d1fae5;color:#059669}.lab-status-badge.delivered{background:#ecfdf5;color:#10b981}.lab-status-badge.returned{background:#fef2f2;color:#dc2626}.lab-status-badge.cancelled{background:#f1f5f9;color:#94a3b8}.lab-status-badge.in-transit{background:#e0e7ff;color:#4f46e5;animation:labPulse 2s ease infinite}.lab-status-badge.received{background:#dbeafe;color:#2563eb}.lab-status-badge.quality-ok{background:#d1fae5;color:#059669}.lab-status-badge.quality-fail{background:#fef2f2;color:#dc2626}.lab-status-badge.open{background:#fef2f2;color:#dc2626;animation:labPulse 2s ease infinite}.lab-status-badge.in-review{background:#fef3c7;color:#d97706}.lab-status-badge.accepted{background:#dbeafe;color:#2563eb}.lab-status-badge.rejected{background:#f1f5f9;color:#64748b}.lab-status-badge.resolved{background:#d1fae5;color:#059669}.lab-status-badge.verified{background:#dbeafe;color:#2563eb}.lab-status-badge.paid{background:#d1fae5;color:#059669}.lab-status-badge.overdue{background:#fef2f2;color:#dc2626;animation:labPulse 2s ease infinite}.lab-status-badge.disputed{background:#fef3c7;color:#d97706}.lab-priority-badge{display:inline-flex;align-items:center;gap:.25rem;padding:.2rem .6rem;border-radius:6px;font-size:.7rem;font-weight:600;text-transform:uppercase;letter-spacing:.03em}.lab-priority-badge.normal{background:#f1f5f9;color:#64748b}.lab-priority-badge.urgent{background:#fef3c7;color:#d97706}.lab-priority-badge.express{background:#fef2f2;color:#dc2626}.lab-actions-cell{display:flex;gap:.5rem}.lab-action-btn{padding:.4rem .75rem;border:1px solid #e2e8f0;border-radius:8px;font-size:.75rem;font-weight:500;color:#475569;background:#fff;cursor:pointer;transition:all .2s ease;display:inline-flex;align-items:center;gap:.35rem}.lab-action-btn:hover{border-color:#0891b2;color:#0891b2;background:#f0fdfa}.lab-claims-list{display:flex;flex-direction:column;gap:1rem;animation:labFadeIn .5s ease .1s both}.lab-claim-card{background:#fff;border-radius:16px;border:1px solid #f1f5f9;box-shadow:0 1px 3px #0000000f;padding:1.25rem 1.5rem;transition:all .2s ease}.lab-claim-card:hover{box-shadow:0 4px 12px #00000014}.lab-claim-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:.75rem}.lab-claim-header-left{display:flex;flex-direction:column;gap:.25rem}.lab-claim-patient{font-weight:600;color:#1e293b;font-size:.9rem}.lab-claim-order-info{font-size:.75rem;color:#64748b}.lab-claim-body{margin-bottom:.75rem}.lab-claim-reason{font-size:.8rem;font-weight:600;color:#475569;margin-bottom:.35rem}.lab-claim-description{font-size:.85rem;color:#475569;line-height:1.5;margin:0}.lab-claim-resolution{margin-top:.75rem;padding:.75rem 1rem;background:#f0fdf4;border-radius:10px;border-left:3px solid #059669}.lab-claim-resolution-label{font-size:.7rem;font-weight:600;color:#059669;text-transform:uppercase;letter-spacing:.05em;margin-bottom:.25rem}.lab-claim-resolution-text{font-size:.8rem;color:#334155;line-height:1.5;margin:0}.lab-claim-credit{margin-top:.5rem;font-size:.75rem;font-weight:600;color:#059669}.lab-claim-footer{display:flex;align-items:center;justify-content:space-between;padding-top:.75rem;border-top:1px solid #f1f5f9}.lab-claim-date{font-size:.75rem;color:#94a3b8}.lab-materials-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:1rem;animation:labFadeIn .5s ease .1s both}.lab-material-card{background:#fff;border-radius:16px;border:1px solid #f1f5f9;box-shadow:0 1px 3px #0000000f;padding:1.25rem;transition:all .2s ease}.lab-material-card:hover{box-shadow:0 4px 12px #00000014}.lab-material-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:.75rem}.lab-material-type{display:inline-flex;padding:.25rem .65rem;border-radius:8px;font-size:.75rem;font-weight:600;background:#eef2ff;color:#6366f1;text-transform:capitalize}.lab-material-ce{display:inline-flex;align-items:center;gap:.25rem;padding:.2rem .5rem;border-radius:6px;font-size:.65rem;font-weight:700;background:#d1fae5;color:#059669;text-transform:uppercase}.lab-material-body{display:flex;flex-direction:column;gap:.5rem}.lab-material-row{display:flex;justify-content:space-between;align-items:center}.lab-material-label{font-size:.75rem;color:#94a3b8;font-weight:500}.lab-material-value{font-size:.8rem;color:#1e293b;font-weight:500;text-align:right}.lab-material-lot{font-family:SF Mono,Fira Code,monospace;font-size:.75rem;color:#0891b2}.lab-material-footer{margin-top:.75rem;padding-top:.75rem;border-top:1px solid #f1f5f9;display:flex;justify-content:space-between;align-items:center}.lab-material-order{font-size:.7rem;color:#94a3b8}.lab-material-patient{font-size:.75rem;color:#475569;font-weight:500}.lab-amount{font-weight:600;color:#1e293b;font-family:SF Mono,Fira Code,monospace;font-size:.85rem}.lab-amount-detail{display:flex;flex-direction:column;gap:.1rem}.lab-amount-sub{font-size:.7rem;color:#94a3b8}.lab-modal-overlay{position:fixed;inset:0;background:#0f172a99;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:1000;animation:labFadeIn .2s ease;padding:1rem}.lab-modal{background:#fff;border-radius:20px;box-shadow:0 25px 50px #00000026;width:100%;max-width:560px;max-height:90vh;overflow-y:auto;animation:labFadeIn .3s ease}.lab-modal.wide{max-width:700px}.lab-modal-header{padding:1.5rem 1.5rem 0;display:flex;align-items:center;justify-content:space-between}.lab-modal-header-left{display:flex;align-items:center;gap:.75rem}.lab-modal-icon{width:42px;height:42px;border-radius:12px;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#1e3a5f,#0891b2)}.lab-modal-title{font-size:1.15rem;font-weight:700;color:#1e293b;margin:0}.lab-modal-close{width:32px;height:32px;border:none;background:#f1f5f9;border-radius:8px;color:#64748b;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s ease;font-size:1.1rem}.lab-modal-close:hover{background:#e2e8f0;color:#1e293b}.lab-modal-body{padding:1.5rem}.lab-modal-footer{padding:0 1.5rem 1.5rem;display:flex;gap:.75rem;justify-content:flex-end}.lab-form-group{margin-bottom:1rem}.lab-form-label{display:block;font-size:.8rem;font-weight:600;color:#475569;margin-bottom:.4rem}.lab-form-input,.lab-form-select,.lab-form-textarea{width:100%;padding:.65rem .875rem;border:1px solid #e2e8f0;border-radius:10px;font-size:.85rem;color:#1e293b;background:#fff;transition:all .2s ease;outline:none;font-family:inherit}.lab-form-input:focus,.lab-form-select:focus,.lab-form-textarea:focus{border-color:#0891b2;box-shadow:0 0 0 3px #0891b21a}.lab-form-textarea{min-height:80px;resize:vertical}.lab-form-row{display:grid;grid-template-columns:1fr 1fr;gap:.75rem}.lab-form-row-3{display:grid;grid-template-columns:1fr 1fr 1fr;gap:.75rem}.lab-btn-cancel{padding:.65rem 1.25rem;border:1px solid #e2e8f0;border-radius:10px;font-size:.85rem;font-weight:500;color:#64748b;background:#fff;cursor:pointer;transition:all .2s ease}.lab-btn-cancel:hover{background:#f8fafc;border-color:#cbd5e1}.lab-btn-confirm{padding:.65rem 1.25rem;border:none;border-radius:10px;font-size:.85rem;font-weight:600;color:#fff;background:linear-gradient(135deg,#1e3a5f,#0891b2);cursor:pointer;transition:all .2s ease}.lab-btn-confirm:hover{box-shadow:0 4px 12px #0891b24d;transform:translateY(-1px)}.lab-detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin-bottom:1rem}.lab-detail-field{display:flex;flex-direction:column;gap:.15rem}.lab-detail-label{font-size:.7rem;font-weight:600;color:#94a3b8;text-transform:uppercase;letter-spacing:.05em}.lab-detail-value{font-size:.9rem;color:#1e293b;font-weight:500}.lab-detail-section{margin-top:1rem;padding:1rem;background:#f8fafc;border-radius:10px;border:1px solid #f1f5f9}.lab-detail-section-title{font-size:.75rem;font-weight:600;color:#64748b;text-transform:uppercase;letter-spacing:.05em;margin-bottom:.5rem}.lab-detail-section p{font-size:.85rem;color:#475569;line-height:1.5;margin:0}.lab-empty{text-align:center;padding:3rem 1.5rem;color:#94a3b8}.lab-empty-icon{margin-bottom:.75rem}.lab-empty-title{font-size:1rem;font-weight:600;color:#64748b;margin-bottom:.25rem}.lab-empty-text{font-size:.85rem}@media(max-width:1024px){.lab-stats-grid{grid-template-columns:repeat(2,1fr)}.lab-table-container{overflow-x:auto}.lab-table{min-width:800px}.lab-materials-grid{grid-template-columns:1fr}}@media(max-width:768px){.lab-header{padding:1.5rem;border-radius:16px}.lab-header-content{flex-direction:column;align-items:flex-start;gap:1rem}.lab-btn-primary{width:100%;justify-content:center}.lab-tabs{width:100%;overflow-x:auto}.lab-filters{flex-direction:column;align-items:stretch}.lab-search{max-width:100%}.lab-form-row,.lab-form-row-3,.lab-detail-grid{grid-template-columns:1fr}.lab-claim-header{flex-direction:column;align-items:flex-start;gap:.5rem}}@media(max-width:480px){.lab-stats-grid{grid-template-columns:1fr}.lab-header-text h1{font-size:1.25rem}}.audit-page{display:flex;flex-direction:column;gap:2rem;animation:auditFadeInUp .5s ease}@keyframes auditFadeInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.audit-header{display:flex;justify-content:space-between;align-items:flex-start;flex-wrap:wrap;gap:1.5rem}.audit-header-content h1{font-size:2rem;font-weight:700;background:linear-gradient(135deg,#1e3a5f,#0891b2);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;margin-bottom:.5rem}.audit-header-content p{color:#64748b;font-size:1rem}.audit-header-actions{display:flex;gap:.75rem}.aud-btn-premium{display:flex;align-items:center;gap:.5rem;padding:.75rem 1.5rem;background:linear-gradient(135deg,#0891b2,#0e7490,#155e75);color:#fff;border:none;border-radius:12px;font-size:.9rem;font-weight:600;cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1);box-shadow:0 4px 15px #0891b24d;position:relative;overflow:hidden}.aud-btn-premium:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.2),transparent);transition:left .5s}.aud-btn-premium:hover:before{left:100%}.aud-btn-premium:hover{transform:translateY(-2px);box-shadow:0 8px 25px #0891b266}.aud-btn-outline{display:flex;align-items:center;gap:.5rem;padding:.75rem 1.25rem;background:#fff;color:#0891b2;border:2px solid #0891b2;border-radius:12px;font-size:.9rem;font-weight:600;cursor:pointer;transition:all .3s ease}.aud-btn-outline:hover{background:#0891b2;color:#fff;transform:translateY(-2px)}.audit-overview{display:grid;grid-template-columns:repeat(4,1fr);gap:1.5rem}.aud-stat-card{background:#fff;border-radius:20px;padding:1.75rem;position:relative;overflow:hidden;transition:all .4s cubic-bezier(.4,0,.2,1);box-shadow:0 4px 20px #0000000d;border:1px solid rgba(0,0,0,.05)}.aud-stat-card:before{content:"";position:absolute;top:0;left:0;right:0;height:4px;background:linear-gradient(90deg,var(--aud-card-accent),var(--aud-card-accent-light))}.aud-stat-card:hover{transform:translateY(-5px);box-shadow:0 20px 40px #0000001a}.aud-stat-card.total-actions{--aud-card-accent: #0891b2;--aud-card-accent-light: #22d3ee}.aud-stat-card.today-actions{--aud-card-accent: #6366f1;--aud-card-accent-light: #818cf8}.aud-stat-card.unique-users{--aud-card-accent: #10b981;--aud-card-accent-light: #34d399}.aud-stat-card.critical-actions{--aud-card-accent: #ef4444;--aud-card-accent-light: #f87171}.aud-stat-card-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:1rem}.aud-stat-card-icon{width:52px;height:52px;border-radius:14px;display:flex;align-items:center;justify-content:center;font-size:1.5rem;background:linear-gradient(135deg,var(--aud-card-accent) 0%,var(--aud-card-accent-light) 100%);box-shadow:0 4px 15px #00000026}.aud-stat-card-badge{display:flex;align-items:center;gap:.25rem;padding:.35rem .75rem;border-radius:20px;font-size:.75rem;font-weight:600;background:#f3f4f6;color:#6b7280}.aud-stat-card-body h3{font-size:2rem;font-weight:700;color:#1e293b;margin-bottom:.25rem;letter-spacing:-.02em}.aud-stat-card-body p{color:#64748b;font-size:.9rem;font-weight:500}.aud-stat-card-footer{display:flex;align-items:center;gap:.5rem;margin-top:1rem;padding-top:1rem;border-top:1px solid #f1f5f9;font-size:.8rem;color:#94a3b8}.audit-quick-info{display:flex;gap:1rem;padding:1rem 1.5rem;background:linear-gradient(135deg,#1e3a5f,#0f2744);border-radius:16px;color:#fff}.aud-quick-item{flex:1;display:flex;align-items:center;gap:1rem;padding:.75rem 1rem;background:#ffffff1a;border-radius:12px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);transition:all .3s ease}.aud-quick-item:hover{background:#ffffff26}.aud-quick-item-icon{width:40px;height:40px;background:#fff3;border-radius:10px;display:flex;align-items:center;justify-content:center;font-size:1.2rem}.aud-quick-item-content h4{font-size:1.25rem;font-weight:700;margin-bottom:.125rem}.aud-quick-item-content span{font-size:.8rem;opacity:.8}.audit-content-grid{display:grid;grid-template-columns:2fr 1fr;gap:1.5rem}.audit-table-card{background:#fff;border-radius:20px;box-shadow:0 4px 20px #0000000d;overflow:hidden;border:1px solid rgba(0,0,0,.05)}.audit-table-header{display:flex;justify-content:space-between;align-items:center;padding:1.5rem 1.75rem;border-bottom:1px solid #f1f5f9;flex-wrap:wrap;gap:1rem}.audit-table-title{display:flex;align-items:center;gap:.75rem}.audit-table-title h2{font-size:1.25rem;font-weight:600;color:#1e293b;margin:0}.aud-count-badge{background:linear-gradient(135deg,#0891b2,#0e7490);color:#fff;padding:.25rem .75rem;border-radius:20px;font-size:.75rem;font-weight:600}.aud-filter-row{display:flex;gap:.75rem;padding:1rem 1.75rem;border-bottom:1px solid #f1f5f9;flex-wrap:wrap;align-items:center}.aud-filter-group{display:flex;align-items:center;gap:.5rem}.aud-filter-group label{font-size:.8rem;font-weight:600;color:#64748b;white-space:nowrap}.aud-filter-select{padding:.5rem .75rem;border:2px solid #e2e8f0;border-radius:10px;font-size:.8rem;background:#f8fafc;cursor:pointer;transition:all .3s ease;color:#334155}.aud-filter-select:focus{outline:none;border-color:#0891b2;background:#fff}.aud-filter-date{padding:.5rem .75rem;border:2px solid #e2e8f0;border-radius:10px;font-size:.8rem;background:#f8fafc;transition:all .3s ease;color:#334155}.aud-filter-date:focus{outline:none;border-color:#0891b2;background:#fff}.aud-filter-clear{padding:.5rem 1rem;border:none;border-radius:10px;font-size:.8rem;font-weight:600;background:#fee2e2;color:#dc2626;cursor:pointer;transition:all .3s ease;margin-left:auto}.aud-filter-clear:hover{background:#fecaca}.aud-search-bar{position:relative;max-width:280px}.aud-search-bar input{width:100%;padding:.7rem 1rem .7rem 2.75rem;background:#f8fafc;border:2px solid transparent;border-radius:12px;font-size:.875rem;transition:all .3s ease}.aud-search-bar input:focus{outline:none;background:#fff;border-color:#0891b2;box-shadow:0 0 0 4px #0891b21a}.aud-search-bar .aud-search-icon{position:absolute;left:1rem;top:50%;transform:translateY(-50%);color:#94a3b8;font-size:1rem}.aud-premium-table{width:100%;border-collapse:separate;border-spacing:0}.aud-premium-table thead{background:linear-gradient(180deg,#f8fafc,#f1f5f9)}.aud-premium-table th{padding:1rem 1.25rem;text-align:left;font-size:.75rem;font-weight:700;color:#475569;text-transform:uppercase;letter-spacing:.08em;border-bottom:2px solid #e2e8f0}.aud-premium-table td{padding:1rem 1.25rem;font-size:.9rem;color:#334155;border-bottom:1px solid #f1f5f9;transition:all .2s ease}.aud-premium-table tbody tr{transition:all .3s ease;cursor:pointer}.aud-premium-table tbody tr:hover{background:linear-gradient(90deg,rgba(8,145,178,.03) 0%,transparent 100%)}.aud-premium-table tbody tr:hover td{color:#1e293b}.aud-user-cell{display:flex;align-items:center;gap:.75rem}.aud-user-avatar{width:36px;height:36px;border-radius:10px;display:flex;align-items:center;justify-content:center;font-size:.75rem;font-weight:700;color:#fff;flex-shrink:0}.aud-user-avatar.admin{background:linear-gradient(135deg,#6366f1,#818cf8)}.aud-user-avatar.dentist{background:linear-gradient(135deg,#0891b2,#22d3ee)}.aud-user-avatar.receptionist{background:linear-gradient(135deg,#10b981,#34d399)}.aud-user-info strong{display:block;font-weight:700;color:#1e293b;font-size:.85rem}.aud-user-info span{font-size:.7rem;color:#94a3b8;text-transform:capitalize}.aud-action-badge{display:inline-flex;align-items:center;gap:.4rem;padding:.35rem .75rem;border-radius:8px;font-size:.8rem;font-weight:600}.aud-action-badge.create{background:#dcfce7;color:#15803d}.aud-action-badge.update{background:#dbeafe;color:#1d4ed8}.aud-action-badge.delete{background:#fee2e2;color:#b91c1c}.aud-action-badge.view{background:#f3f4f6;color:#6b7280}.aud-action-badge.export{background:#fef3c7;color:#b45309}.aud-action-badge.login{background:#ecfdf5;color:#059669}.aud-action-badge.logout{background:#f1f5f9;color:#475569}.aud-entity-badge{display:inline-flex;align-items:center;gap:.3rem;padding:.3rem .65rem;border-radius:8px;font-size:.75rem;font-weight:600;background:#f8fafc;color:#475569;border:1px solid #e2e8f0}.aud-severity{display:inline-flex;align-items:center;gap:.4rem;font-size:.8rem;font-weight:600}.aud-severity-dot{width:8px;height:8px;border-radius:50%}.aud-severity.info .aud-severity-dot{background:#0891b2}.aud-severity.warning .aud-severity-dot{background:#f59e0b;animation:auditPulse 2s infinite}.aud-severity.critical .aud-severity-dot{background:#ef4444;animation:auditPulse 1s infinite}.aud-severity.info{color:#0891b2}.aud-severity.warning{color:#d97706}.aud-severity.critical{color:#dc2626}@keyframes auditPulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.5;transform:scale(.8)}}.aud-description-cell{max-width:280px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.85rem}.aud-timestamp-cell{white-space:nowrap;font-size:.8rem;color:#64748b}.aud-timestamp-cell strong{display:block;color:#1e293b;font-size:.85rem}.aud-table-pagination{display:flex;align-items:center;justify-content:space-between;padding:1.25rem 1.5rem;border-top:1px solid #f1f5f9}.aud-pagination-info{font-size:.875rem;color:#64748b}.aud-pagination-controls{display:flex;align-items:center;gap:.5rem}.aud-page-btn{width:36px;height:36px;border:1px solid #e2e8f0;background:#fff;border-radius:8px;color:#64748b;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s ease;font-size:.875rem}.aud-page-btn:hover:not(:disabled){border-color:#0891b2;color:#0891b2}.aud-page-btn.active{background:#0891b2;border-color:#0891b2;color:#fff}.aud-page-btn:disabled{opacity:.5;cursor:not-allowed}.aud-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:4rem 2rem;gap:1rem}.aud-loading-spinner{width:48px;height:48px;border:4px solid #e2e8f0;border-top-color:#0891b2;border-radius:50%;animation:auditSpin 1s linear infinite}@keyframes auditSpin{to{transform:rotate(360deg)}}.aud-empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:4rem 2rem;text-align:center}.aud-empty-state-icon{width:80px;height:80px;background:linear-gradient(135deg,#f8fafc,#e2e8f0);border-radius:20px;display:flex;align-items:center;justify-content:center;font-size:2.5rem;margin-bottom:1.5rem}.aud-empty-state h3{font-size:1.25rem;font-weight:600;color:#1e293b;margin-bottom:.5rem}.aud-empty-state p{color:#64748b}.audit-sidebar{display:flex;flex-direction:column;gap:1.5rem}.aud-entity-card{background:#fff;border-radius:20px;padding:1.5rem;box-shadow:0 4px 20px #0000000d;border:1px solid rgba(0,0,0,.05)}.aud-sidebar-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.25rem}.aud-sidebar-header h3{font-size:1rem;font-weight:600;color:#1e293b;margin:0}.aud-sidebar-header a{font-size:.8rem;color:#0891b2;text-decoration:none;font-weight:500;cursor:pointer}.aud-entity-list{display:flex;flex-direction:column;gap:.5rem}.aud-entity-item{display:flex;align-items:center;justify-content:space-between;padding:.75rem;background:#f8fafc;border-radius:12px;transition:all .3s ease}.aud-entity-item:hover{background:#f1f5f9;transform:translate(5px)}.aud-entity-item-info{display:flex;align-items:center;gap:.75rem}.aud-entity-item-icon{width:34px;height:34px;border-radius:8px;display:flex;align-items:center;justify-content:center;font-size:1rem;color:#fff}.aud-entity-item-details strong{display:block;font-size:.8rem;color:#1e293b}.aud-entity-item-details span{font-size:.7rem;color:#64748b}.aud-entity-item-count{font-weight:700;color:#1e293b;font-size:.85rem;font-family:SF Mono,Consolas,monospace}.aud-activity-card{background:#fff;border-radius:20px;padding:1.5rem;box-shadow:0 4px 20px #0000000d;border:1px solid rgba(0,0,0,.05)}.aud-activity-list{display:flex;flex-direction:column;gap:.75rem}.aud-activity-item{display:flex;align-items:center;gap:.75rem;padding:.75rem;background:#f8fafc;border-radius:12px;transition:all .3s ease}.aud-activity-item:hover{background:#f1f5f9}.aud-activity-avatar{width:38px;height:38px;border-radius:10px;display:flex;align-items:center;justify-content:center;font-size:.75rem;font-weight:700;color:#fff;flex-shrink:0}.aud-activity-avatar.admin{background:linear-gradient(135deg,#6366f1,#818cf8)}.aud-activity-avatar.dentist{background:linear-gradient(135deg,#0891b2,#22d3ee)}.aud-activity-avatar.receptionist{background:linear-gradient(135deg,#10b981,#34d399)}.aud-activity-info{flex:1;min-width:0}.aud-activity-info strong{display:block;font-size:.85rem;color:#1e293b}.aud-activity-info span{font-size:.7rem;color:#94a3b8}.aud-activity-count{text-align:right;flex-shrink:0}.aud-activity-count strong{display:block;font-size:1rem;font-weight:700;color:#1e293b;font-family:SF Mono,Consolas,monospace}.aud-activity-count span{font-size:.7rem;color:#94a3b8}.aud-modal-overlay{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.aud-modal{background:#fff;border-radius:24px;width:100%;max-width:640px;max-height:90vh;overflow:hidden;box-shadow:0 25px 80px #0000004d;animation:auditModalSlideIn .4s cubic-bezier(.4,0,.2,1)}@keyframes auditModalSlideIn{0%{opacity:0;transform:scale(.95) translateY(20px)}to{opacity:1;transform:scale(1) translateY(0)}}.aud-modal-header{display:flex;align-items:center;justify-content:space-between;padding:1.5rem 2rem;background:linear-gradient(135deg,#1e3a5f,#0e7490);color:#fff}.aud-modal-header h2{font-size:1.25rem;font-weight:600;margin:0;display:flex;align-items:center;gap:.75rem}.aud-modal-close{width:36px;height:36px;background:#ffffff26;border:none;border-radius:10px;color:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:1.25rem;transition:all .2s ease}.aud-modal-close:hover{background:#ffffff40}.aud-modal-body{padding:2rem;overflow-y:auto;max-height:65vh}.aud-detail-section{margin-bottom:1.5rem}.aud-detail-section:last-child{margin-bottom:0}.aud-detail-section h3{font-size:.85rem;font-weight:700;color:#64748b;text-transform:uppercase;letter-spacing:.06em;margin-bottom:.75rem}.aud-detail-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:.75rem}.aud-detail-field{background:#f8fafc;border-radius:12px;padding:.875rem 1rem}.aud-detail-field label{display:block;font-size:.7rem;font-weight:600;color:#94a3b8;text-transform:uppercase;letter-spacing:.05em;margin-bottom:.25rem}.aud-detail-field span{font-size:.9rem;font-weight:600;color:#1e293b}.aud-detail-field.full-width{grid-column:1 / -1}.aud-changes-table{width:100%;border-collapse:separate;border-spacing:0;border-radius:12px;overflow:hidden;border:1px solid #e2e8f0}.aud-changes-table th{padding:.75rem 1rem;text-align:left;font-size:.7rem;font-weight:700;color:#475569;text-transform:uppercase;letter-spacing:.06em;background:#f8fafc;border-bottom:1px solid #e2e8f0}.aud-changes-table td{padding:.75rem 1rem;font-size:.85rem;color:#334155;border-bottom:1px solid #f1f5f9}.aud-changes-table tbody tr:last-child td{border-bottom:none}.aud-old-value{background:#fee2e2;color:#b91c1c;padding:.2rem .5rem;border-radius:4px;font-family:SF Mono,Consolas,monospace;font-size:.8rem;text-decoration:line-through}.aud-new-value{background:#dcfce7;color:#15803d;padding:.2rem .5rem;border-radius:4px;font-family:SF Mono,Consolas,monospace;font-size:.8rem}.aud-no-changes{text-align:center;padding:1.5rem;color:#94a3b8;font-style:italic;font-size:.85rem}@media(max-width:1200px){.audit-content-grid{grid-template-columns:1fr}.audit-sidebar{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem}}@media(max-width:992px){.audit-overview{grid-template-columns:repeat(2,1fr)}.audit-quick-info{flex-wrap:wrap}.aud-quick-item{flex:1 1 45%}}@media(max-width:768px){.audit-header{flex-direction:column;align-items:stretch}.audit-header-actions{justify-content:stretch}.audit-header-actions button{flex:1;justify-content:center}.audit-overview,.audit-sidebar{grid-template-columns:1fr}.audit-table-header,.aud-filter-row,.aud-filter-group{flex-direction:column;align-items:stretch}.aud-quick-item{flex:1 1 100%}.aud-detail-grid{grid-template-columns:1fr}}.import-page{min-height:100%;padding-bottom:2rem}.import-header{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:2rem;flex-wrap:wrap;gap:1.5rem}.import-header-left h1{font-size:2rem;font-weight:700;color:#0f172a;margin:0 0 .5rem;display:flex;align-items:center;gap:.75rem}.import-header-left h1:before{content:"";width:4px;height:28px;background:linear-gradient(180deg,#06b6d4,#0891b2);border-radius:4px}.import-header-left p{color:#64748b;font-size:.95rem;margin:0}.import-header-right{display:flex;gap:.75rem}.btn-template{display:flex;align-items:center;gap:.5rem;padding:.75rem 1.25rem;background:#fff;color:#475569;border:1px solid #e2e8f0;border-radius:12px;font-size:.875rem;font-weight:500;cursor:pointer;transition:all .2s ease}.btn-template:hover{border-color:#0891b2;color:#0891b2;background:#f0fdfa}.import-stepper{display:flex;align-items:center;justify-content:center;gap:0;margin-bottom:2rem;padding:1.5rem;background:#fff;border-radius:16px;box-shadow:0 1px 3px #0000000d;border:1px solid #f1f5f9;overflow-x:auto}.stepper-item{display:flex;align-items:center;gap:.75rem;cursor:default;flex-shrink:0}.stepper-circle{width:36px;height:36px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:.85rem;font-weight:700;border:2px solid #e2e8f0;background:#fff;color:#94a3b8;transition:all .3s ease;flex-shrink:0}.stepper-item.active .stepper-circle{background:linear-gradient(135deg,#0891b2,#0e7490);border-color:#0891b2;color:#fff;box-shadow:0 4px 14px #0891b24d}.stepper-item.completed .stepper-circle{background:linear-gradient(135deg,#10b981,#059669);border-color:#10b981;color:#fff}.stepper-label{font-size:.8rem;font-weight:500;color:#94a3b8;white-space:nowrap}.stepper-item.active .stepper-label{color:#0891b2;font-weight:600}.stepper-item.completed .stepper-label{color:#10b981}.stepper-connector{width:40px;height:2px;background:#e2e8f0;margin:0 .5rem;flex-shrink:0}.stepper-connector.completed{background:linear-gradient(90deg,#10b981,#0891b2)}.import-wizard-card{background:#fff;border-radius:16px;box-shadow:0 1px 3px #0000000d;border:1px solid #f1f5f9;overflow:hidden}.wizard-card-header{padding:1.5rem 2rem;background:linear-gradient(135deg,#f0fdfa,#ecfeff);border-bottom:1px solid #e2e8f0}.wizard-card-header h2{font-size:1.25rem;font-weight:700;color:#0f172a;margin:0 0 .25rem}.wizard-card-header p{font-size:.875rem;color:#64748b;margin:0}.wizard-card-body{padding:2rem}.wizard-card-footer{padding:1.25rem 2rem;background:#f8fafc;border-top:1px solid #e2e8f0;display:flex;justify-content:space-between;align-items:center}.import-dropzone{border:2px dashed #0891b2;border-radius:16px;padding:4rem 2rem;text-align:center;cursor:pointer;transition:all .3s ease;background:#f0fdfa}.import-dropzone:hover,.import-dropzone.dragover{background:#ecfeff;border-color:#06b6d4;transform:translateY(-2px);box-shadow:0 8px 25px #0891b226}.dropzone-icon{width:80px;height:80px;background:linear-gradient(135deg,#0891b2,#0e7490);border-radius:50%;display:flex;align-items:center;justify-content:center;margin:0 auto 1.5rem;color:#fff;box-shadow:0 8px 25px #0891b24d}.dropzone-text h3{font-size:1.25rem;font-weight:700;color:#0f172a;margin:0 0 .5rem}.dropzone-text p{color:#64748b;font-size:.9rem;margin:0 0 .25rem}.dropzone-formats{color:#94a3b8;font-size:.8rem;margin-top:.5rem}.import-preview-info{display:flex;align-items:center;justify-content:space-between;margin-bottom:1rem;flex-wrap:wrap;gap:1rem}.preview-count{display:flex;align-items:center;gap:.5rem;padding:.5rem 1rem;background:linear-gradient(135deg,#dbeafe,#bfdbfe);border-radius:10px;font-size:.875rem;font-weight:600;color:#1e40af}.skip-header-toggle{display:flex;align-items:center;gap:.75rem}.skip-header-toggle label{font-size:.875rem;color:#475569;cursor:pointer}.toggle-switch{position:relative;width:44px;height:24px;appearance:none;background:#cbd5e1;border-radius:12px;cursor:pointer;transition:all .3s ease;border:none;outline:none}.toggle-switch:checked{background:#0891b2}.toggle-switch:after{content:"";position:absolute;top:2px;left:2px;width:20px;height:20px;background:#fff;border-radius:50%;transition:all .3s ease;box-shadow:0 1px 3px #0003}.toggle-switch:checked:after{left:22px}.import-table-wrapper{overflow-x:auto;border-radius:12px;border:1px solid #e2e8f0}.import-table{width:100%;border-collapse:collapse;font-size:.85rem}.import-table th{background:#f1f5f9;padding:.75rem 1rem;text-align:left;font-weight:600;color:#475569;white-space:nowrap;border-bottom:2px solid #e2e8f0;position:sticky;top:0}.import-table td{padding:.625rem 1rem;border-bottom:1px solid #f1f5f9;color:#334155;white-space:nowrap;max-width:200px;overflow:hidden;text-overflow:ellipsis}.import-table tr:hover td{background:#f8fafc}.import-table .row-number{color:#94a3b8;font-size:.75rem;font-weight:500;width:40px}.mapping-section{margin-bottom:1.5rem}.mapping-section-title{font-size:.8rem;font-weight:600;color:#0891b2;text-transform:uppercase;letter-spacing:.5px;margin-bottom:1rem;padding-bottom:.5rem;border-bottom:1px solid #e2e8f0}.mapping-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(380px,1fr));gap:.75rem}.mapping-row{display:flex;align-items:center;gap:.75rem;padding:.75rem 1rem;background:#f8fafc;border-radius:10px;border:1px solid #e2e8f0;transition:all .2s ease}.mapping-row:hover{border-color:#0891b2;background:#f0fdfa}.mapping-source{flex:1;font-size:.875rem;font-weight:500;color:#334155;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mapping-arrow{color:#94a3b8;flex-shrink:0}.mapping-select{flex:1;padding:.5rem .75rem;border:2px solid #e2e8f0;border-radius:8px;font-size:.85rem;background:#fff;color:#334155;transition:all .2s ease;min-width:0}.mapping-select:focus{outline:none;border-color:#0891b2;box-shadow:0 0 0 3px #0891b21a}.mapping-select.mapped{border-color:#10b981;background:#f0fdf4}.mapping-required{color:#ef4444;font-weight:700;margin-left:.25rem}.mapping-unmapped-warning{display:flex;align-items:center;gap:.75rem;padding:1rem 1.25rem;background:linear-gradient(135deg,#fef3c7,#fde68a);border-radius:12px;margin-bottom:1.5rem;border:1px solid #f59e0b;font-size:.875rem;color:#92400e}.validation-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;margin-bottom:1.5rem}.validation-card{padding:1.25rem;border-radius:14px;text-align:center;border:1px solid #f1f5f9}.validation-card.valid{background:linear-gradient(135deg,#f0fdf4,#dcfce7);border-color:#bbf7d0}.validation-card.error{background:linear-gradient(135deg,#fef2f2,#fecaca);border-color:#fca5a5}.validation-card.duplicate{background:linear-gradient(135deg,#fffbeb,#fef3c7);border-color:#fde68a}.validation-card-number{font-size:2rem;font-weight:700;line-height:1.2}.validation-card.valid .validation-card-number{color:#16a34a}.validation-card.error .validation-card-number{color:#dc2626}.validation-card.duplicate .validation-card-number{color:#d97706}.validation-card-label{font-size:.8rem;color:#64748b;margin-top:.25rem}.validation-filters{display:flex;gap:.5rem;margin-bottom:1rem;flex-wrap:wrap;align-items:center;justify-content:space-between}.validation-filter-tabs{display:flex;background:#f1f5f9;border-radius:10px;padding:4px;gap:4px}.validation-filter-tab{padding:.5rem 1rem;border:none;background:transparent;border-radius:8px;font-size:.8rem;font-weight:500;color:#64748b;cursor:pointer;transition:all .2s ease}.validation-filter-tab:hover{color:#0891b2}.validation-filter-tab.active{background:#fff;color:#0891b2;box-shadow:0 1px 3px #0000001a}.duplicate-toggle{display:flex;align-items:center;gap:.75rem;font-size:.85rem;color:#475569}.validation-row{display:flex;align-items:flex-start;gap:1rem;padding:1rem;border-radius:10px;margin-bottom:.5rem;border-left:4px solid transparent;background:#f8fafc;transition:all .2s ease}.validation-row:hover{background:#fff;box-shadow:0 2px 8px #0000000d}.validation-row.valid{border-left-color:#22c55e}.validation-row.error{border-left-color:#ef4444}.validation-row.duplicate{border-left-color:#f59e0b}.validation-row-index{font-size:.75rem;font-weight:600;color:#94a3b8;min-width:40px;padding-top:2px}.validation-row-content{flex:1;min-width:0}.validation-row-name{font-weight:600;color:#0f172a;font-size:.9rem;margin-bottom:.25rem}.validation-row-details{font-size:.8rem;color:#64748b}.validation-row-status{flex-shrink:0}.status-badge{padding:.3rem .75rem;border-radius:20px;font-size:.7rem;font-weight:600;text-transform:uppercase;letter-spacing:.5px}.status-badge.valid{background:#d1fae5;color:#047857}.status-badge.error{background:#fee2e2;color:#dc2626}.status-badge.duplicate{background:#fef3c7;color:#92400e}.validation-errors-list{margin-top:.5rem;padding:.5rem .75rem;background:#fef2f2;border-radius:8px}.validation-error-item{font-size:.8rem;color:#dc2626;padding:.15rem 0}.validation-duplicate-info{margin-top:.5rem;padding:.5rem .75rem;background:#fffbeb;border-radius:8px;font-size:.8rem;color:#92400e}.review-summary{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem;margin-bottom:2rem}.review-stat{padding:1.5rem;background:#f8fafc;border-radius:14px;text-align:center;border:1px solid #f1f5f9}.review-stat-number{font-size:2.5rem;font-weight:700;color:#0891b2;line-height:1.2}.review-stat-label{font-size:.85rem;color:#64748b;margin-top:.25rem}.review-confirm{display:flex;align-items:center;gap:.75rem;padding:1.25rem;background:linear-gradient(135deg,#f0fdfa,#ecfeff);border-radius:12px;border:1px solid #0891b2;margin-top:1.5rem}.review-confirm input[type=checkbox]{width:20px;height:20px;accent-color:#0891b2;cursor:pointer}.review-confirm label{font-size:.9rem;color:#0f172a;cursor:pointer}.import-results-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;margin-bottom:2rem}.result-card{padding:1.5rem;border-radius:14px;text-align:center;border:1px solid #f1f5f9}.result-card.imported{background:linear-gradient(135deg,#f0fdf4,#dcfce7);border-color:#bbf7d0}.result-card.skipped{background:linear-gradient(135deg,#fffbeb,#fef3c7);border-color:#fde68a}.result-card.failed{background:linear-gradient(135deg,#fef2f2,#fecaca);border-color:#fca5a5}.result-card-number{font-size:2.5rem;font-weight:700;line-height:1.2}.result-card.imported .result-card-number{color:#16a34a}.result-card.skipped .result-card-number{color:#d97706}.result-card.failed .result-card-number{color:#dc2626}.result-card-label{font-size:.85rem;color:#64748b;margin-top:.25rem}.result-errors-section{margin-bottom:2rem}.result-errors-title{font-size:.9rem;font-weight:600;color:#dc2626;margin-bottom:.75rem}.result-error-item{padding:.5rem .75rem;background:#fef2f2;border-radius:8px;font-size:.8rem;color:#dc2626;margin-bottom:.5rem}.result-actions{display:flex;gap:.75rem;justify-content:center;flex-wrap:wrap}.import-progress{margin-bottom:2rem}.import-progress-bar{height:12px;background:#e2e8f0;border-radius:6px;overflow:hidden}.import-progress-fill{height:100%;background:linear-gradient(90deg,#06b6d4,#0891b2,#0e7490);border-radius:6px;transition:width .3s ease;position:relative}.import-progress-fill:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,transparent 0%,rgba(255,255,255,.3) 50%,transparent 100%);animation:progressShine 1.5s infinite}@keyframes progressShine{0%{transform:translate(-100%)}to{transform:translate(100%)}}.import-progress-text{display:flex;justify-content:space-between;margin-top:.5rem;font-size:.85rem;color:#64748b}.btn-primary{display:inline-flex;align-items:center;gap:.5rem;padding:.75rem 1.5rem;background:linear-gradient(135deg,#0891b2,#0e7490);color:#fff;border:none;border-radius:12px;font-size:.875rem;font-weight:600;cursor:pointer;transition:all .3s ease;box-shadow:0 4px 14px #0891b240}.btn-primary:hover:not(:disabled){background:linear-gradient(135deg,#0e7490,#155e75);transform:translateY(-2px);box-shadow:0 6px 20px #0891b259}.btn-primary:disabled{opacity:.5;cursor:not-allowed;transform:none}.btn-secondary{display:inline-flex;align-items:center;gap:.5rem;padding:.75rem 1.25rem;background:#fff;color:#475569;border:1px solid #e2e8f0;border-radius:12px;font-size:.875rem;font-weight:500;cursor:pointer;transition:all .2s ease}.btn-secondary:hover{border-color:#0891b2;color:#0891b2;background:#f0fdfa}.btn-success{display:inline-flex;align-items:center;gap:.5rem;padding:.75rem 1.5rem;background:linear-gradient(135deg,#10b981,#059669);color:#fff;border:none;border-radius:12px;font-size:.875rem;font-weight:600;cursor:pointer;transition:all .3s ease;box-shadow:0 4px 14px #10b98140}.btn-success:hover{background:linear-gradient(135deg,#059669,#047857);transform:translateY(-2px)}.validation-list{max-height:500px;overflow-y:auto;padding-right:.5rem}.validation-list::-webkit-scrollbar{width:6px}.validation-list::-webkit-scrollbar-track{background:transparent}.validation-list::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:3px}.validation-list::-webkit-scrollbar-thumb:hover{background:#94a3b8}@media(max-width:768px){.import-header{flex-direction:column;align-items:stretch}.import-header-right{justify-content:flex-end}.stepper-label{display:none}.stepper-connector{width:20px}.validation-summary,.import-results-cards,.mapping-grid,.review-summary{grid-template-columns:1fr}.wizard-card-body{padding:1.25rem}.wizard-card-footer{flex-direction:column;gap:.75rem}.import-dropzone{padding:2rem 1rem}}@keyframes umFadeIn{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@keyframes umSlideIn{0%{opacity:0;transform:translate(-8px)}to{opacity:1;transform:translate(0)}}.um-page{animation:umFadeIn .5s ease;padding:0}.um-header{background:linear-gradient(135deg,#1e3a5f,#0891b2);border-radius:20px;padding:2rem 2.5rem;margin-bottom:1.5rem;position:relative;overflow:hidden}.um-header:before{content:"";position:absolute;top:-50%;right:-10%;width:300px;height:300px;background:radial-gradient(circle,rgba(255,255,255,.08) 0%,transparent 70%);border-radius:50%}.um-header-content{display:flex;align-items:center;justify-content:space-between;position:relative;z-index:1}.um-header-left{display:flex;align-items:center;gap:1.25rem}.um-header-icon{width:56px;height:56px;background:#ffffff26;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:16px;display:flex;align-items:center;justify-content:center;font-size:1.75rem}.um-header-text h1{color:#fff;font-size:1.6rem;font-weight:700;margin:0;letter-spacing:-.02em}.um-header-text p{color:#ffffffb3;font-size:.875rem;margin:.25rem 0 0}.um-btn-primary{display:flex;align-items:center;gap:.5rem;padding:.75rem 1.5rem;background:#ffffff26;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.25);border-radius:12px;color:#fff;font-size:.875rem;font-weight:600;cursor:pointer;transition:all .2s ease}.um-btn-primary:hover{background:#ffffff40;transform:translateY(-1px)}.um-btn-primary svg{width:18px;height:18px}.um-stats-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem;margin-bottom:1.5rem}.um-stat-card{background:#fff;border-radius:16px;padding:1.25rem;display:flex;align-items:center;gap:1rem;box-shadow:0 1px 3px #0000000f;border:1px solid #f1f5f9;position:relative;overflow:hidden;animation:umFadeIn .5s ease}.um-stat-card:nth-child(1){animation-delay:.05s}.um-stat-card:nth-child(2){animation-delay:.1s}.um-stat-card:nth-child(3){animation-delay:.15s}.um-stat-card:nth-child(4){animation-delay:.2s}.um-stat-card:before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;border-radius:0 4px 4px 0}.um-stat-card.stat-total:before{background:linear-gradient(180deg,#1e3a5f,#0891b2)}.um-stat-card.stat-active:before{background:linear-gradient(180deg,#059669,#10b981)}.um-stat-card.stat-inactive:before{background:linear-gradient(180deg,#dc2626,#ef4444)}.um-stat-card.stat-roles:before{background:linear-gradient(180deg,#6366f1,#8b5cf6)}.um-stat-icon{width:44px;height:44px;border-radius:12px;display:flex;align-items:center;justify-content:center;font-size:1.25rem;flex-shrink:0}.stat-total .um-stat-icon{background:#f0f9ff}.stat-active .um-stat-icon{background:#ecfdf5}.stat-inactive .um-stat-icon{background:#fef2f2}.stat-roles .um-stat-icon{background:#eef2ff}.um-stat-content{flex:1;min-width:0}.um-stat-value{font-size:1.5rem;font-weight:700;color:#1e293b;line-height:1}.um-stat-label{font-size:.75rem;color:#64748b;margin-top:.25rem;font-weight:500}.um-tabs{display:flex;gap:.5rem;margin-bottom:1.5rem;background:#f1f5f9;padding:.35rem;border-radius:14px;width:fit-content}.um-tab{padding:.6rem 1.25rem;border:none;border-radius:10px;font-size:.85rem;font-weight:500;color:#64748b;background:transparent;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;gap:.5rem}.um-tab:hover{color:#1e293b;background:#ffffff80}.um-tab.active{background:linear-gradient(135deg,#1e3a5f,#0891b2);color:#fff;box-shadow:0 2px 8px #1e3a5f4d}.um-tab-badge{font-size:.7rem;background:#fff3;padding:.1rem .45rem;border-radius:8px;font-weight:600}.um-tab.active .um-tab-badge{background:#ffffff40}.um-filters{display:flex;align-items:center;gap:.75rem;margin-bottom:1.25rem;flex-wrap:wrap}.um-search{position:relative;flex:1;min-width:240px;max-width:400px}.um-search-icon{position:absolute;left:.875rem;top:50%;transform:translateY(-50%);color:#94a3b8;width:16px;height:16px}.um-search input{width:100%;padding:.65rem .875rem .65rem 2.5rem;border:1px solid #e2e8f0;border-radius:10px;font-size:.85rem;color:#1e293b;background:#fff;transition:all .2s ease;outline:none}.um-search input:focus{border-color:#0891b2;box-shadow:0 0 0 3px #0891b21a}.um-search input::placeholder{color:#94a3b8}.um-filter-select{padding:.65rem 2rem .65rem .875rem;border:1px solid #e2e8f0;border-radius:10px;font-size:.85rem;color:#1e293b;background:#fff;cursor:pointer;outline:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%2394a3b8' stroke-width='2.5'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right .75rem center;transition:all .2s ease}.um-filter-select:focus{border-color:#0891b2;box-shadow:0 0 0 3px #0891b21a}.um-table-container{background:#fff;border-radius:16px;border:1px solid #f1f5f9;box-shadow:0 1px 3px #0000000f;overflow:hidden;animation:umFadeIn .5s ease .1s both}.um-table{width:100%;border-collapse:collapse}.um-table thead{background:#f8fafc;border-bottom:1px solid #e2e8f0}.um-table th{padding:.875rem 1rem;text-align:left;font-size:.75rem;font-weight:600;color:#64748b;text-transform:uppercase;letter-spacing:.05em;white-space:nowrap}.um-table td{padding:.875rem 1rem;font-size:.85rem;color:#334155;border-bottom:1px solid #f1f5f9;vertical-align:middle}.um-table tbody tr{transition:background .15s ease}.um-table tbody tr:hover{background:#f8fafc}.um-table tbody tr:last-child td{border-bottom:none}.um-user-cell{display:flex;align-items:center;gap:.75rem}.um-user-avatar{width:36px;height:36px;border-radius:10px;display:flex;align-items:center;justify-content:center;font-size:.8rem;font-weight:700;color:#fff;flex-shrink:0}.um-user-info{display:flex;flex-direction:column;gap:.1rem}.um-user-name{font-weight:600;color:#1e293b;font-size:.85rem}.um-user-email{font-size:.7rem;color:#94a3b8}.um-role-badge{display:inline-flex;align-items:center;gap:.35rem;padding:.3rem .75rem;border-radius:20px;font-size:.75rem;font-weight:600;white-space:nowrap}.um-role-dot{width:6px;height:6px;border-radius:50%}.um-status-badge{display:inline-flex;align-items:center;gap:.35rem;padding:.3rem .75rem;border-radius:20px;font-size:.75rem;font-weight:600;white-space:nowrap}.um-status-badge.active{background:#ecfdf5;color:#059669}.um-status-badge.inactive{background:#fef2f2;color:#dc2626}.um-status-dot{width:6px;height:6px;border-radius:50%;background:currentColor}.um-last-login{font-size:.8rem;color:#64748b}.um-actions-cell{display:flex;gap:.5rem}.um-action-btn{padding:.4rem .75rem;border:1px solid #e2e8f0;border-radius:8px;font-size:.75rem;font-weight:500;color:#475569;background:#fff;cursor:pointer;transition:all .2s ease;display:inline-flex;align-items:center;gap:.35rem}.um-action-btn:hover{border-color:#0891b2;color:#0891b2;background:#f0fdfa}.um-action-btn.danger:hover{border-color:#dc2626;color:#dc2626;background:#fef2f2}.um-action-btn.success:hover{border-color:#059669;color:#059669;background:#ecfdf5}.um-roles-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1.25rem;animation:umFadeIn .5s ease .1s both}.um-role-card{background:#fff;border-radius:16px;border:1px solid #f1f5f9;box-shadow:0 1px 3px #0000000f;overflow:hidden;transition:all .2s ease}.um-role-card:hover{box-shadow:0 4px 12px #00000014}.um-role-card-header{padding:1.25rem 1.5rem;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #f1f5f9}.um-role-card-header-left{display:flex;align-items:center;gap:.75rem}.um-role-card-color{width:10px;height:10px;border-radius:50%;flex-shrink:0}.um-role-card-name{font-size:1rem;font-weight:700;color:#1e293b;margin:0}.um-role-card-desc{font-size:.75rem;color:#94a3b8;margin:.15rem 0 0}.um-role-card-users{font-size:.75rem;color:#64748b;background:#f1f5f9;padding:.25rem .65rem;border-radius:8px;font-weight:500}.um-role-card-body{padding:1.25rem 1.5rem}.um-permissions-title{font-size:.7rem;font-weight:600;color:#94a3b8;text-transform:uppercase;letter-spacing:.05em;margin-bottom:.75rem}.um-permissions-grid{display:flex;flex-direction:column;gap:.5rem;margin-bottom:1rem}.um-permission-row{display:flex;align-items:center;justify-content:space-between;padding:.4rem 0}.um-permission-module{font-size:.8rem;font-weight:500;color:#475569}.um-permission-level{font-size:.7rem;font-weight:600;padding:.2rem .5rem;border-radius:6px}.um-permission-level.edit{background:#ecfdf5;color:#059669}.um-permission-level.view{background:#fffbeb;color:#d97706}.um-permission-level.none{background:#f1f5f9;color:#94a3b8}.um-role-toggles{display:flex;gap:1rem;padding-top:.75rem;border-top:1px solid #f1f5f9}.um-role-toggle-item{display:flex;align-items:center;gap:.5rem;font-size:.75rem;color:#64748b}.um-role-toggle-indicator{width:8px;height:8px;border-radius:50%}.um-role-toggle-indicator.on{background:#059669}.um-role-toggle-indicator.off{background:#dc2626}.um-role-card-footer{padding:.75rem 1.5rem;border-top:1px solid #f1f5f9;display:flex;justify-content:flex-end;gap:.5rem}.um-activity-table .um-table td{vertical-align:middle}.um-activity-user{display:flex;align-items:center;gap:.5rem}.um-activity-avatar{width:28px;height:28px;border-radius:8px;display:flex;align-items:center;justify-content:center;font-size:.65rem;font-weight:700;color:#fff;flex-shrink:0}.um-activity-name{font-weight:500;color:#1e293b;font-size:.8rem}.um-activity-action{font-weight:500;color:#334155}.um-activity-details{font-size:.8rem;color:#64748b;max-width:300px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.um-activity-date{font-size:.8rem;color:#64748b;white-space:nowrap}.um-activity-ip{font-size:.75rem;color:#94a3b8;font-family:SF Mono,Fira Code,monospace}.um-modal-overlay{position:fixed;inset:0;background:#0f172a99;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:1000;animation:umFadeIn .2s ease;padding:1rem}.um-modal{background:#fff;border-radius:20px;box-shadow:0 25px 50px #00000026;width:100%;max-width:560px;max-height:90vh;overflow-y:auto;animation:umFadeIn .3s ease}.um-modal.wide{max-width:640px}.um-modal-header{padding:1.5rem 1.5rem 0;display:flex;align-items:center;justify-content:space-between}.um-modal-header-left{display:flex;align-items:center;gap:.75rem}.um-modal-icon{width:42px;height:42px;border-radius:12px;display:flex;align-items:center;justify-content:center;font-size:1.25rem;background:linear-gradient(135deg,#1e3a5f,#0891b2)}.um-modal-icon.danger{background:linear-gradient(135deg,#dc2626,#ef4444)}.um-modal-title{font-size:1.15rem;font-weight:700;color:#1e293b;margin:0}.um-modal-close{width:32px;height:32px;border:none;background:#f1f5f9;border-radius:8px;color:#64748b;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s ease;font-size:1.1rem}.um-modal-close:hover{background:#e2e8f0;color:#1e293b}.um-modal-body{padding:1.5rem}.um-modal-footer{padding:0 1.5rem 1.5rem;display:flex;gap:.75rem;justify-content:flex-end}.um-form-group{margin-bottom:1rem}.um-form-label{display:block;font-size:.8rem;font-weight:600;color:#475569;margin-bottom:.4rem}.um-form-input,.um-form-select,.um-form-textarea{width:100%;padding:.65rem .875rem;border:1px solid #e2e8f0;border-radius:10px;font-size:.85rem;color:#1e293b;background:#fff;transition:all .2s ease;outline:none;font-family:inherit}.um-form-input:focus,.um-form-select:focus,.um-form-textarea:focus{border-color:#0891b2;box-shadow:0 0 0 3px #0891b21a}.um-form-textarea{min-height:80px;resize:vertical}.um-form-row{display:grid;grid-template-columns:1fr 1fr;gap:.75rem}.um-form-section-title{font-size:.75rem;font-weight:600;color:#94a3b8;text-transform:uppercase;letter-spacing:.05em;margin:1.25rem 0 .75rem;padding-top:1rem;border-top:1px solid #f1f5f9}.um-form-section-title:first-child{margin-top:0;padding-top:0;border-top:none}.um-modal-permissions{display:flex;flex-direction:column;gap:.5rem}.um-modal-perm-row{display:flex;align-items:center;justify-content:space-between;padding:.5rem .75rem;background:#f8fafc;border-radius:8px}.um-modal-perm-label{font-size:.85rem;font-weight:500;color:#475569}.um-modal-perm-select{padding:.35rem 1.5rem .35rem .5rem;border:1px solid #e2e8f0;border-radius:6px;font-size:.8rem;color:#1e293b;background:#fff;cursor:pointer;outline:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='10' viewBox='0 0 24 24' fill='none' stroke='%2394a3b8' stroke-width='2.5'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right .4rem center}.um-toggle{position:relative;width:42px;height:24px;background:#e2e8f0;border-radius:12px;cursor:pointer;transition:all .2s ease;border:none;padding:0;flex-shrink:0}.um-toggle.active{background:linear-gradient(135deg,#059669,#10b981)}.um-toggle:after{content:"";position:absolute;top:2px;left:2px;width:20px;height:20px;background:#fff;border-radius:50%;transition:all .2s ease;box-shadow:0 1px 3px #00000026}.um-toggle.active:after{left:20px}.um-toggle-row{display:flex;align-items:center;justify-content:space-between;padding:.5rem 0}.um-toggle-label{font-size:.85rem;font-weight:500;color:#475569}.um-deactivate-warning{display:flex;align-items:flex-start;gap:.75rem;padding:1rem;background:#fffbeb;border:1px solid #fde68a;border-radius:10px;margin-bottom:1rem}.um-deactivate-warning-icon{flex-shrink:0;color:#d97706}.um-deactivate-warning-text{font-size:.8rem;color:#92400e;line-height:1.5;margin:0}.um-btn-cancel{padding:.65rem 1.25rem;border:1px solid #e2e8f0;border-radius:10px;font-size:.85rem;font-weight:500;color:#64748b;background:#fff;cursor:pointer;transition:all .2s ease}.um-btn-cancel:hover{background:#f8fafc;border-color:#cbd5e1}.um-btn-confirm{padding:.65rem 1.25rem;border:none;border-radius:10px;font-size:.85rem;font-weight:600;color:#fff;background:linear-gradient(135deg,#1e3a5f,#0891b2);cursor:pointer;transition:all .2s ease}.um-btn-confirm:hover{box-shadow:0 4px 12px #0891b24d;transform:translateY(-1px)}.um-btn-confirm.danger{background:linear-gradient(135deg,#dc2626,#ef4444)}.um-btn-confirm.danger:hover{box-shadow:0 4px 12px #dc26264d}.um-empty{text-align:center;padding:3rem 1.5rem;color:#94a3b8}.um-empty-icon{font-size:2.5rem;margin-bottom:.75rem}.um-empty-title{font-size:1rem;font-weight:600;color:#64748b;margin-bottom:.25rem}.um-empty-text{font-size:.85rem}@media(max-width:1024px){.um-stats-grid{grid-template-columns:repeat(2,1fr)}.um-roles-grid{grid-template-columns:1fr}.um-table-container{overflow-x:auto}.um-table{min-width:800px}}@media(max-width:768px){.um-header{padding:1.5rem;border-radius:16px}.um-header-content{flex-direction:column;align-items:flex-start;gap:1rem}.um-btn-primary{width:100%;justify-content:center}.um-tabs{width:100%;overflow-x:auto}.um-filters{flex-direction:column;align-items:stretch}.um-search{max-width:100%}.um-form-row{grid-template-columns:1fr}}@media(max-width:480px){.um-stats-grid{grid-template-columns:1fr}.um-header-text h1{font-size:1.25rem}}.um-pagination{display:flex;align-items:center;justify-content:space-between;padding:1.25rem 1.5rem;border-top:1px solid #f1f5f9}.um-pagination-info{font-size:.875rem;color:#64748b}.um-pagination-controls{display:flex;align-items:center;gap:.5rem}.um-page-btn{width:36px;height:36px;border:1px solid #e2e8f0;background:#fff;border-radius:8px;cursor:pointer;font-size:.875rem;color:#334155;display:flex;align-items:center;justify-content:center;transition:all .15s ease}.um-page-btn:hover:not(:disabled){border-color:#0891b2;color:#0891b2}.um-page-btn.active{background:#0891b2;border-color:#0891b2;color:#fff}.um-page-btn:disabled{opacity:.5;cursor:not-allowed}@media(max-width:640px){.um-pagination{flex-direction:column;gap:.75rem}}@keyframes deFadeIn{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@keyframes deSlideIn{0%{opacity:0;transform:translate(-8px)}to{opacity:1;transform:translate(0)}}@keyframes dePulse{0%,to{opacity:1}50%{opacity:.6}}@keyframes deProgress{0%{width:0%}to{width:100%}}.de-page{padding:1.5rem;animation:deFadeIn .4s ease-out}.de-header{background:linear-gradient(135deg,#1e3a5f,#0891b2,#22d3ee);border-radius:20px;padding:2rem 2.5rem;margin-bottom:1.5rem;position:relative;overflow:hidden}.de-header:before{content:"";position:absolute;top:-50%;right:-20%;width:300px;height:300px;background:radial-gradient(circle,rgba(255,255,255,.08) 0%,transparent 70%);border-radius:50%}.de-header:after{content:"";position:absolute;bottom:-40%;left:10%;width:200px;height:200px;background:radial-gradient(circle,rgba(255,255,255,.05) 0%,transparent 70%);border-radius:50%}.de-header-content{position:relative;z-index:1;display:flex;align-items:center;gap:1.25rem}.de-header-icon{width:56px;height:56px;background:#ffffff26;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:16px;display:flex;align-items:center;justify-content:center;border:1px solid rgba(255,255,255,.2);flex-shrink:0}.de-header-icon svg{width:28px;height:28px;color:#fff}.de-header-text h1{font-size:1.5rem;font-weight:700;color:#fff;margin:0 0 .25rem}.de-header-text p{font-size:.85rem;color:#ffffffb3;margin:0}.de-header-stats{position:relative;z-index:1;display:flex;gap:1.5rem;margin-top:1.25rem}.de-header-stat{background:#ffffff1a;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.15);border-radius:12px;padding:.6rem 1rem;display:flex;align-items:center;gap:.5rem}.de-header-stat-value{font-size:1.1rem;font-weight:700;color:#fff}.de-header-stat-label{font-size:.75rem;color:#fff9}.de-section-title{font-size:1.1rem;font-weight:700;color:#1e293b;margin:2rem 0 1rem;display:flex;align-items:center;gap:.5rem}.de-section-title svg{width:20px;height:20px;color:#0891b2}.de-section-subtitle{font-size:.8rem;color:#64748b;margin:-.5rem 0 1rem}.de-cards-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1rem;margin-bottom:2rem}.de-card{background:#fff;border-radius:16px;border:1px solid #f1f5f9;box-shadow:0 1px 3px #0000000f;padding:1.25rem;transition:transform .2s ease,box-shadow .2s ease;animation:deFadeIn .4s ease-out backwards}.de-card:nth-child(1){animation-delay:.05s}.de-card:nth-child(2){animation-delay:.1s}.de-card:nth-child(3){animation-delay:.15s}.de-card:nth-child(4){animation-delay:.2s}.de-card:nth-child(5){animation-delay:.25s}.de-card:nth-child(6){animation-delay:.3s}.de-card:nth-child(7){animation-delay:.35s}.de-card:nth-child(8){animation-delay:.4s}.de-card:nth-child(9){animation-delay:.45s}.de-card:nth-child(10){animation-delay:.5s}.de-card:hover{transform:translateY(-2px);box-shadow:0 4px 12px #00000014}.de-card-header{display:flex;align-items:center;gap:.75rem;margin-bottom:.75rem}.de-card-icon{width:40px;height:40px;border-radius:12px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.de-card-icon svg{width:20px;height:20px}.de-card-icon.patients{background:#eff6ff;color:#3b82f6}.de-card-icon.appointments{background:#f0fdf4;color:#22c55e}.de-card-icon.invoices{background:#fefce8;color:#eab308}.de-card-icon.budgets{background:#faf5ff;color:#a855f7}.de-card-icon.payments{background:#ecfdf5;color:#10b981}.de-card-icon.accounting{background:#fff7ed;color:#f97316}.de-card-icon.expenses{background:#fef2f2;color:#ef4444}.de-card-icon.implants{background:#f0f9ff;color:#0ea5e9}.de-card-icon.warranties{background:#ecfeff;color:#06b6d4}.de-card-icon.inventory{background:#f5f3ff;color:#8b5cf6}.de-card-icon.treatments{background:#fdf2f8;color:#ec4899}.de-card-title{font-size:.9rem;font-weight:600;color:#1e293b}.de-card-desc{font-size:.78rem;color:#64748b;margin-bottom:1rem;line-height:1.4}.de-card-actions{display:flex;gap:.5rem}.de-btn{flex:1;display:inline-flex;align-items:center;justify-content:center;gap:.35rem;padding:.45rem .6rem;border-radius:8px;font-size:.75rem;font-weight:600;cursor:pointer;border:1.5px solid transparent;transition:all .15s ease;background:transparent}.de-btn svg{width:14px;height:14px}.de-btn:disabled{opacity:.5;cursor:not-allowed}.de-btn.csv{color:#16a34a;border-color:#bbf7d0;background:#f0fdf4}.de-btn.csv:hover:not(:disabled){background:#dcfce7;border-color:#86efac}.de-btn.excel{color:#0891b2;border-color:#a5f3fc;background:#ecfeff}.de-btn.excel:hover:not(:disabled){background:#cffafe;border-color:#67e8f9}.de-btn.pdf{color:#dc2626;border-color:#fecaca;background:#fef2f2}.de-btn.pdf:hover:not(:disabled){background:#fee2e2;border-color:#fca5a5}.de-card-loading{margin-top:.5rem}.de-progress-bar{height:3px;background:#f1f5f9;border-radius:3px;overflow:hidden}.de-progress-fill{height:100%;background:linear-gradient(90deg,#0891b2,#22d3ee);border-radius:3px;animation:deProgress 1.5s ease-in-out infinite}.de-card-loading-text{font-size:.7rem;color:#94a3b8;margin-top:.25rem;text-align:center}.de-rgpd-section{background:#fff;border-radius:16px;border:1px solid #f1f5f9;border-left:4px solid #0891b2;box-shadow:0 1px 3px #0000000f;padding:1.5rem;margin-bottom:2rem;animation:deFadeIn .4s ease-out .3s backwards}.de-rgpd-header{display:flex;align-items:center;gap:.75rem;margin-bottom:1rem}.de-rgpd-icon{width:44px;height:44px;background:linear-gradient(135deg,#1e3a5f,#0891b2);border-radius:12px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.de-rgpd-icon svg{width:22px;height:22px;color:#fff}.de-rgpd-title{font-size:1rem;font-weight:700;color:#1e293b}.de-rgpd-subtitle{font-size:.78rem;color:#64748b}.de-rgpd-body{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem}@media(max-width:768px){.de-rgpd-body{grid-template-columns:1fr}}.de-search-wrapper{position:relative}.de-search-input{width:100%;padding:.6rem .8rem .6rem 2.2rem;border:1.5px solid #e2e8f0;border-radius:10px;font-size:.85rem;color:#1e293b;outline:none;transition:border-color .2s,box-shadow .2s;background:#fff;box-sizing:border-box}.de-search-input:focus{border-color:#0891b2;box-shadow:0 0 0 3px #0891b21a}.de-search-icon{position:absolute;left:.7rem;top:50%;transform:translateY(-50%);color:#94a3b8;pointer-events:none}.de-search-icon svg{width:16px;height:16px}.de-search-results{position:absolute;top:100%;left:0;right:0;background:#fff;border:1px solid #e2e8f0;border-radius:10px;margin-top:4px;max-height:200px;overflow-y:auto;z-index:10;box-shadow:0 4px 12px #0000001a}.de-search-item{display:flex;align-items:center;gap:.6rem;padding:.6rem .8rem;cursor:pointer;border:none;background:none;width:100%;text-align:left;font-size:.82rem;color:#1e293b;transition:background .15s}.de-search-item:hover{background:#f8fafc}.de-search-item-avatar{width:32px;height:32px;background:linear-gradient(135deg,#1e3a5f,#0891b2);border-radius:50%;display:flex;align-items:center;justify-content:center;color:#fff;font-size:.7rem;font-weight:600;flex-shrink:0}.de-search-item-info{flex:1;min-width:0}.de-search-item-name{font-weight:600;font-size:.82rem}.de-search-item-email{font-size:.72rem;color:#94a3b8;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.de-selected-patient{background:#f8fafc;border-radius:12px;padding:1rem;display:flex;align-items:center;gap:.75rem;margin-top:.75rem}.de-selected-avatar{width:42px;height:42px;background:linear-gradient(135deg,#1e3a5f,#0891b2);border-radius:50%;display:flex;align-items:center;justify-content:center;color:#fff;font-size:.85rem;font-weight:600;flex-shrink:0}.de-selected-info{flex:1}.de-selected-name{font-size:.9rem;font-weight:600;color:#1e293b}.de-selected-detail{font-size:.75rem;color:#64748b}.de-selected-remove{background:none;border:none;color:#94a3b8;cursor:pointer;padding:.25rem;border-radius:6px;transition:color .15s}.de-selected-remove:hover{color:#ef4444}.de-selected-remove svg{width:16px;height:16px}.de-rgpd-categories{display:flex;flex-direction:column;gap:.5rem}.de-rgpd-categories label{display:flex;align-items:center;gap:.5rem;font-size:.82rem;color:#334155;cursor:pointer;padding:.4rem .6rem;border-radius:8px;transition:background .15s}.de-rgpd-categories label:hover{background:#f8fafc}.de-rgpd-categories input[type=checkbox]{accent-color:#0891b2;width:16px;height:16px}.de-rgpd-export-btn{display:inline-flex;align-items:center;gap:.5rem;padding:.6rem 1.2rem;background:linear-gradient(135deg,#1e3a5f,#0891b2);color:#fff;border:none;border-radius:10px;font-size:.82rem;font-weight:600;cursor:pointer;transition:opacity .2s,transform .15s;margin-top:1rem}.de-rgpd-export-btn:hover:not(:disabled){opacity:.9;transform:translateY(-1px)}.de-rgpd-export-btn:disabled{opacity:.5;cursor:not-allowed}.de-rgpd-export-btn svg{width:16px;height:16px}.de-custom-section{background:#fff;border-radius:16px;border:1px solid #f1f5f9;box-shadow:0 1px 3px #0000000f;padding:1.5rem;margin-bottom:2rem;animation:deFadeIn .4s ease-out .4s backwards}.de-custom-header{display:flex;align-items:center;gap:.75rem;margin-bottom:1.25rem}.de-custom-icon{width:44px;height:44px;background:linear-gradient(135deg,#1e3a5f,#0891b2);border-radius:12px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.de-custom-icon svg{width:22px;height:22px;color:#fff}.de-custom-title{font-size:1rem;font-weight:700;color:#1e293b}.de-custom-subtitle{font-size:.78rem;color:#64748b}.de-custom-form{display:grid;grid-template-columns:1fr 1fr 1fr;gap:1rem;margin-bottom:1.25rem}@media(max-width:768px){.de-custom-form{grid-template-columns:1fr}}.de-form-group{display:flex;flex-direction:column;gap:.35rem}.de-form-label{font-size:.75rem;font-weight:600;color:#64748b;text-transform:uppercase;letter-spacing:.03em}.de-form-select,.de-form-input{padding:.55rem .8rem;border:1.5px solid #e2e8f0;border-radius:10px;font-size:.85rem;color:#1e293b;outline:none;transition:border-color .2s,box-shadow .2s;background:#fff}.de-form-select:focus,.de-form-input:focus{border-color:#0891b2;box-shadow:0 0 0 3px #0891b21a}.de-format-toggle{display:flex;gap:.35rem;background:#f1f5f9;border-radius:10px;padding:.2rem}.de-format-btn{flex:1;padding:.45rem .6rem;border:none;border-radius:8px;font-size:.78rem;font-weight:600;cursor:pointer;transition:all .2s ease;background:transparent;color:#64748b}.de-format-btn.active{background:linear-gradient(135deg,#1e3a5f,#0891b2);color:#fff;box-shadow:0 1px 4px #0891b240}.de-columns-selector{margin-bottom:1.25rem}.de-columns-label{font-size:.75rem;font-weight:600;color:#64748b;text-transform:uppercase;letter-spacing:.03em;margin-bottom:.5rem}.de-columns-grid{display:flex;flex-wrap:wrap;gap:.4rem}.de-col-chip{display:inline-flex;align-items:center;gap:.3rem;padding:.35rem .65rem;border-radius:20px;font-size:.75rem;cursor:pointer;border:1.5px solid #e2e8f0;background:#fff;color:#64748b;transition:all .15s ease}.de-col-chip.selected{background:#ecfeff;border-color:#a5f3fc;color:#0891b2}.de-col-chip:hover{border-color:#0891b2}.de-custom-export-btn{display:inline-flex;align-items:center;gap:.5rem;padding:.6rem 1.5rem;background:linear-gradient(135deg,#1e3a5f,#0891b2);color:#fff;border:none;border-radius:10px;font-size:.85rem;font-weight:600;cursor:pointer;transition:opacity .2s,transform .15s}.de-custom-export-btn:hover:not(:disabled){opacity:.9;transform:translateY(-1px)}.de-custom-export-btn:disabled{opacity:.5;cursor:not-allowed}.de-custom-export-btn svg{width:16px;height:16px}.de-toast{position:fixed;bottom:1.5rem;right:1.5rem;background:#1e293b;color:#fff;padding:.75rem 1.25rem;border-radius:12px;font-size:.82rem;font-weight:500;display:flex;align-items:center;gap:.5rem;box-shadow:0 8px 24px #0003;z-index:1000;animation:deFadeIn .3s ease-out}.de-toast.success{background:linear-gradient(135deg,#059669,#10b981)}.de-toast.error{background:linear-gradient(135deg,#dc2626,#ef4444)}.de-toast svg{width:16px;height:16px}@media(max-width:640px){.de-page{padding:1rem}.de-header{padding:1.5rem;border-radius:16px}.de-header-text h1{font-size:1.2rem}.de-header-stats{flex-wrap:wrap;gap:.75rem}.de-cards-grid{grid-template-columns:1fr}.de-card-actions{flex-wrap:wrap}.de-rgpd-body,.de-custom-form{grid-template-columns:1fr}}.ia-supervisor{padding:2rem 2.5rem;min-height:100%;background:linear-gradient(135deg,#f8fafc,#f1f5f9,#e2e8f0);position:relative;overflow-x:hidden}.ia-bg-decoration{position:absolute;border-radius:50%;pointer-events:none;filter:blur(80px);opacity:.5}.ia-bg-decoration-1{top:-100px;right:-100px;width:400px;height:400px;background:radial-gradient(circle,rgba(139,92,246,.15) 0%,transparent 70%)}.ia-bg-decoration-2{bottom:-150px;left:-150px;width:500px;height:500px;background:radial-gradient(circle,rgba(14,165,233,.1) 0%,transparent 70%)}.ia-page-header{margin-bottom:2rem;position:relative;z-index:1}.ia-header-content{display:flex;align-items:flex-start;justify-content:space-between;gap:1.5rem}.ia-header-info{flex:1}.ia-page-title{font-size:2.25rem;font-weight:800;color:#0f172a;margin:0 0 .5rem;letter-spacing:-.03em;line-height:1.2;display:flex;align-items:center;gap:.75rem}.ia-title-icon{width:48px;height:48px;border-radius:14px;background:linear-gradient(145deg,#8b5cf6,#7c3aed);display:flex;align-items:center;justify-content:center;box-shadow:0 4px 16px #8b5cf659;flex-shrink:0}.ia-title-icon svg{width:26px;height:26px;color:#fff}.ia-page-subtitle{font-size:1rem;color:#64748b;margin:0;font-weight:400;max-width:600px;line-height:1.5}.ia-header-actions{display:flex;gap:.75rem;align-items:center}.ia-status-badge{display:inline-flex;align-items:center;gap:.5rem;padding:.5rem 1rem;background:linear-gradient(135deg,#dcfce7,#bbf7d0);color:#15803d;border-radius:30px;font-size:.8125rem;font-weight:600}.ia-status-dot{width:8px;height:8px;border-radius:50%;background:#22c55e;animation:iaPulse 2s ease-in-out infinite}@keyframes iaPulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.6;transform:scale(1.2)}}.ia-run-btn{display:flex;align-items:center;gap:.5rem;padding:.75rem 1.25rem;border-radius:12px;font-size:.875rem;font-weight:600;cursor:pointer;transition:all .3s ease;border:none;background:linear-gradient(135deg,#8b5cf6,#7c3aed);color:#fff;box-shadow:0 4px 12px #8b5cf64d}.ia-run-btn:hover{transform:translateY(-2px);box-shadow:0 6px 20px #8b5cf666}.ia-run-btn:disabled{opacity:.6;cursor:not-allowed;transform:none}.ia-run-btn svg{width:18px;height:18px}.ia-run-btn.running svg{animation:spin 1s linear infinite}.ia-stats-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1.5rem;margin-bottom:2rem;position:relative;z-index:1}.ia-stat-card{background:linear-gradient(145deg,#fff,#f8fafc);border-radius:20px;padding:1.5rem;display:flex;align-items:flex-start;gap:1rem;box-shadow:0 1px 3px #0000000a,0 4px 12px #00000008,0 0 0 1px #00000005;transition:all .4s cubic-bezier(.4,0,.2,1);position:relative;overflow:hidden;animation:iaFadeInUp .5s ease-out backwards}.ia-stat-card:before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,var(--ia-stat-color, #8b5cf6),var(--ia-stat-color-light, #a78bfa));opacity:0;transition:opacity .3s ease}.ia-stat-card:hover{transform:translateY(-4px);box-shadow:0 4px 12px #0000000f,0 12px 28px #00000014,0 0 0 1px #00000008}.ia-stat-card:hover:before{opacity:1}.ia-stat-card:nth-child(1){animation-delay:.05s}.ia-stat-card:nth-child(2){animation-delay:.1s}.ia-stat-card:nth-child(3){animation-delay:.15s}.ia-stat-card:nth-child(4){animation-delay:.2s}.ia-stat-icon{width:56px;height:56px;border-radius:16px;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:transform .3s ease}.ia-stat-card:hover .ia-stat-icon{transform:scale(1.05)}.ia-stat-icon svg{width:24px;height:24px}.ia-stat-icon.purple{background:linear-gradient(145deg,#f3e8ff,#e9d5ff);box-shadow:0 4px 12px #a855f733;color:#9333ea}.ia-stat-card:has(.ia-stat-icon.purple){--ia-stat-color: #a855f7;--ia-stat-color-light: #c084fc}.ia-stat-icon.green{background:linear-gradient(145deg,#dcfce7,#bbf7d0);box-shadow:0 4px 12px #22c55e33;color:#16a34a}.ia-stat-card:has(.ia-stat-icon.green){--ia-stat-color: #22c55e;--ia-stat-color-light: #4ade80}.ia-stat-icon.red{background:linear-gradient(145deg,#fee2e2,#fecaca);box-shadow:0 4px 12px #ef444433;color:#dc2626}.ia-stat-card:has(.ia-stat-icon.red){--ia-stat-color: #ef4444;--ia-stat-color-light: #f87171}.ia-stat-icon.blue{background:linear-gradient(145deg,#dbeafe,#bfdbfe);box-shadow:0 4px 12px #3b82f633;color:#2563eb}.ia-stat-card:has(.ia-stat-icon.blue){--ia-stat-color: #3b82f6;--ia-stat-color-light: #60a5fa}.ia-stat-content{flex:1;min-width:0}.ia-stat-label{font-size:.8125rem;font-weight:500;color:#64748b;margin-bottom:.5rem;text-transform:uppercase;letter-spacing:.04em}.ia-stat-value{font-size:1.875rem;font-weight:700;color:#0f172a;line-height:1.1;margin-bottom:.5rem;letter-spacing:-.02em}.ia-stat-meta{display:inline-flex;align-items:center;gap:.375rem;font-size:.8125rem;font-weight:500;padding:.25rem .625rem;border-radius:20px}.ia-stat-meta.positive{color:#059669;background:linear-gradient(135deg,#ecfdf5,#d1fae5)}.ia-stat-meta.negative{color:#dc2626;background:linear-gradient(135deg,#fef2f2,#fee2e2)}.ia-stat-meta.neutral{color:#7c3aed;background:linear-gradient(135deg,#f5f3ff,#ede9fe)}.ia-main-layout{display:grid;grid-template-columns:1fr 340px;gap:1.5rem;position:relative;z-index:1}.ia-category-filters{display:flex;gap:.5rem;margin-bottom:1.5rem;flex-wrap:wrap}.ia-filter-btn{display:flex;align-items:center;gap:.5rem;padding:.5rem 1rem;border-radius:10px;font-size:.8125rem;font-weight:600;cursor:pointer;transition:all .2s ease;border:1px solid rgba(0,0,0,.06);background:#fff;color:#64748b}.ia-filter-btn:hover{border-color:#8b5cf64d;color:#7c3aed;background:linear-gradient(135deg,#f5f3ff,#ede9fe)}.ia-filter-btn.active{background:linear-gradient(135deg,#8b5cf6,#7c3aed);color:#fff;border-color:transparent;box-shadow:0 2px 8px #8b5cf64d}.ia-filter-count{min-width:20px;height:20px;border-radius:10px;display:flex;align-items:center;justify-content:center;font-size:.6875rem;font-weight:700;background:#00000014;color:inherit}.ia-filter-btn.active .ia-filter-count{background:#ffffff40}.ia-card{background:linear-gradient(145deg,#fff,#fafafa);border-radius:20px;box-shadow:0 1px 3px #0000000a,0 4px 12px #00000008,0 0 0 1px #00000005;overflow:hidden;transition:all .3s ease;animation:iaFadeInUp .5s ease-out backwards;animation-delay:.25s;display:flex;flex-direction:column}.ia-card:hover{box-shadow:0 4px 12px #0000000d,0 8px 24px #0000000f,0 0 0 1px #00000008}.ia-card-header{display:flex;align-items:center;justify-content:space-between;padding:1.25rem 1.5rem;border-bottom:1px solid rgba(0,0,0,.04);background:linear-gradient(180deg,rgba(248,250,252,.8) 0%,transparent 100%)}.ia-card-title-group{display:flex;align-items:center;gap:.875rem}.ia-card-icon{width:40px;height:40px;border-radius:10px;display:flex;align-items:center;justify-content:center}.ia-card-icon svg{width:20px;height:20px}.ia-card-icon.purple{background:linear-gradient(135deg,#f3e8ff,#e9d5ff);color:#9333ea}.ia-card-icon.blue{background:linear-gradient(135deg,#dbeafe,#bfdbfe);color:#2563eb}.ia-card-icon.green{background:linear-gradient(135deg,#dcfce7,#bbf7d0);color:#16a34a}.ia-card-icon.orange{background:linear-gradient(135deg,#ffedd5,#fed7aa);color:#ea580c}.ia-card-title{font-size:1rem;font-weight:600;color:#1e293b;margin:0;letter-spacing:-.01em}.ia-card-subtitle{font-size:.8125rem;color:#94a3b8;margin:.125rem 0 0}.ia-card-body{padding:1.25rem 1.5rem;flex:1;display:flex;flex-direction:column;min-height:0}.ia-alerts-list{display:flex;flex-direction:column;gap:.75rem;flex:1;min-height:0;overflow-y:auto;scrollbar-width:thin;scrollbar-color:rgba(139,92,246,.3) transparent}.ia-alerts-list::-webkit-scrollbar{width:6px}.ia-alerts-list::-webkit-scrollbar-track{background:transparent}.ia-alerts-list::-webkit-scrollbar-thumb{background:linear-gradient(180deg,#8b5cf64d,#6366f14d);border-radius:10px}.ia-alert-item{padding:1.25rem;border-radius:16px;border:1px solid transparent;transition:all .3s cubic-bezier(.4,0,.2,1);position:relative;animation:iaFadeInUp .4s ease-out backwards}.ia-alert-item:before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;border-radius:16px 4px 4px 16px;transition:opacity .3s ease}.ia-alert-item.critical{background:linear-gradient(135deg,#fef2f2,#fee2e2);border-color:#ef444426}.ia-alert-item.critical:before{background:linear-gradient(180deg,#ef4444,#dc2626)}.ia-alert-item.warning{background:linear-gradient(135deg,#fffbeb,#fef3c7);border-color:#f59e0b26}.ia-alert-item.warning:before{background:linear-gradient(180deg,#f59e0b,#d97706)}.ia-alert-item.info{background:linear-gradient(135deg,#eff6ff,#dbeafe);border-color:#3b82f626}.ia-alert-item.info:before{background:linear-gradient(180deg,#3b82f6,#2563eb)}.ia-alert-item:hover{transform:translate(4px)}.ia-alert-item.critical:hover{box-shadow:0 4px 16px #ef444426}.ia-alert-item.warning:hover{box-shadow:0 4px 16px #f59e0b26}.ia-alert-item.info:hover{box-shadow:0 4px 16px #3b82f626}.ia-alert-top{display:flex;align-items:flex-start;gap:.875rem;margin-bottom:.75rem}.ia-alert-severity-icon{width:36px;height:36px;border-radius:10px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.ia-alert-severity-icon svg{width:18px;height:18px}.ia-alert-severity-icon.critical{background:#ef444433;color:#dc2626}.ia-alert-severity-icon.warning{background:#f59e0b33;color:#d97706}.ia-alert-severity-icon.info{background:#3b82f633;color:#2563eb}.ia-alert-header{flex:1;min-width:0}.ia-alert-title{font-size:.9375rem;font-weight:700;color:#0f172a;margin:0 0 .25rem;letter-spacing:-.01em}.ia-alert-badges{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}.ia-alert-category-badge{font-size:.6875rem;font-weight:600;padding:.2rem .5rem;border-radius:6px;text-transform:uppercase;letter-spacing:.04em}.ia-alert-category-badge.budget-no-appointment{background:#8b5cf626;color:#7c3aed}.ia-alert-category-badge.treatment-unfinished{background:#f9731626;color:#ea580c}.ia-alert-category-badge.recall-expired{background:#0ea5e926;color:#0284c7}.ia-alert-category-badge.unpaid-balance{background:#ef444426;color:#dc2626}.ia-alert-category-badge.low-stock{background:#f59e0b26;color:#b45309}.ia-alert-days{font-size:.6875rem;font-weight:600;padding:.2rem .5rem;border-radius:6px;background:#0000000f;color:#64748b}.ia-alert-description{font-size:.8125rem;color:#475569;line-height:1.5;margin:0 0 .75rem}.ia-alert-patient{display:inline-flex;align-items:center;gap:.375rem;font-size:.8125rem;font-weight:600;color:#1e293b;margin-bottom:.5rem}.ia-alert-patient svg{width:14px;height:14px;color:#94a3b8}.ia-alert-amount{display:inline-flex;align-items:center;gap:.375rem;font-size:.8125rem;font-weight:700;color:#dc2626;margin-left:1rem}.ia-alert-suggestion{display:flex;align-items:flex-start;gap:.5rem;padding:.75rem;background:#fff9;border-radius:10px;margin-bottom:.75rem;border:1px dashed rgba(0,0,0,.08)}.ia-alert-suggestion-icon{flex-shrink:0;color:#8b5cf6;margin-top:1px}.ia-alert-suggestion-icon svg{width:16px;height:16px}.ia-alert-suggestion-text{font-size:.8125rem;color:#475569;line-height:1.5;font-style:italic}.ia-alert-actions{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}.ia-alert-action-btn{font-size:.75rem;font-weight:600;padding:.375rem .75rem;border-radius:8px;border:none;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;gap:.375rem}.ia-alert-action-btn svg{width:14px;height:14px}.ia-alert-action-btn.primary{background:linear-gradient(135deg,#8b5cf6,#7c3aed);color:#fff;box-shadow:0 2px 8px #8b5cf640}.ia-alert-action-btn.primary:hover{transform:translateY(-1px);box-shadow:0 4px 12px #8b5cf659}.ia-alert-action-btn.secondary{background:#ffffffb3;color:#475569;border:1px solid rgba(0,0,0,.08)}.ia-alert-action-btn.secondary:hover{background:#ffffffe6;color:#1e293b}.ia-alert-action-btn.resolve{background:linear-gradient(135deg,#22c55e,#16a34a);color:#fff;box-shadow:0 2px 8px #22c55e40}.ia-alert-action-btn.resolve:hover{transform:translateY(-1px);box-shadow:0 4px 12px #22c55e59}.ia-sidebar{display:flex;flex-direction:column;gap:1.5rem}.ia-category-list{display:flex;flex-direction:column;gap:.625rem}.ia-category-item{display:flex;align-items:center;gap:.75rem;padding:.875rem 1rem;border-radius:12px;transition:all .3s ease;cursor:pointer;background:linear-gradient(135deg,#f8fafc,#f1f5f9)}.ia-category-item:hover{background:linear-gradient(135deg,#f0f9ff,#e0f2fe);transform:translate(4px)}.ia-category-dot{width:10px;height:10px;border-radius:50%;flex-shrink:0}.ia-category-dot.budget-no-appointment{background:#8b5cf6}.ia-category-dot.treatment-unfinished{background:#f97316}.ia-category-dot.recall-expired{background:#0ea5e9}.ia-category-dot.unpaid-balance{background:#ef4444}.ia-category-dot.low-stock{background:#f59e0b}.ia-category-name{flex:1;font-size:.8125rem;font-weight:600;color:#1e293b;letter-spacing:-.01em}.ia-category-count{min-width:24px;height:24px;border-radius:8px;display:flex;align-items:center;justify-content:center;font-size:.75rem;font-weight:700;background:linear-gradient(135deg,#f3e8ff,#e9d5ff);color:#7c3aed}.ia-history-list{display:flex;flex-direction:column;gap:.625rem}.ia-history-item{display:flex;align-items:center;gap:.75rem;padding:.75rem 1rem;border-radius:12px;background:linear-gradient(135deg,#f8fafc,#f1f5f9);transition:all .2s ease}.ia-history-item:hover{background:linear-gradient(135deg,#f5f3ff,#ede9fe)}.ia-history-icon{width:32px;height:32px;border-radius:8px;background:linear-gradient(135deg,#dcfce7,#bbf7d0);color:#16a34a;display:flex;align-items:center;justify-content:center;flex-shrink:0}.ia-history-icon svg{width:16px;height:16px}.ia-history-info{flex:1;min-width:0}.ia-history-date{font-size:.8125rem;font-weight:600;color:#1e293b;letter-spacing:-.01em}.ia-history-meta{font-size:.75rem;color:#64748b;margin-top:.125rem}.ia-history-duration{font-size:.6875rem;font-weight:600;padding:.2rem .5rem;border-radius:6px;background:#0000000d;color:#64748b}.ia-confidence-meter{padding:.5rem 0}.ia-confidence-bar-container{height:8px;background:#0000000f;border-radius:4px;overflow:hidden;margin-bottom:.5rem}.ia-confidence-bar{height:100%;border-radius:4px;background:linear-gradient(90deg,#8b5cf6,#6366f1,#3b82f6);transition:width 1s cubic-bezier(.4,0,.2,1);box-shadow:0 0 8px #8b5cf666}.ia-confidence-labels{display:flex;justify-content:space-between;font-size:.75rem;color:#64748b}.ia-confidence-value{font-weight:700;color:#7c3aed}.ia-empty-state{text-align:center;padding:3rem 1.5rem;color:#64748b}.ia-empty-icon{width:64px;height:64px;margin:0 auto 1rem;border-radius:16px;background:linear-gradient(135deg,#f5f3ff,#ede9fe);display:flex;align-items:center;justify-content:center;color:#a78bfa}.ia-empty-icon svg{width:28px;height:28px}.ia-empty-text{font-size:.9375rem;font-weight:500}.ia-supervisor.loading{display:flex;align-items:center;justify-content:center;min-height:400px}.ia-loading-spinner{display:flex;flex-direction:column;align-items:center;gap:1rem}.ia-spinner{width:48px;height:48px;border:3px solid rgba(139,92,246,.2);border-top-color:#8b5cf6;border-radius:50%;animation:spin 1s linear infinite}.ia-loading-spinner p{color:#64748b;font-size:.9375rem}@keyframes iaFadeInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@media(max-width:1280px){.ia-stats-grid{grid-template-columns:repeat(2,1fr)}.ia-main-layout{grid-template-columns:1fr}.ia-sidebar{flex-direction:row;flex-wrap:wrap}.ia-sidebar>.ia-card{flex:1;min-width:280px}}@media(max-width:768px){.ia-supervisor{padding:1.25rem}.ia-page-title{font-size:1.5rem}.ia-header-content{flex-direction:column}.ia-header-actions{width:100%;justify-content:flex-start}.ia-stats-grid{gap:1rem}.ia-stat-card{padding:1.25rem}.ia-stat-icon{width:48px;height:48px}.ia-stat-value{font-size:1.5rem}.ia-category-filters{overflow-x:auto;flex-wrap:nowrap;-webkit-overflow-scrolling:touch}.ia-filter-btn{white-space:nowrap}.ia-alert-item{padding:1rem}}@media(max-width:640px){.ia-stats-grid{grid-template-columns:1fr}.ia-sidebar{flex-direction:column}}.ia-pagination{display:flex;align-items:center;justify-content:space-between;padding-top:1rem;margin-top:.75rem;border-top:1px solid #f1f5f9}.ia-pagination-info{font-size:.8rem;color:#64748b}.ia-pagination-controls{display:flex;align-items:center;gap:.35rem}.ia-page-btn{width:30px;height:30px;border:1px solid #e2e8f0;background:#fff;border-radius:6px;cursor:pointer;font-size:.8rem;color:#334155;display:flex;align-items:center;justify-content:center;transition:all .15s ease}.ia-page-btn:hover:not(:disabled){border-color:#0891b2;color:#0891b2}.ia-page-btn.active{background:#0891b2;border-color:#0891b2;color:#fff}.ia-page-btn:disabled{opacity:.5;cursor:not-allowed}.recall-page{min-height:100%;padding-bottom:2rem}.recall-header{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:2rem;flex-wrap:wrap;gap:1.5rem}.recall-header-left h1{font-size:2rem;font-weight:700;color:#0f172a;margin:0 0 .5rem;display:flex;align-items:center;gap:.75rem}.recall-header-left h1:before{content:"";width:4px;height:28px;background:linear-gradient(180deg,#06b6d4,#0891b2);border-radius:4px}.recall-header-left p{color:#64748b;font-size:.95rem;margin:0}.recall-header-right{display:flex;gap:.75rem}.btn-export-recall{display:flex;align-items:center;gap:.5rem;padding:.75rem 1.25rem;background:#fff;color:#475569;border:1px solid #e2e8f0;border-radius:12px;font-size:.875rem;font-weight:500;cursor:pointer;transition:all .2s ease}.btn-export-recall:hover{border-color:#0891b2;color:#0891b2;background:#f0fdfa}.btn-new-recall{display:flex;align-items:center;gap:.5rem;padding:.75rem 1.5rem;background:linear-gradient(135deg,#0891b2,#0e7490);color:#fff;border:none;border-radius:12px;font-size:.875rem;font-weight:600;cursor:pointer;transition:all .3s ease;box-shadow:0 4px 14px #0891b240}.btn-new-recall:hover{background:linear-gradient(135deg,#0e7490,#155e75);transform:translateY(-2px);box-shadow:0 6px 20px #0891b259}.btn-config{display:flex;align-items:center;gap:.5rem;padding:.75rem 1.25rem;background:#fff;color:#475569;border:1px solid #e2e8f0;border-radius:12px;font-size:.875rem;font-weight:500;cursor:pointer;transition:all .2s ease}.btn-config:hover{border-color:#0891b2;color:#0891b2;background:#f0fdfa}.recall-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1.25rem;margin-bottom:2rem}.recall-stat-card{background:#fff;border-radius:16px;padding:1.5rem;display:flex;align-items:center;gap:1rem;box-shadow:0 1px 3px #0000000d;border:1px solid #f1f5f9;transition:all .3s ease}.recall-stat-card:hover{transform:translateY(-2px);box-shadow:0 8px 25px #00000014}.recall-stat-icon{width:52px;height:52px;border-radius:14px;display:flex;align-items:center;justify-content:center;font-size:1.5rem}.recall-stat-icon.total{background:linear-gradient(135deg,#dbeafe,#bfdbfe)}.recall-stat-icon.overdue{background:linear-gradient(135deg,#fee2e2,#fecaca)}.recall-stat-icon.scheduled{background:linear-gradient(135deg,#d1fae5,#a7f3d0)}.recall-stat-icon.adherence{background:linear-gradient(135deg,#e0e7ff,#c7d2fe)}.recall-stat-content h3{font-size:1.75rem;font-weight:700;color:#0f172a;margin:0;line-height:1.2}.recall-stat-content p{font-size:.85rem;color:#64748b;margin:.25rem 0 0}.recall-controls{background:#fff;border-radius:16px;padding:1.25rem;margin-bottom:1.5rem;display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:1rem;box-shadow:0 1px 3px #0000000d;border:1px solid #f1f5f9}.recall-search-box{position:relative;flex:1;max-width:400px}.recall-search-box input{width:100%;padding:.875rem 1rem .875rem 3rem;border:2px solid #e2e8f0;border-radius:12px;font-size:.9rem;transition:all .2s ease;background:#f8fafc}.recall-search-box input:focus{outline:none;border-color:#0891b2;background:#fff;box-shadow:0 0 0 3px #0891b21a}.recall-search-box input::placeholder{color:#94a3b8}.recall-search-icon{position:absolute;left:1rem;top:50%;transform:translateY(-50%);color:#94a3b8;font-size:1.1rem}.recall-filter-tabs{display:flex;background:#f1f5f9;border-radius:10px;padding:4px;gap:4px;flex-wrap:wrap}.recall-filter-tab{padding:.625rem 1rem;border:none;background:transparent;border-radius:8px;font-size:.8rem;font-weight:500;color:#64748b;cursor:pointer;transition:all .2s ease;white-space:nowrap}.recall-filter-tab:hover{color:#0891b2}.recall-filter-tab.active{background:#fff;color:#0891b2;box-shadow:0 1px 3px #0000001a}.recall-table-wrapper{background:#fff;border-radius:16px;overflow:hidden;box-shadow:0 1px 3px #0000000d;border:1px solid #f1f5f9}.recall-table{width:100%;border-collapse:collapse}.recall-table thead th{background:#f8fafc;padding:1rem 1.25rem;font-size:.8rem;font-weight:600;color:#64748b;text-transform:uppercase;letter-spacing:.5px;text-align:left;border-bottom:1px solid #e2e8f0;white-space:nowrap}.recall-table tbody tr{transition:all .2s ease}.recall-table tbody tr:hover{background:#f0fdfa}.recall-table tbody td{padding:1rem 1.25rem;font-size:.9rem;color:#334155;border-bottom:1px solid #f1f5f9;vertical-align:middle}.recall-patient-cell{display:flex;flex-direction:column;gap:.15rem}.recall-patient-name{font-weight:600;color:#0f172a}.recall-patient-contact{font-size:.8rem;color:#94a3b8}.recall-badge{display:inline-flex;align-items:center;gap:.35rem;padding:.35rem .75rem;border-radius:20px;font-size:.75rem;font-weight:600;white-space:nowrap}.recall-badge.pending{background:#fef3c7;color:#92400e}.recall-badge.contacted{background:#dbeafe;color:#1e40af}.recall-badge.scheduled{background:#d1fae5;color:#065f46}.recall-badge.not_contacted{background:#f1f5f9;color:#64748b}.recall-badge.rejected{background:#fee2e2;color:#dc2626}.recall-badge.completed{background:#ccfbf1;color:#0d9488}.recall-badge.overdue{background:#fee2e2;color:#b91c1c}.recall-badge.protocol-3{background:#fef3c7;color:#92400e}.recall-badge.protocol-4{background:#e0e7ff;color:#4338ca}.recall-badge.protocol-6{background:#dbeafe;color:#1e40af}.recall-actions{display:flex;gap:.5rem}.recall-action-btn{width:34px;height:34px;border:1px solid #e2e8f0;background:#fff;border-radius:8px;display:flex;align-items:center;justify-content:center;cursor:pointer;color:#64748b;font-size:.9rem;transition:all .2s ease}.recall-action-btn:hover{border-color:#0891b2;color:#0891b2;background:#f0fdfa}.recall-action-btn.status-btn:hover{border-color:#0891b2;color:#0891b2}.recall-action-btn.edit-btn:hover{border-color:#f59e0b;color:#f59e0b;background:#fffbeb}.recall-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:4rem 2rem;gap:1rem}.recall-loading-spinner{width:50px;height:50px;border:3px solid #e2e8f0;border-top-color:#0891b2;border-radius:50%;animation:recallSpin 1s linear infinite}@keyframes recallSpin{to{transform:rotate(360deg)}}.recall-loading p{color:#64748b;font-size:.95rem}.recall-empty{text-align:center;padding:4rem 2rem;background:#fff;border-radius:20px;border:2px dashed #e2e8f0}.recall-empty-icon{width:100px;height:100px;background:linear-gradient(135deg,#f0fdfa,#ecfeff);border-radius:50%;display:flex;align-items:center;justify-content:center;margin:0 auto 1.5rem;font-size:2.5rem}.recall-empty h3{font-size:1.25rem;color:#0f172a;margin:0 0 .5rem}.recall-empty p{color:#64748b;margin:0 0 1.5rem}.recall-pagination{display:flex;align-items:center;justify-content:space-between;padding:1.5rem 0;margin-top:1rem;flex-wrap:wrap;gap:1rem}.recall-pagination-info{font-size:.875rem;color:#64748b}.recall-pagination-info strong{color:#0f172a}.recall-pagination-controls{display:flex;align-items:center;gap:.5rem}.recall-pagination-btn{min-width:40px;height:40px;padding:0 .75rem;border:1px solid #e2e8f0;background:#fff;border-radius:10px;font-size:.875rem;font-weight:500;color:#475569;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;justify-content:center}.recall-pagination-btn:hover:not(:disabled){border-color:#0891b2;color:#0891b2}.recall-pagination-btn:disabled{opacity:.5;cursor:not-allowed}.recall-pagination-btn.active{background:linear-gradient(135deg,#0891b2,#0e7490);border-color:#0891b2;color:#fff}.recall-modal-overlay{position:fixed;inset:0;background:#0f172a99;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:1000;padding:1rem}.recall-modal{background:#fff;border-radius:24px;width:100%;max-width:600px;max-height:90vh;overflow:hidden;box-shadow:0 25px 50px #00000040;animation:recallModalSlideIn .3s ease}.recall-modal.wide{max-width:700px}@keyframes recallModalSlideIn{0%{opacity:0;transform:translateY(-20px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}.recall-modal-header{padding:1.5rem 2rem;background:linear-gradient(135deg,#f0fdfa,#ecfeff);border-bottom:1px solid #e2e8f0;display:flex;align-items:center;justify-content:space-between}.recall-modal-header h2{font-size:1.25rem;font-weight:700;color:#0f172a;margin:0;display:flex;align-items:center;gap:.75rem}.recall-modal-close{width:36px;height:36px;border:none;background:#fff;border-radius:10px;cursor:pointer;display:flex;align-items:center;justify-content:center;color:#64748b;font-size:1.25rem;transition:all .2s ease;box-shadow:0 1px 3px #0000001a}.recall-modal-close:hover{background:#fee2e2;color:#dc2626}.recall-modal-body{padding:2rem;max-height:60vh;overflow-y:auto}.recall-form-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem}.recall-form-group{display:flex;flex-direction:column;gap:.5rem}.recall-form-group.full-width{grid-column:1 / -1}.recall-form-label{font-size:.85rem;font-weight:500;color:#374151}.recall-form-input,.recall-form-select{padding:.75rem 1rem;border:2px solid #e2e8f0;border-radius:10px;font-size:.9rem;transition:all .2s ease;background:#f8fafc}.recall-form-input:focus,.recall-form-select:focus{outline:none;border-color:#0891b2;background:#fff;box-shadow:0 0 0 3px #0891b21a}.recall-form-textarea{padding:.75rem 1rem;border:2px solid #e2e8f0;border-radius:10px;font-size:.9rem;min-height:80px;resize:vertical;transition:all .2s ease;background:#f8fafc;font-family:inherit}.recall-form-textarea:focus{outline:none;border-color:#0891b2;background:#fff;box-shadow:0 0 0 3px #0891b21a}.recall-modal-footer{padding:1.25rem 2rem;background:#f8fafc;border-top:1px solid #e2e8f0;display:flex;justify-content:flex-end;gap:.75rem}.recall-btn-cancel{padding:.75rem 1.5rem;border:1px solid #e2e8f0;background:#fff;border-radius:10px;font-size:.875rem;font-weight:500;color:#64748b;cursor:pointer;transition:all .2s ease}.recall-btn-cancel:hover{border-color:#94a3b8;color:#334155}.recall-btn-save{padding:.75rem 1.5rem;background:linear-gradient(135deg,#0891b2,#0e7490);color:#fff;border:none;border-radius:10px;font-size:.875rem;font-weight:600;cursor:pointer;transition:all .3s ease;box-shadow:0 4px 14px #0891b240}.recall-btn-save:hover{background:linear-gradient(135deg,#0e7490,#155e75);transform:translateY(-1px);box-shadow:0 6px 20px #0891b259}.recall-btn-save:disabled{opacity:.6;cursor:not-allowed;transform:none}.recall-config-section{margin-bottom:1.5rem}.recall-config-section h3{font-size:.85rem;font-weight:600;color:#0891b2;text-transform:uppercase;letter-spacing:.5px;margin:0 0 1rem}.recall-config-toggle{display:flex;align-items:center;justify-content:space-between;padding:1rem;background:#f8fafc;border-radius:12px;margin-bottom:1rem}.recall-config-toggle-label{display:flex;flex-direction:column;gap:.25rem}.recall-config-toggle-label span:first-child{font-weight:600;color:#0f172a;font-size:.9rem}.recall-config-toggle-label span:last-child{font-size:.8rem;color:#64748b}.toggle-switch{position:relative;width:48px;height:26px;background:#e2e8f0;border-radius:13px;cursor:pointer;transition:all .3s ease;border:none}.toggle-switch.active{background:#0891b2}.toggle-switch:after{content:"";position:absolute;width:20px;height:20px;background:#fff;border-radius:50%;top:3px;left:3px;transition:all .3s ease;box-shadow:0 1px 3px #0003}.toggle-switch.active:after{left:25px}.patient-selector-wrapper{position:relative}.patient-selector-dropdown{position:absolute;top:100%;left:0;right:0;background:#fff;border:2px solid #e2e8f0;border-top:none;border-radius:0 0 10px 10px;max-height:200px;overflow-y:auto;z-index:10;box-shadow:0 4px 12px #0000001a}.patient-selector-item{padding:.75rem 1rem;cursor:pointer;transition:all .15s ease;display:flex;flex-direction:column;gap:.15rem;border-bottom:1px solid #f1f5f9}.patient-selector-item:hover{background:#f0fdfa}.patient-selector-item .name{font-weight:600;color:#0f172a;font-size:.9rem}.patient-selector-item .detail{font-size:.8rem;color:#94a3b8}@keyframes recallFadeInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.recall-page>*{animation:recallFadeInUp .4s ease forwards}.recall-page>*:nth-child(1){animation-delay:.05s}.recall-page>*:nth-child(2){animation-delay:.1s}.recall-page>*:nth-child(3){animation-delay:.15s}.recall-page>*:nth-child(4){animation-delay:.2s}.recall-page>*:nth-child(5){animation-delay:.25s}@media(max-width:768px){.recall-header{flex-direction:column}.recall-controls{flex-direction:column;align-items:stretch}.recall-search-box{max-width:100%}.recall-filter-tabs{overflow-x:auto;-webkit-overflow-scrolling:touch}.recall-form-grid{grid-template-columns:1fr}.recall-table-wrapper{overflow-x:auto}.recall-stats{grid-template-columns:repeat(2,1fr)}}@keyframes rvFadeIn{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@keyframes rvSlideIn{0%{opacity:0;transform:translate(-8px)}to{opacity:1;transform:translate(0)}}@keyframes rvPulse{0%,to{opacity:1}50%{opacity:.6}}.rv-page{animation:rvFadeIn .5s ease;padding:0}.rv-header{background:linear-gradient(135deg,#1e3a5f,#0891b2);border-radius:20px;padding:2rem 2.5rem;margin-bottom:1.5rem;position:relative;overflow:hidden}.rv-header:before{content:"";position:absolute;top:-50%;right:-10%;width:300px;height:300px;background:radial-gradient(circle,rgba(255,255,255,.08) 0%,transparent 70%);border-radius:50%}.rv-header-content{display:flex;align-items:center;justify-content:space-between;position:relative;z-index:1}.rv-header-left{display:flex;align-items:center;gap:1.25rem}.rv-header-icon{width:56px;height:56px;background:#ffffff26;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:16px;display:flex;align-items:center;justify-content:center;font-size:1.75rem}.rv-header-text h1{color:#fff;font-size:1.6rem;font-weight:700;margin:0;letter-spacing:-.02em}.rv-header-text p{color:#ffffffb3;font-size:.875rem;margin:.25rem 0 0}.rv-btn-primary{display:flex;align-items:center;gap:.5rem;padding:.75rem 1.5rem;background:#ffffff26;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.25);border-radius:12px;color:#fff;font-size:.875rem;font-weight:600;cursor:pointer;transition:all .2s ease}.rv-btn-primary:hover{background:#ffffff40;transform:translateY(-1px)}.rv-btn-primary svg{width:18px;height:18px}.rv-stats-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem;margin-bottom:1.5rem}.rv-stat-card{background:#fff;border-radius:16px;padding:1.25rem;display:flex;align-items:center;gap:1rem;box-shadow:0 1px 3px #0000000f;border:1px solid #f1f5f9;position:relative;overflow:hidden;animation:rvFadeIn .5s ease}.rv-stat-card:nth-child(1){animation-delay:.05s}.rv-stat-card:nth-child(2){animation-delay:.1s}.rv-stat-card:nth-child(3){animation-delay:.15s}.rv-stat-card:nth-child(4){animation-delay:.2s}.rv-stat-card:before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;border-radius:0 4px 4px 0}.rv-stat-card.stat-rating:before{background:linear-gradient(180deg,#d97706,#f59e0b)}.rv-stat-card.stat-total:before{background:linear-gradient(180deg,#059669,#10b981)}.rv-stat-card.stat-requests:before{background:linear-gradient(180deg,#2563eb,#3b82f6)}.rv-stat-card.stat-alerts:before{background:linear-gradient(180deg,#dc2626,#ef4444)}.rv-stat-icon{width:44px;height:44px;border-radius:12px;display:flex;align-items:center;justify-content:center;font-size:1.25rem;flex-shrink:0}.stat-rating .rv-stat-icon{background:#fffbeb}.stat-total .rv-stat-icon{background:#ecfdf5}.stat-requests .rv-stat-icon{background:#eff6ff}.stat-alerts .rv-stat-icon{background:#fef2f2}.rv-stat-content{flex:1;min-width:0}.rv-stat-value{font-size:1.5rem;font-weight:700;color:#1e293b;line-height:1}.rv-stat-label{font-size:.75rem;color:#64748b;margin-top:.25rem;font-weight:500}.rv-tabs{display:flex;gap:.5rem;margin-bottom:1.5rem;background:#f1f5f9;padding:.35rem;border-radius:14px;width:fit-content}.rv-tab{padding:.6rem 1.25rem;border:none;border-radius:10px;font-size:.85rem;font-weight:500;color:#64748b;background:transparent;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;gap:.5rem}.rv-tab:hover{color:#1e293b;background:#ffffff80}.rv-tab.active{background:linear-gradient(135deg,#1e3a5f,#0891b2);color:#fff;box-shadow:0 2px 8px #1e3a5f4d}.rv-tab-badge{font-size:.7rem;background:#fff3;padding:.1rem .45rem;border-radius:8px;font-weight:600}.rv-tab.active .rv-tab-badge{background:#ffffff40}.rv-filters{display:flex;align-items:center;gap:.75rem;margin-bottom:1.25rem;flex-wrap:wrap}.rv-search{position:relative;flex:1;min-width:240px;max-width:400px}.rv-search-icon{position:absolute;left:.875rem;top:50%;transform:translateY(-50%);color:#94a3b8;width:16px;height:16px}.rv-search input{width:100%;padding:.65rem .875rem .65rem 2.5rem;border:1px solid #e2e8f0;border-radius:10px;font-size:.85rem;color:#1e293b;background:#fff;transition:all .2s ease;outline:none}.rv-search input:focus{border-color:#0891b2;box-shadow:0 0 0 3px #0891b21a}.rv-search input::placeholder{color:#94a3b8}.rv-filter-select{padding:.65rem 2rem .65rem .875rem;border:1px solid #e2e8f0;border-radius:10px;font-size:.85rem;color:#1e293b;background:#fff;cursor:pointer;outline:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%2394a3b8' stroke-width='2.5'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right .75rem center;transition:all .2s ease}.rv-filter-select:focus{border-color:#0891b2;box-shadow:0 0 0 3px #0891b21a}.rv-reviews-list{display:flex;flex-direction:column;gap:1rem;animation:rvFadeIn .5s ease .1s both}.rv-review-card{background:#fff;border-radius:16px;border:1px solid #f1f5f9;box-shadow:0 1px 3px #0000000f;padding:1.25rem 1.5rem;transition:all .2s ease}.rv-review-card:hover{box-shadow:0 4px 12px #00000014}.rv-review-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:.75rem}.rv-review-header-left{display:flex;align-items:center;gap:.75rem}.rv-review-avatar{width:40px;height:40px;border-radius:50%;background:linear-gradient(135deg,#1e3a5f,#0891b2);display:flex;align-items:center;justify-content:center;color:#fff;font-weight:700;font-size:.85rem;flex-shrink:0}.rv-review-info{display:flex;flex-direction:column;gap:.1rem}.rv-review-patient{font-weight:600;color:#1e293b;font-size:.9rem}.rv-review-date{font-size:.75rem;color:#94a3b8}.rv-review-header-right{display:flex;align-items:center;gap:.75rem}.rv-stars{display:flex;gap:.1rem}.rv-star{color:#e2e8f0;font-size:1rem;line-height:1}.rv-star.filled{color:#f59e0b}.rv-review-body{margin-bottom:.75rem}.rv-review-text{font-size:.85rem;color:#475569;line-height:1.6;margin:0}.rv-review-response{margin-top:.75rem;padding:.75rem 1rem;background:#f0fdfa;border-radius:10px;border-left:3px solid #0891b2}.rv-review-response-label{font-size:.7rem;font-weight:600;color:#0891b2;text-transform:uppercase;letter-spacing:.05em;margin-bottom:.25rem}.rv-review-response-text{font-size:.8rem;color:#334155;line-height:1.5;margin:0}.rv-review-footer{display:flex;align-items:center;justify-content:space-between;padding-top:.75rem;border-top:1px solid #f1f5f9}.rv-review-source{font-size:.75rem;color:#94a3b8;display:flex;align-items:center;gap:.35rem}.rv-status-badge{display:inline-flex;align-items:center;gap:.35rem;padding:.3rem .75rem;border-radius:20px;font-size:.75rem;font-weight:600;white-space:nowrap}.rv-status-badge.responded{background:#ecfdf5;color:#059669}.rv-status-badge.pending{background:#fffbeb;color:#d97706;animation:rvPulse 2s ease infinite}.rv-status-badge.sent{background:#eff6ff;color:#2563eb}.rv-status-badge.opened{background:#f5f3ff;color:#7c3aed}.rv-status-badge.completed{background:#ecfdf5;color:#059669}.rv-status-badge.ignored{background:#f1f5f9;color:#64748b}.rv-status-dot{width:6px;height:6px;border-radius:50%;background:currentColor}.rv-action-btn{padding:.4rem .75rem;border:1px solid #e2e8f0;border-radius:8px;font-size:.75rem;font-weight:500;color:#475569;background:#fff;cursor:pointer;transition:all .2s ease;display:inline-flex;align-items:center;gap:.35rem}.rv-action-btn:hover{border-color:#0891b2;color:#0891b2;background:#f0fdfa}.rv-table-container{background:#fff;border-radius:16px;border:1px solid #f1f5f9;box-shadow:0 1px 3px #0000000f;overflow:hidden;animation:rvFadeIn .5s ease .1s both}.rv-table{width:100%;border-collapse:collapse}.rv-table thead{background:#f8fafc;border-bottom:1px solid #e2e8f0}.rv-table th{padding:.875rem 1rem;text-align:left;font-size:.75rem;font-weight:600;color:#64748b;text-transform:uppercase;letter-spacing:.05em;white-space:nowrap}.rv-table td{padding:.875rem 1rem;font-size:.85rem;color:#334155;border-bottom:1px solid #f1f5f9;vertical-align:middle}.rv-table tbody tr{transition:background .15s ease}.rv-table tbody tr:hover{background:#f8fafc}.rv-table tbody tr:last-child td{border-bottom:none}.rv-patient-name{font-weight:600;color:#1e293b}.rv-channel-badge{display:inline-flex;align-items:center;gap:.35rem;padding:.25rem .65rem;border-radius:8px;font-size:.75rem;font-weight:500}.rv-channel-badge.sms{background:#eff6ff;color:#2563eb}.rv-channel-badge.email{background:#f5f3ff;color:#7c3aed}.rv-channel-badge.whatsapp{background:#ecfdf5;color:#059669}.rv-stats-container{animation:rvFadeIn .5s ease .1s both;display:grid;grid-template-columns:1fr 1fr;gap:1.5rem}.rv-stats-panel{background:#fff;border-radius:16px;border:1px solid #f1f5f9;box-shadow:0 1px 3px #0000000f;padding:1.5rem}.rv-stats-panel-title{font-size:.9rem;font-weight:700;color:#1e293b;margin-bottom:1.25rem}.rv-monthly-bars{display:flex;flex-direction:column;gap:.75rem}.rv-monthly-row{display:flex;align-items:center;gap:.75rem}.rv-monthly-label{font-size:.75rem;color:#64748b;width:70px;flex-shrink:0;font-weight:500}.rv-monthly-bars-wrapper{flex:1;display:flex;flex-direction:column;gap:.25rem}.rv-bar-track{height:8px;background:#f1f5f9;border-radius:4px;overflow:hidden}.rv-bar-fill{height:100%;border-radius:4px;transition:width .5s ease}.rv-bar-fill.requested{background:linear-gradient(90deg,#2563eb,#3b82f6)}.rv-bar-fill.obtained{background:linear-gradient(90deg,#059669,#10b981)}.rv-monthly-value{font-size:.7rem;color:#94a3b8;width:40px;text-align:right;flex-shrink:0}.rv-bar-legend{display:flex;gap:1rem;margin-top:.75rem}.rv-legend-item{display:flex;align-items:center;gap:.35rem;font-size:.7rem;color:#64748b}.rv-legend-dot{width:8px;height:8px;border-radius:2px}.rv-legend-dot.requested{background:#3b82f6}.rv-legend-dot.obtained{background:#10b981}.rv-star-distribution{display:flex;flex-direction:column;gap:.6rem}.rv-star-row{display:flex;align-items:center;gap:.75rem}.rv-star-row-label{font-size:.8rem;font-weight:600;color:#1e293b;width:20px;text-align:center;flex-shrink:0}.rv-star-row-icon{color:#f59e0b;font-size:.85rem;flex-shrink:0}.rv-star-row-bar{flex:1;height:10px;background:#f1f5f9;border-radius:5px;overflow:hidden}.rv-star-row-fill{height:100%;border-radius:5px;background:linear-gradient(90deg,#f59e0b,#fbbf24);transition:width .5s ease}.rv-star-row-count{font-size:.75rem;color:#64748b;width:24px;text-align:right;flex-shrink:0}.rv-conversion-value{font-size:2.5rem;font-weight:800;background:linear-gradient(135deg,#1e3a5f,#0891b2);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;text-align:center;margin-bottom:.5rem}.rv-conversion-label{font-size:.85rem;color:#64748b;text-align:center}.rv-evolution-list{display:flex;flex-direction:column;gap:.5rem}.rv-evolution-row{display:flex;align-items:center;justify-content:space-between;padding:.5rem .75rem;border-radius:8px;background:#f8fafc}.rv-evolution-month{font-size:.8rem;color:#64748b;font-weight:500}.rv-evolution-rating{font-size:.85rem;font-weight:700;color:#1e293b;display:flex;align-items:center;gap:.25rem}.rv-evolution-star{color:#f59e0b;font-size:.8rem}.rv-config-container{animation:rvFadeIn .5s ease .1s both;display:flex;flex-direction:column;gap:1.5rem}.rv-config-section{background:#fff;border-radius:16px;border:1px solid #f1f5f9;box-shadow:0 1px 3px #0000000f;padding:1.5rem}.rv-config-section-title{font-size:.9rem;font-weight:700;color:#1e293b;margin-bottom:1.25rem;display:flex;align-items:center;gap:.5rem}.rv-config-row{display:flex;align-items:center;justify-content:space-between;padding:.75rem 0;border-bottom:1px solid #f1f5f9}.rv-config-row:last-child{border-bottom:none}.rv-config-label{display:flex;flex-direction:column;gap:.15rem}.rv-config-label-text{font-size:.85rem;font-weight:600;color:#1e293b}.rv-config-label-desc{font-size:.75rem;color:#94a3b8}.rv-toggle{position:relative;width:42px;height:24px;background:#e2e8f0;border-radius:12px;cursor:pointer;transition:all .2s ease;border:none;padding:0}.rv-toggle.active{background:linear-gradient(135deg,#059669,#10b981)}.rv-toggle:after{content:"";position:absolute;top:2px;left:2px;width:20px;height:20px;background:#fff;border-radius:50%;transition:all .2s ease;box-shadow:0 1px 3px #00000026}.rv-toggle.active:after{left:20px}.rv-config-input{padding:.5rem .75rem;border:1px solid #e2e8f0;border-radius:8px;font-size:.85rem;color:#1e293b;background:#fff;outline:none;transition:all .2s ease;width:200px}.rv-config-input:focus{border-color:#0891b2;box-shadow:0 0 0 3px #0891b21a}.rv-config-input.small{width:80px;text-align:center}.rv-config-templates{display:flex;flex-direction:column;gap:1rem}.rv-template-group{display:flex;flex-direction:column;gap:.35rem}.rv-template-label{font-size:.8rem;font-weight:600;color:#475569;display:flex;align-items:center;gap:.35rem}.rv-template-textarea{width:100%;padding:.65rem .875rem;border:1px solid #e2e8f0;border-radius:10px;font-size:.85rem;color:#1e293b;background:#fff;transition:all .2s ease;outline:none;font-family:inherit;min-height:70px;resize:vertical}.rv-template-textarea:focus{border-color:#0891b2;box-shadow:0 0 0 3px #0891b21a}.rv-config-save-row{display:flex;justify-content:flex-end;padding-top:.5rem}.rv-btn-save{padding:.65rem 1.5rem;border:none;border-radius:10px;font-size:.85rem;font-weight:600;color:#fff;background:linear-gradient(135deg,#1e3a5f,#0891b2);cursor:pointer;transition:all .2s ease}.rv-btn-save:hover{box-shadow:0 4px 12px #0891b24d;transform:translateY(-1px)}.rv-modal-overlay{position:fixed;inset:0;background:#0f172a99;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:1000;animation:rvFadeIn .2s ease;padding:1rem}.rv-modal{background:#fff;border-radius:20px;box-shadow:0 25px 50px #00000026;width:100%;max-width:560px;max-height:90vh;overflow-y:auto;animation:rvFadeIn .3s ease}.rv-modal-header{padding:1.5rem 1.5rem 0;display:flex;align-items:center;justify-content:space-between}.rv-modal-header-left{display:flex;align-items:center;gap:.75rem}.rv-modal-icon{width:42px;height:42px;border-radius:12px;display:flex;align-items:center;justify-content:center;font-size:1.25rem;background:linear-gradient(135deg,#1e3a5f,#0891b2)}.rv-modal-title{font-size:1.15rem;font-weight:700;color:#1e293b;margin:0}.rv-modal-close{width:32px;height:32px;border:none;background:#f1f5f9;border-radius:8px;color:#64748b;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s ease;font-size:1.1rem}.rv-modal-close:hover{background:#e2e8f0;color:#1e293b}.rv-modal-body{padding:1.5rem}.rv-modal-footer{padding:0 1.5rem 1.5rem;display:flex;gap:.75rem;justify-content:flex-end}.rv-form-group{margin-bottom:1rem}.rv-form-label{display:block;font-size:.8rem;font-weight:600;color:#475569;margin-bottom:.4rem}.rv-form-input,.rv-form-select,.rv-form-textarea{width:100%;padding:.65rem .875rem;border:1px solid #e2e8f0;border-radius:10px;font-size:.85rem;color:#1e293b;background:#fff;transition:all .2s ease;outline:none;font-family:inherit}.rv-form-input:focus,.rv-form-select:focus,.rv-form-textarea:focus{border-color:#0891b2;box-shadow:0 0 0 3px #0891b21a}.rv-form-textarea{min-height:80px;resize:vertical}.rv-btn-cancel{padding:.65rem 1.25rem;border:1px solid #e2e8f0;border-radius:10px;font-size:.85rem;font-weight:500;color:#64748b;background:#fff;cursor:pointer;transition:all .2s ease}.rv-btn-cancel:hover{background:#f8fafc;border-color:#cbd5e1}.rv-btn-confirm{padding:.65rem 1.25rem;border:none;border-radius:10px;font-size:.85rem;font-weight:600;color:#fff;background:linear-gradient(135deg,#1e3a5f,#0891b2);cursor:pointer;transition:all .2s ease}.rv-btn-confirm:hover{box-shadow:0 4px 12px #0891b24d;transform:translateY(-1px)}.rv-modal-review-preview{padding:1rem;background:#f8fafc;border-radius:10px;margin-bottom:1rem;border:1px solid #f1f5f9}.rv-modal-review-preview .rv-review-patient{font-size:.85rem}.rv-modal-review-preview .rv-review-text{font-size:.8rem;margin-top:.35rem}.rv-empty{text-align:center;padding:3rem 1.5rem;color:#94a3b8}.rv-empty-icon{font-size:2.5rem;margin-bottom:.75rem}.rv-empty-title{font-size:1rem;font-weight:600;color:#64748b;margin-bottom:.25rem}.rv-empty-text{font-size:.85rem}@media(max-width:1024px){.rv-stats-grid{grid-template-columns:repeat(2,1fr)}.rv-stats-container{grid-template-columns:1fr}.rv-table-container{overflow-x:auto}.rv-table{min-width:700px}}@media(max-width:768px){.rv-header{padding:1.5rem;border-radius:16px}.rv-header-content{flex-direction:column;align-items:flex-start;gap:1rem}.rv-btn-primary{width:100%;justify-content:center}.rv-tabs{width:100%;overflow-x:auto}.rv-filters{flex-direction:column;align-items:stretch}.rv-search{max-width:100%}.rv-review-header{flex-direction:column;align-items:flex-start;gap:.5rem}.rv-review-header-right{align-self:flex-end}}@media(max-width:480px){.rv-stats-grid{grid-template-columns:1fr}.rv-header-text h1{font-size:1.25rem}.rv-config-row{flex-direction:column;align-items:flex-start;gap:.5rem}.rv-config-input{width:100%}}.satisfaccion-page{display:flex;flex-direction:column;gap:2rem;animation:satisfaccionFadeIn .5s ease}@keyframes satisfaccionFadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.satisfaccion-header{display:flex;justify-content:space-between;align-items:flex-start;flex-wrap:wrap;gap:1.5rem}.satisfaccion-header-content h1{font-size:2rem;font-weight:700;background:linear-gradient(135deg,#4f46e5,#0891b2);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;margin-bottom:.5rem}.satisfaccion-header-content p{color:#64748b;font-size:1rem}.satisfaccion-header-actions{display:flex;gap:.75rem;flex-wrap:wrap}.satisfaccion-header-actions .btn-outline-premium{display:flex;align-items:center;gap:.5rem;padding:.75rem 1.25rem;background:#fff;color:#4f46e5;border:2px solid #4f46e5;border-radius:12px;font-size:.9rem;font-weight:600;cursor:pointer;transition:all .3s ease}.satisfaccion-header-actions .btn-outline-premium:hover{background:#4f46e5;color:#fff;transform:translateY(-2px)}.satisfaccion-kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:1.5rem}.satisfaccion-kpi-card{background:#fff;border-radius:20px;padding:1.75rem;position:relative;overflow:hidden;transition:all .4s cubic-bezier(.4,0,.2,1);box-shadow:0 4px 20px #0000000d;border:1px solid rgba(0,0,0,.05)}.satisfaccion-kpi-card:before{content:"";position:absolute;top:0;left:0;right:0;height:4px;background:linear-gradient(90deg,var(--kpi-accent),var(--kpi-accent-light))}.satisfaccion-kpi-card:hover{transform:translateY(-5px);box-shadow:0 12px 30px #0000001a}.satisfaccion-kpi-card.nps{--kpi-accent: #4f46e5;--kpi-accent-light: #818cf8}.satisfaccion-kpi-card.response-rate{--kpi-accent: #0891b2;--kpi-accent-light: #22d3ee}.satisfaccion-kpi-card.promoters{--kpi-accent: #10b981;--kpi-accent-light: #34d399}.satisfaccion-kpi-card.alerts{--kpi-accent: #ef4444;--kpi-accent-light: #f87171}.satisfaccion-kpi-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.satisfaccion-kpi-icon{width:48px;height:48px;border-radius:14px;display:flex;align-items:center;justify-content:center;font-size:1.4rem;background:linear-gradient(135deg,var(--kpi-accent),var(--kpi-accent-light));color:#fff;box-shadow:0 4px 12px #0000001a}.satisfaccion-kpi-body h3{font-size:2rem;font-weight:800;color:#1e293b;margin-bottom:.25rem}.satisfaccion-kpi-body p{font-size:.85rem;color:#64748b;font-weight:500}.satisfaccion-tabs-nav{display:flex;gap:.5rem;padding:.5rem;background:#fff;border-radius:16px;box-shadow:0 4px 20px #0000000d;border:1px solid rgba(0,0,0,.05);overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none}.satisfaccion-tabs-nav::-webkit-scrollbar{display:none}.satisfaccion-tab-btn{display:flex;align-items:center;gap:.5rem;padding:.75rem 1.5rem;background:transparent;border:none;border-radius:12px;font-size:.9rem;font-weight:600;color:#64748b;cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1);white-space:nowrap}.satisfaccion-tab-btn:hover{color:#4f46e5;background:#4f46e50d}.satisfaccion-tab-btn.active{background:linear-gradient(135deg,#4f46e5,#6366f1);color:#fff;box-shadow:0 4px 15px #4f46e54d}.satisfaccion-tab-icon{font-size:1.1rem}.satisfaccion-tab-content{animation:satisfaccionFadeIn .3s ease}.nps-gauge-container{background:#fff;border-radius:20px;padding:2rem;box-shadow:0 4px 20px #0000000d;border:1px solid rgba(0,0,0,.05);text-align:center}.nps-gauge-container h3{font-size:1.1rem;font-weight:700;color:#1e293b;margin-bottom:1.5rem}.nps-gauge-value{font-size:4rem;font-weight:900;margin-bottom:.5rem}.nps-gauge-value.excellent{background:linear-gradient(135deg,#10b981,#34d399);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.nps-gauge-value.good{background:linear-gradient(135deg,#f59e0b,#fbbf24);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.nps-gauge-value.poor{background:linear-gradient(135deg,#ef4444,#f87171);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.nps-gauge-label{font-size:.9rem;color:#64748b;font-weight:500;margin-bottom:1.5rem}.nps-distribution-bar{display:flex;height:32px;border-radius:16px;overflow:hidden;margin-bottom:1rem}.nps-bar-segment{display:flex;align-items:center;justify-content:center;font-size:.75rem;font-weight:700;color:#fff;transition:all .4s ease;min-width:0}.nps-bar-segment.promoter{background:linear-gradient(135deg,#10b981,#34d399)}.nps-bar-segment.passive{background:linear-gradient(135deg,#f59e0b,#fbbf24)}.nps-bar-segment.detractor{background:linear-gradient(135deg,#ef4444,#f87171)}.nps-distribution-legend{display:flex;justify-content:center;gap:2rem;margin-top:1rem}.nps-legend-item{display:flex;align-items:center;gap:.5rem;font-size:.85rem;color:#475569;font-weight:500}.nps-legend-dot{width:10px;height:10px;border-radius:50%}.nps-legend-dot.promoter{background:#10b981}.nps-legend-dot.passive{background:#f59e0b}.nps-legend-dot.detractor{background:#ef4444}.satisfaccion-panel-grid{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem}.satisfaccion-section{background:#fff;border-radius:20px;padding:1.75rem;box-shadow:0 4px 20px #0000000d;border:1px solid rgba(0,0,0,.05)}.satisfaccion-section h3{font-size:1.1rem;font-weight:700;color:#1e293b;margin-bottom:1.25rem;display:flex;align-items:center;gap:.5rem}.satisfaccion-table{width:100%;border-collapse:separate;border-spacing:0}.satisfaccion-table thead{background:linear-gradient(180deg,#f8fafc,#f1f5f9)}.satisfaccion-table th{padding:.85rem 1rem;text-align:left;font-size:.75rem;font-weight:700;color:#475569;text-transform:uppercase;letter-spacing:.08em;border-bottom:2px solid #e2e8f0}.satisfaccion-table td{padding:.85rem 1rem;font-size:.88rem;color:#334155;border-bottom:1px solid #f1f5f9}.satisfaccion-table tbody tr{transition:background .2s ease}.satisfaccion-table tbody tr:hover{background:linear-gradient(90deg,rgba(79,70,229,.03) 0%,transparent 100%)}.nps-badge{display:inline-flex;align-items:center;gap:.4rem;padding:.35rem .85rem;border-radius:10px;font-size:.8rem;font-weight:600}.nps-badge.promoter{background:linear-gradient(135deg,#dcfce7,#d1fae5);color:#15803d}.nps-badge.passive{background:linear-gradient(135deg,#fef3c7,#fef9c3);color:#b45309}.nps-badge.detractor{background:linear-gradient(135deg,#fee2e2,#fecaca);color:#b91c1c}.nps-score-inline{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:10px;font-size:.85rem;font-weight:700;color:#fff}.nps-score-inline.promoter{background:#10b981}.nps-score-inline.passive{background:#f59e0b}.nps-score-inline.detractor{background:#ef4444}.status-badge-satisfaccion{display:inline-flex;align-items:center;gap:.4rem;padding:.35rem .85rem;border-radius:10px;font-size:.8rem;font-weight:600}.status-badge-satisfaccion.completed{background:linear-gradient(135deg,#dcfce7,#d1fae5);color:#15803d}.status-badge-satisfaccion.pending{background:linear-gradient(135deg,#fef3c7,#fef9c3);color:#b45309}.status-badge-satisfaccion.expired{background:linear-gradient(135deg,#f1f5f9,#e2e8f0);color:#64748b}.satisfaccion-filters{display:flex;gap:1rem;align-items:center;flex-wrap:wrap;margin-bottom:1.5rem}.satisfaccion-filter-tabs{display:flex;gap:.25rem;background:#f1f5f9;border-radius:10px;padding:.25rem}.satisfaccion-filter-tab{padding:.5rem 1rem;background:transparent;border:none;border-radius:8px;font-size:.85rem;font-weight:600;color:#64748b;cursor:pointer;transition:all .2s ease}.satisfaccion-filter-tab.active{background:#fff;color:#4f46e5;box-shadow:0 2px 8px #00000014}.satisfaccion-search{flex:1;min-width:200px;padding:.6rem 1rem;border:2px solid #e2e8f0;border-radius:10px;font-size:.9rem;transition:border-color .2s ease;outline:none}.satisfaccion-search:focus{border-color:#4f46e5}.alertas-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(380px,1fr));gap:1.5rem}.alerta-card{background:#fff;border-radius:20px;overflow:hidden;box-shadow:0 4px 20px #0000000d;border:1px solid rgba(0,0,0,.05);transition:all .3s ease}.alerta-card:hover{transform:translateY(-3px);box-shadow:0 8px 30px #0000001a}.alerta-card-header{padding:1.25rem 1.5rem;display:flex;justify-content:space-between;align-items:center}.alerta-card-header.critical{background:linear-gradient(135deg,#fef2f2,#fee2e2);border-bottom:2px solid #fecaca}.alerta-card-header.warning{background:linear-gradient(135deg,#fff7ed,#ffedd5);border-bottom:2px solid #fed7aa}.alerta-card-header.attention{background:linear-gradient(135deg,#fefce8,#fef9c3);border-bottom:2px solid #fde68a}.alerta-severity{display:flex;align-items:center;gap:.5rem}.alerta-severity-dot{width:12px;height:12px;border-radius:50%;animation:alertaPulse 2s ease-in-out infinite}.alerta-severity-dot.critical{background:#ef4444}.alerta-severity-dot.warning{background:#f97316}.alerta-severity-dot.attention{background:#eab308}@keyframes alertaPulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.6;transform:scale(1.2)}}.alerta-severity-label{font-size:.8rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em}.alerta-severity-label.critical{color:#dc2626}.alerta-severity-label.warning{color:#ea580c}.alerta-severity-label.attention{color:#ca8a04}.alerta-nps-score{font-size:1.5rem;font-weight:900;width:48px;height:48px;border-radius:14px;display:flex;align-items:center;justify-content:center;color:#fff}.alerta-nps-score.critical{background:linear-gradient(135deg,#ef4444,#dc2626)}.alerta-nps-score.warning{background:linear-gradient(135deg,#f97316,#ea580c)}.alerta-nps-score.attention{background:linear-gradient(135deg,#eab308,#ca8a04)}.alerta-card-body{padding:1.25rem 1.5rem}.alerta-patient-info{margin-bottom:1rem}.alerta-patient-name{font-size:1.05rem;font-weight:700;color:#1e293b;margin-bottom:.25rem}.alerta-patient-meta{font-size:.85rem;color:#64748b}.alerta-comment{background:#f8fafc;border-radius:12px;padding:1rem;margin-bottom:1rem;font-size:.9rem;color:#475569;font-style:italic;border-left:3px solid #e2e8f0}.alerta-actions{display:flex;gap:.5rem;flex-wrap:wrap}.alerta-action-btn{display:flex;align-items:center;gap:.4rem;padding:.5rem 1rem;border:2px solid #e2e8f0;border-radius:10px;background:#fff;font-size:.82rem;font-weight:600;color:#475569;cursor:pointer;transition:all .2s ease}.alerta-action-btn:hover{border-color:#4f46e5;color:#4f46e5;background:#4f46e50d}.followup-toggle{width:100%;padding:.75rem 1.5rem;background:#f8fafc;border:none;border-top:1px solid #f1f5f9;font-size:.85rem;font-weight:600;color:#4f46e5;cursor:pointer;transition:background .2s ease}.followup-toggle:hover{background:#f1f5f9}.followup-timeline{padding:1rem 1.5rem 1.25rem;border-top:1px solid #f1f5f9}.followup-item{display:flex;gap:1rem;padding:.75rem 0;border-bottom:1px solid #f8fafc}.followup-item:last-child{border-bottom:none}.followup-dot{width:10px;height:10px;border-radius:50%;margin-top:.35rem;flex-shrink:0}.followup-dot.resolved{background:#10b981}.followup-dot.pending{background:#f59e0b}.followup-dot.escalated{background:#ef4444}.followup-content{flex:1}.followup-content p{font-size:.88rem;color:#334155;margin-bottom:.25rem}.followup-meta{font-size:.78rem;color:#94a3b8}.satisfaccion-modal-overlay{position:fixed;inset:0;background:#00000080;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:1000;animation:satisfaccionFadeIn .2s ease}.satisfaccion-modal{background:#fff;border-radius:24px;width:100%;max-width:560px;max-height:90vh;overflow:hidden;box-shadow:0 25px 80px #0000004d;animation:modalSlideUp .4s cubic-bezier(.4,0,.2,1)}@keyframes modalSlideUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}.satisfaccion-modal-header{display:flex;align-items:center;justify-content:space-between;padding:1.5rem 2rem;background:linear-gradient(135deg,#4f46e5,#6366f1);color:#fff}.satisfaccion-modal-header h3{font-size:1.15rem;font-weight:700;color:#fff}.satisfaccion-modal-close{background:#fff3;border:none;color:#fff;width:36px;height:36px;border-radius:10px;font-size:1.2rem;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .2s ease}.satisfaccion-modal-close:hover{background:#ffffff4d}.satisfaccion-modal-body{padding:1.5rem 2rem;overflow-y:auto;max-height:calc(90vh - 70px)}.satisfaccion-form-group{margin-bottom:1.25rem}.satisfaccion-form-group label{display:block;font-size:.85rem;font-weight:600;color:#475569;margin-bottom:.5rem}.satisfaccion-form-group select,.satisfaccion-form-group textarea,.satisfaccion-form-group input{width:100%;padding:.65rem 1rem;border:2px solid #e2e8f0;border-radius:10px;font-size:.9rem;outline:none;transition:border-color .2s ease}.satisfaccion-form-group select:focus,.satisfaccion-form-group textarea:focus,.satisfaccion-form-group input:focus{border-color:#4f46e5}.satisfaccion-form-group textarea{min-height:80px;resize:vertical}.satisfaccion-modal-actions{display:flex;gap:.75rem;justify-content:flex-end;padding-top:1rem;border-top:1px solid #f1f5f9;margin-top:1rem}.btn-satisfaccion-primary{padding:.65rem 1.5rem;background:linear-gradient(135deg,#4f46e5,#6366f1);color:#fff;border:none;border-radius:10px;font-size:.9rem;font-weight:600;cursor:pointer;transition:all .3s ease}.btn-satisfaccion-primary:hover{transform:translateY(-2px);box-shadow:0 4px 15px #4f46e54d}.btn-satisfaccion-secondary{padding:.65rem 1.5rem;background:#fff;color:#64748b;border:2px solid #e2e8f0;border-radius:10px;font-size:.9rem;font-weight:600;cursor:pointer;transition:all .2s ease}.btn-satisfaccion-secondary:hover{border-color:#94a3b8;color:#475569}.trend-row-nps{font-weight:700}.trend-row-nps.positive{color:#10b981}.trend-row-nps.negative{color:#ef4444}.trend-row-nps.neutral{color:#f59e0b}.satisfaccion-empty{text-align:center;padding:3rem 2rem;color:#94a3b8}.satisfaccion-empty-icon{font-size:3rem;margin-bottom:1rem}.satisfaccion-empty h4{font-size:1.1rem;color:#64748b;margin-bottom:.5rem}.satisfaccion-empty p{font-size:.9rem}@media(max-width:1200px){.satisfaccion-kpis{grid-template-columns:repeat(2,1fr)}.satisfaccion-panel-grid{grid-template-columns:1fr}}@media(max-width:768px){.satisfaccion-header{flex-direction:column;align-items:stretch}.satisfaccion-kpis{grid-template-columns:1fr}.satisfaccion-filters{flex-direction:column;align-items:stretch}.alertas-grid{grid-template-columns:1fr}.nps-distribution-legend{flex-direction:column;align-items:center;gap:.5rem}}@keyframes hcFadeIn{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.hc-page{animation:hcFadeIn .5s ease}.hc-header{background:linear-gradient(135deg,#1e3a5f,#0891b2,#22d3ee);border-radius:20px;padding:2.5rem;margin-bottom:2rem;color:#fff;position:relative;overflow:hidden}.hc-header:before{content:"";position:absolute;top:-50%;right:-20%;width:400px;height:400px;background:radial-gradient(circle,rgba(255,255,255,.08) 0%,transparent 70%);border-radius:50%;pointer-events:none}.hc-header-content{position:relative;z-index:1}.hc-header-title{font-size:1.75rem;font-weight:700;margin-bottom:.5rem}.hc-header-subtitle{font-size:.95rem;opacity:.85;margin-bottom:1.5rem}.hc-header-stats{display:flex;gap:2rem;flex-wrap:wrap}.hc-stat{display:flex;flex-direction:column;gap:.25rem}.hc-stat-value{font-size:1.5rem;font-weight:700}.hc-stat-label{font-size:.8rem;opacity:.75;text-transform:uppercase;letter-spacing:.5px}.hc-tabs{display:flex;gap:.5rem;margin-bottom:2rem;overflow-x:auto;padding-bottom:.25rem;-ms-overflow-style:none;scrollbar-width:none}.hc-tabs::-webkit-scrollbar{display:none}.hc-tab{display:flex;align-items:center;gap:.5rem;padding:.65rem 1.25rem;border:none;border-radius:10px;font-size:.85rem;font-weight:500;cursor:pointer;white-space:nowrap;transition:all .2s ease;background:#f1f5f9;color:#64748b}.hc-tab:hover{background:#e2e8f0;color:#334155}.hc-tab.active{background:linear-gradient(135deg,#1e3a5f,#0891b2);color:#fff;box-shadow:0 2px 8px #0891b24d}.hc-tab-icon{display:flex;align-items:center}.hc-card{background:#fff;border-radius:16px;border:1px solid #e2e8f0;padding:1.5rem;transition:all .2s ease}.hc-card:hover{transform:translateY(-2px);box-shadow:0 8px 24px #00000014}.hc-search-bar{display:flex;align-items:center;gap:.75rem;background:#fff;border:1px solid #e2e8f0;border-radius:12px;padding:.75rem 1rem;margin-bottom:1rem;transition:border-color .2s}.hc-search-bar:focus-within{border-color:#0891b2;box-shadow:0 0 0 3px #0891b21a}.hc-search-bar svg{color:#94a3b8;flex-shrink:0}.hc-search-bar input{border:none;outline:none;font-size:.9rem;color:#0f172a;width:100%;background:transparent}.hc-search-bar input::placeholder{color:#94a3b8}.hc-pills{display:flex;gap:.5rem;flex-wrap:wrap;margin-bottom:1.5rem}.hc-pill{padding:.4rem 1rem;border-radius:20px;border:1px solid #e2e8f0;background:#fff;font-size:.8rem;color:#64748b;cursor:pointer;transition:all .2s}.hc-pill:hover{border-color:#0891b2;color:#0891b2}.hc-pill.active{background:#0891b2;color:#fff;border-color:#0891b2}.hc-articles-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:1.25rem}.hc-article-category{display:inline-block;font-size:.7rem;font-weight:600;text-transform:uppercase;letter-spacing:.5px;color:#0891b2;background:#0891b214;padding:.25rem .6rem;border-radius:6px;margin-bottom:.75rem}.hc-article-title{font-size:1.05rem;font-weight:600;color:#0f172a;margin-bottom:.5rem;line-height:1.4}.hc-article-excerpt{font-size:.85rem;color:#64748b;line-height:1.5;margin-bottom:1rem;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.hc-article-meta{display:flex;align-items:center;justify-content:space-between;font-size:.78rem;color:#94a3b8}.hc-article-meta-left{display:flex;align-items:center;gap:.75rem}.hc-article-link{font-size:.82rem;font-weight:600;color:#0891b2;cursor:pointer;border:none;background:none;padding:0;transition:color .2s}.hc-article-link:hover{color:#0e7490}.hc-videos-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:1.25rem}.hc-video-card{background:#fff;border-radius:16px;border:1px solid #e2e8f0;overflow:hidden;transition:all .2s ease}.hc-video-card:hover{transform:translateY(-2px);box-shadow:0 8px 24px #00000014}.hc-video-thumb{position:relative;height:180px;background:linear-gradient(135deg,#1e3a5f,#0891b2);display:flex;align-items:center;justify-content:center;cursor:pointer}.hc-video-play{width:56px;height:56px;border-radius:50%;background:#fff3;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);display:flex;align-items:center;justify-content:center;border:2px solid rgba(255,255,255,.4);transition:all .2s}.hc-video-thumb:hover .hc-video-play{background:#ffffff59;transform:scale(1.08)}.hc-video-duration{position:absolute;bottom:.75rem;right:.75rem;background:#0009;color:#fff;font-size:.75rem;font-weight:600;padding:.2rem .5rem;border-radius:4px}.hc-video-body{padding:1.25rem}.hc-video-title{font-size:.95rem;font-weight:600;color:#0f172a;margin-bottom:.4rem}.hc-video-desc{font-size:.82rem;color:#64748b;line-height:1.4}.hc-chat-container{background:#fff;border-radius:16px;border:1px solid #e2e8f0;overflow:hidden;max-width:700px}.hc-chat-header{display:flex;align-items:center;gap:.75rem;padding:1rem 1.25rem;border-bottom:1px solid #e2e8f0;background:#f8fafc}.hc-chat-avatar{width:40px;height:40px;border-radius:50%;background:linear-gradient(135deg,#1e3a5f,#0891b2);display:flex;align-items:center;justify-content:center;color:#fff;font-weight:700;font-size:.85rem}.hc-chat-agent-info{flex:1}.hc-chat-agent-name{font-size:.9rem;font-weight:600;color:#0f172a}.hc-chat-agent-status{display:flex;align-items:center;gap:.35rem;font-size:.78rem;color:#22c55e}.hc-chat-agent-status:before{content:"";width:8px;height:8px;border-radius:50%;background:#22c55e}.hc-chat-messages{height:420px;overflow-y:auto;padding:1.25rem;display:flex;flex-direction:column;gap:1rem}.hc-chat-msg{max-width:80%;padding:.85rem 1.1rem;border-radius:16px;font-size:.88rem;line-height:1.5;animation:hcFadeIn .3s ease}.hc-chat-msg.user{align-self:flex-end;background:linear-gradient(135deg,#1e3a5f,#0891b2);color:#fff;border-bottom-right-radius:4px}.hc-chat-msg.agent{align-self:flex-start;background:#f1f5f9;color:#334155;border-bottom-left-radius:4px}.hc-chat-msg-time{font-size:.7rem;opacity:.6;margin-top:.35rem;text-align:right}.hc-chat-input-bar{display:flex;align-items:center;gap:.75rem;padding:1rem 1.25rem;border-top:1px solid #e2e8f0;background:#f8fafc}.hc-chat-input-bar input{flex:1;border:1px solid #e2e8f0;border-radius:10px;padding:.65rem 1rem;font-size:.88rem;outline:none;background:#fff;color:#0f172a;transition:border-color .2s}.hc-chat-input-bar input:focus{border-color:#0891b2}.hc-chat-send-btn{width:40px;height:40px;border-radius:10px;border:none;background:linear-gradient(135deg,#1e3a5f,#0891b2);color:#fff;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s;flex-shrink:0}.hc-chat-send-btn:hover{opacity:.9;transform:scale(1.05)}.hc-tickets-header{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:1.25rem;flex-wrap:wrap}.hc-tickets-header-left{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}.hc-btn-primary{display:flex;align-items:center;gap:.5rem;padding:.65rem 1.25rem;background:linear-gradient(135deg,#1e3a5f,#0891b2);color:#fff;border:none;border-radius:10px;font-size:.85rem;font-weight:600;cursor:pointer;transition:all .2s}.hc-btn-primary:hover{opacity:.9;transform:translateY(-1px)}.hc-filter-btn{padding:.45rem .9rem;border:1px solid #e2e8f0;border-radius:8px;background:#fff;font-size:.8rem;color:#64748b;cursor:pointer;transition:all .2s}.hc-filter-btn:hover{border-color:#0891b2;color:#0891b2}.hc-filter-btn.active{background:#0891b2;color:#fff;border-color:#0891b2}.hc-tickets-list{display:flex;flex-direction:column;gap:.75rem}.hc-ticket-row{display:flex;align-items:center;gap:1.25rem;padding:1.15rem 1.5rem;background:#fff;border:1px solid #e2e8f0;border-radius:12px;transition:all .2s}.hc-ticket-row:hover{border-color:#cbd5e1;box-shadow:0 2px 8px #0000000a}.hc-ticket-id{font-size:.78rem;font-weight:600;color:#94a3b8;min-width:70px}.hc-ticket-subject{flex:1;font-size:.9rem;font-weight:500;color:#0f172a}.hc-ticket-badge{font-size:.72rem;font-weight:600;padding:.3rem .7rem;border-radius:20px;text-transform:uppercase;letter-spacing:.3px}.hc-ticket-badge.abierto{background:#3b82f61a;color:#3b82f6}.hc-ticket-badge.en-progreso{background:#f59e0b1a;color:#f59e0b}.hc-ticket-badge.resuelto{background:#22c55e1a;color:#22c55e}.hc-ticket-priority{font-size:.78rem;color:#64748b}.hc-ticket-priority.alta{color:#ef4444;font-weight:600}.hc-ticket-priority.media{color:#f59e0b}.hc-ticket-priority.baja{color:#22c55e}.hc-ticket-date{font-size:.78rem;color:#94a3b8;min-width:80px;text-align:right}.hc-new-ticket{background:#fff;border:1px solid #e2e8f0;border-radius:16px;padding:1.5rem;margin-bottom:1.5rem;animation:hcFadeIn .3s ease}.hc-new-ticket h3{font-size:1rem;font-weight:600;color:#0f172a;margin-bottom:1.25rem}.hc-form-group{margin-bottom:1rem}.hc-form-group label{display:block;font-size:.82rem;font-weight:500;color:#334155;margin-bottom:.4rem}.hc-form-group input,.hc-form-group select,.hc-form-group textarea{width:100%;padding:.65rem .9rem;border:1px solid #e2e8f0;border-radius:8px;font-size:.88rem;color:#0f172a;outline:none;background:#fff;transition:border-color .2s}.hc-form-group input:focus,.hc-form-group select:focus,.hc-form-group textarea:focus{border-color:#0891b2;box-shadow:0 0 0 3px #0891b21a}.hc-form-group textarea{resize:vertical;min-height:100px}.hc-form-actions{display:flex;gap:.75rem;margin-top:1.25rem}.hc-btn-cancel{padding:.6rem 1.25rem;background:#f1f5f9;color:#64748b;border:none;border-radius:8px;font-size:.85rem;font-weight:500;cursor:pointer;transition:all .2s}.hc-btn-cancel:hover{background:#e2e8f0}.hc-webinars-list{display:flex;flex-direction:column;gap:1rem}.hc-webinar-card{display:flex;align-items:center;gap:1.5rem;padding:1.5rem;background:#fff;border:1px solid #e2e8f0;border-radius:16px;transition:all .2s ease}.hc-webinar-card:hover{transform:translateY(-2px);box-shadow:0 8px 24px #00000014}.hc-webinar-date-block{text-align:center;background:linear-gradient(135deg,#1e3a5f,#0891b2);color:#fff;border-radius:14px;padding:1rem 1.25rem;min-width:80px;flex-shrink:0}.hc-webinar-date-day{font-size:1.75rem;font-weight:700;line-height:1}.hc-webinar-date-month{font-size:.75rem;font-weight:500;text-transform:uppercase;opacity:.85;margin-top:.25rem}.hc-webinar-info{flex:1}.hc-webinar-title{font-size:1.05rem;font-weight:600;color:#0f172a;margin-bottom:.35rem}.hc-webinar-speaker{font-size:.82rem;color:#64748b;margin-bottom:.35rem}.hc-webinar-meta{display:flex;align-items:center;gap:1rem;font-size:.8rem;color:#94a3b8}.hc-webinar-action{flex-shrink:0}.hc-btn-webinar{padding:.6rem 1.5rem;border-radius:10px;font-size:.85rem;font-weight:600;cursor:pointer;transition:all .2s;border:none}.hc-btn-webinar.inscribirse{background:linear-gradient(135deg,#1e3a5f,#0891b2);color:#fff}.hc-btn-webinar.inscribirse:hover{opacity:.9;transform:translateY(-1px)}.hc-btn-webinar.inscrito{background:#22c55e1a;color:#22c55e;cursor:default}.hc-releases-list{display:flex;flex-direction:column;gap:1.5rem}.hc-release-card{background:#fff;border:1px solid #e2e8f0;border-radius:16px;padding:1.5rem;transition:all .2s}.hc-release-card:hover{box-shadow:0 4px 12px #0000000d}.hc-release-header{display:flex;align-items:center;gap:.75rem;margin-bottom:1.25rem}.hc-release-version{font-size:1.1rem;font-weight:700;color:#0f172a}.hc-release-type{font-size:.7rem;font-weight:600;padding:.25rem .6rem;border-radius:6px;text-transform:uppercase;letter-spacing:.4px}.hc-release-type.major{background:#8b5cf61a;color:#8b5cf6}.hc-release-type.minor{background:#0891b21a;color:#0891b2}.hc-release-type.patch{background:#64748b1a;color:#64748b}.hc-release-date{font-size:.8rem;color:#94a3b8;margin-left:auto}.hc-release-changes{display:flex;flex-direction:column;gap:.5rem}.hc-release-item{display:flex;align-items:flex-start;gap:.6rem;font-size:.88rem;color:#334155;line-height:1.5}.hc-release-tag{font-size:.68rem;font-weight:600;padding:.15rem .5rem;border-radius:4px;text-transform:uppercase;flex-shrink:0;margin-top:.15rem}.hc-release-tag.nueva{background:#22c55e1a;color:#22c55e}.hc-release-tag.mejora{background:#3b82f61a;color:#3b82f6}.hc-release-tag.correccion{background:#f59e0b1a;color:#f59e0b}.hc-empty{text-align:center;padding:3rem 1rem;color:#94a3b8}.hc-empty svg{margin-bottom:1rem;opacity:.5}.hc-empty p{font-size:.9rem}@media(max-width:1280px){.hc-articles-grid,.hc-videos-grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr))}}@media(max-width:768px){.hc-header{padding:1.75rem;border-radius:16px}.hc-header-title{font-size:1.35rem}.hc-header-stats{gap:1.25rem}.hc-stat-value{font-size:1.2rem}.hc-tabs{gap:.35rem}.hc-tab{padding:.5rem .9rem;font-size:.8rem}.hc-articles-grid,.hc-videos-grid{grid-template-columns:1fr}.hc-webinar-card{flex-direction:column;align-items:flex-start;gap:1rem}.hc-webinar-date-block{flex-direction:row;display:flex;align-items:center;gap:.5rem;padding:.65rem 1rem}.hc-webinar-date-day{font-size:1.2rem}.hc-webinar-action{width:100%}.hc-btn-webinar{width:100%;text-align:center}.hc-ticket-row{flex-wrap:wrap;gap:.5rem 1rem;padding:1rem}.hc-ticket-subject{min-width:100%;order:-1}.hc-chat-container{max-width:100%}.hc-chat-messages{height:350px}}@media(max-width:640px){.hc-header{padding:1.25rem;border-radius:12px}.hc-header-title{font-size:1.15rem}.hc-header-stats{gap:1rem}.hc-stat-value{font-size:1rem}.hc-stat-label{font-size:.7rem}.hc-tickets-header{flex-direction:column;align-items:flex-start}.hc-tickets-header-left{width:100%}.hc-filter-btn{flex:1;text-align:center}.hc-btn-primary{width:100%;justify-content:center}}.chat-page{animation:chatFadeInUp .5s ease-out}@keyframes chatFadeInUp{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}@keyframes chatSpin{to{transform:rotate(360deg)}}.chat-page-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:24px}.chat-page-title{font-size:1.75rem;font-weight:700;background:linear-gradient(135deg,#0891b2,#06b6d4,#22d3ee);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;margin:0}.chat-page-subtitle{color:#64748b;font-size:.875rem;margin:4px 0 0}.chat-container{display:flex;height:calc(100vh - 180px);min-height:500px;background:#fff;border-radius:20px;border:1px solid rgba(0,0,0,.06);box-shadow:0 4px 20px #0000000a,0 1px 3px #00000008;overflow:hidden}.chat-sidebar{width:320px;min-width:320px;border-right:1px solid #f1f5f9;display:flex;flex-direction:column;background:#fafbfc}.chat-sidebar-header{display:flex;align-items:center;gap:8px;padding:16px;border-bottom:1px solid #f1f5f9}.chat-sidebar-search{flex:1;position:relative}.chat-search-icon{position:absolute;left:10px;top:50%;transform:translateY(-50%);color:#94a3b8;pointer-events:none}.chat-sidebar-search-input{width:100%;padding:8px 12px 8px 34px;border:1px solid #e2e8f0;border-radius:10px;font-size:.813rem;background:#fff;color:#1e293b;outline:none;transition:border-color .2s,box-shadow .2s}.chat-sidebar-search-input:focus{border-color:#0891b2;box-shadow:0 0 0 3px #0891b21a}.chat-new-btn{width:36px;height:36px;border-radius:10px;border:none;background:linear-gradient(135deg,#0891b2,#06b6d4);color:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:transform .15s,box-shadow .15s}.chat-new-btn:hover{transform:scale(1.05);box-shadow:0 4px 12px #0891b24d}.chat-sidebar-list{flex:1;overflow-y:auto;padding:8px}.chat-list-label{font-size:.688rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:#94a3b8;padding:12px 10px 6px}.chat-conv-item{display:flex;align-items:center;gap:10px;width:100%;padding:10px;border:2px solid transparent;border-radius:12px;background:transparent;cursor:pointer;text-align:left;transition:background .15s,border-color .15s}.chat-conv-item:hover{background:#f0f9ff}.chat-conv-item.active{background:#f0f9ff;border-color:#0891b2}.chat-conv-item.urgent-channel .chat-conv-icon{background:linear-gradient(135deg,#ef4444,#f87171)}.chat-conv-icon{width:36px;height:36px;border-radius:10px;background:linear-gradient(135deg,#0891b2,#06b6d4);color:#fff;display:flex;align-items:center;justify-content:center;font-size:.875rem;font-weight:700;flex-shrink:0}.chat-conv-avatar{width:36px;height:36px;border-radius:50%;background:linear-gradient(135deg,#6366f1,#818cf8);color:#fff;display:flex;align-items:center;justify-content:center;font-size:.75rem;font-weight:600;flex-shrink:0}.chat-conv-info{flex:1;min-width:0}.chat-conv-name{font-size:.813rem;font-weight:600;color:#1e293b;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.chat-conv-preview{font-size:.75rem;color:#94a3b8;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-top:2px}.chat-conv-preview-sender{font-weight:600;color:#64748b}.chat-conv-meta{display:flex;flex-direction:column;align-items:flex-end;gap:4px;flex-shrink:0}.chat-conv-time{font-size:.688rem;color:#94a3b8}.chat-conv-badge{background:linear-gradient(135deg,#0891b2,#06b6d4);color:#fff;font-size:.625rem;font-weight:700;min-width:18px;height:18px;border-radius:9px;display:flex;align-items:center;justify-content:center;padding:0 5px}.chat-loading{display:flex;flex-direction:column;align-items:center;gap:12px;padding:32px 16px;color:#94a3b8;font-size:.813rem}.chat-spinner{width:28px;height:28px;border:3px solid #e2e8f0;border-top-color:#0891b2;border-radius:50%;animation:chatSpin .8s linear infinite}.chat-empty-sidebar{text-align:center;padding:32px 16px;color:#94a3b8;font-size:.813rem}.chat-main{flex:1;display:flex;flex-direction:column;min-width:0}.chat-main-header{display:flex;align-items:center;justify-content:space-between;padding:14px 20px;border-bottom:1px solid #f1f5f9;background:#fff}.chat-main-header-left{display:flex;align-items:center;gap:12px}.chat-main-header-icon{width:40px;height:40px;border-radius:12px;background:linear-gradient(135deg,#0891b2,#06b6d4);color:#fff;display:flex;align-items:center;justify-content:center;font-size:1rem;font-weight:700}.chat-main-header-avatar{width:40px;height:40px;border-radius:50%;background:linear-gradient(135deg,#6366f1,#818cf8);color:#fff;display:flex;align-items:center;justify-content:center;font-size:.813rem;font-weight:600}.chat-main-header-name{font-size:.938rem;font-weight:600;color:#1e293b}.chat-main-header-desc{font-size:.75rem;color:#94a3b8}.chat-main-header-actions{display:flex;align-items:center;gap:8px}.chat-msg-search{display:flex;align-items:center;gap:4px;background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;padding:2px 4px 2px 10px;transition:border-color .2s}.chat-msg-search:focus-within{border-color:#0891b2}.chat-msg-search input{border:none;background:transparent;font-size:.75rem;color:#1e293b;outline:none;width:140px;padding:6px 0}.chat-msg-search button{background:none;border:none;color:#94a3b8;cursor:pointer;padding:4px;display:flex}.chat-msg-search button:hover{color:#0891b2}.chat-messages-area{flex:1;overflow-y:auto;padding:20px;display:flex;flex-direction:column;gap:4px;background:#f8fafc}.chat-message-row{display:flex}.chat-message-row.own{justify-content:flex-end}.chat-message-bubble{max-width:65%;padding:10px 14px;border-radius:16px;position:relative}.chat-message-bubble.other{background:#fff;border:1px solid #e2e8f0;border-bottom-left-radius:4px}.chat-message-bubble.own{background:linear-gradient(135deg,#0891b2,#06b6d4);color:#fff;border-bottom-right-radius:4px}.chat-message-bubble.urgent{border-left:3px solid #ef4444}.chat-message-bubble.own.urgent{border-left:none;border-right:3px solid #fbbf24}.chat-message-header{display:flex;align-items:center;gap:6px;margin-bottom:4px}.chat-msg-avatar{width:22px;height:22px;border-radius:50%;background:linear-gradient(135deg,#6366f1,#818cf8);color:#fff;display:flex;align-items:center;justify-content:center;font-size:.563rem;font-weight:600;flex-shrink:0}.chat-msg-sender{font-size:.688rem;font-weight:600;color:#334155}.chat-msg-content{font-size:.838rem;line-height:1.5;word-break:break-word;white-space:pre-wrap}.chat-msg-time{font-size:.625rem;color:#94a3b8;margin-top:4px;display:block;text-align:right}.chat-message-bubble.own .chat-msg-time{color:#ffffffb3}.chat-msg-clinical{display:inline-flex;align-items:center;gap:4px;margin-top:6px;padding:3px 8px;background:#f0f9ff;border-radius:6px;font-size:.688rem;color:#0369a1;border:1px solid #bae6fd}.chat-message-bubble.own .chat-msg-clinical{background:#ffffff26;border-color:#fff3;color:#fff}.chat-message-system{text-align:center;padding:8px 16px;font-size:.75rem;color:#94a3b8;font-style:italic}.chat-search-results{display:flex;flex-direction:column;gap:8px}.chat-search-results-header{display:flex;justify-content:space-between;align-items:center;padding:8px 0;font-size:.813rem;color:#64748b}.chat-search-results-header button{background:none;border:none;color:#0891b2;cursor:pointer;font-size:.75rem;font-weight:600}.chat-no-messages{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;color:#94a3b8}.chat-no-messages p{margin:0;font-size:.875rem}.chat-no-messages-sub{font-size:.75rem!important;color:#cbd5e1!important}.chat-input-bar{display:flex;align-items:flex-end;gap:8px;padding:14px 20px;border-top:1px solid #f1f5f9;background:#fff}.chat-urgent-toggle{width:36px;height:36px;border-radius:10px;border:1px solid #e2e8f0;background:#fff;color:#94a3b8;cursor:pointer;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:all .15s}.chat-urgent-toggle:hover{border-color:#ef4444;color:#ef4444}.chat-urgent-toggle.active{background:#fef2f2;border-color:#ef4444;color:#ef4444}.chat-input{flex:1;resize:none;border:1px solid #e2e8f0;border-radius:12px;padding:9px 14px;font-size:.838rem;color:#1e293b;font-family:inherit;outline:none;max-height:100px;line-height:1.5;transition:border-color .2s,box-shadow .2s}.chat-input:focus{border-color:#0891b2;box-shadow:0 0 0 3px #0891b21a}.chat-send-btn{width:36px;height:36px;border-radius:10px;border:none;background:linear-gradient(135deg,#0891b2,#06b6d4);color:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:transform .15s,box-shadow .15s,opacity .15s}.chat-send-btn:hover:not(:disabled){transform:scale(1.05);box-shadow:0 4px 12px #0891b24d}.chat-send-btn:disabled{opacity:.4;cursor:not-allowed}.chat-empty-state{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;color:#94a3b8}.chat-empty-icon{width:100px;height:100px;border-radius:50%;background:linear-gradient(135deg,#f0f9ff,#e0f2fe);display:flex;align-items:center;justify-content:center;margin-bottom:8px}.chat-empty-icon svg{color:#0891b2;opacity:.5}.chat-empty-state h3{font-size:1.125rem;font-weight:600;color:#334155;margin:0}.chat-empty-state p{font-size:.838rem;color:#94a3b8;margin:0;max-width:280px;text-align:center}.chat-modal-overlay{position:fixed;inset:0;background:#0006;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:1000;animation:chatFadeInUp .2s ease-out}.chat-modal{background:#fff;border-radius:20px;width:90%;max-width:460px;box-shadow:0 20px 60px #00000026;overflow:hidden}.chat-modal-header{display:flex;align-items:center;justify-content:space-between;padding:18px 24px;background:linear-gradient(135deg,#0e7490,#0891b2)}.chat-modal-header h3{margin:0;font-size:1rem;font-weight:600;color:#fff}.chat-modal-close{background:#ffffff26;border:none;border-radius:8px;color:#fff;cursor:pointer;width:32px;height:32px;display:flex;align-items:center;justify-content:center;transition:background .15s}.chat-modal-close:hover{background:#ffffff40}.chat-modal-body{padding:20px 24px}.chat-modal-tabs{display:flex;gap:4px;background:#f1f5f9;border-radius:10px;padding:3px;margin-bottom:16px}.chat-modal-tab{flex:1;padding:8px;border:none;border-radius:8px;background:transparent;font-size:.813rem;font-weight:500;color:#64748b;cursor:pointer;transition:all .15s}.chat-modal-tab.active{background:#fff;color:#0891b2;box-shadow:0 1px 3px #0000001a}.chat-modal-input{width:100%;padding:10px 14px;border:1px solid #e2e8f0;border-radius:10px;font-size:.838rem;color:#1e293b;outline:none;margin-bottom:16px;transition:border-color .2s}.chat-modal-input:focus{border-color:#0891b2}.chat-modal-users-label{font-size:.75rem;font-weight:600;color:#64748b;margin-bottom:10px}.chat-modal-users-list{max-height:260px;overflow-y:auto;display:flex;flex-direction:column;gap:4px}.chat-modal-user-item{display:flex;align-items:center;gap:10px;padding:8px 10px;border:2px solid transparent;border-radius:10px;background:#fafbfc;cursor:pointer;text-align:left;width:100%;transition:all .15s}.chat-modal-user-item:hover{background:#f0f9ff}.chat-modal-user-item.selected{background:#f0f9ff;border-color:#0891b2}.chat-modal-user-avatar{width:32px;height:32px;border-radius:50%;background:linear-gradient(135deg,#6366f1,#818cf8);color:#fff;display:flex;align-items:center;justify-content:center;font-size:.688rem;font-weight:600;flex-shrink:0}.chat-modal-user-info{flex:1}.chat-modal-user-name{font-size:.813rem;font-weight:600;color:#1e293b}.chat-modal-user-role{font-size:.688rem;color:#94a3b8}.chat-modal-user-item svg{color:#0891b2;flex-shrink:0}.chat-modal-footer{display:flex;justify-content:flex-end;gap:8px;padding:16px 24px;border-top:1px solid #f1f5f9}.chat-modal-cancel{padding:8px 18px;border:1px solid #e2e8f0;border-radius:10px;background:#fff;font-size:.813rem;color:#64748b;cursor:pointer;transition:all .15s}.chat-modal-cancel:hover{background:#f8fafc}.chat-modal-create{padding:8px 18px;border:none;border-radius:10px;background:linear-gradient(135deg,#0891b2,#06b6d4);font-size:.813rem;font-weight:600;color:#fff;cursor:pointer;transition:all .15s}.chat-modal-create:hover:not(:disabled){transform:scale(1.02);box-shadow:0 4px 12px #0891b24d}.chat-modal-create:disabled{opacity:.4;cursor:not-allowed}@media(max-width:992px){.chat-container{height:calc(100vh - 160px)}.chat-sidebar{width:260px;min-width:260px}.chat-message-bubble{max-width:80%}}@media(max-width:768px){.chat-container{flex-direction:column;height:calc(100vh - 140px)}.chat-sidebar{width:100%;min-width:unset;max-height:200px;border-right:none;border-bottom:1px solid #f1f5f9}.chat-message-bubble{max-width:90%}.chat-msg-search input{width:100px}}.bi-page{display:flex;flex-direction:column;gap:2rem;animation:biFadeIn .5s ease}@keyframes biFadeIn{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.bi-header{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:1rem}.bi-header-content h1{font-size:2rem;font-weight:700;background:linear-gradient(135deg,#0f766e,#0891b2);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;margin-bottom:.5rem}.bi-header-content p{color:#64748b;font-size:.95rem}.bi-header-actions{display:flex;gap:.75rem}.bi-kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:1.5rem}.bi-kpi-card{background:#fff;border-radius:20px;padding:1.75rem;position:relative;overflow:hidden;transition:all .4s cubic-bezier(.4,0,.2,1);box-shadow:0 4px 20px #0000000d;border:1px solid rgba(0,0,0,.05)}.bi-kpi-card:before{content:"";position:absolute;top:0;left:0;right:0;height:4px;background:linear-gradient(90deg,var(--kpi-color),var(--kpi-color-light))}.bi-kpi-card:hover{transform:translateY(-5px);box-shadow:0 20px 40px #0000001a}.bi-kpi-card.revenue{--kpi-color: #10b981;--kpi-color-light: #34d399}.bi-kpi-card.expenses{--kpi-color: #ef4444;--kpi-color-light: #f87171}.bi-kpi-card.profit{--kpi-color: #3b82f6;--kpi-color-light: #60a5fa}.bi-kpi-card.patients{--kpi-color: #8b5cf6;--kpi-color-light: #a78bfa}.bi-kpi-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.bi-kpi-icon{font-size:1.5rem}.bi-kpi-trend{font-size:.8rem;font-weight:600;padding:.25rem .5rem;border-radius:8px}.bi-kpi-trend.positive{color:#16a34a;background:#16a34a1a}.bi-kpi-trend.negative{color:#dc2626;background:#dc26261a}.bi-kpi-trend.neutral{color:#64748b;background:#64748b1a}.bi-kpi-body h3{font-size:1.75rem;font-weight:700;color:#1e293b;margin-bottom:.25rem;font-family:SF Mono,Consolas,monospace}.bi-kpi-body p{color:#64748b;font-size:.85rem}.bi-kpi-footer{margin-top:1rem;padding-top:.75rem;border-top:1px solid #f1f5f9;font-size:.8rem;color:#94a3b8}.bi-quick-stats{display:flex;align-items:center;gap:2rem;padding:1.25rem 2rem;background:linear-gradient(135deg,#0f766e,#0891b2);border-radius:16px;color:#fff;flex-wrap:wrap}.bi-quick-stat{display:flex;align-items:center;gap:.5rem}.bi-quick-stat-value{font-weight:700;font-size:1.1rem}.bi-quick-stat-label{opacity:.85;font-size:.85rem}.bi-quick-stat-divider{width:1px;height:30px;background:#ffffff4d}.bi-tabs-nav{display:flex;gap:.5rem;background:#fff;padding:.5rem;border-radius:16px;box-shadow:0 2px 10px #0000000d;overflow-x:auto;flex-wrap:wrap}.bi-tab-btn{padding:.75rem 1.25rem;background:transparent;border:none;border-radius:12px;color:#64748b;cursor:pointer;transition:all .3s ease;font-size:.9rem;font-weight:500;white-space:nowrap;display:flex;align-items:center;gap:.5rem}.bi-tab-btn:hover{background:#f1f5f9;color:#1e293b}.bi-tab-btn.active{background:linear-gradient(135deg,#0f766e,#0891b2);color:#fff;box-shadow:0 4px 15px #0f766e4d}.bi-tab-emoji{font-size:1.1rem}.bi-tab-content{background:#fff;border-radius:20px;padding:2rem;box-shadow:0 4px 20px #0000000d;border:1px solid rgba(0,0,0,.05)}.bi-section-title{font-size:1.2rem;font-weight:700;color:#1e293b;margin-bottom:1.5rem;display:flex;align-items:center;gap:.5rem}.bi-comparison-table{width:100%;border-collapse:separate;border-spacing:0;margin-bottom:2rem}.bi-comparison-table th{padding:1rem 1.25rem;text-align:left;font-size:.75rem;font-weight:700;color:#475569;text-transform:uppercase;letter-spacing:.08em;border-bottom:2px solid #e2e8f0;background:linear-gradient(180deg,#f8fafc,#f1f5f9)}.bi-comparison-table th:first-child{border-radius:12px 0 0}.bi-comparison-table th:last-child{border-radius:0 12px 0 0}.bi-comparison-table td{padding:1rem 1.25rem;border-bottom:1px solid #f1f5f9;font-size:.9rem;color:#334155}.bi-comparison-table tbody tr:hover{background:linear-gradient(90deg,rgba(15,118,110,.03) 0%,transparent 100%)}.bi-comparison-table .amount-positive{font-weight:600;color:#16a34a;font-family:SF Mono,Consolas,monospace}.bi-comparison-table .amount-negative{font-weight:600;color:#dc2626;font-family:SF Mono,Consolas,monospace}.bi-comparison-table .amount-neutral{font-weight:600;color:#1e293b;font-family:SF Mono,Consolas,monospace}.bi-comparison-table .highlight-row{background:#0f766e0a;font-weight:600}.bi-bar-chart{display:flex;flex-direction:column;gap:1rem}.bi-bar-item{display:flex;align-items:center;gap:1rem}.bi-bar-label{width:140px;font-size:.85rem;color:#475569;text-align:right;flex-shrink:0}.bi-bar-track{flex:1;height:28px;background:#f1f5f9;border-radius:14px;overflow:hidden;position:relative}.bi-bar-fill{height:100%;border-radius:14px;background:linear-gradient(90deg,#0f766e,#0891b2);transition:width .8s cubic-bezier(.4,0,.2,1);min-width:2px}.bi-bar-fill.expenses-bar{background:linear-gradient(90deg,#ef4444,#f97316)}.bi-bar-fill.purple-bar{background:linear-gradient(90deg,#7c3aed,#a78bfa)}.bi-bar-value{width:100px;font-size:.85rem;font-weight:600;color:#1e293b;font-family:SF Mono,Consolas,monospace}.bi-monthly-chart{display:flex;align-items:flex-end;gap:.5rem;height:200px;padding:1rem 0;border-bottom:2px solid #e2e8f0;margin-bottom:1rem}.bi-month-col{flex:1;display:flex;flex-direction:column;align-items:center;gap:.25rem;height:100%;justify-content:flex-end}.bi-month-bar{width:100%;max-width:40px;background:linear-gradient(180deg,#0f766e,#0891b2);border-radius:6px 6px 0 0;transition:height .8s cubic-bezier(.4,0,.2,1);min-height:2px}.bi-month-bar.expenses-bar{background:linear-gradient(180deg,#ef4444,#f97316)}.bi-month-label{font-size:.7rem;color:#94a3b8;text-transform:uppercase;margin-top:.5rem}.bi-month-value{font-size:.65rem;font-weight:600;color:#475569}.bi-doctor-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(340px,1fr));gap:1.5rem}.bi-doctor-card{background:#fff;border-radius:16px;padding:1.5rem;border:1px solid #e2e8f0;transition:all .3s ease}.bi-doctor-card:hover{transform:translateY(-3px);box-shadow:0 10px 30px #00000014;border-color:#0f766e}.bi-doctor-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.25rem;padding-bottom:1rem;border-bottom:1px solid #f1f5f9}.bi-doctor-name{font-size:1.05rem;font-weight:700;color:#1e293b}.bi-doctor-spec{font-size:.8rem;color:#64748b;margin-top:.25rem}.bi-doctor-badge{padding:.3rem .75rem;background:linear-gradient(135deg,#0f766e,#0891b2);color:#fff;font-size:.75rem;font-weight:600;border-radius:20px}.bi-doctor-stats{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem}.bi-doctor-stat{display:flex;flex-direction:column;gap:.25rem}.bi-doctor-stat-label{font-size:.75rem;color:#94a3b8;text-transform:uppercase;letter-spacing:.05em}.bi-doctor-stat-value{font-size:1.1rem;font-weight:700;color:#1e293b;font-family:SF Mono,Consolas,monospace}.bi-doctor-stat-value.positive{color:#16a34a}.bi-ai-trigger{text-align:center;padding:3rem}.bi-ai-btn{padding:1rem 2.5rem;background:linear-gradient(135deg,#7c3aed,#a855f7);color:#fff;border:none;border-radius:14px;font-size:1.05rem;font-weight:600;cursor:pointer;transition:all .3s ease;box-shadow:0 4px 20px #7c3aed4d;display:inline-flex;align-items:center;gap:.75rem}.bi-ai-btn:hover{transform:translateY(-2px);box-shadow:0 8px 30px #7c3aed66}.bi-ai-btn:disabled{opacity:.7;cursor:not-allowed;transform:none}.bi-ai-desc{color:#64748b;margin-top:1rem;font-size:.9rem}.bi-ai-results{display:flex;flex-direction:column;gap:2rem}.bi-ai-section-title{font-size:1.1rem;font-weight:700;color:#1e293b;margin-bottom:1rem;display:flex;align-items:center;gap:.5rem}.bi-alert-cards{display:flex;flex-direction:column;gap:.75rem}.bi-alert-card{display:flex;align-items:flex-start;gap:1rem;padding:1.25rem;border-radius:12px;border-left:4px solid;background:#fff;box-shadow:0 2px 8px #0000000a}.bi-alert-card.critical{border-left-color:#dc2626;background:linear-gradient(90deg,#dc26260a,#fff 20%)}.bi-alert-card.warning{border-left-color:#f59e0b;background:linear-gradient(90deg,#f59e0b0a,#fff 20%)}.bi-alert-card.info{border-left-color:#3b82f6;background:linear-gradient(90deg,#3b82f60a,#fff 20%)}.bi-alert-icon{font-size:1.5rem;flex-shrink:0}.bi-alert-content{flex:1}.bi-alert-title{font-weight:700;color:#1e293b;margin-bottom:.25rem}.bi-alert-metrics{display:flex;gap:1.5rem;font-size:.85rem;color:#64748b;margin-top:.5rem}.bi-alert-change{font-weight:600}.bi-alert-change.positive{color:#16a34a}.bi-alert-change.negative{color:#dc2626}.bi-prediction-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:1rem}.bi-prediction-card{background:#fff;border-radius:16px;padding:1.5rem;border:1px solid #e2e8f0;transition:all .3s ease}.bi-prediction-card:hover{box-shadow:0 10px 30px #00000014}.bi-prediction-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:.75rem}.bi-prediction-title{font-weight:700;color:#1e293b;font-size:.95rem}.bi-prediction-badge{padding:.2rem .6rem;border-radius:8px;font-size:.7rem;font-weight:600;text-transform:uppercase}.bi-prediction-badge.high{background:#dc26261a;color:#dc2626}.bi-prediction-badge.medium{background:#f59e0b1a;color:#d97706}.bi-prediction-badge.low{background:#3b82f61a;color:#2563eb}.bi-prediction-desc{font-size:.85rem;color:#475569;line-height:1.5;margin-bottom:1rem}.bi-prediction-meta{display:flex;justify-content:space-between;align-items:center;padding-top:.75rem;border-top:1px solid #f1f5f9;font-size:.8rem}.bi-prediction-value{font-weight:700;color:#0f766e;font-family:SF Mono,Consolas,monospace}.bi-prediction-confidence{color:#64748b}.bi-prediction-timeframe{color:#94a3b8}.bi-recommendation-cards{display:flex;flex-direction:column;gap:.75rem}.bi-recommendation-card{display:flex;gap:1rem;padding:1.25rem;border-radius:12px;background:#f8fafc;border:1px solid #e2e8f0;transition:all .3s ease}.bi-recommendation-card:hover{background:#fff;box-shadow:0 4px 15px #0000000f}.bi-recommendation-priority{width:4px;border-radius:4px;flex-shrink:0}.bi-recommendation-priority.critical{background:#dc2626}.bi-recommendation-priority.high{background:#f59e0b}.bi-recommendation-priority.medium{background:#3b82f6}.bi-recommendation-priority.low{background:#94a3b8}.bi-recommendation-content{flex:1}.bi-recommendation-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.5rem}.bi-recommendation-title{font-weight:700;color:#1e293b}.bi-recommendation-category{padding:.2rem .6rem;background:#0f766e1a;color:#0f766e;font-size:.7rem;font-weight:600;border-radius:8px;text-transform:uppercase}.bi-recommendation-desc{font-size:.85rem;color:#475569;line-height:1.5;margin-bottom:.5rem}.bi-recommendation-impact{font-size:.8rem;color:#0f766e;font-weight:600}.bi-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:300px;gap:1rem}.bi-spinner{width:40px;height:40px;border:3px solid #e2e8f0;border-top-color:#0f766e;border-radius:50%;animation:biSpin .8s linear infinite}@keyframes biSpin{to{transform:rotate(360deg)}}.bi-empty{text-align:center;padding:3rem;color:#94a3b8;font-size:.95rem}.bi-empty-icon{font-size:3rem;margin-bottom:1rem;opacity:.5}.bi-two-cols{display:grid;grid-template-columns:1fr 1fr;gap:2rem}.bi-col-section{margin-bottom:2rem}.bi-conversion-badge{display:inline-flex;align-items:center;gap:.5rem;padding:.75rem 1.25rem;background:linear-gradient(135deg,#0f766e1a,#0891b21a);border-radius:12px;font-weight:700;color:#0f766e;font-size:1.1rem;margin-top:1rem}.bi-ai-generated{text-align:center;padding-top:1.5rem;border-top:1px solid #f1f5f9;font-size:.8rem;color:#94a3b8}@media(max-width:1200px){.bi-kpis{grid-template-columns:repeat(2,1fr)}.bi-two-cols{grid-template-columns:1fr}}@media(max-width:768px){.bi-kpis{grid-template-columns:1fr}.bi-header{flex-direction:column;align-items:flex-start}.bi-quick-stats{flex-direction:column;gap:1rem;text-align:center}.bi-quick-stat-divider{display:none}.bi-tabs-nav{flex-direction:column}.bi-doctor-grid{grid-template-columns:1fr}.bi-monthly-chart{height:150px}.bi-bar-label{width:80px;font-size:.75rem}.bi-prediction-cards{grid-template-columns:1fr}}.agenda-unificada-container{display:flex;flex-direction:column;gap:1.5rem;animation:fadeInUp .3s ease}.clinic-filters{display:flex;align-items:center;gap:1rem;flex-wrap:wrap}.clinic-filters-label{font-weight:600;color:#1e293b;font-size:.9rem}.clinic-pills{display:flex;gap:.5rem;flex-wrap:wrap}.clinic-pill{padding:.5rem 1rem;border-radius:20px;border:2px solid #e2e8f0;background:#fff;font-size:.85rem;font-weight:600;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;gap:.5rem}.clinic-pill:hover{transform:translateY(-1px);box-shadow:0 4px 12px #0000001a}.clinic-pill.active{color:#fff;border-color:transparent}.clinic-pill-dot{width:8px;height:8px;border-radius:50%}.agenda-date-selector{display:flex;align-items:center;gap:.75rem;margin-left:auto}.agenda-date-selector input[type=date]{padding:.5rem 1rem;border:2px solid #e2e8f0;border-radius:12px;font-size:.9rem;color:#1e293b;background:#fff;font-weight:500;outline:none;transition:border-color .2s}.agenda-date-selector input[type=date]:focus{border-color:#0891b2}.agenda-mini-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem}.agenda-mini-stat{background:#fff;border-radius:14px;padding:1rem 1.25rem;display:flex;align-items:center;gap:.75rem;border:1px solid rgba(0,0,0,.05);box-shadow:0 2px 8px #0000000a}.agenda-mini-stat-icon{width:40px;height:40px;border-radius:10px;display:flex;align-items:center;justify-content:center;font-size:1.1rem}.agenda-mini-stat-icon.cyan{background:linear-gradient(135deg,#0891b226,#0891b214)}.agenda-mini-stat-icon.green{background:linear-gradient(135deg,#10b98126,#10b98114)}.agenda-mini-stat-icon.red{background:linear-gradient(135deg,#ef444426,#ef444414)}.agenda-mini-stat-icon.amber{background:linear-gradient(135deg,#f59e0b26,#f59e0b14)}.agenda-mini-stat h4{font-size:1.25rem;font-weight:700;color:#1e293b;margin:0}.agenda-mini-stat span{font-size:.8rem;color:#64748b}.clinic-badge{display:inline-flex;align-items:center;gap:.4rem;padding:.3rem .7rem;border-radius:8px;font-size:.8rem;font-weight:600;color:#fff}.appointment-status{display:inline-flex;align-items:center;gap:.35rem;padding:.3rem .75rem;border-radius:20px;font-size:.8rem;font-weight:600}.appointment-status .status-dot{width:6px;height:6px;border-radius:50%;animation:pulse 2s infinite}.appointment-status.confirmada{background:linear-gradient(135deg,#dcfce7,#d1fae5);color:#15803d}.appointment-status.confirmada .status-dot{background:#15803d}.appointment-status.pendiente{background:linear-gradient(135deg,#fef3c7,#fef9c3);color:#b45309}.appointment-status.pendiente .status-dot{background:#b45309}.appointment-status.en-curso{background:linear-gradient(135deg,#dbeafe,#bfdbfe);color:#1d4ed8}.appointment-status.en-curso .status-dot{background:#1d4ed8}.appointment-status.completada{background:linear-gradient(135deg,#f3f4f6,#e5e7eb);color:#4b5563}.appointment-status.completada .status-dot{background:#4b5563;animation:none}.appointment-status.cancelada{background:linear-gradient(135deg,#fee2e2,#fecaca);color:#b91c1c}.appointment-status.cancelada .status-dot{background:#b91c1c;animation:none}.appointment-status.no-show{background:linear-gradient(135deg,#fef2f2,#fee2e2);color:#dc2626}.appointment-status.no-show .status-dot{background:#dc2626;animation:none}@media(max-width:768px){.agenda-mini-stats{grid-template-columns:repeat(2,1fr)}.clinic-filters{flex-direction:column;align-items:flex-start}.agenda-date-selector{margin-left:0}}.callcenter-container{display:flex;flex-direction:column;gap:1.5rem;animation:fadeInUp .3s ease}.agents-panel{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem}.agent-card{background:#fff;border-radius:16px;padding:1.25rem;border:1px solid rgba(0,0,0,.05);box-shadow:0 2px 10px #0000000a;display:flex;flex-direction:column;gap:.75rem;transition:all .2s ease}.agent-card:hover{transform:translateY(-3px);box-shadow:0 8px 25px #00000014}.agent-card-header{display:flex;align-items:center;gap:.75rem}.agent-avatar{width:42px;height:42px;border-radius:12px;background:linear-gradient(135deg,#0891b2,#0e7490);display:flex;align-items:center;justify-content:center;color:#fff;font-weight:700;font-size:.9rem}.agent-info h4{font-size:.9rem;font-weight:600;color:#1e293b;margin:0}.agent-status-badge{display:inline-flex;align-items:center;gap:.3rem;font-size:.75rem;font-weight:600;padding:.15rem .5rem;border-radius:10px}.agent-status-badge.disponible{background:#dcfce7;color:#15803d}.agent-status-badge.en-llamada{background:#dbeafe;color:#1d4ed8}.agent-status-badge.pausa{background:#fef3c7;color:#b45309}.agent-status-badge.desconectado{background:#f3f4f6;color:#6b7280}.agent-status-dot{width:6px;height:6px;border-radius:50%}.agent-status-badge.disponible .agent-status-dot{background:#15803d;animation:pulse 2s infinite}.agent-status-badge.en-llamada .agent-status-dot{background:#1d4ed8;animation:pulse 1.5s infinite}.agent-status-badge.pausa .agent-status-dot{background:#b45309}.agent-status-badge.desconectado .agent-status-dot{background:#6b7280}.agent-card-stats{display:flex;justify-content:space-between;gap:.5rem}.agent-stat{text-align:center}.agent-stat-value{font-size:1rem;font-weight:700;color:#1e293b}.agent-stat-label{font-size:.7rem;color:#94a3b8;display:block}.call-direction{display:inline-flex;align-items:center;gap:.3rem;font-size:.8rem;font-weight:600}.call-direction.entrante{color:#0891b2}.call-direction.saliente{color:#8b5cf6}.call-result-badge{display:inline-flex;align-items:center;gap:.3rem;padding:.25rem .6rem;border-radius:8px;font-size:.78rem;font-weight:600}.call-result-badge.cita-reservada{background:#dcfce7;color:#15803d}.call-result-badge.informacion{background:#dbeafe;color:#1d4ed8}.call-result-badge.cancelacion{background:#fee2e2;color:#b91c1c}.call-result-badge.reprogramacion{background:#fef3c7;color:#b45309}.call-result-badge.no-contesta{background:#f3f4f6;color:#6b7280}.call-result-badge.buzon{background:#f1f5f9;color:#64748b}.call-status-badge{display:inline-flex;align-items:center;gap:.3rem;padding:.25rem .6rem;border-radius:20px;font-size:.78rem;font-weight:600}.call-status-badge .status-dot{width:6px;height:6px;border-radius:50%}.call-status-badge.completada{background:linear-gradient(135deg,#dcfce7,#d1fae5);color:#15803d}.call-status-badge.completada .status-dot{background:#15803d}.call-status-badge.en-curso{background:linear-gradient(135deg,#dbeafe,#bfdbfe);color:#1d4ed8}.call-status-badge.en-curso .status-dot{background:#1d4ed8;animation:pulse 1.5s infinite}.call-status-badge.perdida{background:linear-gradient(135deg,#fee2e2,#fecaca);color:#b91c1c}.call-status-badge.perdida .status-dot{background:#b91c1c}@media(max-width:1024px){.agents-panel{grid-template-columns:repeat(2,1fr)}}@media(max-width:640px){.agents-panel{grid-template-columns:1fr}}.permisos-container{display:flex;flex-direction:column;gap:1.5rem;animation:fadeInUp .3s ease}.permisos-view-toggle{display:flex;align-items:center;gap:.5rem;background:#fff;border-radius:12px;padding:.35rem;border:1px solid #e2e8f0;width:fit-content}.view-toggle-btn{padding:.5rem 1.25rem;border:none;border-radius:10px;font-size:.85rem;font-weight:600;cursor:pointer;transition:all .2s ease;color:#64748b;background:transparent;display:flex;align-items:center;gap:.4rem}.view-toggle-btn.active{background:linear-gradient(135deg,#0891b2,#0e7490);color:#fff;box-shadow:0 4px 12px #0891b24d}.permisos-matrix-card{background:#fff;border-radius:20px;box-shadow:0 4px 20px #0000000d;border:1px solid rgba(0,0,0,.05);overflow:hidden}.permisos-matrix-header{padding:1.25rem 1.5rem;border-bottom:1px solid #f1f5f9;display:flex;align-items:center;justify-content:space-between}.permisos-matrix-header h3{font-size:1.1rem;font-weight:700;color:#1e293b;margin:0}.permisos-matrix{overflow-x:auto}.permisos-matrix table{width:100%;border-collapse:collapse}.permisos-matrix th{padding:.85rem 1rem;text-align:center;font-weight:600;font-size:.85rem;color:#475569;background:#f8fafc;border-bottom:2px solid #e2e8f0}.permisos-matrix th:first-child{text-align:left;min-width:200px}.permisos-matrix td{padding:.75rem 1rem;text-align:center;border-bottom:1px solid #f1f5f9}.permisos-matrix td:first-child{text-align:left}.permisos-matrix tr:hover{background:#f8fafc}.matrix-user-cell{display:flex;align-items:center;gap:.75rem}.matrix-user-avatar{width:36px;height:36px;border-radius:10px;background:linear-gradient(135deg,#0891b2,#0e7490);display:flex;align-items:center;justify-content:center;color:#fff;font-weight:700;font-size:.8rem}.matrix-user-info strong{display:block;font-size:.88rem;color:#1e293b}.matrix-user-info span{font-size:.78rem;color:#94a3b8}.access-badge{display:inline-flex;padding:.3rem .7rem;border-radius:8px;font-size:.78rem;font-weight:600}.access-badge.admin{background:linear-gradient(135deg,#fef3c7,#fef9c3);color:#b45309}.access-badge.completo{background:linear-gradient(135deg,#dcfce7,#d1fae5);color:#15803d}.access-badge.limitado{background:linear-gradient(135deg,#dbeafe,#bfdbfe);color:#1d4ed8}.access-badge.solo-lectura{background:linear-gradient(135deg,#f3f4f6,#e5e7eb);color:#4b5563}.access-badge.sin-acceso{background:linear-gradient(135deg,#fee2e2,#fecaca);color:#b91c1c}.permisos-templates{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}.permisos-template-card{background:#fff;border-radius:16px;padding:1.5rem;border:1px solid rgba(0,0,0,.05);box-shadow:0 2px 10px #0000000a;transition:all .2s ease;cursor:pointer}.permisos-template-card:hover{transform:translateY(-3px);box-shadow:0 8px 25px #00000014}.permisos-template-icon{width:48px;height:48px;border-radius:14px;display:flex;align-items:center;justify-content:center;font-size:1.3rem;margin-bottom:1rem}.permisos-template-card h4{font-size:1rem;font-weight:700;color:#1e293b;margin:0 0 .35rem}.permisos-template-card p{font-size:.85rem;color:#64748b;margin:0;line-height:1.4}@media(max-width:768px){.permisos-templates{grid-template-columns:1fr}}.informes-mc-container{display:flex;flex-direction:column;gap:1.5rem;animation:fadeInUp .3s ease}.informes-mc-toggle{display:flex;align-items:center;gap:.5rem;background:#fff;border-radius:12px;padding:.35rem;border:1px solid #e2e8f0;width:fit-content}.informes-mc-toggle-btn{padding:.5rem 1.25rem;border:none;border-radius:10px;font-size:.85rem;font-weight:600;cursor:pointer;transition:all .2s ease;color:#64748b;background:transparent;display:flex;align-items:center;gap:.4rem}.informes-mc-toggle-btn.active{background:linear-gradient(135deg,#0891b2,#0e7490);color:#fff;box-shadow:0 4px 12px #0891b24d}.informes-mc-summary{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem}.informes-mc-summary-card{background:#fff;border-radius:14px;padding:1.25rem;border:1px solid rgba(0,0,0,.05);box-shadow:0 2px 8px #0000000a;text-align:center}.informes-mc-summary-card .summary-value{font-size:1.4rem;font-weight:700;color:#1e293b;display:block}.informes-mc-summary-card .summary-label{font-size:.82rem;color:#64748b;display:block;margin-top:.25rem}.informes-mc-chart{background:#fff;border-radius:20px;box-shadow:0 4px 20px #0000000d;border:1px solid rgba(0,0,0,.05);padding:1.5rem}.informes-mc-chart h3{font-size:1.1rem;font-weight:700;color:#1e293b;margin:0 0 1.25rem}.chart-bars-container{display:flex;justify-content:space-around;align-items:flex-end;height:220px;padding:0 1rem;gap:2rem}.chart-bar-group{display:flex;flex-direction:column;align-items:center;gap:.5rem;flex:1}.chart-bar-value{font-size:.85rem;font-weight:700;color:#1e293b}.chart-bar-wrapper{width:60px;height:180px;background:#f1f5f9;border-radius:8px;position:relative;overflow:hidden;display:flex;align-items:flex-end}.chart-bar{width:100%;border-radius:8px 8px 0 0;transition:height .6s ease}.chart-bar-label{font-size:.8rem;font-weight:600;color:#64748b;text-align:center}.clinic-selector-row{display:flex;align-items:center;gap:.75rem}.clinic-selector-row label{font-weight:600;color:#1e293b;font-size:.9rem}.clinic-selector-row select{padding:.5rem 1rem;border:2px solid #e2e8f0;border-radius:12px;font-size:.9rem;color:#1e293b;background:#fff;font-weight:500;outline:none;cursor:pointer}.clinic-selector-row select:focus{border-color:#0891b2}.clinic-metrics-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem}.clinic-metric-card{background:#fff;border-radius:14px;padding:1.25rem;border:1px solid rgba(0,0,0,.05);box-shadow:0 2px 8px #0000000a}.clinic-metric-card .metric-icon{font-size:1.3rem;margin-bottom:.5rem}.clinic-metric-card .metric-value{font-size:1.3rem;font-weight:700;color:#1e293b;display:block}.clinic-metric-card .metric-label{font-size:.82rem;color:#64748b;display:block;margin-top:.15rem}@media(max-width:768px){.informes-mc-summary,.clinic-metrics-grid{grid-template-columns:repeat(2,1fr)}.chart-bars-container{gap:1rem}.chart-bar-wrapper{width:40px}}.stock-multi-container{display:flex;flex-direction:column;gap:1.5rem;animation:fadeInUp .3s ease}.stock-sub-tabs{display:flex;gap:.5rem;background:#fff;border-radius:12px;padding:.35rem;border:1px solid #e2e8f0;width:fit-content}.stock-sub-tab{padding:.5rem 1.25rem;border:none;border-radius:10px;font-size:.85rem;font-weight:600;cursor:pointer;transition:all .2s ease;color:#64748b;background:transparent;display:flex;align-items:center;gap:.4rem}.stock-sub-tab.active{background:linear-gradient(135deg,#0891b2,#0e7490);color:#fff;box-shadow:0 4px 12px #0891b24d}.stock-clinic-header{display:flex;align-items:center;justify-content:center;gap:.3rem;font-size:.82rem}.stock-clinic-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}.stock-level{display:inline-flex;align-items:center;gap:.3rem;font-size:.85rem;font-weight:600}.stock-level.ok{color:#15803d}.stock-level.low{color:#b45309}.stock-level.critical{color:#dc2626}.stock-level.out{color:#b91c1c}.stock-alert-badge{display:inline-flex;align-items:center;gap:.3rem;padding:.25rem .6rem;border-radius:8px;font-size:.78rem;font-weight:600}.stock-alert-badge.ok{background:#dcfce7;color:#15803d}.stock-alert-badge.low{background:#fef3c7;color:#b45309}.stock-alert-badge.critical{background:#fee2e2;color:#b91c1c}.stock-alert-badge.out{background:#fef2f2;color:#991b1b}.transfer-status{display:inline-flex;align-items:center;gap:.3rem;padding:.3rem .75rem;border-radius:20px;font-size:.8rem;font-weight:600}.transfer-status .status-dot{width:6px;height:6px;border-radius:50%}.transfer-status.pendiente{background:linear-gradient(135deg,#fef3c7,#fef9c3);color:#b45309}.transfer-status.pendiente .status-dot{background:#b45309;animation:pulse 2s infinite}.transfer-status.en-transito{background:linear-gradient(135deg,#dbeafe,#bfdbfe);color:#1d4ed8}.transfer-status.en-transito .status-dot{background:#1d4ed8;animation:pulse 1.5s infinite}.transfer-status.recibida{background:linear-gradient(135deg,#dcfce7,#d1fae5);color:#15803d}.transfer-status.recibida .status-dot{background:#15803d}.transfer-status.cancelada{background:linear-gradient(135deg,#f3f4f6,#e5e7eb);color:#6b7280}.transfer-status.cancelada .status-dot{background:#6b7280}.transfer-flow{display:flex;align-items:center;gap:.5rem;font-size:.85rem}.transfer-flow-clinic{display:inline-flex;align-items:center;gap:.3rem;padding:.25rem .6rem;border-radius:8px;font-weight:600;color:#fff;font-size:.8rem}.transfer-flow-arrow{color:#94a3b8;font-size:1rem}.transfer-items-list{display:flex;flex-direction:column;gap:.2rem}.transfer-item-row{font-size:.82rem;color:#475569}.transfer-item-qty{font-weight:600;color:#1e293b}@media(max-width:768px){.transfer-flow{flex-direction:column;gap:.25rem}}.multiclinica-page{display:flex;flex-direction:column;gap:2rem;animation:fadeInUp .5s ease}.multiclinica-header{display:flex;justify-content:space-between;align-items:flex-start;flex-wrap:wrap;gap:1.5rem}.multiclinica-header-content h1{font-size:2rem;font-weight:700;background:linear-gradient(135deg,#1e3a5f,#0891b2);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;margin-bottom:.5rem}.multiclinica-header-content p{color:#64748b;font-size:1rem}.multiclinica-header-actions{display:flex;gap:.75rem}@media(max-width:768px){.multiclinica-header{flex-direction:column;align-items:stretch}.multiclinica-header-actions{justify-content:stretch}.multiclinica-header-actions button{flex:1;justify-content:center}}.automatizacion-page{display:flex;flex-direction:column;gap:2rem;animation:automatizacionFadeIn .5s ease}@keyframes automatizacionFadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.automatizacion-header{display:flex;justify-content:space-between;align-items:flex-start;flex-wrap:wrap;gap:1.5rem}.automatizacion-header-content h1{font-size:2rem;font-weight:700;background:linear-gradient(135deg,#4f46e5,#0891b2);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;margin-bottom:.5rem}.automatizacion-header-content p{color:#64748b;font-size:1rem}.automatizacion-header-actions{display:flex;gap:.75rem;flex-wrap:wrap}.automatizacion-header-actions .btn-outline-premium{display:flex;align-items:center;gap:.5rem;padding:.75rem 1.25rem;background:#fff;color:#4f46e5;border:2px solid #4f46e5;border-radius:12px;font-size:.9rem;font-weight:600;cursor:pointer;transition:all .3s ease}.automatizacion-header-actions .btn-outline-premium:hover{background:#4f46e5;color:#fff;transform:translateY(-2px)}.automatizacion-kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:1.5rem}.automatizacion-kpi-card{background:#fff;border-radius:20px;padding:1.75rem;position:relative;overflow:hidden;transition:all .4s cubic-bezier(.4,0,.2,1);box-shadow:0 4px 20px #0000000d;border:1px solid rgba(0,0,0,.05)}.automatizacion-kpi-card:before{content:"";position:absolute;top:0;left:0;right:0;height:4px;background:linear-gradient(90deg,var(--kpi-accent),var(--kpi-accent-light))}.automatizacion-kpi-card:hover{transform:translateY(-5px);box-shadow:0 12px 30px #0000001a}.automatizacion-kpi-card.active-flows{--kpi-accent: #4f46e5;--kpi-accent-light: #818cf8}.automatizacion-kpi-card.messages-today{--kpi-accent: #0891b2;--kpi-accent-light: #22d3ee}.automatizacion-kpi-card.success-rate{--kpi-accent: #10b981;--kpi-accent-light: #34d399}.automatizacion-kpi-card.pending-actions{--kpi-accent: #f59e0b;--kpi-accent-light: #fbbf24}.automatizacion-kpi-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.automatizacion-kpi-icon{width:48px;height:48px;border-radius:14px;display:flex;align-items:center;justify-content:center;font-size:1.4rem;background:linear-gradient(135deg,var(--kpi-accent),var(--kpi-accent-light));color:#fff;box-shadow:0 4px 12px #0000001a}.automatizacion-kpi-body h3{font-size:2rem;font-weight:800;color:#1e293b;margin-bottom:.25rem}.automatizacion-kpi-body p{font-size:.85rem;color:#64748b;font-weight:500}.automatizacion-tabs-nav{display:flex;gap:.5rem;padding:.5rem;background:#fff;border-radius:16px;box-shadow:0 4px 20px #0000000d;border:1px solid rgba(0,0,0,.05);overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none}.automatizacion-tabs-nav::-webkit-scrollbar{display:none}.automatizacion-tab-btn{display:flex;align-items:center;gap:.5rem;padding:.75rem 1.5rem;background:transparent;border:none;border-radius:12px;font-size:.9rem;font-weight:600;color:#64748b;cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1);white-space:nowrap}.automatizacion-tab-btn:hover{color:#4f46e5;background:#4f46e50d}.automatizacion-tab-btn.active{background:linear-gradient(135deg,#4f46e5,#6366f1);color:#fff;box-shadow:0 4px 15px #4f46e54d}.automatizacion-tab-icon{font-size:1.1rem}.automatizacion-tab-content{animation:automatizacionFadeIn .3s ease}.automatizacion-section{background:#fff;border-radius:20px;padding:1.75rem;box-shadow:0 4px 20px #0000000d;border:1px solid rgba(0,0,0,.05)}.automatizacion-section h3{font-size:1.1rem;font-weight:700;color:#1e293b;margin-bottom:1.25rem;display:flex;align-items:center;gap:.5rem}.automatizacion-table{width:100%;border-collapse:separate;border-spacing:0}.automatizacion-table thead{background:linear-gradient(180deg,#f8fafc,#f1f5f9)}.automatizacion-table th{padding:.85rem 1rem;text-align:left;font-size:.75rem;font-weight:700;color:#475569;text-transform:uppercase;letter-spacing:.08em;border-bottom:2px solid #e2e8f0}.automatizacion-table td{padding:.85rem 1rem;font-size:.88rem;color:#334155;border-bottom:1px solid #f1f5f9;vertical-align:middle}.automatizacion-table tbody tr{transition:background .2s ease}.automatizacion-table tbody tr:hover{background:linear-gradient(90deg,rgba(79,70,229,.03) 0%,transparent 100%)}.automatizacion-badge{display:inline-flex;align-items:center;gap:.4rem;padding:.35rem .85rem;border-radius:10px;font-size:.8rem;font-weight:600}.automatizacion-badge.active{background:linear-gradient(135deg,#dcfce7,#d1fae5);color:#15803d}.automatizacion-badge.paused{background:linear-gradient(135deg,#fef3c7,#fef9c3);color:#b45309}.automatizacion-badge.sent{background:linear-gradient(135deg,#dbeafe,#bfdbfe);color:#1d4ed8}.automatizacion-badge.delivered{background:linear-gradient(135deg,#dcfce7,#d1fae5);color:#15803d}.automatizacion-badge.pending{background:linear-gradient(135deg,#fef3c7,#fef9c3);color:#b45309}.automatizacion-badge.failed{background:linear-gradient(135deg,#fee2e2,#fecaca);color:#b91c1c}.automatizacion-badge.cancelled{background:linear-gradient(135deg,#f1f5f9,#e2e8f0);color:#64748b}.automatizacion-channels{display:flex;gap:.4rem}.automatizacion-channel-icon{width:28px;height:28px;border-radius:8px;display:flex;align-items:center;justify-content:center;font-size:.85rem}.automatizacion-channel-icon.sms{background:#dbeafe;color:#2563eb}.automatizacion-channel-icon.email{background:#dcfce7;color:#16a34a}.automatizacion-channel-icon.postal{background:#fef3c7;color:#d97706}.automatizacion-toggle{position:relative;width:48px;height:26px;cursor:pointer}.automatizacion-toggle input{opacity:0;width:0;height:0}.automatizacion-toggle-slider{position:absolute;inset:0;background:#cbd5e1;border-radius:13px;transition:all .3s ease}.automatizacion-toggle-slider:before{content:"";position:absolute;width:20px;height:20px;border-radius:50%;background:#fff;top:3px;left:3px;transition:all .3s ease;box-shadow:0 2px 4px #00000026}.automatizacion-toggle input:checked+.automatizacion-toggle-slider{background:linear-gradient(135deg,#4f46e5,#6366f1)}.automatizacion-toggle input:checked+.automatizacion-toggle-slider:before{transform:translate(22px)}.automatizacion-progress{display:flex;align-items:center;gap:.5rem}.automatizacion-progress-bar{flex:1;height:8px;background:#f1f5f9;border-radius:4px;overflow:hidden;min-width:60px}.automatizacion-progress-fill{height:100%;border-radius:4px;transition:width .6s ease}.automatizacion-progress-fill.high{background:linear-gradient(90deg,#10b981,#34d399)}.automatizacion-progress-fill.medium{background:linear-gradient(90deg,#f59e0b,#fbbf24)}.automatizacion-progress-fill.low{background:linear-gradient(90deg,#ef4444,#f87171)}.automatizacion-progress-text{font-size:.82rem;font-weight:600;color:#475569;min-width:40px;text-align:right}.automatizacion-templates-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem}.automatizacion-template-card{background:#fff;border-radius:20px;overflow:hidden;box-shadow:0 4px 20px #0000000d;border:1px solid rgba(0,0,0,.05);transition:all .4s cubic-bezier(.4,0,.2,1);position:relative}.automatizacion-template-card:before{content:"";position:absolute;top:0;left:0;right:0;height:4px;background:linear-gradient(90deg,var(--card-accent),var(--card-accent-light))}.automatizacion-template-card:hover{transform:translateY(-5px);box-shadow:0 12px 30px #0000001a}.automatizacion-template-card.reminder{--card-accent: #0891b2;--card-accent-light: #22d3ee}.automatizacion-template-card.recall{--card-accent: #7c3aed;--card-accent-light: #a78bfa}.automatizacion-template-card.post_implant{--card-accent: #d97706;--card-accent-light: #fbbf24}.automatizacion-template-card.orthodontics{--card-accent: #ec4899;--card-accent-light: #f472b6}.automatizacion-template-card.reactivation{--card-accent: #ef4444;--card-accent-light: #f87171}.automatizacion-template-card.billing{--card-accent: #10b981;--card-accent-light: #34d399}.automatizacion-template-header{padding:1.5rem 1.5rem 1rem;display:flex;align-items:flex-start;gap:1rem}.automatizacion-template-icon{width:48px;height:48px;border-radius:14px;display:flex;align-items:center;justify-content:center;font-size:1.4rem;background:linear-gradient(135deg,var(--card-accent),var(--card-accent-light));color:#fff;box-shadow:0 4px 12px #0000001a;flex-shrink:0}.automatizacion-template-info h4{font-size:1rem;font-weight:700;color:#1e293b;margin-bottom:.35rem}.automatizacion-template-info p{font-size:.85rem;color:#64748b;line-height:1.4}.automatizacion-template-body{padding:0 1.5rem 1rem;display:flex;align-items:center;justify-content:space-between;gap:.75rem}.automatizacion-template-meta{display:flex;gap:.5rem;align-items:center;flex-wrap:wrap}.automatizacion-template-footer{padding:1rem 1.5rem;border-top:1px solid #f1f5f9;display:flex;justify-content:space-between;align-items:center}.automatizacion-template-stats{display:flex;gap:1rem}.automatizacion-template-stat{font-size:.82rem;color:#64748b}.automatizacion-template-stat strong{color:#1e293b;font-weight:700}.btn-automatizacion-config{display:flex;align-items:center;gap:.4rem;padding:.5rem 1rem;background:linear-gradient(135deg,var(--card-accent),var(--card-accent-light));color:#fff;border:none;border-radius:10px;font-size:.82rem;font-weight:600;cursor:pointer;transition:all .3s ease}.btn-automatizacion-config:hover{transform:translateY(-2px);box-shadow:0 4px 15px #0003}.automatizacion-filters{display:flex;gap:1rem;align-items:center;flex-wrap:wrap;margin-bottom:1.5rem}.automatizacion-filter-group{display:flex;gap:.5rem;align-items:center}.automatizacion-filter-group label{font-size:.82rem;font-weight:600;color:#475569;white-space:nowrap}.automatizacion-filter-group select,.automatizacion-filter-group input[type=date]{padding:.5rem .75rem;border:2px solid #e2e8f0;border-radius:10px;font-size:.85rem;outline:none;transition:border-color .2s ease;background:#fff}.automatizacion-filter-group select:focus,.automatizacion-filter-group input[type=date]:focus{border-color:#4f46e5}.automatizacion-search{flex:1;min-width:200px;padding:.6rem 1rem;border:2px solid #e2e8f0;border-radius:10px;font-size:.9rem;transition:border-color .2s ease;outline:none}.automatizacion-search:focus{border-color:#4f46e5}.automatizacion-pagination{display:flex;justify-content:space-between;align-items:center;padding-top:1.25rem;border-top:1px solid #f1f5f9;margin-top:1rem}.automatizacion-pagination-info{font-size:.85rem;color:#64748b}.automatizacion-pagination-buttons{display:flex;gap:.5rem}.automatizacion-pagination-btn{padding:.5rem 1rem;background:#fff;border:2px solid #e2e8f0;border-radius:10px;font-size:.85rem;font-weight:600;color:#475569;cursor:pointer;transition:all .2s ease}.automatizacion-pagination-btn:hover:not(:disabled){border-color:#4f46e5;color:#4f46e5}.automatizacion-pagination-btn:disabled{opacity:.4;cursor:not-allowed}.automatizacion-config-grid{display:flex;flex-direction:column;gap:1.5rem}.automatizacion-config-section{background:#fff;border-radius:20px;padding:1.75rem;box-shadow:0 4px 20px #0000000d;border:1px solid rgba(0,0,0,.05)}.automatizacion-config-section h3{font-size:1.1rem;font-weight:700;color:#1e293b;margin-bottom:1.25rem;display:flex;align-items:center;gap:.5rem}.automatizacion-config-fields{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.automatizacion-form-group{display:flex;flex-direction:column;gap:.4rem}.automatizacion-form-group.full-width{grid-column:1 / -1}.automatizacion-form-group label{font-size:.85rem;font-weight:600;color:#475569}.automatizacion-form-group input,.automatizacion-form-group select{padding:.65rem 1rem;border:2px solid #e2e8f0;border-radius:10px;font-size:.9rem;outline:none;transition:border-color .2s ease}.automatizacion-form-group input:focus,.automatizacion-form-group select:focus{border-color:#4f46e5}.automatizacion-config-toggle{display:flex;align-items:center;justify-content:space-between;padding:1rem;background:#f8fafc;border-radius:12px;margin-bottom:1rem}.automatizacion-config-toggle-info h4{font-size:.95rem;font-weight:600;color:#1e293b;margin-bottom:.2rem}.automatizacion-config-toggle-info p{font-size:.82rem;color:#64748b}.btn-automatizacion-save{display:flex;align-items:center;gap:.5rem;padding:.75rem 1.5rem;background:linear-gradient(135deg,#4f46e5,#6366f1);color:#fff;border:none;border-radius:12px;font-size:.9rem;font-weight:600;cursor:pointer;transition:all .3s ease;margin-top:1rem}.btn-automatizacion-save:hover{transform:translateY(-2px);box-shadow:0 4px 15px #4f46e54d}.automatizacion-modal-overlay{position:fixed;inset:0;background:#00000080;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:1000;animation:automatizacionFadeIn .2s ease}.automatizacion-modal{background:#fff;border-radius:24px;width:100%;max-width:720px;max-height:90vh;overflow:hidden;box-shadow:0 25px 80px #0000004d;animation:automatizacionModalSlideUp .4s cubic-bezier(.4,0,.2,1);display:flex;flex-direction:column}@keyframes automatizacionModalSlideUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}.automatizacion-modal-header{display:flex;align-items:center;justify-content:space-between;padding:1.5rem 2rem;background:linear-gradient(135deg,#4f46e5,#6366f1);color:#fff;flex-shrink:0}.automatizacion-modal-header h3{font-size:1.15rem;font-weight:700;color:#fff}.automatizacion-modal-close{background:#fff3;border:none;color:#fff;width:36px;height:36px;border-radius:10px;font-size:1.2rem;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .2s ease}.automatizacion-modal-close:hover{background:#ffffff4d}.automatizacion-modal-body{padding:1.5rem 2rem;overflow-y:auto;flex:1}.automatizacion-modal-section{margin-bottom:1.5rem}.automatizacion-modal-section h4{font-size:.95rem;font-weight:700;color:#1e293b;margin-bottom:.75rem;display:flex;align-items:center;gap:.5rem}.automatizacion-steps-list{display:flex;flex-direction:column;gap:0}.automatizacion-step-item{display:flex;gap:1rem;position:relative}.automatizacion-step-timeline{display:flex;flex-direction:column;align-items:center;width:36px;flex-shrink:0}.automatizacion-step-number{width:36px;height:36px;border-radius:50%;background:linear-gradient(135deg,#4f46e5,#6366f1);color:#fff;display:flex;align-items:center;justify-content:center;font-size:.85rem;font-weight:700;z-index:1}.automatizacion-step-line{width:2px;flex:1;background:#e2e8f0;min-height:20px}.automatizacion-step-content{flex:1;background:#f8fafc;border-radius:14px;padding:1rem 1.25rem;margin-bottom:.75rem;border:1px solid #e2e8f0}.automatizacion-step-row{display:grid;grid-template-columns:1fr 1fr 1fr;gap:.75rem;margin-bottom:.75rem}.automatizacion-step-row select,.automatizacion-step-row input{padding:.5rem .75rem;border:2px solid #e2e8f0;border-radius:8px;font-size:.85rem;outline:none;transition:border-color .2s ease}.automatizacion-step-row select:focus,.automatizacion-step-row input:focus{border-color:#4f46e5}.automatizacion-step-template{margin-top:.5rem}.automatizacion-step-template label{font-size:.8rem;font-weight:600;color:#475569;display:block;margin-bottom:.35rem}.automatizacion-step-template textarea{width:100%;min-height:80px;padding:.65rem .75rem;border:2px solid #e2e8f0;border-radius:8px;font-size:.85rem;outline:none;resize:vertical;font-family:inherit;transition:border-color .2s ease}.automatizacion-step-template textarea:focus{border-color:#4f46e5}.automatizacion-step-actions{display:flex;justify-content:flex-end;margin-top:.5rem}.btn-remove-step{padding:.35rem .75rem;background:transparent;border:1px solid #fecaca;border-radius:8px;font-size:.78rem;color:#ef4444;cursor:pointer;transition:all .2s ease}.btn-remove-step:hover{background:#fef2f2}.btn-add-step{display:flex;align-items:center;gap:.4rem;padding:.6rem 1rem;background:#f8fafc;border:2px dashed #cbd5e1;border-radius:12px;font-size:.85rem;font-weight:600;color:#64748b;cursor:pointer;transition:all .2s ease;width:100%;justify-content:center;margin-top:.5rem}.btn-add-step:hover{border-color:#4f46e5;color:#4f46e5;background:#4f46e50d}.automatizacion-variables{display:flex;gap:.35rem;flex-wrap:wrap;margin-top:.5rem}.automatizacion-variable-tag{padding:.25rem .6rem;background:#eef2ff;border:1px solid #c7d2fe;border-radius:6px;font-size:.75rem;font-weight:500;color:#4338ca;cursor:pointer;transition:all .2s ease}.automatizacion-variable-tag:hover{background:#4f46e5;color:#fff;border-color:#4f46e5}.automatizacion-preview{background:#f0fdf4;border:1px solid #bbf7d0;border-radius:12px;padding:1rem 1.25rem}.automatizacion-preview h5{font-size:.82rem;font-weight:700;color:#15803d;margin-bottom:.5rem}.automatizacion-preview p{font-size:.85rem;color:#166534;line-height:1.5;white-space:pre-wrap}.automatizacion-modal-footer{display:flex;gap:.75rem;justify-content:flex-end;padding:1.25rem 2rem;border-top:1px solid #f1f5f9;flex-shrink:0}.btn-automatizacion-primary{padding:.65rem 1.5rem;background:linear-gradient(135deg,#4f46e5,#6366f1);color:#fff;border:none;border-radius:10px;font-size:.9rem;font-weight:600;cursor:pointer;transition:all .3s ease}.btn-automatizacion-primary:hover{transform:translateY(-2px);box-shadow:0 4px 15px #4f46e54d}.btn-automatizacion-secondary{padding:.65rem 1.5rem;background:#fff;color:#64748b;border:2px solid #e2e8f0;border-radius:10px;font-size:.9rem;font-weight:600;cursor:pointer;transition:all .2s ease}.btn-automatizacion-secondary:hover{border-color:#94a3b8;color:#475569}.btn-automatizacion-test{padding:.65rem 1.5rem;background:linear-gradient(135deg,#0891b2,#22d3ee);color:#fff;border:none;border-radius:10px;font-size:.9rem;font-weight:600;cursor:pointer;transition:all .3s ease}.btn-automatizacion-test:hover{transform:translateY(-2px);box-shadow:0 4px 15px #0891b24d}.automatizacion-empty{text-align:center;padding:3rem 2rem;color:#94a3b8}.automatizacion-empty-icon{font-size:3rem;margin-bottom:1rem}.automatizacion-empty h4{font-size:1.1rem;color:#64748b;margin-bottom:.5rem}.automatizacion-empty p{font-size:.9rem}.automatizacion-loading{text-align:center;padding:3rem 2rem;color:#64748b}.automatizacion-loading-spinner{display:inline-block;width:32px;height:32px;border:3px solid #e2e8f0;border-top-color:#4f46e5;border-radius:50%;animation:automatizacionSpin .8s linear infinite;margin-bottom:1rem}@keyframes automatizacionSpin{to{transform:rotate(360deg)}}@media(max-width:1200px){.automatizacion-kpis,.automatizacion-templates-grid{grid-template-columns:repeat(2,1fr)}.automatizacion-config-fields{grid-template-columns:1fr}}@media(max-width:768px){.automatizacion-header{flex-direction:column;align-items:stretch}.automatizacion-kpis,.automatizacion-templates-grid{grid-template-columns:1fr}.automatizacion-filters{flex-direction:column;align-items:stretch}.automatizacion-step-row{grid-template-columns:1fr}.automatizacion-modal{max-width:95%;margin:0 1rem}}.cuadrante-nav{display:flex;align-items:center;justify-content:space-between;padding:1rem 1.5rem;border-bottom:1px solid #f1f5f9}.cuadrante-nav-arrows{display:flex;align-items:center;gap:1rem}.cuadrante-nav-btn{background:none;border:1px solid #e2e8f0;border-radius:8px;padding:.4rem .75rem;cursor:pointer;color:#475569;font-size:1rem;transition:all .2s}.cuadrante-nav-btn:hover{background:#f1f5f9;border-color:#0891b2;color:#0891b2}.cuadrante-week-label{font-weight:600;color:#1e293b;font-size:1rem}.cuadrante-today-btn{padding:.4rem .875rem;background:#0891b2;color:#fff;border:none;border-radius:8px;font-size:.8rem;font-weight:500;cursor:pointer;transition:all .2s}.cuadrante-today-btn:hover{background:#0e7490}.cuadrante-table-wrapper{overflow-x:auto}.cuadrante-table{width:100%;border-collapse:collapse;min-width:900px}.cuadrante-table th{padding:.75rem .5rem;font-size:.75rem;font-weight:600;color:#64748b;text-transform:uppercase;letter-spacing:.05em;background:#f8fafc;border-bottom:1px solid #e2e8f0;text-align:center}.cuadrante-table th:first-child{text-align:left;padding-left:1.25rem;min-width:180px}.cuadrante-table th.today-col{background:#ecfeff;color:#0891b2}.cuadrante-table td{padding:.5rem;border-bottom:1px solid #f1f5f9;text-align:center;vertical-align:middle}.cuadrante-table td:first-child{text-align:left;padding-left:1.25rem}.cuadrante-table td.today-col{background:#f0fdfa}.cuadrante-table tbody tr:hover{background-color:#f8fafc}.cuadrante-staff-cell{display:flex;align-items:center;gap:.625rem}.cuadrante-staff-avatar{width:32px;height:32px;border-radius:8px;display:flex;align-items:center;justify-content:center;color:#fff;font-weight:600;font-size:.7rem;flex-shrink:0}.cuadrante-staff-name{font-weight:500;color:#1e293b;font-size:.85rem;white-space:nowrap}.cuadrante-staff-role{font-size:.7rem;color:#94a3b8}.shift-cell{display:inline-flex;flex-direction:column;align-items:center;gap:.1rem;padding:.35rem .5rem;border-radius:8px;font-size:.75rem;font-weight:500;min-width:70px;transition:all .2s;cursor:default}.shift-cell.manana{background:#fef3c7;color:#92400e;border:1px solid #fde68a}.shift-cell.tarde{background:#e0e7ff;color:#3730a3;border:1px solid #c7d2fe}.shift-cell.completa{background:#dcfce7;color:#14532d;border:1px solid #bbf7d0}.shift-cell.guardia{background:#fee2e2;color:#991b1b;border:1px solid #fecaca}.shift-cell.libre{background:#f1f5f9;color:#94a3b8;border:1px solid #e2e8f0}.shift-cell.leave-vacaciones{background:#fef9c3;color:#854d0e;border:1px solid #fde047}.shift-cell.leave-baja_medica{background:#fce7f3;color:#9d174d;border:1px solid #f9a8d4}.shift-cell.leave-permiso,.shift-cell.leave-asuntos_propios{background:#ede9fe;color:#5b21b6;border:1px solid #c4b5fd}.shift-cell.leave-maternidad{background:#fce7f3;color:#9d174d;border:1px solid #f9a8d4}.shift-time{font-size:.65rem;opacity:.8}.cuadrante-total-cell{font-weight:600;color:#1e293b;font-size:.85rem}.cuadrante-role-header td{background:#f8fafc;padding:.5rem 1.25rem;font-weight:600;font-size:.8rem;color:#475569;text-transform:uppercase;letter-spacing:.03em;border-bottom:1px solid #e2e8f0}.cuadrante-legend{display:flex;gap:1rem;padding:.75rem 1.5rem;border-top:1px solid #f1f5f9;flex-wrap:wrap}.cuadrante-legend-item{display:flex;align-items:center;gap:.35rem;font-size:.75rem;color:#64748b}.cuadrante-legend-color{width:14px;height:14px;border-radius:4px;border:1px solid rgba(0,0,0,.1)}@media(max-width:768px){.cuadrante-nav{flex-direction:column;gap:.75rem}}.vacaciones-summary{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem;padding:1.25rem 1.5rem;border-bottom:1px solid #f1f5f9}.vacaciones-summary-card{background:#f8fafc;border-radius:12px;padding:1rem;text-align:center}.vacaciones-summary-card h4{font-size:1.5rem;font-weight:700;margin:0 0 .25rem}.vacaciones-summary-card p{font-size:.8rem;color:#64748b;margin:0}.vacaciones-summary-card.pendientes h4{color:#d97706}.vacaciones-summary-card.aprobadas h4{color:#16a34a}.vacaciones-summary-card.rechazadas h4{color:#dc2626}.vacaciones-summary-card.total h4{color:#0891b2}.leave-type-badge{display:inline-flex;padding:.2rem .6rem;border-radius:6px;font-size:.75rem;font-weight:500}.leave-type-badge.vacaciones{background:#dbeafe;color:#1d4ed8}.leave-type-badge.baja_medica{background:#fee2e2;color:#dc2626}.leave-type-badge.permiso{background:#fef3c7;color:#b45309}.leave-type-badge.asuntos_propios{background:#f3e8ff;color:#7c3aed}.leave-type-badge.maternidad{background:#fce7f3;color:#be185d}.leave-dates{display:flex;flex-direction:column;gap:.15rem}.leave-dates .date-range{font-weight:500;color:#1e293b;font-size:.85rem}.leave-dates .date-days{font-size:.75rem;color:#64748b}.leave-reason{max-width:200px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:#475569;font-size:.85rem}.approve-btn{padding:.3rem .6rem;background:#dcfce7;color:#16a34a;border:1px solid #bbf7d0;border-radius:6px;cursor:pointer;font-size:.8rem;font-weight:500;transition:all .2s}.approve-btn:hover{background:#16a34a;color:#fff}.reject-btn{padding:.3rem .6rem;background:#fee2e2;color:#dc2626;border:1px solid #fecaca;border-radius:6px;cursor:pointer;font-size:.8rem;font-weight:500;transition:all .2s}.reject-btn:hover{background:#dc2626;color:#fff}@media(max-width:768px){.vacaciones-summary{grid-template-columns:repeat(2,1fr)}}.horas-controls{display:flex;align-items:center;gap:1rem;padding:1.25rem 1.5rem;border-bottom:1px solid #f1f5f9;flex-wrap:wrap}.horas-controls select,.horas-controls input[type=month]{padding:.5rem .875rem;border:1px solid #e2e8f0;border-radius:8px;font-size:.875rem;color:#475569;background:#fff;cursor:pointer}.horas-controls select:focus,.horas-controls input[type=month]:focus{outline:none;border-color:#0891b2}.horas-section-title{padding:1rem 1.5rem .5rem;font-size:.95rem;font-weight:600;color:#1e293b}.payroll-table{width:100%;border-collapse:collapse}.payroll-table th{text-align:left;padding:.625rem 1rem;background:#f8fafc;font-size:.75rem;font-weight:600;color:#64748b;text-transform:uppercase;letter-spacing:.05em;border-bottom:1px solid #e2e8f0}.payroll-table td{padding:.75rem 1rem;font-size:.85rem;color:#1e293b;border-bottom:1px solid #f1f5f9}.payroll-table tbody tr:hover{background-color:#f8fafc}.payroll-table .hours-cell{font-weight:600}.payroll-table .overtime-cell{color:#d97706;font-weight:600}.payroll-table .incidents-cell{color:#dc2626;font-weight:600}.payroll-table .incidents-cell.clean{color:#16a34a}.daily-entries{margin-top:1rem}.daily-table{width:100%;border-collapse:collapse}.daily-table th{text-align:left;padding:.5rem 1rem;background:#f8fafc;font-size:.7rem;font-weight:600;color:#64748b;text-transform:uppercase;letter-spacing:.05em;border-bottom:1px solid #e2e8f0}.daily-table td{padding:.5rem 1rem;font-size:.8rem;color:#1e293b;border-bottom:1px solid #f1f5f9}.daily-table tbody tr:hover{background-color:#f8fafc}.hours-status-badge{display:inline-flex;padding:.15rem .5rem;border-radius:4px;font-size:.7rem;font-weight:500}.hours-status-badge.validado{background:#dcfce7;color:#16a34a}.hours-status-badge.registrado{background:#dbeafe;color:#1d4ed8}.hours-status-badge.incidencia{background:#fee2e2;color:#dc2626}.horas-total-row td{font-weight:700;background:#f8fafc;border-top:2px solid #e2e8f0}@media(max-width:768px){.horas-controls{flex-direction:column;align-items:stretch}}.equipo-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:1.5rem}.staff-card{background:#fff;border-radius:16px;padding:1.5rem;border:1px solid #e2e8f0;transition:all .3s ease;cursor:pointer;position:relative;overflow:hidden}.staff-card:before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,var(--staff-color, #0891b2),transparent)}.staff-card:hover{transform:translateY(-4px);box-shadow:0 12px 30px #0000001a;border-color:#0891b2}.staff-card-header{display:flex;align-items:center;gap:1rem;margin-bottom:1rem}.staff-avatar{width:52px;height:52px;border-radius:14px;display:flex;align-items:center;justify-content:center;color:#fff;font-weight:700;font-size:1.1rem;flex-shrink:0}.staff-card-info h3{font-size:1rem;font-weight:600;color:#1e293b;margin:0 0 .25rem}.staff-card-info p{font-size:.8rem;color:#64748b;margin:0}.staff-role-badge{display:inline-flex;padding:.2rem .6rem;border-radius:6px;font-size:.7rem;font-weight:600;text-transform:uppercase;letter-spacing:.03em}.staff-role-badge.dentista{background:#dbeafe;color:#1d4ed8}.staff-role-badge.higienista{background:#f3e8ff;color:#7c3aed}.staff-role-badge.recepcionista{background:#fce7f3;color:#be185d}.staff-role-badge.auxiliar{background:#fef3c7;color:#b45309}.staff-role-badge.administracion{background:#dcfce7;color:#15803d}.staff-card-details{display:grid;grid-template-columns:1fr 1fr;gap:.75rem;padding-top:1rem;border-top:1px solid #f1f5f9}.staff-detail-item{display:flex;flex-direction:column;gap:.15rem}.staff-detail-item label{font-size:.7rem;color:#94a3b8;text-transform:uppercase;letter-spacing:.05em;font-weight:500}.staff-detail-item span{font-size:.85rem;color:#1e293b;font-weight:500}.staff-status-indicator{display:inline-flex;align-items:center;gap:.35rem;padding:.2rem .5rem;border-radius:20px;font-size:.75rem;font-weight:500}.staff-status-indicator.activo{background:#dcfce7;color:#16a34a}.staff-status-indicator.baja{background:#fee2e2;color:#dc2626}.staff-status-indicator.vacaciones{background:#fef3c7;color:#d97706}.staff-status-indicator.inactivo{background:#f1f5f9;color:#64748b}.staff-status-dot{width:6px;height:6px;border-radius:50%;background:currentColor}.staff-detail-panel{background:#fff;border-radius:16px;border:1px solid #e2e8f0;padding:2rem;margin-bottom:1.5rem;animation:fadeInUp .3s ease}.staff-detail-panel-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:1.5rem}.staff-detail-panel-info{display:flex;align-items:center;gap:1.25rem}.staff-detail-panel-info .staff-avatar{width:64px;height:64px;font-size:1.3rem}.staff-detail-panel-name h2{font-size:1.25rem;font-weight:700;color:#1e293b;margin:0 0 .25rem}.staff-detail-panel-name p{color:#64748b;margin:0;font-size:.9rem}.staff-detail-close{background:none;border:1px solid #e2e8f0;padding:.5rem .75rem;border-radius:8px;cursor:pointer;color:#64748b;font-size:1rem;transition:all .2s}.staff-detail-close:hover{background:#f1f5f9;color:#1e293b}.staff-detail-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem}.staff-detail-stat{background:#f8fafc;border-radius:12px;padding:1rem;text-align:center}.staff-detail-stat h4{font-size:1.25rem;font-weight:700;color:#1e293b;margin:0 0 .25rem}.staff-detail-stat p{font-size:.8rem;color:#64748b;margin:0}.equipo-filters{display:flex;gap:.75rem;flex-wrap:wrap;align-items:center}.equipo-filters select{padding:.5rem .875rem;border:1px solid #e2e8f0;border-radius:8px;font-size:.875rem;color:#475569;background:#fff;cursor:pointer}.equipo-filters select:focus{outline:none;border-color:#0891b2}@media(max-width:768px){.equipo-grid{grid-template-columns:1fr}.staff-detail-grid{grid-template-columns:repeat(2,1fr)}}.rrhh-page{display:flex;flex-direction:column;gap:2rem;animation:fadeInUp .5s ease}.rrhh-header{display:flex;justify-content:space-between;align-items:flex-start;flex-wrap:wrap;gap:1.5rem}.rrhh-header-content h1{font-size:2rem;font-weight:700;background:linear-gradient(135deg,#1e3a5f,#0891b2);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;margin-bottom:.5rem}.rrhh-header-content p{color:#64748b;font-size:1rem}.rrhh-header-actions{display:flex;gap:.75rem}@media(max-width:768px){.rrhh-header{flex-direction:column;align-items:stretch}.rrhh-header-actions{justify-content:stretch}.rrhh-header-actions button{flex:1;justify-content:center}}.dentia-page{padding:2rem 2.5rem;min-height:100%;background:linear-gradient(135deg,#f8fafc,#f1f5f9,#e2e8f0);position:relative;overflow-x:hidden}.dentia-bg-1{position:absolute;top:-100px;right:-100px;width:400px;height:400px;border-radius:50%;pointer-events:none;filter:blur(80px);opacity:.5;background:radial-gradient(circle,rgba(139,92,246,.15) 0%,transparent 70%)}.dentia-bg-2{position:absolute;bottom:-150px;left:-150px;width:500px;height:500px;border-radius:50%;pointer-events:none;filter:blur(80px);opacity:.5;background:radial-gradient(circle,rgba(14,165,233,.1) 0%,transparent 70%)}.dentia-header{margin-bottom:1.5rem;position:relative;z-index:1;display:flex;align-items:flex-start;justify-content:space-between}.dentia-header-left h1{font-size:2.25rem;font-weight:800;color:#0f172a;margin:0 0 .5rem;letter-spacing:-.03em;line-height:1.2;display:flex;align-items:center;gap:.75rem}.dentia-header-left p{font-size:1rem;color:#64748b;margin:0;font-weight:400}.dentia-badge-ia{display:inline-flex;align-items:center;gap:.375rem;padding:.25rem .75rem;border-radius:20px;font-size:.75rem;font-weight:700;background:linear-gradient(135deg,#8b5cf6,#7c3aed);color:#fff;text-transform:uppercase;letter-spacing:.05em;box-shadow:0 2px 8px #8b5cf64d}.dentia-badge-ia-dot{width:6px;height:6px;border-radius:50%;background:#4ade80;animation:dentia-pulse-dot 2s ease-in-out infinite}@keyframes dentia-pulse-dot{0%,to{opacity:1;transform:scale(1)}50%{opacity:.5;transform:scale(.8)}}.dentia-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem;margin-bottom:1.5rem;position:relative;z-index:1}.dentia-stat-card{background:linear-gradient(145deg,#fff,#f8fafc);border-radius:16px;padding:1.25rem;box-shadow:0 1px 3px #0000000a,0 4px 12px #00000008,0 0 0 1px #00000005;display:flex;align-items:center;gap:1rem}.dentia-stat-icon{width:48px;height:48px;border-radius:12px;display:flex;align-items:center;justify-content:center;font-size:1.5rem;flex-shrink:0}.dentia-stat-icon.purple{background:#f3e8ff;color:#7c3aed}.dentia-stat-icon.blue{background:#e0f2fe;color:#0284c7}.dentia-stat-icon.green{background:#dcfce7;color:#16a34a}.dentia-stat-icon.amber{background:#fef3c7;color:#d97706}.dentia-stat-info h3{font-size:1.5rem;font-weight:800;color:#0f172a;margin:0;letter-spacing:-.02em}.dentia-stat-info p{font-size:.8125rem;color:#64748b;margin:.125rem 0 0;font-weight:500}.dentia-content{display:flex;gap:1.5rem;position:relative;z-index:1}.dentia-sidebar{width:360px;flex-shrink:0;display:flex;flex-direction:column;gap:1.25rem}.dentia-main{flex:1;min-width:0}.dentia-card{background:linear-gradient(145deg,#fff,#f8fafc);border-radius:16px;padding:1.25rem;box-shadow:0 1px 3px #0000000a,0 4px 12px #00000008,0 0 0 1px #00000005}.dentia-card-title{font-size:.8125rem;font-weight:700;color:#475569;text-transform:uppercase;letter-spacing:.05em;margin:0 0 .75rem}.dentia-upload-zone{border:2px dashed #cbd5e1;border-radius:12px;padding:1.25rem 1rem;text-align:center;cursor:pointer;transition:all .2s ease;background:#ffffff80}.dentia-upload-zone:hover,.dentia-upload-zone.drag-over{border-color:#8b5cf6;background:#8b5cf60a}.dentia-upload-zone.has-file{border-style:solid;border-color:#8b5cf6;padding:.75rem}.dentia-upload-icon{color:#94a3b8;margin-bottom:.375rem}.dentia-upload-text{font-size:.8125rem;color:#64748b;margin:0}.dentia-upload-text strong{color:#8b5cf6}.dentia-upload-hint{font-size:.6875rem;color:#94a3b8;margin:.25rem 0 0}.dentia-upload-preview{position:relative;border-radius:8px;overflow:hidden}.dentia-upload-preview img{width:100%;height:160px;object-fit:cover;display:block;border-radius:8px}.dentia-upload-preview-remove{position:absolute;top:6px;right:6px;width:24px;height:24px;border-radius:50%;border:none;background:#00000080;color:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:.75rem;transition:background .15s}.dentia-upload-preview-remove:hover{background:#ef4444cc}.dentia-analyze-btn{width:100%;padding:.875rem 1.5rem;border-radius:12px;border:none;font-size:1rem;font-weight:700;cursor:pointer;transition:all .3s ease;display:flex;align-items:center;justify-content:center;gap:.5rem;background:linear-gradient(135deg,#8b5cf6,#7c3aed);color:#fff;box-shadow:0 4px 12px #8b5cf64d}.dentia-analyze-btn:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 6px 20px #8b5cf666}.dentia-analyze-btn:disabled{opacity:.5;cursor:not-allowed;transform:none;box-shadow:none}.dentia-analyze-btn .btn-spinner{width:20px;height:20px;border:2px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:dentia-spin 1s linear infinite}@keyframes dentia-spin{to{transform:rotate(360deg)}}.dentia-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:4rem 2rem;text-align:center}.dentia-loading-spinner{width:56px;height:56px;border:3px solid rgba(139,92,246,.2);border-top-color:#8b5cf6;border-radius:50%;animation:dentia-spin 1s linear infinite;margin-bottom:1.5rem}.dentia-loading h3{font-size:1.125rem;font-weight:700;color:#0f172a;margin:0 0 .5rem}.dentia-loading p{font-size:.875rem;color:#94a3b8;margin:0;animation:dentia-pulse-text 2s ease-in-out infinite}@keyframes dentia-pulse-text{0%,to{opacity:1}50%{opacity:.5}}.dentia-empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:4rem 2rem;text-align:center;color:#94a3b8}.dentia-empty-icon{font-size:4rem;margin-bottom:1.5rem;opacity:.6}.dentia-empty-state h3{font-size:1.25rem;font-weight:700;color:#475569;margin:0 0 .5rem}.dentia-empty-state p{font-size:.9375rem;color:#94a3b8;margin:0;max-width:400px}.dentia-results{display:flex;flex-direction:column;gap:1.25rem}.dentia-summary{padding:1.25rem;background:linear-gradient(135deg,#faf5ff,#f3e8ff);border-radius:12px;border-left:4px solid #8b5cf6}.dentia-summary h4{font-size:.8125rem;font-weight:700;color:#6d28d9;margin:0 0 .5rem;text-transform:uppercase;letter-spacing:.05em;display:flex;align-items:center;gap:.5rem}.dentia-summary p{font-size:.875rem;color:#4c1d95;margin:0;line-height:1.5}.dentia-quality-badge{display:inline-flex;align-items:center;padding:.5rem .75rem;border-radius:8px;font-size:.8125rem;background:#8b5cf61a;color:#6d28d9;margin-top:.75rem;line-height:1.4}.dentia-findings-grid{display:flex;flex-direction:column;gap:.75rem}.dentia-finding-item{padding:1rem 1.25rem;background:#fff;border-radius:12px;border:1px solid #e2e8f0;transition:all .2s ease}.dentia-finding-item:hover{box-shadow:0 2px 8px #0000000f}.dentia-finding-header{display:flex;align-items:center;gap:.5rem;margin-bottom:.5rem;flex-wrap:wrap}.dentia-finding-category{display:inline-flex;align-items:center;padding:.1875rem .5rem;border-radius:6px;font-size:.6875rem;font-weight:600;text-transform:uppercase;letter-spacing:.03em}.dentia-finding-category.caries{background:#fef3c7;color:#92400e}.dentia-finding-category.periodontal{background:#fee2e2;color:#991b1b}.dentia-finding-category.endodontic{background:#fce7f3;color:#9d174d}.dentia-finding-category.restoration{background:#e0f2fe;color:#075985}.dentia-finding-category.implant{background:#f3e8ff;color:#6b21a8}.dentia-finding-category.bone{background:#fff7ed;color:#9a3412}.dentia-finding-category.root{background:#fdf2f8;color:#831843}.dentia-finding-category.wisdom_teeth{background:#ecfdf5;color:#065f46}.dentia-finding-category.other{background:#f1f5f9;color:#475569}.dentia-finding-severity{display:inline-flex;align-items:center;padding:.1875rem .5rem;border-radius:6px;font-size:.6875rem;font-weight:600}.dentia-finding-severity.minimal{background:#f0fdf4;color:#166534}.dentia-finding-severity.mild{background:#fefce8;color:#854d0e}.dentia-finding-severity.moderate{background:#fff7ed;color:#9a3412}.dentia-finding-severity.severe{background:#fef2f2;color:#991b1b}.dentia-finding-teeth{font-size:.6875rem;color:#64748b;font-weight:500}.dentia-finding-confidence{font-size:.6875rem;color:#94a3b8;margin-left:auto}.dentia-finding-description{font-size:.8125rem;color:#334155;line-height:1.5;margin:0 0 .5rem}.dentia-finding-patient{font-size:.8125rem;color:#6d28d9;background:#faf5ff;padding:.5rem .75rem;border-radius:8px;line-height:1.4}.dentia-finding-patient strong{font-size:.6875rem;text-transform:uppercase;letter-spacing:.05em;display:block;margin-bottom:.125rem;color:#7c3aed}.dentia-treatment-section{margin-bottom:1rem}.dentia-treatment-priority-label{display:inline-flex;align-items:center;gap:.375rem;padding:.25rem .75rem;border-radius:8px;font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;margin-bottom:.75rem}.dentia-treatment-priority-label.urgente{background:#fef2f2;color:#dc2626;border:1px solid #fecaca}.dentia-treatment-priority-label.necesario{background:#fff7ed;color:#ea580c;border:1px solid #fed7aa}.dentia-treatment-priority-label.recomendado{background:#eff6ff;color:#2563eb;border:1px solid #bfdbfe}.dentia-treatment-priority-label.preventivo{background:#f0fdf4;color:#16a34a;border:1px solid #bbf7d0}.dentia-treatment-items{display:flex;flex-direction:column;gap:.5rem}.dentia-treatment-item{padding:.875rem 1rem;background:#fff;border-radius:10px;border:1px solid #e2e8f0;display:flex;align-items:flex-start;gap:.75rem}.dentia-treatment-item-dot{width:10px;height:10px;border-radius:50%;margin-top:4px;flex-shrink:0}.dentia-treatment-item-dot.urgente{background:#dc2626}.dentia-treatment-item-dot.necesario{background:#ea580c}.dentia-treatment-item-dot.recomendado{background:#2563eb}.dentia-treatment-item-dot.preventivo{background:#16a34a}.dentia-treatment-item-content{flex:1;min-width:0}.dentia-treatment-item-name{font-size:.875rem;font-weight:600;color:#0f172a;margin:0 0 .25rem}.dentia-treatment-item-desc{font-size:.8125rem;color:#64748b;line-height:1.4;margin:0 0 .375rem}.dentia-treatment-item-meta{display:flex;align-items:center;gap:.75rem;font-size:.6875rem;color:#94a3b8}.dentia-treatment-item-meta span{display:flex;align-items:center;gap:.25rem}.dentia-healthy{padding:1rem 1.25rem;background:linear-gradient(135deg,#f0fdf4,#dcfce7);border-radius:12px;border-left:4px solid #16a34a}.dentia-healthy h4{font-size:.8125rem;font-weight:700;color:#166534;margin:0 0 .5rem;text-transform:uppercase;letter-spacing:.05em}.dentia-healthy ul{margin:0;padding-left:1rem;font-size:.8125rem;color:#15803d;line-height:1.6}.dentia-recommendations{padding:1rem 1.25rem;background:linear-gradient(135deg,#eff6ff,#dbeafe);border-radius:12px;border-left:4px solid #2563eb}.dentia-recommendations h4{font-size:.8125rem;font-weight:700;color:#1e40af;margin:0 0 .5rem;text-transform:uppercase;letter-spacing:.05em}.dentia-recommendations ul{margin:0;padding-left:1rem;font-size:.8125rem;color:#1e3a5f;line-height:1.6}.dentia-limitations{padding:.75rem 1rem;background:#fffbeb;border-radius:10px;border:1px solid #fde68a}.dentia-limitations h4{font-size:.75rem;font-weight:700;color:#92400e;margin:0 0 .375rem;text-transform:uppercase;letter-spacing:.05em}.dentia-limitations ul{margin:0;padding-left:1rem;font-size:.8125rem;color:#78350f;line-height:1.5}.dentia-history{margin-top:2rem;position:relative;z-index:1}.dentia-history h2{font-size:1.25rem;font-weight:700;color:#0f172a;margin:0 0 1rem;letter-spacing:-.02em}.dentia-history-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:1rem}.dentia-history-card{background:#fff;border-radius:12px;overflow:hidden;box-shadow:0 1px 3px #0000000d;border:1px solid #e2e8f0;cursor:pointer;transition:all .2s ease}.dentia-history-card:hover{transform:translateY(-2px);box-shadow:0 4px 12px #00000014}.dentia-history-card-image{height:100px;background:#0f172a;overflow:hidden}.dentia-history-card-image img{width:100%;height:100%;object-fit:cover}.dentia-history-card-info{padding:.75rem;display:flex;align-items:center;justify-content:space-between}.dentia-history-findings-count{display:inline-flex;align-items:center;gap:.375rem;padding:.25rem .625rem;border-radius:6px;font-size:.75rem;font-weight:600;background:#f3e8ff;color:#7c3aed}.dentia-history-date{font-size:.75rem;color:#94a3b8}.dentia-error{padding:1rem;background:#fef2f2;border:1px solid #fecaca;border-radius:12px;color:#dc2626;font-size:.875rem;display:flex;align-items:center;gap:.5rem;margin-top:1rem}.dentia-section-title{font-size:1rem;font-weight:700;color:#0f172a;margin:0 0 .75rem;letter-spacing:-.01em;display:flex;align-items:center;gap:.5rem}@media(max-width:768px){.dentia-page{padding:1.25rem}.dentia-content{flex-direction:column}.dentia-sidebar{width:100%}.dentia-stats{grid-template-columns:repeat(2,1fr)}.dentia-header-left h1{font-size:1.5rem}.dentia-history-grid{grid-template-columns:1fr}}@media(max-width:640px){.dentia-stats{grid-template-columns:1fr}}.dentia-pagination{display:flex;align-items:center;justify-content:space-between;padding-top:1.25rem;margin-top:1rem;border-top:1px solid #f1f5f9}.dentia-pagination-info{font-size:.875rem;color:#64748b}.dentia-pagination-controls{display:flex;align-items:center;gap:.5rem}.dentia-page-btn{width:36px;height:36px;border:1px solid #e2e8f0;background:#fff;border-radius:8px;cursor:pointer;font-size:.875rem;color:#334155;display:flex;align-items:center;justify-content:center;transition:all .15s ease}.dentia-page-btn:hover:not(:disabled){border-color:#0891b2;color:#0891b2}.dentia-page-btn.active{background:#0891b2;border-color:#0891b2;color:#fff}.dentia-page-btn:disabled{opacity:.5;cursor:not-allowed}@media(max-width:640px){.dentia-pagination{flex-direction:column;gap:.75rem}}@keyframes odonto-fadeInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.odonto-page{padding:28px 32px;min-height:100vh;background:#f8fafc;animation:odonto-fadeInUp .5s ease-out}.odonto-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px;flex-wrap:wrap;gap:16px}.odonto-header-left{display:flex;flex-direction:column;gap:4px}.odonto-header-left h1{font-size:2rem;font-weight:700;color:#0f172a;display:flex;align-items:center;gap:12px;margin:0}.odonto-header-left h1:before{content:"";display:inline-block;width:4px;height:28px;background:linear-gradient(180deg,#0891b2,#0e7490);border-radius:4px}.odonto-header-left p{color:#64748b;font-size:.95rem;margin:0;padding-left:16px}.odonto-header-right{display:flex;gap:10px;align-items:center}.odonto-patient-selector{position:relative;min-width:280px}.odonto-patient-input{width:100%;padding:10px 16px 10px 40px;border:2px solid #e2e8f0;border-radius:12px;font-size:.9rem;background:#fff;transition:all .2s ease;outline:none}.odonto-patient-input:focus{border-color:#0891b2;box-shadow:0 0 0 3px #0891b21a}.odonto-patient-input-icon{position:absolute;left:12px;top:50%;transform:translateY(-50%);color:#94a3b8;pointer-events:none}.odonto-patient-dropdown{position:absolute;top:calc(100% + 4px);left:0;right:0;background:#fff;border:1px solid #e2e8f0;border-radius:12px;box-shadow:0 10px 25px #0000001a;z-index:50;max-height:220px;overflow-y:auto}.odonto-patient-option{padding:10px 16px;cursor:pointer;transition:background .15s;font-size:.88rem;color:#1e293b}.odonto-patient-option:hover{background:#ecfeff}.odonto-patient-option:first-child{border-radius:12px 12px 0 0}.odonto-patient-option:last-child{border-radius:0 0 12px 12px}.odonto-patient-badge{display:inline-flex;align-items:center;gap:8px;padding:8px 16px;background:linear-gradient(135deg,#ecfeff,#cffafe);border:1px solid #a5f3fc;border-radius:25px;font-size:.88rem;color:#0e7490;font-weight:500}.odonto-patient-badge button{background:none;border:none;color:#0e7490;cursor:pointer;padding:0;display:flex;font-size:1.1rem;line-height:1}.odonto-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:24px}.odonto-stat-card{background:#fff;border-radius:16px;padding:18px 20px;display:flex;align-items:center;gap:14px;border:1px solid #f1f5f9;box-shadow:0 1px 3px #0000000a;transition:all .3s cubic-bezier(.4,0,.2,1)}.odonto-stat-card:hover{transform:translateY(-3px);box-shadow:0 8px 25px #0891b21f}.odonto-stat-icon{width:48px;height:48px;border-radius:14px;display:flex;align-items:center;justify-content:center;font-size:1.3rem;flex-shrink:0}.odonto-stat-icon.healthy{background:#ecfdf5;color:#059669}.odonto-stat-icon.problems{background:#fef2f2;color:#dc2626}.odonto-stat-icon.pending{background:#fffbeb;color:#d97706}.odonto-stat-icon.total{background:#ecfeff;color:#0891b2}.odonto-stat-info h3{font-size:1.5rem;font-weight:700;color:#0f172a;margin:0;line-height:1}.odonto-stat-info p{font-size:.82rem;color:#64748b;margin:2px 0 0}.odonto-main{display:grid;grid-template-columns:300px 1fr;gap:20px;margin-bottom:24px}.odonto-sidebar{display:flex;flex-direction:column;gap:16px}.odonto-sidebar-card{background:#fff;border-radius:16px;border:1px solid #f1f5f9;box-shadow:0 1px 3px #0000000a;overflow:hidden}.odonto-sidebar-card h3{font-size:.85rem;font-weight:600;color:#0f172a;padding:14px 16px 10px;margin:0;border-bottom:1px solid #f1f5f9}.odonto-legend{padding:12px 16px;display:flex;flex-direction:column;gap:6px}.odonto-legend-item{display:flex;align-items:center;gap:10px;font-size:.82rem;color:#475569;cursor:pointer;padding:5px 8px;border-radius:8px;transition:background .15s}.odonto-legend-item:hover{background:#f8fafc}.odonto-legend-dot{width:14px;height:14px;border-radius:4px;flex-shrink:0}.odonto-detail{padding:14px 16px}.odonto-detail-empty{text-align:center;color:#94a3b8;font-size:.85rem;padding:20px 0}.odonto-detail-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.odonto-detail-tooth-num{font-size:1.6rem;font-weight:700;color:#0891b2}.odonto-detail-tooth-name{font-size:.82rem;color:#64748b}.odonto-detail-condition{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;border-radius:20px;font-size:.78rem;font-weight:600}.odonto-detail-section{margin-top:14px}.odonto-detail-section label{display:block;font-size:.78rem;font-weight:600;color:#475569;text-transform:uppercase;letter-spacing:.5px;margin-bottom:6px}.odonto-condition-grid{display:grid;grid-template-columns:1fr 1fr;gap:6px}.odonto-condition-btn{display:flex;align-items:center;gap:6px;padding:7px 10px;border:1.5px solid #e2e8f0;border-radius:8px;background:#fff;cursor:pointer;font-size:.78rem;color:#475569;transition:all .15s}.odonto-condition-btn:hover{border-color:#0891b2;background:#ecfeff}.odonto-condition-btn.active{border-color:#0891b2;background:#ecfeff;color:#0e7490;font-weight:600}.odonto-condition-btn .dot{width:10px;height:10px;border-radius:3px;flex-shrink:0}.odonto-treatments-list{padding:10px 16px;display:flex;flex-direction:column;gap:6px}.odonto-treatment-item{display:flex;align-items:center;gap:8px;padding:8px 10px;border-radius:8px;background:#f8fafc;font-size:.82rem}.odonto-treatment-item.pending{border-left:3px solid #f59e0b}.odonto-treatment-item.done{border-left:3px solid #10b981}.odonto-treatment-status{font-size:.72rem;padding:2px 6px;border-radius:4px;font-weight:600;margin-left:auto;flex-shrink:0}.odonto-treatment-status.pending{background:#fffbeb;color:#d97706}.odonto-treatment-status.done{background:#ecfdf5;color:#059669}.odonto-notes-area{width:100%;padding:10px 12px;border:1.5px solid #e2e8f0;border-radius:10px;font-size:.82rem;resize:vertical;min-height:60px;margin:0 16px;box-sizing:border-box;width:calc(100% - 32px);font-family:inherit;transition:border-color .2s;outline:none}.odonto-notes-area:focus{border-color:#0891b2}.odonto-canvas-container{background:#fff;border-radius:20px;border:1px solid #f1f5f9;box-shadow:0 1px 3px #0000000a;position:relative;min-height:550px;overflow:hidden}.odonto-canvas-container.fullscreen{position:fixed;inset:0;z-index:100;border-radius:0;min-height:unset}.odonto-toolbar{position:absolute;bottom:16px;left:50%;transform:translate(-50%);display:flex;gap:6px;padding:8px 12px;background:#ffffffeb;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:14px;border:1px solid #e2e8f0;box-shadow:0 4px 15px #00000014;z-index:10}.odonto-toolbar-btn{display:flex;align-items:center;justify-content:center;width:36px;height:36px;border:none;background:transparent;border-radius:10px;cursor:pointer;color:#475569;font-size:.82rem;transition:all .15s}.odonto-toolbar-btn:hover{background:#ecfeff;color:#0891b2}.odonto-toolbar-btn.active{background:#0891b2;color:#fff}.odonto-toolbar-sep{width:1px;background:#e2e8f0;margin:4px 2px}.odonto-hover-label{background:#0f172ae0;color:#fff;padding:6px 12px;border-radius:8px;font-size:.78rem;font-weight:500;white-space:nowrap;pointer-events:none;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.odonto-summary{background:#fff;border-radius:16px;padding:18px 24px;border:1px solid #f1f5f9;box-shadow:0 1px 3px #0000000a;display:flex;align-items:center;gap:20px;flex-wrap:wrap}.odonto-summary-item{display:flex;align-items:center;gap:8px;font-size:.85rem;color:#475569}.odonto-summary-dot{width:12px;height:12px;border-radius:3px}.odonto-summary-count{font-weight:700;color:#0f172a}.odonto-btn{display:inline-flex;align-items:center;gap:8px;padding:10px 20px;border:none;border-radius:12px;font-size:.88rem;font-weight:600;cursor:pointer;transition:all .2s ease}.odonto-btn-primary{background:linear-gradient(135deg,#0891b2,#0e7490);color:#fff;box-shadow:0 2px 8px #0891b240}.odonto-btn-primary:hover{box-shadow:0 4px 15px #0891b259;transform:translateY(-1px)}.odonto-btn-secondary{background:#fff;color:#475569;border:1.5px solid #e2e8f0}.odonto-btn-secondary:hover{border-color:#0891b2;color:#0891b2;background:#ecfeff}.odonto-btn-sm{padding:6px 12px;font-size:.78rem;border-radius:8px}.odonto-add-treatment{padding:10px 16px}.odonto-add-treatment-row{display:flex;gap:6px}.odonto-add-treatment input{flex:1;padding:7px 10px;border:1.5px solid #e2e8f0;border-radius:8px;font-size:.82rem;outline:none;transition:border-color .2s}.odonto-add-treatment input:focus{border-color:#0891b2}.odonto-budget-section{padding:14px 16px}.odonto-budget-summary{background:linear-gradient(135deg,#ecfeff,#cffafe);border-radius:10px;padding:12px;margin-bottom:10px}.odonto-budget-summary p{font-size:.82rem;color:#0e7490;margin:0 0 2px}.odonto-budget-summary .amount{font-size:1.3rem;font-weight:700;color:#0891b2}@media(max-width:1024px){.odonto-main{grid-template-columns:1fr}.odonto-stats{grid-template-columns:repeat(2,1fr)}}@media(max-width:640px){.odonto-page{padding:16px}.odonto-stats{grid-template-columns:1fr}.odonto-header{flex-direction:column;align-items:flex-start}}.vademecum-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:1rem}.vademecum-card{background:#fff;border-radius:16px;padding:1.25rem;box-shadow:0 2px 12px #0000000d;border:1px solid rgba(0,0,0,.05);transition:all .3s ease;cursor:pointer}.vademecum-card:hover{transform:translateY(-2px);box-shadow:0 8px 25px #0000001a}.vademecum-card-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:.75rem}.vademecum-card-header h4{font-size:.95rem;font-weight:600;color:#1e293b;margin:0}.vademecum-category-badge{padding:.2rem .6rem;border-radius:20px;font-size:.7rem;font-weight:600;text-transform:uppercase;letter-spacing:.03em;white-space:nowrap}.vademecum-category-badge.antibiotico{background:#fef2f2;color:#b91c1c}.vademecum-category-badge.analgesico{background:#fef9c3;color:#a16207}.vademecum-category-badge.antiinflamatorio{background:#dbeafe;color:#1d4ed8}.vademecum-category-badge.anestesico{background:#f3e8ff;color:#7c3aed}.vademecum-category-badge.antiseptico{background:#dcfce7;color:#15803d}.vademecum-category-badge.corticoide{background:#ffe4e6;color:#be123c}.vademecum-category-badge.antimicotico{background:#fef3c7;color:#92400e}.vademecum-category-badge.otros{background:#f1f5f9;color:#475569}.vademecum-active-ingredient{font-size:.8rem;color:#64748b;margin-bottom:.5rem;font-style:italic}.vademecum-posology{display:flex;flex-wrap:wrap;gap:.35rem;margin-bottom:.75rem}.posology-chip{display:inline-flex;align-items:center;gap:.25rem;padding:.2rem .5rem;background:#f1f5f9;border-radius:6px;font-size:.72rem;color:#475569}.posology-chip .chip-icon{font-size:.7rem}.vademecum-card-details{border-top:1px solid #f1f5f9;padding-top:.75rem;margin-top:.5rem}.vademecum-detail-row{display:flex;align-items:flex-start;gap:.5rem;margin-bottom:.4rem;font-size:.78rem}.vademecum-detail-row .detail-label{font-weight:600;color:#475569;min-width:90px}.vademecum-detail-row .detail-value{color:#64748b;flex:1}.pregnancy-risk-badge{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;border-radius:50%;font-size:.7rem;font-weight:700}.pregnancy-risk-badge.risk-A{background:#dcfce7;color:#15803d}.pregnancy-risk-badge.risk-B{background:#dbeafe;color:#1d4ed8}.pregnancy-risk-badge.risk-C{background:#fef9c3;color:#a16207}.pregnancy-risk-badge.risk-D{background:#fee2e2;color:#b91c1c}.pregnancy-risk-badge.risk-X{background:#fecaca;color:#991b1b}.category-filters{display:flex;gap:.5rem;flex-wrap:wrap;margin-bottom:1rem}.category-filter-btn{padding:.4rem .85rem;border:2px solid #e2e8f0;background:#fff;border-radius:20px;font-size:.8rem;font-weight:500;color:#64748b;cursor:pointer;transition:all .2s ease}.category-filter-btn:hover{border-color:#0891b2;color:#0891b2}.category-filter-btn.active{background:linear-gradient(135deg,#0891b2,#0e7490);border-color:#0891b2;color:#fff}.receta-crear-layout{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem}.receta-crear-left,.receta-crear-right{display:flex;flex-direction:column;gap:1.5rem}.receta-form-section{background:#fff;border-radius:20px;padding:1.5rem;box-shadow:0 4px 20px #0000000d;border:1px solid rgba(0,0,0,.05)}.receta-form-section h3{font-size:1.1rem;font-weight:600;color:#1e293b;margin:0 0 1rem;display:flex;align-items:center;gap:.5rem}.receta-form-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin-bottom:1rem}.receta-form-group{display:flex;flex-direction:column;gap:.35rem}.receta-form-group label{font-size:.8rem;font-weight:600;color:#475569}.receta-form-group input,.receta-form-group select,.receta-form-group textarea{padding:.65rem .85rem;border:2px solid #e2e8f0;border-radius:10px;font-size:.875rem;background:#f8fafc;transition:all .3s ease;font-family:inherit}.receta-form-group input:focus,.receta-form-group select:focus,.receta-form-group textarea:focus{outline:none;border-color:#0891b2;background:#fff;box-shadow:0 0 0 4px #0891b21a}.receta-form-group textarea{min-height:80px;resize:vertical}.patient-medical-summary{display:flex;flex-wrap:wrap;gap:.35rem;margin-top:.5rem}.medical-badge{display:inline-flex;align-items:center;gap:.2rem;padding:.2rem .5rem;border-radius:6px;font-size:.7rem;font-weight:600}.medical-badge.allergy{background:#fee2e2;color:#b91c1c}.medical-badge.medication{background:#dbeafe;color:#1d4ed8}.medical-badge.condition{background:#fef3c7;color:#92400e}.medication-list{display:flex;flex-direction:column;gap:.75rem}.medication-item-card{background:#f8fafc;border:2px solid #e2e8f0;border-radius:12px;padding:1rem;position:relative;transition:all .2s ease}.medication-item-card.has-alert{border-color:#fbbf24;background:#fffbeb}.medication-item-card.has-critical-alert{border-color:#f87171;background:#fef2f2}.medication-item-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.5rem}.medication-item-header strong{font-size:.9rem;color:#1e293b}.medication-item-header .remove-med-btn{width:28px;height:28px;border:none;background:transparent;color:#94a3b8;border-radius:6px;cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:.9rem;transition:all .2s ease}.medication-item-header .remove-med-btn:hover{background:#fee2e2;color:#ef4444}.medication-posology-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:.5rem;margin-bottom:.5rem}.medication-posology-grid .receta-form-group{margin-bottom:0}.medication-posology-grid input,.medication-posology-grid select{padding:.5rem .65rem;font-size:.8rem}.medication-posology-grid label{font-size:.72rem}.interaction-alert{display:flex;align-items:flex-start;gap:.5rem;padding:.6rem .85rem;border-radius:8px;font-size:.78rem;margin-top:.5rem}.interaction-alert.critical{background:#fef2f2;border:1px solid #fecaca;color:#991b1b}.interaction-alert.high{background:#fffbeb;border:1px solid #fde68a;color:#92400e}.interaction-alert.medium{background:#eff6ff;border:1px solid #bfdbfe;color:#1e40af}.interaction-alert-icon{font-size:1rem;flex-shrink:0}.interaction-alert-text{flex:1}.interaction-alert-text strong{display:block;margin-bottom:.15rem}.vademecum-search-container{position:relative}.vademecum-search-results{position:absolute;top:100%;left:0;right:0;background:#fff;border:1px solid #e2e8f0;border-radius:12px;max-height:250px;overflow-y:auto;z-index:20;box-shadow:0 8px 25px #0000001f;margin-top:.25rem}.vademecum-search-item{display:flex;justify-content:space-between;align-items:center;padding:.65rem .85rem;cursor:pointer;transition:background .2s ease;border-bottom:1px solid #f1f5f9}.vademecum-search-item:last-child{border-bottom:none}.vademecum-search-item:hover{background:#f0fdfa}.vademecum-search-item-info{flex:1}.vademecum-search-item-info strong{display:block;font-size:.85rem;color:#1e293b}.vademecum-search-item-info span{font-size:.75rem;color:#64748b}.receta-detalle-container{display:flex;flex-direction:column;gap:1.5rem}.receta-detalle-header{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:1rem}.receta-detalle-header-left{display:flex;align-items:center;gap:1rem}.receta-detalle-back-btn{width:40px;height:40px;border:2px solid #e2e8f0;background:#fff;border-radius:10px;cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:1.1rem;color:#64748b;transition:all .2s ease}.receta-detalle-back-btn:hover{border-color:#0891b2;color:#0891b2}.receta-detalle-title h2{font-size:1.25rem;font-weight:700;color:#1e293b;margin:0}.receta-detalle-title span{font-size:.85rem;color:#64748b}.receta-detalle-actions{display:flex;gap:.5rem}.receta-detalle-grid{display:grid;grid-template-columns:2fr 1fr;gap:1.5rem}.receta-info-card{background:#fff;border-radius:20px;padding:1.5rem;box-shadow:0 4px 20px #0000000d;border:1px solid rgba(0,0,0,.05)}.receta-info-card h3{font-size:1rem;font-weight:600;color:#1e293b;margin:0 0 1rem;display:flex;align-items:center;gap:.5rem}.receta-info-row{display:flex;justify-content:space-between;padding:.5rem 0;border-bottom:1px solid #f1f5f9;font-size:.9rem}.receta-info-row:last-child{border-bottom:none}.receta-info-label{color:#64748b}.receta-info-value{color:#1e293b;font-weight:600}.medications-table{width:100%;border-collapse:collapse}.medications-table th{text-align:left;padding:.75rem .85rem;font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:#64748b;background:#f8fafc;border-bottom:2px solid #e2e8f0}.medications-table td{padding:.75rem .85rem;font-size:.85rem;color:#1e293b;border-bottom:1px solid #f1f5f9}.medications-table tr:last-child td{border-bottom:none}.medications-table .med-name{font-weight:600}.medications-table .med-ingredient{font-size:.75rem;color:#64748b;font-style:italic}.receta-print-preview{background:#fff;border-radius:20px;padding:2.5rem;box-shadow:0 4px 20px #0000000d;border:1px solid rgba(0,0,0,.05);max-width:800px;margin:0 auto}.receta-print-header{text-align:center;margin-bottom:2rem;padding-bottom:1.5rem;border-bottom:3px solid #0891b2}.receta-print-header h2{font-size:1.5rem;font-weight:700;color:#1e3a5f;margin:0 0 .25rem}.receta-print-header p{color:#64748b;font-size:.85rem;margin:.15rem 0}.receta-print-number{font-size:1rem;font-weight:700;color:#0891b2;margin-top:.75rem}.receta-print-meta{display:grid;grid-template-columns:1fr 1fr;gap:2rem;margin-bottom:2rem;padding-bottom:1rem;border-bottom:1px solid #e2e8f0}.receta-print-meta-section h4{font-size:.75rem;text-transform:uppercase;letter-spacing:.08em;color:#64748b;margin:0 0 .5rem}.receta-print-meta-section p{color:#1e293b;font-size:.9rem;margin:.2rem 0}.receta-print-diagnosis{margin-bottom:1.5rem;padding:1rem;background:#f8fafc;border-radius:8px}.receta-print-diagnosis h4{font-size:.85rem;font-weight:600;color:#475569;margin:0 0 .35rem}.receta-print-diagnosis p{color:#1e293b;margin:0}.receta-print-medications{margin-bottom:2rem}.receta-print-medications h4{font-size:.85rem;font-weight:600;color:#475569;margin:0 0 .75rem}.receta-print-med-item{padding:.75rem 1rem;border:1px solid #e2e8f0;border-radius:8px;margin-bottom:.5rem}.receta-print-med-item strong{display:block;color:#1e293b;font-size:.9rem;margin-bottom:.25rem}.receta-print-med-item .posology-line{color:#475569;font-size:.85rem}.receta-print-med-item .instructions-line{color:#64748b;font-size:.8rem;font-style:italic;margin-top:.25rem}.receta-print-footer{display:grid;grid-template-columns:1fr 1fr;gap:2rem;margin-top:3rem;padding-top:2rem;border-top:1px solid #e2e8f0}.receta-print-signature{text-align:center}.receta-print-signature .signature-line{border-top:1px solid #1e293b;width:200px;margin:2rem auto .5rem}.receta-print-signature p{font-size:.8rem;color:#475569;margin:.15rem 0}.receta-print-notes{font-size:.8rem;color:#64748b}.status-badge-premium.active{background:linear-gradient(135deg,#dcfce7,#d1fae5);color:#15803d}.status-badge-premium.active .status-dot{background:#16a34a}.status-badge-premium.completed{background:linear-gradient(135deg,#dbeafe,#bfdbfe);color:#1e40af}.status-badge-premium.completed .status-dot{background:#3b82f6}.receta-footer{display:flex;justify-content:flex-end;gap:.75rem;padding-top:1.5rem;border-top:1px solid #f1f5f9;margin-top:1.5rem}.send-modal-overlay{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:100}.send-modal{background:#fff;border-radius:20px;padding:2rem;width:400px;max-width:90vw;box-shadow:0 20px 60px #0003}.send-modal h3{font-size:1.1rem;font-weight:600;color:#1e293b;margin:0 0 1.25rem}.send-modal-buttons{display:flex;justify-content:flex-end;gap:.5rem;margin-top:1.25rem}.expand-toggle{display:flex;align-items:center;gap:.25rem;background:none;border:none;color:#0891b2;font-size:.78rem;font-weight:500;cursor:pointer;padding:.25rem 0;transition:color .2s ease}.expand-toggle:hover{color:#0e7490}@media(max-width:1200px){.receta-crear-layout,.receta-detalle-grid{grid-template-columns:1fr}}@media(max-width:768px){.vademecum-grid,.receta-form-row,.medication-posology-grid,.receta-print-meta,.receta-print-footer{grid-template-columns:1fr}}@media print{.billing-page>*:not(.billing-tab-content){display:none!important}.billing-tab-content{margin:0;padding:0}.receta-detalle-container>*:not(.receta-print-preview){display:none!important}.receta-detalle-header,.receta-detalle-actions,.receta-detalle-grid{display:none!important}.receta-print-preview{box-shadow:none;border:none;border-radius:0;padding:0;max-width:100%}}.blocking-modal-overlay{position:fixed;inset:0;background:#0009;display:flex;align-items:center;justify-content:center;z-index:100;animation:blockingFadeIn .2s ease}@keyframes blockingFadeIn{0%{opacity:0}to{opacity:1}}.blocking-modal{background:#fff;border-radius:20px;padding:0;width:480px;max-width:90vw;box-shadow:0 20px 60px #00000040;overflow:hidden;animation:blockingScaleIn .3s ease}@keyframes blockingScaleIn{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}.protocol-chat-container{display:grid;grid-template-columns:300px 1fr;gap:1.5rem;min-height:500px}.protocol-sidebar{display:flex;flex-direction:column;gap:1.5rem}.protocol-chat-area{background:#fff;border-radius:20px;box-shadow:0 4px 20px #0000000d;border:1px solid rgba(0,0,0,.05);display:flex;flex-direction:column;overflow:hidden}.protocol-messages{flex:1;overflow-y:auto;padding:1.5rem;display:flex;flex-direction:column;gap:1rem}.protocol-msg{max-width:85%;padding:1rem 1.25rem;border-radius:16px;font-size:.9rem;line-height:1.6;animation:fadeInUp .3s ease}@keyframes fadeInUp{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.protocol-msg.user{align-self:flex-end;background:linear-gradient(135deg,#0891b2,#0e7490);color:#fff;border-bottom-right-radius:4px}.protocol-msg.assistant{align-self:flex-start;background:#f8fafc;color:#1e293b;border:1px solid #e2e8f0;border-bottom-left-radius:4px}.protocol-md-content p{margin:0 0 .6rem;line-height:1.7}.protocol-md-content p:last-child{margin-bottom:0}.protocol-md-content strong{color:#0e7490;font-weight:600}.protocol-md-content em{font-style:italic;color:#475569}.protocol-md-heading{font-size:.92rem;font-weight:700;color:#1e293b;margin:1rem 0 .4rem;padding-bottom:.3rem;border-bottom:1px solid #e2e8f0}.protocol-md-heading:first-child{margin-top:0}.protocol-md-list{list-style:none;padding:0;margin:.3rem 0 .6rem;display:flex;flex-direction:column;gap:.35rem}.protocol-md-list li{position:relative;padding-left:1.2rem;line-height:1.6;font-size:.85rem}.protocol-md-list li:before{content:"";position:absolute;left:0;top:.55em;width:6px;height:6px;background:#0891b2;border-radius:50%}.protocol-md-list li strong{display:inline}.protocol-msg-warnings{margin-top:.75rem;display:flex;flex-direction:column;gap:.4rem}.protocol-warning{display:flex;align-items:flex-start;gap:.4rem;padding:.5rem .75rem;border-radius:8px;font-size:.8rem;font-weight:500}.protocol-warning.critical{background:#fef2f2;border:1px solid #fecaca;color:#991b1b}.protocol-warning.high{background:#fffbeb;border:1px solid #fde68a;color:#92400e}.protocol-warning.medium{background:#eff6ff;border:1px solid #bfdbfe;color:#1e40af}.protocol-msg-references{margin-top:.75rem;padding-top:.75rem;border-top:1px solid #e2e8f0}.protocol-msg-references h5{font-size:.75rem;text-transform:uppercase;letter-spacing:.05em;color:#64748b;margin:0 0 .35rem}.protocol-reference{font-size:.78rem;color:#475569;padding:.2rem 0}.protocol-reference strong{color:#1e293b}.protocol-empty{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:2rem;text-align:center}.protocol-empty-icon{font-size:3rem;margin-bottom:1rem}.protocol-empty h3{font-size:1.1rem;font-weight:600;color:#1e293b;margin:0 0 .5rem}.protocol-empty p{font-size:.85rem;color:#64748b;margin:0 0 1.5rem}.protocol-suggestions{display:flex;flex-wrap:wrap;gap:.5rem;justify-content:center;max-width:500px}.protocol-suggestion-chip{padding:.5rem 1rem;background:#f0fdfa;border:2px solid #99f6e4;border-radius:20px;font-size:.8rem;color:#0e7490;cursor:pointer;transition:all .2s ease;font-weight:500}.protocol-suggestion-chip:hover{background:#ccfbf1;border-color:#0891b2;transform:translateY(-1px)}.protocol-input-area{display:flex;gap:.75rem;padding:1rem 1.25rem;border-top:1px solid #e2e8f0;background:#f8fafc}.protocol-input-area input{flex:1;padding:.75rem 1rem;border:2px solid #e2e8f0;border-radius:12px;font-size:.9rem;background:#fff;transition:all .3s ease;font-family:inherit}.protocol-input-area input:focus{outline:none;border-color:#0891b2;box-shadow:0 0 0 4px #0891b21a}.protocol-send-btn{width:44px;height:44px;border:none;background:linear-gradient(135deg,#0891b2,#0e7490);color:#fff;border-radius:12px;cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:1.1rem;transition:all .2s ease;flex-shrink:0}.protocol-send-btn:hover:not(:disabled){transform:scale(1.05);box-shadow:0 4px 12px #0891b24d}.protocol-send-btn:disabled{opacity:.5;cursor:not-allowed}.lector-container{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem}.lector-upload-section,.lector-results-section{background:#fff;border-radius:20px;padding:1.5rem;box-shadow:0 4px 20px #0000000d;border:1px solid rgba(0,0,0,.05)}.lector-upload-section h3,.lector-results-section h3{font-size:1.1rem;font-weight:600;color:#1e293b;margin:0 0 1rem;display:flex;align-items:center;gap:.5rem}.lector-dropzone{border:3px dashed #cbd5e1;border-radius:16px;padding:3rem 2rem;text-align:center;cursor:pointer;transition:all .3s ease;background:#f8fafc}.lector-dropzone:hover,.lector-dropzone.dragover{border-color:#0891b2;background:#f0fdfa}.lector-dropzone-icon{font-size:3rem;margin-bottom:1rem}.lector-dropzone h4{font-size:1rem;font-weight:600;color:#1e293b;margin:0 0 .5rem}.lector-dropzone p{font-size:.85rem;color:#64748b;margin:0}.lector-dropzone .formats{margin-top:.75rem;font-size:.75rem;color:#94a3b8}.lector-preview{margin-top:1rem;border-radius:12px;overflow:hidden;border:1px solid #e2e8f0}.lector-preview img{width:100%;max-height:300px;object-fit:contain;background:#f1f5f9}.lector-preview-actions{display:flex;justify-content:space-between;padding:.75rem 1rem;background:#f8fafc;border-top:1px solid #e2e8f0}.lector-analyzing{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:3rem;text-align:center}.lector-analyzing .spinner{width:48px;height:48px;border:4px solid #e2e8f0;border-top-color:#0891b2;border-radius:50%;animation:spin 1s linear infinite;margin-bottom:1rem}@keyframes spin{to{transform:rotate(360deg)}}.lector-analyzing p{color:#64748b;font-size:.9rem}.detected-meds-grid{display:flex;flex-direction:column;gap:.75rem}.detected-med-card{background:#f8fafc;border:2px solid #e2e8f0;border-radius:12px;padding:1rem;transition:all .2s ease}.detected-med-card.selected{border-color:#0891b2;background:#f0fdfa}.detected-med-header{display:flex;align-items:center;gap:.75rem;margin-bottom:.5rem}.detected-med-header input[type=checkbox]{width:18px;height:18px;accent-color:#0891b2;cursor:pointer}.detected-med-header strong{flex:1;font-size:.9rem;color:#1e293b}.confidence-badge{padding:.15rem .5rem;border-radius:20px;font-size:.7rem;font-weight:600}.confidence-badge.high{background:#dcfce7;color:#15803d}.confidence-badge.medium{background:#fef9c3;color:#a16207}.confidence-badge.low{background:#fee2e2;color:#b91c1c}.detected-med-details{display:grid;grid-template-columns:1fr 1fr;gap:.35rem 1rem;margin-left:2rem;font-size:.8rem}.detected-med-details span{color:#64748b}.detected-med-details strong{color:#475569;font-weight:500}.lector-add-btn{display:flex;align-items:center;justify-content:center;gap:.5rem;width:100%;padding:.85rem;margin-top:1rem;background:linear-gradient(135deg,#0891b2,#0e7490);color:#fff;border:none;border-radius:12px;font-size:.9rem;font-weight:600;cursor:pointer;transition:all .2s ease}.lector-add-btn:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 4px 15px #0891b24d}.lector-add-btn:disabled{opacity:.5;cursor:not-allowed}.lector-report-meta{margin-top:1rem;padding:.75rem 1rem;background:#f1f5f9;border-radius:10px;font-size:.8rem;color:#475569}.lector-report-meta span{display:block;margin-bottom:.25rem}.lector-report-meta strong{color:#1e293b}.lector-no-results{text-align:center;padding:2rem;color:#94a3b8}.lector-no-results .empty-icon{font-size:2.5rem;margin-bottom:.75rem}.lector-no-results p{font-size:.85rem}.blocking-modal-overlay{position:fixed;inset:0;background:#0009;display:flex;align-items:center;justify-content:center;z-index:100;animation:fadeIn .2s ease}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.blocking-modal{background:#fff;border-radius:20px;padding:0;width:480px;max-width:90vw;box-shadow:0 20px 60px #00000040;overflow:hidden;animation:scaleIn .3s ease}@keyframes scaleIn{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}.blocking-modal-header{background:linear-gradient(135deg,#dc2626,#b91c1c);color:#fff;padding:1.25rem 1.5rem;display:flex;align-items:center;gap:.75rem}.blocking-modal-header-icon{font-size:1.5rem}.blocking-modal-header h3{margin:0;font-size:1.1rem;font-weight:700}.blocking-modal-body{padding:1.5rem}.blocking-modal-body p{font-size:.9rem;color:#475569;margin:0 0 1rem}.blocking-alert-list{display:flex;flex-direction:column;gap:.5rem;margin-bottom:1rem}.blocking-modal-footer{display:flex;justify-content:flex-end;gap:.75rem;padding:1rem 1.5rem;border-top:1px solid #f1f5f9;background:#f8fafc}@media(max-width:1200px){.protocol-chat-container,.lector-container{grid-template-columns:1fr}}.wa-page{min-height:100%;padding-bottom:2rem}.wa-header{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:2rem;flex-wrap:wrap;gap:1.5rem}.wa-header-left h1{font-size:2rem;font-weight:700;color:#0f172a;margin:0 0 .5rem;display:flex;align-items:center;gap:.75rem}.wa-header-left h1:before{content:"";width:4px;height:28px;background:linear-gradient(180deg,#25d366,#128c7e);border-radius:4px}.wa-header-left p{color:#64748b;font-size:.95rem;margin:0}.wa-header-right{display:flex;gap:.75rem;align-items:center}.wa-connection-badge{display:flex;align-items:center;gap:.5rem;padding:.625rem 1rem;border-radius:12px;font-size:.8rem;font-weight:600;border:1px solid transparent}.wa-connection-badge.connected{background:linear-gradient(135deg,#dcfce7,#bbf7d0);color:#166534;border-color:#86efac}.wa-connection-badge.disconnected{background:linear-gradient(135deg,#fee2e2,#fecaca);color:#991b1b;border-color:#fca5a5}.wa-connection-dot{width:8px;height:8px;border-radius:50%;animation:waPulse 2s ease-in-out infinite}.wa-connection-badge.connected .wa-connection-dot{background:#22c55e}.wa-connection-badge.disconnected .wa-connection-dot{background:#ef4444;animation:none}@keyframes waPulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.5;transform:scale(1.2)}}.btn-wa-config{display:flex;align-items:center;gap:.5rem;padding:.75rem 1.25rem;background:#fff;color:#475569;border:1px solid #e2e8f0;border-radius:12px;font-size:.875rem;font-weight:500;cursor:pointer;transition:all .2s ease}.btn-wa-config:hover{border-color:#25d366;color:#128c7e;background:#f0fdf4}.btn-wa-new{display:flex;align-items:center;gap:.5rem;padding:.75rem 1.5rem;background:linear-gradient(135deg,#25d366,#128c7e);color:#fff;border:none;border-radius:12px;font-size:.875rem;font-weight:600;cursor:pointer;transition:all .3s ease;box-shadow:0 4px 14px #25d36640}.btn-wa-new:hover{background:linear-gradient(135deg,#128c7e,#075e54);transform:translateY(-2px);box-shadow:0 6px 20px #25d36659}.wa-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1.25rem;margin-bottom:2rem}.wa-stat-card{background:#fff;border-radius:16px;padding:1.5rem;display:flex;align-items:center;gap:1rem;box-shadow:0 1px 3px #0000000d;border:1px solid #f1f5f9;transition:all .3s ease}.wa-stat-card:hover{transform:translateY(-2px);box-shadow:0 8px 25px #00000014}.wa-stat-icon{width:52px;height:52px;border-radius:14px;display:flex;align-items:center;justify-content:center;font-size:1.5rem;flex-shrink:0}.wa-stat-icon.sent{background:linear-gradient(135deg,#dcfce7,#bbf7d0)}.wa-stat-icon.delivered{background:linear-gradient(135deg,#dbeafe,#bfdbfe)}.wa-stat-icon.opened{background:linear-gradient(135deg,#e0e7ff,#c7d2fe)}.wa-stat-icon.replies{background:linear-gradient(135deg,#fef3c7,#fde68a)}.wa-stat-content h3{font-size:1.75rem;font-weight:700;color:#0f172a;margin:0;line-height:1.2}.wa-stat-content p{font-size:.85rem;color:#64748b;margin:.25rem 0 0}.wa-tabs{display:flex;background:#fff;border-radius:16px;padding:.5rem;margin-bottom:1.5rem;box-shadow:0 1px 3px #0000000d;border:1px solid #f1f5f9;gap:.25rem;flex-wrap:wrap}.wa-tab{display:flex;align-items:center;gap:.5rem;padding:.75rem 1.25rem;border:none;background:transparent;border-radius:12px;font-size:.875rem;font-weight:500;color:#64748b;cursor:pointer;transition:all .2s ease;white-space:nowrap}.wa-tab:hover{color:#128c7e;background:#f0fdf4}.wa-tab.active{background:linear-gradient(135deg,#25d366,#128c7e);color:#fff;box-shadow:0 4px 12px #25d36640}.wa-tab-icon{font-size:1.1rem;line-height:1}.wa-tab-badge{background:#ffffff40;padding:.15rem .5rem;border-radius:8px;font-size:.7rem;font-weight:700}.wa-tab:not(.active) .wa-tab-badge{background:#f1f5f9;color:#64748b}.wa-conversations-layout{display:grid;grid-template-columns:380px 1fr;gap:1.5rem;min-height:600px}.wa-conv-list{background:#fff;border-radius:16px;box-shadow:0 1px 3px #0000000d;border:1px solid #f1f5f9;overflow:hidden;display:flex;flex-direction:column}.wa-conv-search{padding:1rem;border-bottom:1px solid #f1f5f9}.wa-conv-search input{width:100%;padding:.75rem 1rem;border:2px solid #e2e8f0;border-radius:10px;font-size:.875rem;background:#f8fafc;transition:all .2s ease}.wa-conv-search input:focus{outline:none;border-color:#25d366;background:#fff;box-shadow:0 0 0 3px #25d3661a}.wa-conv-search input::placeholder{color:#94a3b8}.wa-conv-items{flex:1;overflow-y:auto}.wa-conv-item{display:flex;align-items:center;gap:.875rem;padding:1rem 1.25rem;cursor:pointer;transition:all .15s ease;border-bottom:1px solid #f8fafc;position:relative}.wa-conv-item:hover{background:#f0fdf4}.wa-conv-item.active{background:linear-gradient(135deg,#f0fdf4,#ecfdf5);border-left:3px solid #25d366}.wa-conv-avatar{width:44px;height:44px;border-radius:50%;background:linear-gradient(135deg,#dcfce7,#bbf7d0);display:flex;align-items:center;justify-content:center;font-weight:700;font-size:.95rem;color:#166534;flex-shrink:0}.wa-conv-info{flex:1;min-width:0}.wa-conv-name{font-weight:600;font-size:.9rem;color:#0f172a;display:flex;align-items:center;gap:.5rem}.wa-conv-preview{font-size:.8rem;color:#94a3b8;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-top:.15rem}.wa-conv-meta{display:flex;flex-direction:column;align-items:flex-end;gap:.35rem;flex-shrink:0}.wa-conv-time{font-size:.7rem;color:#94a3b8}.wa-conv-unread{width:20px;height:20px;border-radius:50%;background:#25d366;color:#fff;font-size:.65rem;font-weight:700;display:flex;align-items:center;justify-content:center}.wa-chat-panel{background:#fff;border-radius:16px;box-shadow:0 1px 3px #0000000d;border:1px solid #f1f5f9;display:flex;flex-direction:column;overflow:hidden}.wa-chat-header{padding:1rem 1.5rem;border-bottom:1px solid #f1f5f9;display:flex;align-items:center;justify-content:space-between;background:linear-gradient(135deg,#f0fdf4,#f8fafc)}.wa-chat-header-info{display:flex;align-items:center;gap:.75rem}.wa-chat-header-info .wa-conv-avatar{width:38px;height:38px;font-size:.85rem}.wa-chat-header-name{font-weight:600;color:#0f172a;font-size:.95rem}.wa-chat-header-phone{font-size:.8rem;color:#64748b}.wa-chat-header-actions{display:flex;gap:.5rem}.wa-chat-action-btn{width:36px;height:36px;border:1px solid #e2e8f0;background:#fff;border-radius:10px;display:flex;align-items:center;justify-content:center;cursor:pointer;color:#64748b;font-size:1rem;transition:all .2s ease}.wa-chat-action-btn:hover{border-color:#25d366;color:#128c7e;background:#f0fdf4}.wa-chat-messages{flex:1;padding:1.5rem;overflow-y:auto;display:flex;flex-direction:column;gap:.75rem;background:#f0fdf4;background-image:url("data:image/svg+xml,%3Csvg width='60' height='60' viewBox='0 0 60 60' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' fill-rule='evenodd'%3E%3Cg fill='%2322c55e' fill-opacity='0.03'%3E%3Cpath d='M36 34v-4h-2v4h-4v2h4v4h2v-4h4v-2h-4zm0-30V0h-2v4h-4v2h4v4h2V6h4V4h-4zM6 34v-4H4v4H0v2h4v4h2v-4h4v-2H6zM6 4V0H4v4H0v2h4v4h2V6h4V4H6z'/%3E%3C/g%3E%3C/g%3E%3C/svg%3E")}.wa-msg{max-width:75%;padding:.75rem 1rem;border-radius:12px;font-size:.875rem;line-height:1.5;position:relative}.wa-msg.sent{align-self:flex-end;background:linear-gradient(135deg,#dcfce7,#d1fae5);color:#0f172a;border-bottom-right-radius:4px}.wa-msg.received{align-self:flex-start;background:#fff;color:#0f172a;border:1px solid #e2e8f0;border-bottom-left-radius:4px}.wa-msg-time{font-size:.65rem;color:#94a3b8;margin-top:.35rem;text-align:right}.wa-msg-status{display:inline-flex;align-items:center;gap:.25rem;font-size:.65rem;color:#94a3b8;margin-top:.35rem;float:right;margin-left:.5rem}.wa-msg-status.read{color:#3b82f6}.wa-msg-type-badge{display:inline-flex;align-items:center;gap:.25rem;padding:.2rem .5rem;border-radius:6px;font-size:.65rem;font-weight:600;margin-bottom:.35rem}.wa-msg-type-badge.reminder{background:#dbeafe;color:#1e40af}.wa-msg-type-badge.confirmation{background:#dcfce7;color:#166534}.wa-msg-type-badge.budget{background:#fef3c7;color:#92400e}.wa-msg-type-badge.followup{background:#e0e7ff;color:#4338ca}.wa-chat-input{padding:1rem 1.5rem;border-top:1px solid #f1f5f9;display:flex;align-items:center;gap:.75rem;background:#fff}.wa-chat-input input{flex:1;padding:.75rem 1rem;border:2px solid #e2e8f0;border-radius:12px;font-size:.875rem;background:#f8fafc;transition:all .2s ease}.wa-chat-input input:focus{outline:none;border-color:#25d366;background:#fff;box-shadow:0 0 0 3px #25d3661a}.wa-chat-input input::placeholder{color:#94a3b8}.wa-chat-template-btn{width:40px;height:40px;border:1px solid #e2e8f0;background:#fff;border-radius:10px;cursor:pointer;color:#64748b;font-size:1.1rem;display:flex;align-items:center;justify-content:center;transition:all .2s ease}.wa-chat-template-btn:hover{border-color:#25d366;color:#128c7e;background:#f0fdf4}.wa-chat-send-btn{width:40px;height:40px;border:none;background:linear-gradient(135deg,#25d366,#128c7e);border-radius:10px;cursor:pointer;color:#fff;font-size:1.1rem;display:flex;align-items:center;justify-content:center;transition:all .2s ease;box-shadow:0 2px 8px #25d3664d}.wa-chat-send-btn:hover{transform:translateY(-1px);box-shadow:0 4px 12px #25d36666}.wa-chat-empty{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;color:#94a3b8;gap:.75rem}.wa-chat-empty-icon{font-size:3rem;opacity:.5}.wa-templates-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(340px,1fr));gap:1.25rem}.wa-template-card{background:#fff;border-radius:16px;padding:1.5rem;box-shadow:0 1px 3px #0000000d;border:1px solid #f1f5f9;transition:all .3s ease;position:relative;overflow:hidden}.wa-template-card:hover{transform:translateY(-2px);box-shadow:0 8px 25px #00000014}.wa-template-card:before{content:"";position:absolute;top:0;left:0;right:0;height:3px}.wa-template-card.reminder:before{background:linear-gradient(90deg,#3b82f6,#60a5fa)}.wa-template-card.confirmation:before{background:linear-gradient(90deg,#25d366,#4ade80)}.wa-template-card.budget:before{background:linear-gradient(90deg,#f59e0b,#fbbf24)}.wa-template-card.followup:before{background:linear-gradient(90deg,#8b5cf6,#a78bfa)}.wa-template-card.document:before{background:linear-gradient(90deg,#ef4444,#f87171)}.wa-template-card.custom:before{background:linear-gradient(90deg,#64748b,#94a3b8)}.wa-template-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:1rem}.wa-template-type{display:flex;align-items:center;gap:.5rem}.wa-template-type-icon{width:38px;height:38px;border-radius:10px;display:flex;align-items:center;justify-content:center;font-size:1.1rem}.wa-template-card.reminder .wa-template-type-icon{background:linear-gradient(135deg,#dbeafe,#bfdbfe)}.wa-template-card.confirmation .wa-template-type-icon{background:linear-gradient(135deg,#dcfce7,#bbf7d0)}.wa-template-card.budget .wa-template-type-icon{background:linear-gradient(135deg,#fef3c7,#fde68a)}.wa-template-card.followup .wa-template-type-icon{background:linear-gradient(135deg,#e0e7ff,#c7d2fe)}.wa-template-card.document .wa-template-type-icon{background:linear-gradient(135deg,#fee2e2,#fecaca)}.wa-template-card.custom .wa-template-type-icon{background:linear-gradient(135deg,#f1f5f9,#e2e8f0)}.wa-template-type-label{font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.5px}.wa-template-card.reminder .wa-template-type-label{color:#2563eb}.wa-template-card.confirmation .wa-template-type-label{color:#16a34a}.wa-template-card.budget .wa-template-type-label{color:#d97706}.wa-template-card.followup .wa-template-type-label{color:#7c3aed}.wa-template-card.document .wa-template-type-label{color:#dc2626}.wa-template-card.custom .wa-template-type-label{color:#64748b}.wa-template-status{padding:.25rem .6rem;border-radius:8px;font-size:.7rem;font-weight:600}.wa-template-status.active{background:#dcfce7;color:#166534}.wa-template-status.draft{background:#fef3c7;color:#92400e}.wa-template-status.pending{background:#dbeafe;color:#1e40af}.wa-template-name{font-size:1rem;font-weight:600;color:#0f172a;margin:0 0 .5rem}.wa-template-preview{background:#f8fafc;border-radius:10px;padding:1rem;font-size:.8rem;color:#475569;line-height:1.6;margin-bottom:1rem;border:1px dashed #e2e8f0;max-height:120px;overflow:hidden;position:relative}.wa-template-preview:after{content:"";position:absolute;bottom:0;left:0;right:0;height:30px;background:linear-gradient(transparent,#f8fafc)}.wa-template-variables{display:flex;flex-wrap:wrap;gap:.35rem;margin-bottom:1rem}.wa-template-var{padding:.2rem .5rem;background:#f0fdf4;border:1px solid #bbf7d0;border-radius:6px;font-size:.7rem;font-weight:500;color:#166534;font-family:monospace}.wa-template-footer{display:flex;align-items:center;justify-content:space-between;padding-top:.75rem;border-top:1px solid #f1f5f9}.wa-template-meta{font-size:.75rem;color:#94a3b8}.wa-template-actions{display:flex;gap:.5rem}.wa-template-action-btn{width:32px;height:32px;border:1px solid #e2e8f0;background:#fff;border-radius:8px;display:flex;align-items:center;justify-content:center;cursor:pointer;color:#64748b;font-size:.85rem;transition:all .2s ease}.wa-template-action-btn:hover{border-color:#25d366;color:#128c7e;background:#f0fdf4}.wa-template-action-btn.delete:hover{border-color:#ef4444;color:#ef4444;background:#fef2f2}.wa-campaigns-list{display:flex;flex-direction:column;gap:1rem}.wa-campaign-card{background:#fff;border-radius:16px;padding:1.5rem;box-shadow:0 1px 3px #0000000d;border:1px solid #f1f5f9;display:flex;align-items:center;gap:1.25rem;transition:all .3s ease}.wa-campaign-card:hover{transform:translateY(-2px);box-shadow:0 8px 25px #00000014}.wa-campaign-icon{width:52px;height:52px;border-radius:14px;display:flex;align-items:center;justify-content:center;font-size:1.5rem;flex-shrink:0}.wa-campaign-icon.scheduled{background:linear-gradient(135deg,#dbeafe,#bfdbfe)}.wa-campaign-icon.sent{background:linear-gradient(135deg,#dcfce7,#bbf7d0)}.wa-campaign-icon.draft{background:linear-gradient(135deg,#f1f5f9,#e2e8f0)}.wa-campaign-info{flex:1;min-width:0}.wa-campaign-name{font-weight:600;font-size:.95rem;color:#0f172a;margin-bottom:.25rem}.wa-campaign-desc{font-size:.8rem;color:#94a3b8}.wa-campaign-stats{display:flex;gap:1.5rem}.wa-campaign-stat{text-align:center}.wa-campaign-stat-value{font-size:1.25rem;font-weight:700;color:#0f172a}.wa-campaign-stat-label{font-size:.7rem;color:#94a3b8;text-transform:uppercase;letter-spacing:.3px}.wa-campaign-badge{padding:.35rem .75rem;border-radius:20px;font-size:.75rem;font-weight:600;white-space:nowrap}.wa-campaign-badge.scheduled{background:#dbeafe;color:#1e40af}.wa-campaign-badge.sent{background:#dcfce7;color:#166534}.wa-campaign-badge.draft{background:#f1f5f9;color:#64748b}.wa-settings{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem}.wa-settings-card{background:#fff;border-radius:16px;padding:1.75rem;box-shadow:0 1px 3px #0000000d;border:1px solid #f1f5f9}.wa-settings-card.full-width{grid-column:1 / -1}.wa-settings-card h3{font-size:.85rem;font-weight:600;color:#128c7e;text-transform:uppercase;letter-spacing:.5px;margin:0 0 1.25rem;display:flex;align-items:center;gap:.5rem}.wa-setting-row{display:flex;align-items:center;justify-content:space-between;padding:1rem;background:#f8fafc;border-radius:12px;margin-bottom:.75rem}.wa-setting-row:last-child{margin-bottom:0}.wa-setting-label{display:flex;flex-direction:column;gap:.2rem}.wa-setting-label span:first-child{font-weight:600;color:#0f172a;font-size:.9rem}.wa-setting-label span:last-child{font-size:.8rem;color:#64748b}.wa-toggle{position:relative;width:48px;height:26px;background:#e2e8f0;border-radius:13px;cursor:pointer;transition:all .3s ease;border:none}.wa-toggle.active{background:#25d366}.wa-toggle:after{content:"";position:absolute;width:20px;height:20px;background:#fff;border-radius:50%;top:3px;left:3px;transition:all .3s ease;box-shadow:0 1px 3px #0003}.wa-toggle.active:after{left:25px}.wa-form-group{margin-bottom:1rem}.wa-form-group:last-child{margin-bottom:0}.wa-form-label{display:block;font-size:.85rem;font-weight:500;color:#374151;margin-bottom:.5rem}.wa-form-input{width:100%;padding:.75rem 1rem;border:2px solid #e2e8f0;border-radius:10px;font-size:.9rem;background:#f8fafc;transition:all .2s ease}.wa-form-input:focus{outline:none;border-color:#25d366;background:#fff;box-shadow:0 0 0 3px #25d3661a}.wa-form-hint{font-size:.75rem;color:#94a3b8;margin-top:.35rem}.wa-btn-save{display:flex;align-items:center;gap:.5rem;padding:.75rem 1.5rem;background:linear-gradient(135deg,#25d366,#128c7e);color:#fff;border:none;border-radius:10px;font-size:.875rem;font-weight:600;cursor:pointer;transition:all .3s ease;box-shadow:0 4px 14px #25d36640;margin-top:1rem}.wa-btn-save:hover{background:linear-gradient(135deg,#128c7e,#075e54);transform:translateY(-1px);box-shadow:0 6px 20px #25d36659}.wa-quick-actions{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:1rem;margin-bottom:1.5rem}.wa-quick-action{background:#fff;border-radius:14px;padding:1.25rem;display:flex;flex-direction:column;align-items:center;gap:.75rem;cursor:pointer;border:1px solid #f1f5f9;transition:all .3s ease;text-align:center}.wa-quick-action:hover{transform:translateY(-3px);box-shadow:0 8px 25px #00000014;border-color:#25d366}.wa-quick-action-icon{width:48px;height:48px;border-radius:14px;display:flex;align-items:center;justify-content:center;font-size:1.5rem}.wa-quick-action:nth-child(1) .wa-quick-action-icon{background:linear-gradient(135deg,#dbeafe,#bfdbfe)}.wa-quick-action:nth-child(2) .wa-quick-action-icon{background:linear-gradient(135deg,#dcfce7,#bbf7d0)}.wa-quick-action:nth-child(3) .wa-quick-action-icon{background:linear-gradient(135deg,#fef3c7,#fde68a)}.wa-quick-action:nth-child(4) .wa-quick-action-icon{background:linear-gradient(135deg,#e0e7ff,#c7d2fe)}.wa-quick-action:nth-child(5) .wa-quick-action-icon{background:linear-gradient(135deg,#fee2e2,#fecaca)}.wa-quick-action:nth-child(6) .wa-quick-action-icon{background:linear-gradient(135deg,#f3e8ff,#e9d5ff)}.wa-quick-action-label{font-size:.8rem;font-weight:600;color:#334155}.wa-modal-overlay{position:fixed;inset:0;background:#0f172a99;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:1000;padding:1rem}.wa-modal{background:#fff;border-radius:24px;width:100%;max-width:600px;max-height:90vh;overflow:hidden;box-shadow:0 25px 50px #00000040;animation:waModalSlideIn .3s ease}.wa-modal.wide{max-width:700px}@keyframes waModalSlideIn{0%{opacity:0;transform:translateY(-20px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}.wa-modal-header{padding:1.5rem 2rem;background:linear-gradient(135deg,#f0fdf4,#ecfdf5);border-bottom:1px solid #e2e8f0;display:flex;align-items:center;justify-content:space-between}.wa-modal-header h2{font-size:1.25rem;font-weight:700;color:#0f172a;margin:0;display:flex;align-items:center;gap:.75rem}.wa-modal-close{width:36px;height:36px;border:none;background:#fff;border-radius:10px;cursor:pointer;display:flex;align-items:center;justify-content:center;color:#64748b;font-size:1.25rem;transition:all .2s ease;box-shadow:0 1px 3px #0000001a}.wa-modal-close:hover{background:#fee2e2;color:#dc2626}.wa-modal-body{padding:2rem;max-height:60vh;overflow-y:auto}.wa-modal-footer{padding:1.25rem 2rem;background:#f8fafc;border-top:1px solid #e2e8f0;display:flex;justify-content:flex-end;gap:.75rem}.wa-btn-cancel{padding:.75rem 1.5rem;border:1px solid #e2e8f0;background:#fff;border-radius:10px;font-size:.875rem;font-weight:500;color:#64748b;cursor:pointer;transition:all .2s ease}.wa-btn-cancel:hover{border-color:#94a3b8;color:#334155}.wa-btn-confirm{padding:.75rem 1.5rem;background:linear-gradient(135deg,#25d366,#128c7e);color:#fff;border:none;border-radius:10px;font-size:.875rem;font-weight:600;cursor:pointer;transition:all .3s ease;box-shadow:0 4px 14px #25d36640}.wa-btn-confirm:hover{background:linear-gradient(135deg,#128c7e,#075e54);transform:translateY(-1px)}.wa-btn-confirm:disabled{opacity:.6;cursor:not-allowed;transform:none}.wa-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:4rem 2rem;gap:1rem}.wa-loading-spinner{width:50px;height:50px;border:3px solid #e2e8f0;border-top-color:#25d366;border-radius:50%;animation:waSpin 1s linear infinite}@keyframes waSpin{to{transform:rotate(360deg)}}.wa-loading p{color:#64748b;font-size:.95rem}.wa-empty{text-align:center;padding:4rem 2rem;background:#fff;border-radius:20px;border:2px dashed #e2e8f0}.wa-empty-icon{width:100px;height:100px;background:linear-gradient(135deg,#f0fdf4,#ecfdf5);border-radius:50%;display:flex;align-items:center;justify-content:center;margin:0 auto 1.5rem;font-size:2.5rem}.wa-empty h3{font-size:1.25rem;color:#0f172a;margin:0 0 .5rem}.wa-empty p{color:#64748b;margin:0 0 1.5rem}@keyframes waFadeInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.wa-page>*{animation:waFadeInUp .4s ease forwards}.wa-page>*:nth-child(1){animation-delay:.05s}.wa-page>*:nth-child(2){animation-delay:.1s}.wa-page>*:nth-child(3){animation-delay:.15s}.wa-page>*:nth-child(4){animation-delay:.2s}.wa-page>*:nth-child(5){animation-delay:.25s}.wa-page>*:nth-child(6){animation-delay:.3s}@media(max-width:1024px){.wa-conversations-layout,.wa-settings{grid-template-columns:1fr}.wa-campaign-stats{display:none}}@media(max-width:768px){.wa-header{flex-direction:column}.wa-header-right{flex-wrap:wrap}.wa-stats{grid-template-columns:repeat(2,1fr)}.wa-tabs{overflow-x:auto;-webkit-overflow-scrolling:touch;flex-wrap:nowrap}.wa-templates-grid{grid-template-columns:1fr}.wa-quick-actions{grid-template-columns:repeat(2,1fr)}.wa-campaign-card{flex-wrap:wrap}}.comunicacion-page{display:flex;flex-direction:column;gap:2rem;animation:comunicacionFadeInUp .5s ease}@keyframes comunicacionFadeInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.comunicacion-header{display:flex;justify-content:space-between;align-items:flex-start;flex-wrap:wrap;gap:1.5rem}.comunicacion-header-content h1{font-size:2rem;font-weight:700;background:linear-gradient(135deg,#7c3aed,#0891b2);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;margin-bottom:.5rem}.comunicacion-header-content p{color:#64748b;font-size:1rem}.comunicacion-header-actions{display:flex;gap:.75rem}.comunicacion-btn-premium{display:flex;align-items:center;gap:.5rem;padding:.75rem 1.5rem;background:linear-gradient(135deg,#7c3aed,#6d28d9,#5b21b6);color:#fff;border:none;border-radius:12px;font-size:.9rem;font-weight:600;cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1);box-shadow:0 4px 15px #7c3aed4d;position:relative;overflow:hidden}.comunicacion-btn-premium:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.2),transparent);transition:left .5s}.comunicacion-btn-premium:hover:before{left:100%}.comunicacion-btn-premium:hover{transform:translateY(-2px);box-shadow:0 8px 25px #7c3aed66}.comunicacion-btn-outline{display:flex;align-items:center;gap:.5rem;padding:.75rem 1.25rem;background:#fff;color:#7c3aed;border:2px solid #7c3aed;border-radius:12px;font-size:.9rem;font-weight:600;cursor:pointer;transition:all .3s ease}.comunicacion-btn-outline:hover{background:#7c3aed;color:#fff;transform:translateY(-2px)}.comunicacion-kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:1.5rem}.comunicacion-kpi-card{background:#fff;border-radius:20px;padding:1.75rem;position:relative;overflow:hidden;transition:all .4s cubic-bezier(.4,0,.2,1);box-shadow:0 4px 20px #0000000d;border:1px solid rgba(0,0,0,.05)}.comunicacion-kpi-card:before{content:"";position:absolute;top:0;left:0;right:0;height:4px;background:linear-gradient(90deg,var(--kpi-accent),var(--kpi-accent-light))}.comunicacion-kpi-card:hover{transform:translateY(-5px);box-shadow:0 20px 40px #0000001a}.comunicacion-kpi-card.messages{--kpi-accent: #7c3aed;--kpi-accent-light: #a78bfa}.comunicacion-kpi-card.delivery{--kpi-accent: #10b981;--kpi-accent-light: #34d399}.comunicacion-kpi-card.openrate{--kpi-accent: #3b82f6;--kpi-accent-light: #60a5fa}.comunicacion-kpi-card.noshow{--kpi-accent: #f59e0b;--kpi-accent-light: #fbbf24}.comunicacion-kpi-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:1rem}.comunicacion-kpi-icon{width:52px;height:52px;border-radius:14px;display:flex;align-items:center;justify-content:center;font-size:1.5rem;background:linear-gradient(135deg,var(--kpi-accent) 0%,var(--kpi-accent-light) 100%);box-shadow:0 4px 15px #00000026}.comunicacion-kpi-trend{display:flex;align-items:center;gap:.25rem;padding:.35rem .75rem;border-radius:20px;font-size:.75rem;font-weight:600}.comunicacion-kpi-trend.positive{background:#dcfce7;color:#16a34a}.comunicacion-kpi-trend.negative{background:#fee2e2;color:#dc2626}.comunicacion-kpi-body h3{font-size:2rem;font-weight:700;color:#1e293b;margin-bottom:.25rem;letter-spacing:-.02em}.comunicacion-kpi-body p{color:#64748b;font-size:.9rem;font-weight:500}.comunicacion-kpi-footer{display:flex;align-items:center;gap:.5rem;margin-top:1rem;padding-top:1rem;border-top:1px solid #f1f5f9;font-size:.8rem;color:#94a3b8}.comunicacion-quick-stats{display:flex;gap:1rem;padding:1rem 1.5rem;background:linear-gradient(135deg,#4c1d95,#1e1b4b);border-radius:16px;color:#fff}.comunicacion-quick-stat{flex:1;display:flex;align-items:center;gap:1rem;padding:.75rem 1rem;background:#ffffff1a;border-radius:12px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);transition:all .3s ease}.comunicacion-quick-stat:hover{background:#ffffff26}.comunicacion-quick-stat-icon{width:40px;height:40px;background:#fff3;border-radius:10px;display:flex;align-items:center;justify-content:center;font-size:1.2rem}.comunicacion-quick-stat-content h4{font-size:1.25rem;font-weight:700;margin-bottom:.125rem}.comunicacion-quick-stat-content span{font-size:.8rem;opacity:.8}.comunicacion-tabs-nav{display:flex;gap:.5rem;padding:.5rem;background:#fff;border-radius:16px;box-shadow:0 4px 20px #0000000d;border:1px solid rgba(0,0,0,.05);overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none}.comunicacion-tabs-nav::-webkit-scrollbar{display:none}.comunicacion-tab-btn{display:flex;align-items:center;gap:.5rem;padding:.75rem 1.5rem;background:transparent;border:none;border-radius:12px;font-size:.9rem;font-weight:600;color:#64748b;cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1);white-space:nowrap;position:relative}.comunicacion-tab-btn:hover{color:#7c3aed;background:#7c3aed0d}.comunicacion-tab-btn.active{background:linear-gradient(135deg,#7c3aed,#6d28d9);color:#fff;box-shadow:0 4px 15px #7c3aed4d}.comunicacion-tab-icon{font-size:1.1rem}.comunicacion-tab-label{font-size:.85rem}.comunicacion-tab-content{animation:comunicacionFadeInUp .3s ease}.comunicacion-panel{display:grid;grid-template-columns:2fr 1fr;gap:1.5rem}.comunicacion-panel-main,.comunicacion-panel-sidebar{display:flex;flex-direction:column;gap:1.5rem}.comunicacion-card{background:#fff;border-radius:20px;padding:1.5rem;box-shadow:0 4px 20px #0000000d;border:1px solid rgba(0,0,0,.05)}.comunicacion-card-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.25rem}.comunicacion-card-header h3{font-size:1rem;font-weight:600;color:#1e293b;margin:0;display:flex;align-items:center;gap:.5rem}.comunicacion-card-header a,.comunicacion-card-header button{font-size:.8rem;color:#7c3aed;text-decoration:none;font-weight:500;background:none;border:none;cursor:pointer}.comunicacion-channel-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}.comunicacion-channel-item{padding:1.25rem;background:#f8fafc;border-radius:14px;text-align:center;transition:all .3s ease}.comunicacion-channel-item:hover{background:#f1f5f9;transform:translateY(-2px)}.comunicacion-channel-icon{font-size:2rem;margin-bottom:.75rem}.comunicacion-channel-name{font-size:.8rem;font-weight:600;color:#64748b;text-transform:uppercase;letter-spacing:.05em;margin-bottom:.5rem}.comunicacion-channel-stat{font-size:1.5rem;font-weight:700;color:#1e293b;margin-bottom:.25rem}.comunicacion-channel-detail{font-size:.75rem;color:#94a3b8}.comunicacion-activity-list{display:flex;flex-direction:column;gap:.75rem}.comunicacion-activity-item{display:flex;gap:.75rem;padding:.75rem;border-radius:12px;transition:all .2s ease}.comunicacion-activity-item:hover{background:#f8fafc}.comunicacion-activity-icon{width:36px;height:36px;border-radius:10px;display:flex;align-items:center;justify-content:center;font-size:.9rem;flex-shrink:0}.comunicacion-activity-icon.sms{background:#ede9fe}.comunicacion-activity-icon.email{background:#dbeafe}.comunicacion-activity-icon.whatsapp{background:#dcfce7}.comunicacion-activity-content{flex:1;min-width:0}.comunicacion-activity-content strong{display:block;font-size:.85rem;color:#1e293b;margin-bottom:.125rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.comunicacion-activity-content span{font-size:.75rem;color:#64748b}.comunicacion-quick-actions{display:grid;grid-template-columns:1fr 1fr;gap:.75rem}.comunicacion-quick-action{display:flex;align-items:center;gap:.75rem;padding:1rem;background:#f8fafc;border:2px solid transparent;border-radius:12px;cursor:pointer;transition:all .3s ease;text-align:left}.comunicacion-quick-action:hover{border-color:#7c3aed;background:#7c3aed08;transform:translateY(-2px)}.comunicacion-quick-action-icon{width:40px;height:40px;border-radius:10px;display:flex;align-items:center;justify-content:center;font-size:1.1rem;background:#fff;box-shadow:0 2px 8px #00000014}.comunicacion-quick-action-text strong{display:block;font-size:.85rem;color:#1e293b;margin-bottom:.125rem}.comunicacion-quick-action-text span{font-size:.75rem;color:#64748b}.comunicacion-campanas{display:flex;flex-direction:column;gap:1.5rem}.comunicacion-filters-bar{display:flex;gap:.75rem;align-items:center;flex-wrap:wrap}.comunicacion-filter-select{padding:.6rem 1rem;border:2px solid #e2e8f0;border-radius:10px;font-size:.85rem;color:#475569;background:#fff;cursor:pointer;transition:all .3s ease}.comunicacion-filter-select:focus{outline:none;border-color:#7c3aed}.comunicacion-search-input{flex:1;min-width:200px;padding:.6rem 1rem;border:2px solid #e2e8f0;border-radius:10px;font-size:.85rem;transition:all .3s ease;background:#fff}.comunicacion-search-input:focus{outline:none;border-color:#7c3aed;box-shadow:0 0 0 4px #7c3aed1a}.comunicacion-table-card{background:#fff;border-radius:20px;box-shadow:0 4px 20px #0000000d;overflow:hidden;border:1px solid rgba(0,0,0,.05)}.comunicacion-table{width:100%;border-collapse:separate;border-spacing:0}.comunicacion-table thead{background:linear-gradient(180deg,#f8fafc,#f1f5f9)}.comunicacion-table th{padding:1rem 1.25rem;text-align:left;font-size:.75rem;font-weight:700;color:#475569;text-transform:uppercase;letter-spacing:.08em;border-bottom:2px solid #e2e8f0}.comunicacion-table td{padding:1rem 1.25rem;font-size:.9rem;color:#334155;border-bottom:1px solid #f1f5f9;transition:all .2s ease}.comunicacion-table tbody tr{transition:all .3s ease}.comunicacion-table tbody tr:hover{background:linear-gradient(90deg,rgba(124,58,237,.03) 0%,transparent 100%)}.comunicacion-table tbody tr:hover td{color:#1e293b}.comunicacion-campaign-cell{display:flex;align-items:center;gap:.75rem}.comunicacion-campaign-icon{width:40px;height:40px;border-radius:10px;display:flex;align-items:center;justify-content:center;font-size:1.1rem;flex-shrink:0}.comunicacion-campaign-icon.sms{background:linear-gradient(135deg,#ede9fe,#ddd6fe)}.comunicacion-campaign-icon.email{background:linear-gradient(135deg,#dbeafe,#bfdbfe)}.comunicacion-campaign-icon.whatsapp{background:linear-gradient(135deg,#dcfce7,#bbf7d0)}.comunicacion-campaign-info strong{display:block;font-weight:600;color:#1e293b;font-size:.9rem}.comunicacion-campaign-info span{font-size:.75rem;color:#94a3b8}.comunicacion-status{display:inline-flex;align-items:center;gap:.4rem;padding:.4rem .85rem;border-radius:10px;font-size:.78rem;font-weight:600}.comunicacion-status-dot{width:7px;height:7px;border-radius:50%}.comunicacion-status.active{background:#dcfce7;color:#15803d}.comunicacion-status.active .comunicacion-status-dot{background:#16a34a;animation:comunicacionPulse 2s infinite}.comunicacion-status.completed{background:#dbeafe;color:#1d4ed8}.comunicacion-status.completed .comunicacion-status-dot{background:#3b82f6}.comunicacion-status.scheduled{background:#fef3c7;color:#b45309}.comunicacion-status.scheduled .comunicacion-status-dot{background:#f59e0b;animation:comunicacionPulse 2s infinite}.comunicacion-status.draft{background:#f3f4f6;color:#4b5563}.comunicacion-status.draft .comunicacion-status-dot{background:#6b7280}.comunicacion-status.paused{background:#fee2e2;color:#b91c1c}.comunicacion-status.paused .comunicacion-status-dot{background:#dc2626}@keyframes comunicacionPulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.5;transform:scale(.9)}}.comunicacion-progress-bar{width:100%;height:6px;background:#e2e8f0;border-radius:3px;overflow:hidden;margin-top:.25rem}.comunicacion-progress-fill{height:100%;border-radius:3px;background:linear-gradient(90deg,#7c3aed,#a78bfa);transition:width .5s ease}.comunicacion-progress-text{font-size:.75rem;color:#64748b;margin-bottom:.25rem}.comunicacion-channel-badge{display:inline-flex;align-items:center;gap:.35rem;padding:.3rem .7rem;border-radius:8px;font-size:.75rem;font-weight:600}.comunicacion-channel-badge.sms{background:#ede9fe;color:#6d28d9}.comunicacion-channel-badge.email{background:#dbeafe;color:#1d4ed8}.comunicacion-channel-badge.whatsapp{background:#dcfce7;color:#15803d}.comunicacion-channel-badge.multi{background:#fef3c7;color:#b45309}.comunicacion-actions-cell{display:flex;gap:.4rem}.comunicacion-action-btn{width:34px;height:34px;border:none;border-radius:8px;background:#f8fafc;color:#64748b;cursor:pointer;transition:all .3s ease;display:flex;align-items:center;justify-content:center;font-size:.9rem}.comunicacion-action-btn:hover{background:#7c3aed;color:#fff;transform:scale(1.1)}.comunicacion-plantillas{display:flex;flex-direction:column;gap:1.5rem}.comunicacion-plantillas-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.25rem}.comunicacion-plantilla-card{background:#fff;border-radius:16px;padding:1.5rem;box-shadow:0 4px 20px #0000000d;border:2px solid transparent;transition:all .3s ease;cursor:pointer;display:flex;flex-direction:column}.comunicacion-plantilla-card:hover{border-color:#7c3aed;transform:translateY(-3px);box-shadow:0 12px 30px #7c3aed1a}.comunicacion-plantilla-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:1rem}.comunicacion-plantilla-title{font-size:.95rem;font-weight:600;color:#1e293b;margin:0}.comunicacion-plantilla-body{flex:1;font-size:.8rem;color:#64748b;line-height:1.5;margin-bottom:1rem;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.comunicacion-plantilla-variables{display:flex;flex-wrap:wrap;gap:.4rem;margin-bottom:1rem}.comunicacion-variable-tag{padding:.2rem .6rem;background:#f5f3ff;color:#7c3aed;border-radius:6px;font-size:.7rem;font-weight:600;font-family:monospace}.comunicacion-plantilla-footer{display:flex;justify-content:space-between;align-items:center;padding-top:.75rem;border-top:1px solid #f1f5f9}.comunicacion-plantilla-usage{font-size:.75rem;color:#94a3b8}.comunicacion-category-badge{padding:.25rem .6rem;border-radius:6px;font-size:.7rem;font-weight:600;text-transform:uppercase;letter-spacing:.03em}.comunicacion-category-badge.recordatorio{background:#fef3c7;color:#92400e}.comunicacion-category-badge.marketing{background:#ede9fe;color:#5b21b6}.comunicacion-category-badge.felicitacion{background:#fce7f3;color:#9d174d}.comunicacion-category-badge.seguimiento{background:#dbeafe;color:#1e40af}.comunicacion-category-badge.recall{background:#dcfce7;color:#166534}.comunicacion-category-badge.informativo{background:#f3f4f6;color:#374151}.comunicacion-segmentacion{display:flex;flex-direction:column;gap:1.5rem}.comunicacion-segments-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1.25rem}.comunicacion-segment-card{background:#fff;border-radius:16px;padding:1.5rem;box-shadow:0 4px 20px #0000000d;border:1px solid rgba(0,0,0,.05);transition:all .3s ease}.comunicacion-segment-card:hover{transform:translateY(-3px);box-shadow:0 12px 30px #00000014}.comunicacion-segment-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:.75rem}.comunicacion-segment-title{font-size:1rem;font-weight:600;color:#1e293b;margin:0}.comunicacion-segment-count{display:flex;align-items:center;gap:.4rem;padding:.35rem .85rem;background:linear-gradient(135deg,#7c3aed,#a78bfa);color:#fff;border-radius:20px;font-size:.8rem;font-weight:700}.comunicacion-segment-desc{font-size:.85rem;color:#64748b;margin-bottom:1rem;line-height:1.4}.comunicacion-segment-criteria{display:flex;flex-direction:column;gap:.5rem;padding:.75rem;background:#f8fafc;border-radius:10px}.comunicacion-criterion{display:flex;align-items:center;gap:.5rem;font-size:.8rem;color:#475569}.comunicacion-criterion-field{font-weight:600;color:#7c3aed}.comunicacion-criterion-op{color:#94a3b8;font-style:italic}.comunicacion-criterion-value{background:#fff;padding:.2rem .5rem;border-radius:4px;font-weight:600;color:#1e293b}.comunicacion-protocolos{display:flex;flex-direction:column;gap:1.5rem}.comunicacion-protocolos-list{display:flex;flex-direction:column;gap:1rem}.comunicacion-protocolo-card{background:#fff;border-radius:16px;padding:1.25rem 1.5rem;box-shadow:0 4px 20px #0000000d;border:1px solid rgba(0,0,0,.05);display:flex;align-items:center;gap:1.25rem;transition:all .3s ease}.comunicacion-protocolo-card:hover{transform:translateY(-2px);box-shadow:0 8px 25px #00000014}.comunicacion-protocolo-card.inactive{opacity:.65}.comunicacion-protocolo-toggle{position:relative;width:52px;height:28px;flex-shrink:0}.comunicacion-protocolo-toggle input{opacity:0;width:0;height:0}.comunicacion-protocolo-toggle-slider{position:absolute;cursor:pointer;inset:0;background-color:#cbd5e1;transition:.4s;border-radius:28px}.comunicacion-protocolo-toggle-slider:before{position:absolute;content:"";height:22px;width:22px;left:3px;bottom:3px;background-color:#fff;transition:.4s;border-radius:50%;box-shadow:0 2px 4px #00000026}.comunicacion-protocolo-toggle input:checked+.comunicacion-protocolo-toggle-slider{background:linear-gradient(135deg,#7c3aed,#a78bfa)}.comunicacion-protocolo-toggle input:checked+.comunicacion-protocolo-toggle-slider:before{transform:translate(24px)}.comunicacion-protocolo-info{flex:1;min-width:0}.comunicacion-protocolo-name{font-size:.95rem;font-weight:600;color:#1e293b;margin:0 0 .25rem;display:flex;align-items:center;gap:.5rem}.comunicacion-protocolo-desc{font-size:.8rem;color:#64748b;margin:0}.comunicacion-protocolo-meta{display:flex;gap:1.5rem;flex-shrink:0}.comunicacion-protocolo-stat{text-align:center}.comunicacion-protocolo-stat-value{display:block;font-size:1.1rem;font-weight:700;color:#1e293b}.comunicacion-protocolo-stat-label{display:block;font-size:.7rem;color:#94a3b8;text-transform:uppercase;letter-spacing:.05em}.comunicacion-protocolo-trigger{padding:.3rem .7rem;background:#f1f5f9;border-radius:6px;font-size:.7rem;color:#475569;white-space:nowrap}.comunicacion-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:4rem 2rem;gap:1rem}.comunicacion-loading-spinner{width:48px;height:48px;border:4px solid #e2e8f0;border-top-color:#7c3aed;border-radius:50%;animation:comunicacionSpin 1s linear infinite}@keyframes comunicacionSpin{to{transform:rotate(360deg)}}.comunicacion-loading p{color:#64748b;font-size:.9rem}.comunicacion-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:4rem 2rem;text-align:center}.comunicacion-empty-icon{width:80px;height:80px;background:linear-gradient(135deg,#f8fafc,#e2e8f0);border-radius:20px;display:flex;align-items:center;justify-content:center;font-size:2.5rem;margin-bottom:1.5rem}.comunicacion-empty h3{font-size:1.25rem;font-weight:600;color:#1e293b;margin-bottom:.5rem}.comunicacion-empty p{color:#64748b}@media(max-width:1200px){.comunicacion-panel{grid-template-columns:1fr}.comunicacion-plantillas-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:992px){.comunicacion-kpis{grid-template-columns:repeat(2,1fr)}.comunicacion-quick-stats{flex-wrap:wrap}.comunicacion-quick-stat{flex:1 1 45%}.comunicacion-segments-grid,.comunicacion-channel-grid{grid-template-columns:1fr}.comunicacion-protocolo-card{flex-wrap:wrap}.comunicacion-protocolo-meta{width:100%;justify-content:space-around;padding-top:.75rem;border-top:1px solid #f1f5f9}}@media(max-width:768px){.comunicacion-header{flex-direction:column;align-items:stretch}.comunicacion-header-actions{justify-content:stretch}.comunicacion-header-actions button{flex:1;justify-content:center}.comunicacion-kpis{grid-template-columns:1fr}.comunicacion-quick-stat{flex:1 1 100%}.comunicacion-plantillas-grid{grid-template-columns:1fr}.comunicacion-tab-btn{padding:.6rem 1rem;font-size:.8rem}.comunicacion-tab-label{font-size:.75rem}.comunicacion-filters-bar{flex-direction:column;align-items:stretch}.comunicacion-search-input{min-width:auto}.comunicacion-quick-actions{grid-template-columns:1fr}.comunicacion-table{font-size:.8rem}.comunicacion-table th,.comunicacion-table td{padding:.75rem}}
