*,:before,:after{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }::backdrop{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }*,:before,:after{box-sizing:border-box;border-width:0;border-style:solid;border-color:#e5e7eb}:before,:after{--tw-content: ""}html,:host{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;font-family:Hanken Grotesk,sans-serif;font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent}body{margin:0;line-height:inherit}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;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:Space Mono,monospace;font-feature-settings:normal;font-variation-settings:normal;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-family:inherit;font-feature-settings:inherit;font-variation-settings:inherit;font-size:100%;font-weight:inherit;line-height:inherit;letter-spacing:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dl,dd,h1,h2,h3,h4,h5,h6,hr,figure,p,pre{margin:0}fieldset{margin:0;padding:0}legend{padding:0}ol,ul,menu{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}button,[role=button]{cursor:pointer}:disabled{cursor:default}img,svg,video,canvas,audio,iframe,embed,object{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]:where(:not([hidden=until-found])){display:none}.pointer-events-none{pointer-events:none}.visible{visibility:visible}.invisible{visibility:hidden}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.inset-0{top:0;right:0;bottom:0;left:0}.mx-auto{margin-left:auto;margin-right:auto}.mb-0\.5{margin-bottom:.125rem}.mb-1{margin-bottom:.25rem}.mb-1\.5{margin-bottom:.375rem}.mb-2{margin-bottom:.5rem}.mb-2\.5{margin-bottom:.625rem}.mb-3{margin-bottom:.75rem}.mb-4{margin-bottom:1rem}.mb-5{margin-bottom:1.25rem}.mb-6{margin-bottom:1.5rem}.ml-1{margin-left:.25rem}.ml-1\.5{margin-left:.375rem}.ml-2{margin-left:.5rem}.ml-4{margin-left:1rem}.mr-1{margin-right:.25rem}.mr-3{margin-right:.75rem}.mt-0\.5{margin-top:.125rem}.mt-1{margin-top:.25rem}.mt-1\.5{margin-top:.375rem}.mt-2{margin-top:.5rem}.mt-3{margin-top:.75rem}.mt-4{margin-top:1rem}.block{display:block}.inline-block{display:inline-block}.inline{display:inline}.flex{display:flex}.inline-flex{display:inline-flex}.table{display:table}.grid{display:grid}.hidden{display:none}.h-1\.5{height:.375rem}.h-10{height:2.5rem}.h-11{height:2.75rem}.h-12{height:3rem}.h-14{height:3.5rem}.h-2{height:.5rem}.h-3{height:.75rem}.h-3\.5{height:.875rem}.h-4{height:1rem}.h-7{height:1.75rem}.h-8{height:2rem}.h-9{height:2.25rem}.h-full{height:100%}.h-screen{height:100vh}.min-h-0{min-height:0px}.w-1\.5{width:.375rem}.w-10{width:2.5rem}.w-11{width:2.75rem}.w-12{width:3rem}.w-14{width:3.5rem}.w-2{width:.5rem}.w-3{width:.75rem}.w-3\.5{width:.875rem}.w-4{width:1rem}.w-7{width:1.75rem}.w-8{width:2rem}.w-9{width:2.25rem}.w-full{width:100%}.min-w-0{min-width:0px}.max-w-7xl{max-width:80rem}.max-w-sm{max-width:24rem}.max-w-xs{max-width:20rem}.flex-1{flex:1 1 0%}.flex-shrink-0{flex-shrink:0}.transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.animate-spin{animation:spin 1s linear infinite}.resize{resize:both}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.items-start{align-items:flex-start}.items-end{align-items:flex-end}.items-center{align-items:center}.items-baseline{align-items:baseline}.justify-start{justify-content:flex-start}.justify-end{justify-content:flex-end}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-0{gap:0px}.gap-0\.5{gap:.125rem}.gap-1{gap:.25rem}.gap-1\.5{gap:.375rem}.gap-2{gap:.5rem}.gap-2\.5{gap:.625rem}.gap-3{gap:.75rem}.gap-4{gap:1rem}.gap-5{gap:1.25rem}.gap-x-2{-moz-column-gap:.5rem;column-gap:.5rem}.gap-x-3{-moz-column-gap:.75rem;column-gap:.75rem}.gap-y-3{row-gap:.75rem}.space-y-1>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.25rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.25rem * var(--tw-space-y-reverse))}.space-y-1\.5>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.375rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.375rem * var(--tw-space-y-reverse))}.space-y-2>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.5rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.5rem * var(--tw-space-y-reverse))}.space-y-3>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.75rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.75rem * var(--tw-space-y-reverse))}.space-y-4>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(1rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1rem * var(--tw-space-y-reverse))}.space-y-5>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(1.25rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1.25rem * var(--tw-space-y-reverse))}.space-y-6>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(1.5rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1.5rem * var(--tw-space-y-reverse))}.space-y-7>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(1.75rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1.75rem * var(--tw-space-y-reverse))}.divide-y>:not([hidden])~:not([hidden]){--tw-divide-y-reverse: 0;border-top-width:calc(1px * calc(1 - var(--tw-divide-y-reverse)));border-bottom-width:calc(1px * var(--tw-divide-y-reverse))}.self-start{align-self:flex-start}.overflow-hidden{overflow:hidden}.overflow-x-auto{overflow-x:auto}.overflow-y-auto{overflow-y:auto}.overflow-x-hidden{overflow-x:hidden}.truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.whitespace-nowrap{white-space:nowrap}.rounded{border-radius:.25rem}.rounded-2xl{border-radius:1rem}.rounded-full{border-radius:9999px}.rounded-lg{border-radius:.5rem}.rounded-md{border-radius:.375rem}.rounded-sm{border-radius:.125rem}.rounded-xl{border-radius:.75rem}.rounded-t{border-top-left-radius:.25rem;border-top-right-radius:.25rem}.border{border-width:1px}.border-2{border-width:2px}.border-t{border-top-width:1px}.p-1{padding:.25rem}.p-1\.5{padding:.375rem}.p-10{padding:2.5rem}.p-3{padding:.75rem}.p-4{padding:1rem}.p-5{padding:1.25rem}.p-6{padding:1.5rem}.p-8{padding:2rem}.px-1{padding-left:.25rem;padding-right:.25rem}.px-1\.5{padding-left:.375rem;padding-right:.375rem}.px-2{padding-left:.5rem;padding-right:.5rem}.px-3{padding-left:.75rem;padding-right:.75rem}.px-4{padding-left:1rem;padding-right:1rem}.px-5{padding-left:1.25rem;padding-right:1.25rem}.px-6{padding-left:1.5rem;padding-right:1.5rem}.py-0\.5{padding-top:.125rem;padding-bottom:.125rem}.py-1\.5{padding-top:.375rem;padding-bottom:.375rem}.py-12{padding-top:3rem;padding-bottom:3rem}.py-2{padding-top:.5rem;padding-bottom:.5rem}.py-2\.5{padding-top:.625rem;padding-bottom:.625rem}.py-24{padding-top:6rem;padding-bottom:6rem}.py-3{padding-top:.75rem;padding-bottom:.75rem}.py-3\.5{padding-top:.875rem;padding-bottom:.875rem}.py-4{padding-top:1rem;padding-bottom:1rem}.py-5{padding-top:1.25rem;padding-bottom:1.25rem}.py-6{padding-top:1.5rem;padding-bottom:1.5rem}.py-8{padding-top:2rem;padding-bottom:2rem}.pl-6{padding-left:1.5rem}.pr-4{padding-right:1rem}.pt-0\.5{padding-top:.125rem}.pt-1{padding-top:.25rem}.pt-2{padding-top:.5rem}.pt-3{padding-top:.75rem}.pt-4{padding-top:1rem}.text-left{text-align:left}.text-center{text-align:center}.text-right{text-align:right}.font-display{font-family:Fraunces,serif}.font-mono{font-family:Space Mono,monospace}.text-2xl{font-size:1.5rem;line-height:2rem}.text-\[10px\]{font-size:10px}.text-\[11px\]{font-size:11px}.text-\[15px\]{font-size:15px}.text-base{font-size:1rem;line-height:1.5rem}.text-lg{font-size:1.125rem;line-height:1.75rem}.text-sm{font-size:.875rem;line-height:1.25rem}.text-xl{font-size:1.25rem;line-height:1.75rem}.text-xs{font-size:.75rem;line-height:1rem}.font-bold{font-weight:700}.font-extrabold{font-weight:800}.font-medium{font-weight:500}.font-normal{font-weight:400}.font-semibold{font-weight:600}.uppercase{text-transform:uppercase}.capitalize{text-transform:capitalize}.leading-none{line-height:1}.leading-relaxed{line-height:1.625}.leading-tight{line-height:1.25}.tracking-wide{letter-spacing:.025em}.tracking-wider{letter-spacing:.05em}.tracking-widest{letter-spacing:.1em}.shadow{--tw-shadow: 0 1px 3px 0 rgb(0 0 0 / .1), 0 1px 2px -1px rgb(0 0 0 / .1);--tw-shadow-colored: 0 1px 3px 0 var(--tw-shadow-color), 0 1px 2px -1px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.outline{outline-style:solid}.ring{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.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)}.drop-shadow{--tw-drop-shadow: drop-shadow(0 1px 2px rgb(0 0 0 / .1)) drop-shadow(0 1px 1px rgb(0 0 0 / .06));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)}.transition{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-all{transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-colors{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.duration-700{transition-duration:.7s}.ease-in-out{transition-timing-function:cubic-bezier(.4,0,.2,1)}:root{--midnight: #071225;--navy: #071427;--navy-mid: #0F2248;--navy-rim: #152B56;--navy-high: #1A3464;--gold: #D4AF37;--gold-hi: #E5C64A;--gold-glow: rgba(212, 175, 55, .32);--gold-dim: rgba(212, 175, 55, .12);--gold-line: rgba(212, 175, 55, .22);--emerald: #27AE60;--emerald-hi: #2ECC71;--emerald-dim:rgba(46, 204, 113, .16);--orange: #E07820;--orange-hi: #FF8A3D;--orange-dim: rgba(255, 138, 61, .16);--orange-line:rgba(255, 138, 61, .34);--cream: #F3EEDF;--cream-60: rgba(243, 238, 223, .72);--cream-30: rgba(243, 238, 223, .46);--cream-12: rgba(243, 238, 223, .12);--cream-06: rgba(243, 238, 223, .06);--blue: #3B82FF;--blue-hi: #5B9DFF;--blue-dim: rgba(59, 130, 255, .18);--blue-glow: rgba(59, 130, 255, .4);--blue-line: rgba(59, 130, 255, .4);--blue-shell: #7BB5FF;--blue-shell-dim: rgba(123, 181, 255, .18);--soft-blue: #E6F0FF;--soft-blue-dim: rgba(230, 240, 255, .6);--border: rgba(71, 109, 189, .22);--alert: #E53935;--alert-hi: #FF6B57;--alert-dim: rgba(255, 107, 87, .16);--surface-container-lowest: var(--midnight);--surface: var(--navy);--surface-container-low: var(--navy);--surface-container: var(--navy-mid);--surface-container-high: var(--navy-rim);--surface-container-highest:var(--navy-high);--surface-bright: var(--navy-high);--on-surface: var(--cream);--on-surface-variant: var(--cream-60);--outline-variant: var(--border);--primary: var(--cream);--primary-container: var(--midnight);--secondary: var(--blue);--on-secondary: #06100D;--on-secondary-container: var(--emerald-dim);--tertiary: var(--alert-hi);--on-tertiary-container: var(--alert-dim);--amber-accent: var(--warning);--bg-base: var(--midnight);--bg-surface: var(--navy);--bg-elevated:var(--navy-rim);--bg-hover: var(--navy-rim);--text-1: var(--cream);--text-2: var(--cream-60);--text-3: var(--cream-30);--accent: var(--blue);--accent-lt: var(--blue-hi);--accent-glow:var(--blue-glow);--green: var(--emerald-hi);--warning: #F6C445;--warning-dim: rgba(246, 196, 69, .16);--warning-line: rgba(246, 196, 69, .28);--amber: var(--warning);--red: var(--alert-hi);--crimson: var(--alert);--border-sub: var(--border);--border-def: var(--border);--border-acc: var(--blue-line);--border-card: rgba(71, 109, 189, .28);--bar-track: rgba(71, 109, 189, .14);--brand-midnight: var(--midnight);--brand-navy: var(--navy);--brand-navy-mid: var(--navy-mid);--brand-navy-rim: var(--navy-rim);--brand-gold: var(--gold);--brand-gold-hi: var(--gold-hi);--brand-gold-glow: var(--gold-glow);--brand-gold-dim: var(--gold-dim);--brand-gold-line: var(--gold-line);--brand-emerald: var(--emerald);--brand-cream: var(--cream);--brand-cream-60: var(--cream-60);--brand-cream-30: var(--cream-30);--brand-cream-12: var(--cream-12);--brand-cream-06: var(--cream-06);--brand-border: var(--border);--opacity-surface: .06;--opacity-hover: .1;--opacity-tint: .16;--opacity-icon-bg: .16;--opacity-active: .18;--opacity-border: .22;--app-bg: #F3F6FA;--card-bg: #FFFFFF;--table-row-alt: #F8FAFC;--table-header-bg: #F1F5F9;--text-primary-light: #0D1A2C;--text-secondary-light: #475569;--text-muted-light: #94A3B8;--border-light: #E2E8F0;--border-input: #CBD5E1;--border-focus: var(--blue);--state-success-bg: #F0FDF4;--state-success-text: #16A34A;--state-success-border: #BBF7D0;--state-warning-bg: #FFF7ED;--state-warning-text: #EA580C;--state-warning-border: #FED7AA;--state-error-bg: #FEF2F2;--state-error-text: #DC2626;--state-error-border: #FECACA;--state-neutral-bg: #F8FAFC;--state-neutral-text: #64748B;--state-neutral-border: #E2E8F0}.kpi-card,.glass-card{box-shadow:inset 0 1px #7bb5ff24,0 4px 28px #040a16b3,0 0 0 1px #476dbd47}.kpi-card:hover,.glass-card:hover{box-shadow:inset 0 1px #7bb5ff38,0 12px 48px #040a16c7,0 0 0 1px #476dbd70}:root{--topbar-h: 52px;--bottom-nav-h: 60px;--mobile-bottom-reserved: calc(var(--bottom-nav-h) + env(safe-area-inset-bottom, 0px));--dn-gap: 1rem;--dn-card-pad-y: 16px;--dn-card-pad-x: 16px;--dn-row-y: 13px;--dn-th-y: 10px;--dn-nav-y: 9px;--dn-btn-pad: 9px 18px;--dn-btn-sm: 6px 14px;--dn-input-pad: 10px 14px}[data-density=compact]{--dn-gap: .5rem;--dn-card-pad-y: 10px;--dn-card-pad-x: 12px;--dn-row-y: 6px;--dn-th-y: 5px;--dn-nav-y: 5px;--dn-btn-pad: 5px 14px;--dn-btn-sm: 3px 10px;--dn-input-pad: 7px 12px}[data-density=spacious]{--dn-gap: 1.75rem;--dn-card-pad-y: 28px;--dn-card-pad-x: 30px;--dn-row-y: 18px;--dn-th-y: 14px;--dn-nav-y: 13px;--dn-btn-pad: 13px 22px;--dn-btn-sm: 9px 18px;--dn-input-pad: 14px 16px}[data-density=compact] .kpi-card,[data-density=compact] .glass-card,[data-density=spacious] .kpi-card,[data-density=spacious] .glass-card{padding:var(--dn-card-pad-y) var(--dn-card-pad-x)!important}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html,body,#root{min-height:100%;color:var(--on-surface);font-family:Hanken Grotesk,sans-serif;font-size:14px;-webkit-font-smoothing:antialiased}html,body{background:var(--midnight)}#root{background:var(--midnight);min-height:100dvh}.type-display-lg{font-family:Hanken Grotesk,sans-serif;font-style:normal;font-size:3.5rem;font-weight:800;line-height:1.05;letter-spacing:-.035em;color:var(--on-surface)}.type-display-sm{font-family:Hanken Grotesk,sans-serif;font-style:normal;font-size:2rem;font-weight:800;line-height:1.1;letter-spacing:-.03em;color:var(--on-surface)}.type-title-lg{font-family:Hanken Grotesk,sans-serif;font-size:1.375rem;font-weight:700;line-height:1.3;letter-spacing:-.02em;color:var(--on-surface)}.type-title-md{font-family:Hanken Grotesk,sans-serif;font-size:1.125rem;font-weight:600;line-height:1.35;letter-spacing:-.015em;color:var(--on-surface)}.type-body-sm{font-family:Inter,sans-serif;font-size:.75rem;font-weight:400;line-height:1.5;color:var(--on-surface-variant)}.type-label-sm{font-family:Inter,sans-serif;font-size:.6875rem;font-weight:500;line-height:1.45;letter-spacing:.04em;color:var(--on-surface-variant)}::-webkit-scrollbar{width:4px;height:4px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--outline-variant);border-radius:4px}::-webkit-scrollbar-thumb:hover{background:var(--border-acc)}.ghost-border{outline:1px solid var(--outline-variant);outline-offset:0}.ambient-shadow{box-shadow:0 8px 32px #3b82ff1a,0 2px 8px #040a1666}.ambient-shadow-float{box-shadow:0 16px 48px #3b82ff1f,0 4px 16px #040a1680}.glass-pane{backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);background:#0f2248d6}:root{--glass-bg: rgba(7, 18, 37, .9);--glass-bg-light: rgba(9, 22, 49, .82);--glass-blur: 20px;--glass-blur-strong: 28px;--glass-border: rgba(71, 109, 189, .16);--glass-border-blue: rgba(59, 130, 255, .26);--glass-inset: inset 0 1px 0 rgba(123, 181, 255, .1)}.glass-panel{background:var(--glass-bg-light);backdrop-filter:blur(var(--glass-blur)) saturate(1.4);-webkit-backdrop-filter:blur(var(--glass-blur)) saturate(1.4);border:1px solid var(--glass-border);box-shadow:0 8px 32px #040a165c,var(--glass-inset)}.glass-modal{background:var(--glass-bg);backdrop-filter:blur(var(--glass-blur-strong)) saturate(1.6);-webkit-backdrop-filter:blur(var(--glass-blur-strong)) saturate(1.6);border:1px solid var(--glass-border-blue);box-shadow:0 2px 4px #0006,0 24px 80px #0000008a,0 0 60px #2563eb12,var(--glass-inset)}.glass-drawer{background:var(--glass-bg);backdrop-filter:blur(24px) saturate(1.5);-webkit-backdrop-filter:blur(24px) saturate(1.5);border-right:1px solid var(--glass-border);box-shadow:4px 0 40px #040a167a}.glass-drawer aside{background:transparent!important}.sidebar-border-accent{border-right:1px solid rgba(59,130,255,.22)}.gradient-cta{background:linear-gradient(135deg,var(--blue) 0%,var(--midnight) 100%)}.glass-card{background:linear-gradient(145deg,var(--navy-mid) 0%,#0A1B3C 100%);border-radius:14px;border:1px solid rgba(71,109,189,.22)}.kpi-card{background:linear-gradient(145deg,var(--navy-mid) 0%,#0A1B3C 100%);border-radius:14px;transition:box-shadow .2s ease,background .2s ease,transform .2s ease;position:relative;overflow:hidden}.kpi-card:after{content:"";position:absolute;top:0;left:0;right:0;height:2px;background:var(--card-accent, var(--blue));opacity:1}.kpi-card:hover{background:linear-gradient(145deg,var(--navy-rim) 0%,#122650 100%);transform:translateY(-2px)}.font-display{font-family:Hanken Grotesk,sans-serif;font-style:normal;font-weight:800;letter-spacing:-.03em}.font-mono{font-family:Space Mono,monospace;letter-spacing:-.02em}.page-title{font-family:Hanken Grotesk,sans-serif;font-style:normal;font-weight:800;font-size:1.5rem;line-height:1.2;letter-spacing:-.03em;color:var(--on-surface)}.section-title{font-family:Hanken Grotesk,sans-serif;font-style:normal;font-weight:700;font-size:1rem;line-height:1.3;letter-spacing:-.02em;color:var(--on-surface)}.card-title{font-family:Hanken Grotesk,sans-serif;font-style:normal;font-weight:700;font-size:.875rem;line-height:1.35;letter-spacing:-.01em;color:var(--on-surface)}.input{width:100%;background:var(--surface-container);border:1px solid rgba(71,109,189,.3);border-radius:8px;padding:var(--dn-input-pad, 10px 14px);color:var(--on-surface);font-size:16px;font-family:Inter,sans-serif;font-weight:400;transition:border-color .15s,box-shadow .15s;outline:none}@media (min-width: 768px){.input{font-size:14px}}.input::-moz-placeholder{color:var(--text-3)}.input::placeholder{color:var(--text-3)}.input:focus{border-color:var(--blue);box-shadow:0 0 0 3px var(--blue-dim)}.input:disabled{opacity:.55;cursor:not-allowed;background:var(--surface-container-low)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:var(--dn-btn-pad, 9px 18px);border-radius:12px;font-size:13.5px;font-weight:600;font-family:Inter,sans-serif;cursor:pointer;border:none;transition:background .15s ease,box-shadow .15s ease,opacity .15s ease,transform .12s ease;white-space:nowrap;letter-spacing:.01em}.btn-primary{background:var(--blue-hi);color:#fff;border:none;border-radius:100px;box-shadow:0 0 20px #3b82ff61,0 1px #ffffff29 inset}.btn-primary:hover{background:#7bb5ff;box-shadow:0 0 36px #3b82ff9e,0 8px 28px #3b82ff59,0 1px #ffffff29 inset;transform:translateY(-1px)}.btn-primary:active{opacity:.92}.metric-value{font-family:Space Grotesk,Hanken Grotesk,sans-serif;font-weight:700;letter-spacing:-.04em;line-height:1;font-variant-numeric:tabular-nums;font-feature-settings:"tnum" 1,"kern" 1,"ss01" 1}.btn-ghost{background:transparent;color:var(--cream-60);border:1px solid rgba(96,165,250,.18);border-radius:100px}.btn-ghost:hover{background:var(--navy-rim);border-color:#60a5fa52;color:var(--cream)}.btn-danger{background:#dc262612;color:var(--red);border:1px solid rgba(220,38,38,.18)}.btn-danger:hover{background:#dc262624}.btn-success{background:var(--emerald-hi);color:#fff;border:none}.btn-success:hover{background:var(--emerald);box-shadow:0 8px 24px #0e725247}.btn-sm{padding:var(--dn-btn-sm, 6px 14px);font-size:12.5px}.btn-xs{padding:4px 11px;font-size:12px;border-radius:8px}.btn:disabled{opacity:.45;cursor:not-allowed;pointer-events:none}.btn:active:not(:disabled){transform:scale(.98)}.data-table{width:100%;border-collapse:separate;border-spacing:0}.data-table thead th{background:var(--surface-container-low);padding:var(--dn-th-y, 10px) 16px;text-align:left;font-size:11px;font-weight:600;font-family:Inter,sans-serif;text-transform:uppercase;letter-spacing:.07em;color:var(--text-3);white-space:nowrap}.data-table thead th:first-child{border-radius:8px 0 0}.data-table thead th:last-child{border-radius:0 8px 0 0}.data-table tbody tr{transition:background .1s ease}.data-table tbody tr:hover{background:var(--surface-container-highest)}.data-table tbody td{padding:var(--dn-row-y, 13px) 16px;font-size:13.5px;color:var(--on-surface-variant);vertical-align:middle}.data-table tbody tr+tr td{box-shadow:inset 0 1px 0 var(--outline-variant)}.badge{display:inline-flex;align-items:center;gap:4px;padding:3px 10px;border-radius:20px;font-size:12px;font-weight:600;font-family:Inter,sans-serif;white-space:nowrap}.badge-pagada{background:#2ecc7129;color:#2ecc71;border:1px solid rgba(46,204,113,.3)}.badge-vencida{background:#e5393529;color:#e53935;border:1px solid rgba(229,57,53,.3)}.badge-por-vencer{background:#f6c44529;color:#f6c445;border:1px solid rgba(246,196,69,.3)}.demo-banner{text-align:center;font-size:.75rem;padding:8px 16px;background:#e8a44614;border-bottom:1px solid rgba(232,164,70,.15);color:var(--amber-accent);transition:background .18s ease,border-color .18s ease,color .18s ease}body:has(.modal-overlay) .demo-banner{background:#0814258c;border-color:#08142500;color:#08142500;transition:none}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:200;background:#040e1fb3;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);display:flex;align-items:center;justify-content:center;padding:16px;animation:fadeIn .18s ease}.modal-box{background:var(--surface-bright);border-radius:16px;width:100%;max-width:480px;max-height:90vh;max-height:90dvh;overflow-y:auto;animation:scaleIn .22s cubic-bezier(.34,1.05,.64,1) both;box-shadow:0 16px 48px #d8e3fb0f}.modal-header{position:sticky;top:0;z-index:10;background:var(--surface-bright)}@media (max-width: 639px){.modal-overlay{align-items:flex-end;padding-top:env(safe-area-inset-top,0px);padding-left:0;padding-right:0;padding-bottom:var(--mobile-bottom-reserved)}.modal-box{width:100%;max-width:100%;border-radius:20px 20px 0 0;max-height:calc(100dvh - env(safe-area-inset-top,0px) - var(--mobile-bottom-reserved) - 12px);max-height:calc(100vh - env(safe-area-inset-top,0px) - var(--mobile-bottom-reserved) - 12px);overflow-y:auto;padding-bottom:20px;animation:sheetUp .32s cubic-bezier(.32,.72,0,1)}.modal-header{border-radius:20px 20px 0 0}.modal-overlay .glass-modal{max-height:calc(100dvh - env(safe-area-inset-top,0px) - var(--mobile-bottom-reserved) - 12px);max-height:calc(100vh - env(safe-area-inset-top,0px) - var(--mobile-bottom-reserved) - 12px);overflow-y:auto!important}}.nav-item{display:flex;align-items:center;gap:10px;padding:var(--dn-nav-y, 9px) 12px;border-radius:8px;font-size:13.5px;font-weight:500;color:var(--text-3);cursor:pointer;transition:background .13s ease,color .13s ease;text-decoration:none;position:relative}.nav-item:hover{background:var(--surface-container-high);color:var(--on-surface-variant)}.nav-item.active{background:#3b82ff2e;color:var(--blue-shell);font-weight:600;border:1px solid rgba(59,130,255,.22)}.nav-item.active:before{content:"";position:absolute;left:0;top:50%;transform:translateY(-50%);width:3px;height:18px;background:var(--blue-shell);border-radius:0 3px 3px 0;box-shadow:0 0 8px var(--blue-glow)}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes sheetUp{0%{transform:translateY(100%)}to{transform:translateY(0)}}@keyframes scaleIn{0%{opacity:0;transform:scale(.97) translateY(6px)}to{opacity:1;transform:scale(1) translateY(0)}}@keyframes spin{to{transform:rotate(360deg)}}@keyframes pulse-dot{0%,to{opacity:1;transform:scale(1)}50%{opacity:.5;transform:scale(.75)}}@keyframes slideInRight{0%{opacity:0;transform:translate(10px)}to{opacity:1;transform:translate(0)}}@keyframes notifDrop{0%{opacity:0;transform:translateY(-6px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes cardEnter{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes barGrow{0%{transform:scaleY(0);transform-origin:bottom}to{transform:scaleY(1);transform-origin:bottom}}@media (max-width: 639px){.notif-panel{position:fixed!important;top:calc(var(--topbar-h, 52px) + 8px)!important;left:12px!important;right:12px!important;width:auto!important;max-height:calc(100dvh - var(--topbar-h, 52px) - var(--mobile-bottom-reserved, 60px) - 24px)!important;border-radius:14px!important;box-shadow:0 24px 64px #070e1bb8,0 0 0 1px #476dbd2e!important}.notif-client-name,.notif-context{white-space:normal!important;overflow-wrap:anywhere;word-break:break-word;text-overflow:unset!important;overflow:visible!important}.notif-item-text span:first-child{white-space:normal!important;overflow:visible!important;text-overflow:unset!important;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}}.page-enter{animation:fadeIn .22s ease both}.modal-enter{animation:scaleIn .22s cubic-bezier(.34,1.05,.64,1) both}.dot-pulse{animation:pulse-dot 2s ease-in-out infinite}.slide-in-right{animation:slideInRight .2s ease both}.card-enter{animation:cardEnter .32s cubic-bezier(.25,1,.5,1) both}.card-enter-stagger>*:nth-child(1){animation:cardEnter .32s .02s cubic-bezier(.25,1,.5,1) both}.card-enter-stagger>*:nth-child(2){animation:cardEnter .32s .07s cubic-bezier(.25,1,.5,1) both}.card-enter-stagger>*:nth-child(3){animation:cardEnter .32s .12s cubic-bezier(.25,1,.5,1) both}.card-enter-stagger>*:nth-child(4){animation:cardEnter .32s .17s cubic-bezier(.25,1,.5,1) both}.card-enter-stagger>*:nth-child(5){animation:cardEnter .32s .22s cubic-bezier(.25,1,.5,1) both}.card-enter-stagger>*:nth-child(n+6){animation:cardEnter .32s .27s cubic-bezier(.25,1,.5,1) both}.bar-enter{animation:barGrow .55s cubic-bezier(.25,1,.5,1) both}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}[data-motion=reduced] *,[data-motion=reduced] *:before,[data-motion=reduced] *:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}.glass-card,.kpi-card{transition:box-shadow .2s ease,background .2s ease,transform .2s ease}.glass-card:hover{box-shadow:inset 0 1px #7bb5ff33,0 12px 48px #040a16c7,0 0 0 1px #476dbd6b;background:linear-gradient(145deg,var(--navy-rim) 0%,#122650 100%);transform:translateY(-2px)}.data-table tbody tr{transition:background .12s ease}.nav-item{transition:background .13s ease,color .13s ease}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:64px 24px;color:var(--text-3);text-align:center}.aging-bar{height:6px;border-radius:3px;background:var(--bar-color, var(--amber-accent));transition:width .6s cubic-bezier(.4,0,.2,1)}@keyframes fluvo-glow-pulse{0%,to{box-shadow:0 0 0 0 var(--blue-glow)}50%{box-shadow:0 0 0 5px #2563eb00}}.onboarding-highlight{border-color:var(--blue-line)!important;animation:fluvo-glow-pulse 2.4s ease-in-out infinite;position:relative}.microcopy{display:flex;align-items:flex-start;gap:8px;padding:10px 12px;border-radius:8px;background:var(--blue-dim);border:1px solid var(--blue-line);font-size:12px;line-height:1.5;color:var(--cream-60);animation:fadeIn .3s ease both}.microcopy svg{flex-shrink:0;margin-top:1px;opacity:.7}.dash-main{display:flex;flex-direction:column;gap:var(--dn-gap, 1rem)}@media (max-width: 1279px){.dash-header{order:1}.dash-protagonist{order:2}.dash-quick-action{order:3}.dash-kpis{order:4}.dash-priorities{order:5}.dash-charts{order:6}.dash-bottom{order:7}}@media (min-width: 1280px){.dash-main{display:grid;grid-template-columns:3fr 2fr;gap:1rem}.dash-header,.dash-kpis,.dash-protagonist,.dash-charts,.dash-bottom{grid-column:1 / -1}}.priority-row{transition:background .12s ease,padding-left .12s ease}.priority-row:hover{padding-left:20px!important}.section-label{font-size:10px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--text-3);font-family:Inter,sans-serif}.badge-critica{background:#e539352e;color:#e53935;border:1px solid rgba(229,57,53,.38);font-weight:700;letter-spacing:.05em;text-transform:uppercase;font-size:10px}.badge-en-riesgo{background:#ff8a3d2e;color:#ff8a3d;border:1px solid rgba(255,138,61,.38);font-weight:700;letter-spacing:.05em;text-transform:uppercase;font-size:10px}.badge-por-vencer{background:#f6c44526;color:#f6c445;border:1px solid rgba(246,196,69,.32);font-weight:700;letter-spacing:.04em;text-transform:uppercase;font-size:10px}.badge-vencida-dias{background:#e539352e;color:#e53935;border:1px solid rgba(229,57,53,.34);font-size:11px;font-weight:700;padding:3px 10px;border-radius:100px;letter-spacing:.03em;text-transform:uppercase}.mobile-bottom-nav{position:fixed;bottom:0;left:0;right:0;height:calc(var(--bottom-nav-h) + env(safe-area-inset-bottom,0px));min-height:var(--bottom-nav-h);background:#071225f0;border-top:1px solid rgba(71,109,189,.2);display:flex;align-items:flex-start;justify-content:space-around;padding-top:8px;padding-bottom:env(safe-area-inset-bottom,0px);z-index:60;-webkit-backdrop-filter:blur(24px) saturate(1.5);backdrop-filter:blur(24px) saturate(1.5)}.mobile-bottom-nav-item{display:flex;flex-direction:column;align-items:center;justify-content:flex-start;gap:3px;flex:1;height:44px;cursor:pointer;background:none;border:none;padding:4px 0 0;color:var(--text-3);transition:color .15s;text-decoration:none;position:relative}.mobile-bottom-nav-item.active{color:var(--blue-shell)}.mobile-bottom-nav-item.active:before{content:"";position:absolute;top:2px;left:50%;transform:translate(-50%);width:60px;height:42px;border-radius:12px;background:#3b82ff2e;border:1px solid rgba(59,130,255,.22);pointer-events:none}.mobile-bottom-nav-item.active:after{content:"";position:absolute;bottom:4px;width:4px;height:4px;border-radius:50%;background:var(--blue-shell);box-shadow:0 0 8px #3b82ffcc}.mobile-bottom-nav-label{font-size:9.5px;font-weight:600;font-family:Inter,sans-serif;letter-spacing:.01em;line-height:1}@media (max-width: 1023px){.app-scroll-inner{padding-bottom:calc(var(--mobile-bottom-reserved) + 24px)!important}}.hover\:text-white:hover{--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity, 1))}@media (min-width: 640px){.sm\:ml-auto{margin-left:auto}.sm\:block{display:block}.sm\:inline{display:inline}.sm\:flex{display:flex}.sm\:grid{display:grid}.sm\:hidden{display:none}.sm\:flex-none{flex:none}.sm\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.sm\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.sm\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.sm\:flex-row{flex-direction:row}.sm\:items-start{align-items:flex-start}.sm\:items-center{align-items:center}.sm\:justify-start{justify-content:flex-start}.sm\:justify-between{justify-content:space-between}.sm\:p-5{padding:1.25rem}.sm\:p-6{padding:1.5rem}.sm\:px-10{padding-left:2.5rem;padding-right:2.5rem}}@media (min-width: 768px){.md\:block{display:block}.md\:hidden{display:none}.md\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (min-width: 1024px){.lg\:col-span-1{grid-column:span 1 / span 1}.lg\:flex{display:flex}.lg\:table-cell{display:table-cell}.lg\:hidden{display:none}.lg\:w-\[500px\]{width:500px}.lg\:flex-none{flex:none}.lg\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.lg\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.lg\:px-\[60px\]{padding-left:60px;padding-right:60px}}@media (min-width: 1280px){.xl\:col-span-2{grid-column:span 2 / span 2}.xl\:col-span-3{grid-column:span 3 / span 3}.xl\:inline{display:inline}.xl\:table-cell{display:table-cell}.xl\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.xl\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.xl\:grid-cols-5{grid-template-columns:repeat(5,minmax(0,1fr))}}
