.login-shell{position:relative;min-height:100vh;min-height:100dvh;display:flex;align-items:center;justify-content:center;padding:24px;font-family:var(--font);overflow:hidden}.login-bg{position:absolute;top:0;right:0;bottom:0;left:0;background:#2a3450 url(/melhor-foto-pontual.jpg) center center / cover no-repeat;transform:scale(1.05);filter:brightness(.95) saturate(1.05);will-change:transform}.login-overlay{position:absolute;top:0;right:0;bottom:0;left:0;background:#00000080}.login-card{position:relative;z-index:2;width:100%;max-width:460px;padding:34px 38px;border-radius:20px;background:#ffffff24;border:1px solid rgba(255,255,255,.28);-webkit-backdrop-filter:blur(16px) saturate(140%);backdrop-filter:blur(16px) saturate(140%);box-shadow:0 24px 60px -20px #0a0e288c;color:#fff}.login-logo-top{margin-bottom:12px;display:flex;justify-content:center}.login-title{font-family:var(--font);font-size:1.32rem;font-weight:700;color:#fff;margin:0 0 5px;letter-spacing:-.02em;text-align:center}.login-sub{font-size:.84rem;color:#ffffffd9;margin:0 0 24px;line-height:1.45;text-align:center}.login-fg{margin-bottom:17px}.login-input{width:100%;height:44px;padding:0 14px;border-radius:10px;border:1px solid rgba(255,255,255,.3);background:#ffffff1f;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);font-size:.95rem;color:#fff;outline:none;font-family:var(--font);transition:border-color .18s var(--ease),box-shadow .18s var(--ease),background .18s var(--ease)}.login-input::-moz-placeholder{color:#fff9}.login-input::placeholder{color:#fff9}.login-input:hover{background:#ffffff2e;border-color:#ffffff73}.login-input:focus{background:#ffffff38;border-color:#ffffffb3;box-shadow:0 0 0 3px #ffffff26}.login-input:-webkit-autofill,.login-input:-webkit-autofill:hover,.login-input:-webkit-autofill:focus{-webkit-text-fill-color:#fff;caret-color:#fff;-webkit-box-shadow:0 0 0 1000px rgba(60,74,110,.55) inset;-webkit-transition:background-color 9999s ease-in-out 0s;transition:background-color 9999s ease-in-out 0s}.login-senha-wrap{position:relative}.login-senha-wrap .login-input{padding-right:44px}.login-eye{position:absolute;right:10px;top:50%;transform:translateY(-50%);background:none;border:none;cursor:pointer;padding:4px;color:#ffffffb3;line-height:0;display:inline-flex}.login-eye:hover{color:#fff}.login-row{display:flex;align-items:center;justify-content:space-between;margin:8px 0 22px;flex-wrap:wrap;gap:12px}.login-check{display:inline-flex;align-items:center;gap:9px;font-size:.85rem;color:#ffffffe6;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none;position:relative}.login-check input{position:absolute;opacity:0;width:0;height:0;pointer-events:none}.login-check-box{width:19px;height:19px;border-radius:6px;background:#ffffff24;border:1.5px solid rgba(255,255,255,.5);color:transparent;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;transition:background .15s,border-color .15s,box-shadow .15s}.login-check input:checked~.login-check-box{background:#fff;color:#18216e;border-color:#fff}.login-check input:focus-visible~.login-check-box{box-shadow:0 0 0 3px #ffffff4d}.login-link{font-size:.85rem;font-weight:600;color:#fff;text-decoration:none}.login-link:hover{color:#fffc;text-decoration:underline}.login-erro{color:#b91c1c;background:#fee2e2d1;border:1px solid #fca5a5;border-radius:10px;padding:10px 13px;font-size:.85rem;margin:0 0 16px}.login-btn{width:100%;height:46px;margin-top:10px;color:#fff;border:none;border-radius:10px;font-size:1rem;font-weight:700;letter-spacing:.01em;cursor:pointer;background:#18216e;box-shadow:0 10px 24px -12px #18216e99;transition:background .18s var(--ease),transform .06s,box-shadow .18s var(--ease)}.login-btn:hover{background:#141b57;box-shadow:0 14px 30px -12px #18216eb3}.login-btn:active{transform:translateY(1px)}.login-btn:disabled{cursor:not-allowed;opacity:.65}.login-footer{margin-top:24px;display:flex;flex-direction:column;align-items:center;gap:6px}.login-foot-link{color:#ffffffb3;font-size:.8rem;font-weight:500;text-decoration:none}.login-foot-link:hover{color:#fff;text-decoration:underline}.login-copy{margin-top:10px;font-size:.76rem;color:#ffffffb3;text-align:center}.login-copy strong{color:#fff;font-weight:700}.fade-in{animation:login-fade-in .35s ease-out}@keyframes login-fade-in{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}@media (max-width: 480px){.login-shell{padding:16px}.login-card{padding:22px;border-radius:20px}.login-title{font-size:1.18rem}}*,: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:Montserrat,system-ui,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:JetBrains 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}:root{--background: #ffffff;--foreground: #222221;--card: #ffffff;--card-foreground: #222221;--popover: #ffffff;--popover-foreground: #222221;--primary: #18216e;--primary-foreground: #ffffff;--secondary: #eef1ff;--secondary-foreground: #18216e;--muted: #f0f1f3;--muted-foreground: #5f6670;--accent: #eef1ff;--accent-foreground: #18216e;--destructive: #bf3450;--destructive-foreground: #ffffff;--border: #e4e6ea;--input: #cbd4de;--ring: #18216e;--radius: .75rem;--chart-1: #18216e;--chart-2: #3f52b6;--chart-3: #629725;--chart-4: #e08600;--chart-5: #9c7c4c;--sidebar: #10173f;--sidebar-foreground: #ffffff;--sidebar-accent: #ffd815;--sidebar-border: rgba(255, 255, 255, .1);--navy: #18216e;--navy-2: #232c7a;--yellow: #ffd815;--green: #629725;--red: #bf3450;--ink: #222221;--line: #e4e6ea;--line-strong: #c9d2dc;--bg-subtle: #f7f7f8;--card-bg: #ffffff;--text-muted: #5f6670;--text-subtle: #75828b;--success: #2f6b4f;--success-bg: #eef4e2;--success-border: rgba(47, 107, 79, .26);--warning: #8a5a10;--warning-bg: #fff8cc;--warning-border: rgba(138, 90, 16, .22);--danger: #bf3450;--danger-bg: #fef2f2;--danger-border: rgba(191, 52, 80, .2);--info: #18216e;--info-bg: #eef1ff;--info-border: rgba(24, 33, 110, .2);--r-xs: 6px;--r-sm: 8px;--r-md: 10px;--r-lg: 12px;--r-xl: 18px;--r-full: 9999px;--sh-xs: 0 1px 2px rgba(16, 24, 40, .05);--sh-sm: 0 1px 3px rgba(16, 24, 40, .06), 0 1px 2px rgba(16, 24, 40, .04);--sh-md: 0 4px 12px -4px rgba(16, 24, 40, .08), 0 2px 6px -2px rgba(16, 24, 40, .06);--sh-lg: 0 12px 24px -8px rgba(16, 24, 40, .1), 0 4px 8px -4px rgba(16, 24, 40, .06);--font: "Montserrat", "Inter", system-ui, -apple-system, "Segoe UI", Roboto, Arial, sans-serif;--font-mono: "Fira Code", "Cascadia Code", ui-monospace, Consolas, monospace;--ease: cubic-bezier(.4, 0, .2, 1);--t-fast: .15s;--t: .2s;--t-slow: .3s}*{border-color:var(--border)}body{background-color:var(--background);font-family:Montserrat,system-ui,sans-serif;color:var(--foreground);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-feature-settings:"rlig" 1,"calt" 1}h1,h2,h3,h4,h5,h6{font-weight:600;letter-spacing:-.025em}.relative{position:relative}.mx-auto{margin-left:auto;margin-right:auto}.mt-4{margin-top:1rem}.block{display:block}.flex{display:flex}.inline-flex{display:inline-flex}.table{display:table}.grid{display:grid}.hidden{display:none}.h-10{height:2.5rem}.h-11{height:2.75rem}.h-12{height:3rem}.h-9{height:2.25rem}.min-h-screen{min-height:100vh}.w-10{width:2.5rem}.w-full{width:100%}.min-w-0{min-width:0px}.max-w-\[1400px\]{max-width:1400px}.caption-bottom{caption-side:bottom}.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))}.flex-col{flex-direction:column}.items-center{align-items:center}.justify-center{justify-content:center}.gap-2{gap:.5rem}.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))}.overflow-auto{overflow:auto}.truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.whitespace-nowrap{white-space:nowrap}.rounded-full{border-radius:9999px}.rounded-md{border-radius:calc(var(--radius) - 2px)}.rounded-xl{border-radius:.75rem}.border{border-width:1px}.border-b{border-bottom-width:1px}.border-t{border-top-width:1px}.border-input{border-color:var(--input)}.border-transparent{border-color:transparent}.bg-background{background-color:var(--background)}.bg-blue-100{--tw-bg-opacity: 1;background-color:rgb(219 234 254 / var(--tw-bg-opacity, 1))}.bg-card{background-color:var(--card)}.bg-destructive{background-color:var(--destructive)}.bg-green-100{--tw-bg-opacity: 1;background-color:rgb(220 252 231 / var(--tw-bg-opacity, 1))}.bg-primary{background-color:var(--primary)}.bg-secondary{background-color:var(--secondary)}.bg-yellow-100{--tw-bg-opacity: 1;background-color:rgb(254 249 195 / var(--tw-bg-opacity, 1))}.p-4{padding:1rem}.p-6{padding:1.5rem}.px-2\.5{padding-left:.625rem;padding-right:.625rem}.px-3{padding-left:.75rem;padding-right:.75rem}.px-4{padding-left:1rem;padding-right:1rem}.px-8{padding-left:2rem;padding-right:2rem}.py-0\.5{padding-top:.125rem;padding-bottom:.125rem}.py-2{padding-top:.5rem;padding-bottom:.5rem}.pt-0{padding-top:0}.text-left{text-align:left}.align-middle{vertical-align:middle}.text-lg{font-size:1.125rem;line-height:1.75rem}.text-sm{font-size:.875rem;line-height:1.25rem}.text-xs{font-size:.75rem;line-height:1rem}.font-medium{font-weight:500}.font-semibold{font-weight:600}.uppercase{text-transform:uppercase}.leading-none{line-height:1}.tracking-tight{letter-spacing:-.025em}.text-blue-800{--tw-text-opacity: 1;color:rgb(30 64 175 / var(--tw-text-opacity, 1))}.text-card-foreground{color:var(--card-foreground)}.text-destructive-foreground{color:var(--destructive-foreground)}.text-foreground{color:var(--foreground)}.text-green-800{--tw-text-opacity: 1;color:rgb(22 101 52 / var(--tw-text-opacity, 1))}.text-muted-foreground{color:var(--muted-foreground)}.text-primary{color:var(--primary)}.text-primary-foreground{color:var(--primary-foreground)}.text-secondary-foreground{color:var(--secondary-foreground)}.text-yellow-800{--tw-text-opacity: 1;color:rgb(133 77 14 / var(--tw-text-opacity, 1))}.underline-offset-4{text-underline-offset:4px}.shadow-sm{--tw-shadow: 0 1px 2px 0 rgb(0 0 0 / .05);--tw-shadow-colored: 0 1px 2px 0 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-offset-background{--tw-ring-offset-color: var(--background)}.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-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}@keyframes enter{0%{opacity:var(--tw-enter-opacity, 1);transform:translate3d(var(--tw-enter-translate-x, 0),var(--tw-enter-translate-y, 0),0) scale3d(var(--tw-enter-scale, 1),var(--tw-enter-scale, 1),var(--tw-enter-scale, 1)) rotate(var(--tw-enter-rotate, 0))}}@keyframes exit{to{opacity:var(--tw-exit-opacity, 1);transform:translate3d(var(--tw-exit-translate-x, 0),var(--tw-exit-translate-y, 0),0) scale3d(var(--tw-exit-scale, 1),var(--tw-exit-scale, 1),var(--tw-exit-scale, 1)) rotate(var(--tw-exit-rotate, 0))}}.fade-in{--tw-enter-opacity: 0}html{-webkit-text-size-adjust:100%}html,body{max-width:100vw;overflow-x:hidden}#root{max-width:100vw;min-height:100vh;overflow-x:hidden}::-moz-selection{background:#18216e29;color:var(--ink)}::selection{background:#18216e29;color:var(--ink)}.dark ::-moz-selection{background:#4d8bf047;color:#fff}.dark ::selection{background:#4d8bf047;color:#fff}*{scrollbar-width:thin;scrollbar-color:var(--line-strong) transparent}.dark *{scrollbar-color:var(--border) transparent}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--line-strong);background-clip:content-box;border:2px solid transparent;border-radius:999px}::-webkit-scrollbar-thumb:hover{background:var(--text-subtle);background-clip:content-box}:focus-visible{outline:2px solid rgba(24,33,110,.45);outline-offset:2px;box-shadow:0 0 0 3px #18216e29,0 0 14px -4px #18216e47}.dark :focus-visible{outline-color:#4d8bf0a6}@media (prefers-reduced-motion: reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important}}.page-header,.cx-page-header{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;flex-wrap:wrap;margin-bottom:22px}.page-title,.cx-page-title{font-family:var(--font);font-weight:800;font-size:1.4rem;color:var(--ink);letter-spacing:-.02em;line-height:1.2}.page-subtitle,.cx-page-subtitle{font-size:.85rem;color:var(--text-muted);margin-top:4px}.filter-bar{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-bottom:14px}.filter-bar>.cx-input{max-width:380px}.chart-grid{display:grid;gap:16px}.chart-grid-2{grid-template-columns:repeat(2,1fr)}.chart-grid-3{grid-template-columns:repeat(3,1fr)}.cx-grid-2,.grid-2{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.cx-form-row{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.cx-card{background:var(--card-bg);border:1px solid var(--line);border-radius:var(--r-lg);box-shadow:var(--sh-sm);overflow:hidden;transition:box-shadow var(--t) var(--ease),transform var(--t) var(--ease)}.cx-card-header{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 18px;border-bottom:1px solid var(--line)}.cx-card-title{font-weight:700;font-size:.92rem;color:var(--ink)}.cx-card-body{padding:16px 18px}.kpi-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:14px;margin-bottom:20px}.kpi-card{position:relative;overflow:hidden;background:var(--card-bg);border:1px solid var(--line);border-radius:var(--r-lg);box-shadow:var(--sh-sm);padding:18px;transition:transform var(--t) var(--ease),box-shadow var(--t) var(--ease)}.kpi-card:before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:linear-gradient(180deg,var(--navy) 0%,var(--navy-2) 55%,var(--yellow) 100%)}.kpi-card:hover{transform:translateY(-2px);box-shadow:var(--sh-md)}.kpi-icon{width:36px;height:36px;display:grid;place-items:center;border-radius:9px;margin-bottom:12px;background:var(--secondary);color:var(--navy)}.kpi-icon.blue{background:var(--secondary);color:var(--navy)}.kpi-icon.green{background:var(--success-bg);color:var(--success)}.kpi-icon.yellow{background:var(--warning-bg);color:var(--warning)}.kpi-icon.red{background:var(--danger-bg);color:var(--danger)}.kpi-label{font-size:.72rem;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--text-muted);margin-bottom:4px}.kpi-value{font-size:1.5rem;font-weight:800;letter-spacing:-.01em;color:var(--ink);font-variant-numeric:tabular-nums}.kpi-trend{display:inline-flex;align-items:center;gap:4px;font-size:.76rem;font-weight:700;margin-top:6px}.kpi-trend.up{color:var(--success)}.kpi-trend.down{color:var(--danger)}.skeleton{border-radius:8px;background:linear-gradient(90deg,var(--line) 25%,var(--muted) 50%,var(--line) 75%);background-size:200% 100%;animation:skeleton-wave 1.4s ease-in-out infinite}@keyframes skeleton-wave{0%{background-position:200% 0}to{background-position:-200% 0}}.cx-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:9px 16px;border-radius:var(--r-sm);font-weight:700;font-size:.85rem;border:1px solid transparent;cursor:pointer;white-space:nowrap;transition:background var(--t-fast) var(--ease),border-color var(--t-fast) var(--ease),color var(--t-fast) var(--ease),transform var(--t-fast) var(--ease),filter var(--t-fast) var(--ease)}.cx-btn:active{transform:scale(.98)}.cx-btn:disabled{opacity:.55;cursor:not-allowed}.cx-btn-primary{background:linear-gradient(180deg,var(--navy-2) 0%,var(--navy) 100%);color:#fff;border-color:#ffffff14;box-shadow:0 6px 16px -8px #18216e8c}.cx-btn-primary:hover:not(:disabled){filter:brightness(1.08)}.cx-btn-secondary{background:var(--card-bg);color:var(--ink);border-color:var(--line-strong)}.cx-btn-secondary:hover:not(:disabled){background:var(--bg-subtle);border-color:var(--navy);color:var(--navy)}.cx-btn-outline{background:transparent;color:var(--navy);border-color:var(--navy)}.cx-btn-outline:hover:not(:disabled){background:var(--secondary)}.cx-btn-ghost{background:transparent;color:var(--text-muted)}.cx-btn-ghost:hover:not(:disabled){background:var(--secondary);color:var(--navy)}.cx-btn-sm{padding:6px 11px;font-size:.78rem}.cx-table-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch}.cx-table-wrap::-webkit-scrollbar{height:6px}.cx-table-wrap::-webkit-scrollbar-thumb{background:var(--line-strong);border-radius:999px}.cx-table,.cx-table-sm{width:100%;border-collapse:separate;border-spacing:0;font-size:.85rem}.cx-table thead th,.cx-table-sm thead th{background:var(--bg-subtle);color:var(--navy);text-transform:uppercase;font-size:11px;font-weight:700;letter-spacing:.05em;text-align:left;padding:11px 14px;border-bottom:1px solid var(--line-strong);position:sticky;top:0;z-index:1}.cx-table tbody td,.cx-table-sm tbody td{padding:10px 14px;border-bottom:1px solid var(--line);color:var(--ink);height:40px}.cx-table-sm thead th,.cx-table-sm tbody td{padding:7px 10px;font-size:.8rem}.cx-table tbody tr,.cx-table-sm tbody tr{transition:background var(--t-fast) var(--ease)}.cx-table tbody tr:hover,.cx-table-sm tbody tr:hover{background:#18216e0d}.badge{display:inline-flex;align-items:center;gap:5px;padding:3px 9px;border-radius:var(--r-full);background:var(--muted);color:var(--text-muted);border:1px solid var(--line);font-size:.7rem;font-weight:700;letter-spacing:.01em}.badge-success{background:var(--success-bg);color:var(--success);border-color:var(--success-border)}.badge-danger{background:var(--danger-bg);color:var(--danger);border-color:var(--danger-border)}.badge-warning{background:var(--warning-bg);color:var(--warning);border-color:var(--warning-border)}.badge-info{background:var(--info-bg);color:var(--info);border-color:var(--info-border)}.cx-alert{display:flex;align-items:flex-start;gap:10px;padding:12px 15px;border-radius:var(--r-md);border:1px solid var(--line);background:var(--bg-subtle);color:var(--ink);font-size:.85rem;font-weight:500;margin-bottom:12px}.cx-alert-danger{background:var(--danger-bg);border-color:var(--danger-border);color:var(--danger)}.cx-alert-success{background:var(--success-bg);border-color:var(--success-border);color:var(--success)}.cx-alert-warning{background:var(--warning-bg);border-color:var(--warning-border);color:var(--warning)}.cx-alert-info{background:var(--info-bg);border-color:var(--info-border);color:var(--info)}.badge-neutral{background:var(--muted);color:var(--text-muted);border-color:var(--line)}.cx-badge{display:inline-flex;align-items:center;padding:3px 10px;border-radius:var(--r-full);font-size:.72rem;font-weight:700;border:1px solid transparent}.cx-badge-blue{background:var(--secondary);color:var(--navy)}.cx-badge-gray{background:var(--muted);color:var(--text-muted)}.cx-badge-green{background:var(--success-bg);color:var(--success)}.cx-badge-red{background:var(--danger-bg);color:var(--danger)}.cx-badge-yellow{background:var(--warning-bg);color:var(--warning)}.cx-input-group{display:flex;flex-direction:column;gap:6px}.cx-label{font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.03em;color:var(--text-muted)}.cx-input,.cx-select{width:100%;font-family:var(--font);color:var(--ink);background:var(--card-bg);border:1px solid var(--input);border-radius:var(--r-sm);padding:9px 12px;font-size:.9rem;line-height:1.4;min-height:40px;transition:border-color var(--t-fast) var(--ease),box-shadow var(--t-fast) var(--ease)}.cx-input::-moz-placeholder{color:var(--text-subtle)}.cx-input::placeholder{color:var(--text-subtle)}.cx-input:hover,.cx-select:hover{border-color:var(--line-strong)}.cx-input:focus,.cx-select:focus{border-color:var(--navy)!important;box-shadow:0 0 0 3px #18216e38!important;outline:none}.cx-select{cursor:pointer}.cx-empty,.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:40px 20px;color:var(--text-muted);gap:8px}.cx-empty-icon,.empty-state-icon{font-size:2rem;opacity:.6}.empty-state-title{font-weight:700;color:var(--ink);font-size:.95rem}.empty-state-text{font-size:.85rem;color:var(--text-muted)}.cx-loading{display:flex;align-items:center;justify-content:center;padding:40px}.cx-spinner{width:28px;height:28px;border-radius:50%;border:3px solid var(--line);border-top-color:var(--navy);animation:cx-spin .7s linear infinite}@keyframes cx-spin{to{transform:rotate(360deg)}}.tabs{display:flex;gap:4px;border-bottom:1px solid var(--line);margin-bottom:16px;overflow-x:auto}.tab{padding:10px 16px;font-size:.85rem;font-weight:600;color:var(--text-muted);background:transparent;border:none;border-bottom:2px solid transparent;cursor:pointer;white-space:nowrap;transition:color var(--t-fast) var(--ease),border-color var(--t-fast) var(--ease)}.tab:hover{color:var(--navy)}.tab.active{color:var(--navy);border-bottom-color:var(--navy);font-weight:700}.nav-badge{display:inline-flex;align-items:center;justify-content:center;min-width:18px;height:18px;padding:0 5px;border-radius:9999px;background:var(--danger);color:#fff;font-size:10px;font-weight:800;line-height:1}.fw-600{font-weight:600}.recharts-text{fill:var(--text-muted)!important}.recharts-cartesian-axis-line,.recharts-cartesian-axis-tick-line,.recharts-cartesian-grid line{stroke:var(--line)!important}.recharts-legend-item-text{color:var(--ink)!important}@media (max-width: 900px){.chart-grid-2,.chart-grid-3,.cx-grid-2,.grid-2,.grid-3{grid-template-columns:1fr}.kpi-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width: 768px){.page-header,.cx-page-header,.filter-bar{flex-direction:column;align-items:stretch}.filter-bar>.cx-input{max-width:none}.cx-card-header{flex-direction:column;align-items:stretch}}@media (max-width: 640px){.kpi-grid{grid-template-columns:repeat(2,1fr);gap:10px}.cx-card-body{padding:14px}.pg-header{flex-wrap:wrap;gap:8px;height:auto;padding:10px 14px}.pg-header-actions{width:100%;margin-left:0;justify-content:flex-end}}@media (max-width: 480px){.kpi-grid{grid-template-columns:1fr}.page-title,.cx-page-title{font-size:1.2rem}.pg-header{padding:8px 10px}}@media (max-width: 640px){input,select,textarea{font-size:16px!important}}.pg-header{position:sticky;top:0;z-index:30;display:flex;align-items:center;gap:16px;min-height:64px;padding:12px 24px;background:var(--card-bg);border-bottom:1px solid rgba(24,33,110,.14);box-shadow:0 1px #18216e0a,0 8px 24px -16px #18216e2e}.pg-logo{display:flex;align-items:center;gap:10px}.pg-logo img{height:30px;width:auto}.pg-logo-text{display:flex;flex-direction:column;line-height:1.15}.pg-logo-title{font-weight:800;font-size:.95rem;color:var(--navy);letter-spacing:-.01em}.pg-logo-sub{font-size:.7rem;color:var(--text-muted)}.pg-header-actions{margin-left:auto;display:flex;align-items:center;gap:14px}.pg-header-btn{position:relative;display:inline-grid;place-items:center;width:36px;height:36px;border-radius:var(--r-sm);border:none;background:transparent;color:var(--navy);cursor:pointer;transition:background var(--t-fast) var(--ease)}.pg-header-btn:hover{background:var(--secondary)}.pg-header-badge{position:absolute;top:2px;right:2px}.pg-user-info{text-align:right;line-height:1.2;display:none}.pg-user-name{font-size:.82rem;font-weight:700;color:var(--ink)}.pg-user-role{font-size:.72rem;color:var(--text-muted)}@media (min-width: 640px){.pg-user-info{display:block}}.nav-trigger{display:inline-grid;place-items:center;width:38px;height:38px;border-radius:var(--r-sm);border:1px solid var(--line-strong);background:var(--card-bg);color:var(--navy);box-shadow:var(--sh-xs);cursor:pointer;transition:background var(--t-fast) var(--ease),border-color var(--t-fast) var(--ease)}.nav-trigger:hover{background:var(--bg-subtle);border-color:var(--navy)}.nav-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:50;background:#17202d6b;backdrop-filter:blur(2px);-webkit-backdrop-filter:blur(2px);display:flex;justify-content:flex-end}.nav-drawer{width:min(360px,88vw);height:100%;background:var(--card-bg);border-left:1px solid var(--line);box-shadow:-20px 0 50px #18216e1f;display:flex;flex-direction:column;overflow:hidden}.nav-drawer-head{display:flex;align-items:center;justify-content:space-between;padding:16px 18px;border-bottom:1px solid var(--line)}.nav-brand{font-weight:800;color:var(--navy);letter-spacing:-.01em;font-size:1.05rem}.nav-close-btn{display:inline-grid;place-items:center;width:32px;height:32px;border-radius:var(--r-sm);border:none;background:transparent;color:var(--text-muted);cursor:pointer}.nav-close-btn:hover{background:var(--bg-subtle);color:var(--navy)}.nav-user{display:flex;align-items:center;gap:10px;padding:14px 18px;border-bottom:1px solid var(--line)}.nav-avatar{display:grid;place-items:center;width:34px;height:34px;border-radius:50%;background:var(--navy);color:#fff;font-size:11px;font-weight:800;flex:0 0 34px}.nav-user-name{font-weight:700;font-size:.88rem;color:var(--ink)}.nav-user-role{font-size:.72rem;color:var(--text-muted)}.nav-scroll{flex:1;overflow-y:auto;padding:8px 12px}.nav-group-title{padding:16px 11px 6px;color:var(--text-subtle);text-transform:uppercase;font-size:10.5px;letter-spacing:.9px;font-weight:700}.nav-item{display:flex;align-items:center;gap:11px;width:100%;min-height:42px;padding:9px 11px;border-radius:var(--r-sm);color:var(--text-muted);font-size:13px;font-weight:500;text-align:left;background:transparent;border:none;cursor:pointer;transition:background var(--t-fast) var(--ease),color var(--t-fast) var(--ease)}.nav-item-ico{width:18px;height:18px;flex:0 0 18px;color:var(--text-subtle)}.nav-item-label{flex:1 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.nav-item:hover{background:#18216e0f;color:var(--navy)}.nav-item.is-active{background:var(--navy)!important;color:#fff!important;box-shadow:inset 3px 0 0 var(--yellow)!important;font-weight:700}.nav-item.is-active .nav-item-ico{color:#fff}.nav-ai-badge{margin-left:auto;background:var(--navy);color:#fff;font-size:10px;font-weight:800;padding:2px 6px;border-radius:9999px}.nav-footer{padding:12px;border-top:1px solid var(--line)}@media print{.pg-header,.proposta-print-actions{display:none!important}main{padding:0!important;max-width:none!important}}.cx-kpi-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:14px}.ai-badge{background:var(--navy);color:#fff;font-size:10px;font-weight:800;letter-spacing:.03em;padding:2px 8px;border-radius:9999px;vertical-align:middle;margin-left:8px}.confidence-bar-container{display:flex;align-items:center;gap:8px}.confidence-bar-track{flex:1;height:8px;border-radius:999px;background:var(--line);overflow:hidden;min-width:60px}.confidence-bar-fill{height:100%;border-radius:999px;transition:width var(--t) var(--ease)}.confidence-bar-label{font-size:.78rem;font-weight:700;min-width:38px;text-align:right}.insights-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:14px}.insight-card{display:flex;align-items:flex-start;gap:12px;padding:14px;background:var(--bg-subtle);border:1px solid var(--line);border-radius:var(--r-md)}.insight-icon{display:grid;place-items:center;width:32px;height:32px;flex:0 0 32px;border-radius:var(--r-sm);background:var(--secondary);color:var(--navy)}.insight-title{font-weight:700;font-size:.88rem;color:var(--ink);margin-bottom:2px}.insight-desc{font-size:.8rem;color:var(--text-muted);line-height:1.4}.cx-table-row-selected{background:var(--secondary)!important}.assistente-container{display:flex;flex-direction:column;height:100%}.chat-card{display:flex;flex-direction:column;height:calc(100vh - 220px);min-height:480px;overflow:hidden}.chat-messages{flex:1;overflow-y:auto;padding:20px;display:flex;flex-direction:column;gap:16px}.chat-bubble{display:flex;gap:10px;max-width:780px}.chat-bubble-user{flex-direction:row-reverse;margin-left:auto}.chat-bubble-avatar{display:grid;place-items:center;width:32px;height:32px;flex:0 0 32px;border-radius:50%;background:var(--navy);color:#fff}.chat-bubble-user .chat-bubble-avatar{background:var(--yellow);color:var(--navy)}.chat-bubble-content{background:var(--card-bg);border:1px solid var(--line);border-radius:var(--r-lg);padding:10px 14px;min-width:0}.chat-bubble-user .chat-bubble-content{background:var(--secondary);border-color:var(--secondary)}.chat-bubble-header{margin-bottom:2px}.chat-bubble-name{font-size:.72rem;font-weight:700;color:var(--text-muted);text-transform:uppercase;letter-spacing:.03em}.chat-bubble-text{font-size:.9rem;color:var(--ink);line-height:1.5;white-space:pre-wrap}.chat-bubble-table,.chat-bubble-chart,.chat-bubble-metrics{margin-top:10px}.chat-chart-row{display:flex;align-items:center;gap:8px;margin-bottom:6px}.chat-chart-label{font-size:.78rem;color:var(--text-muted);width:120px;flex:0 0 120px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.chat-chart-track{flex:1;height:10px;border-radius:999px;background:var(--line);overflow:hidden}.chat-chart-fill{height:100%;border-radius:999px}.chat-chart-value{font-size:.78rem;font-weight:700;width:60px;flex:0 0 60px;text-align:right}.chat-bubble-metrics{display:flex;flex-wrap:wrap;gap:10px}.chat-metric{display:flex;flex-direction:column;padding:8px 12px;background:var(--bg-subtle);border-radius:var(--r-sm);min-width:100px}.chat-metric-label{font-size:.68rem;text-transform:uppercase;color:var(--text-muted);font-weight:700;letter-spacing:.02em}.chat-metric-value{font-size:1rem;font-weight:800;color:var(--ink)}.chat-typing{display:flex;gap:4px;padding:6px 4px}.chat-typing-dot{width:6px;height:6px;border-radius:50%;background:var(--text-subtle);animation:chat-typing-bounce 1.2s infinite ease-in-out}.chat-typing-dot:nth-child(2){animation-delay:.15s}.chat-typing-dot:nth-child(3){animation-delay:.3s}@keyframes chat-typing-bounce{0%,60%,to{transform:translateY(0);opacity:.5}30%{transform:translateY(-4px);opacity:1}}.chat-sugestoes{padding:0 20px 16px}.chat-sugestoes-label{font-size:.74rem;font-weight:700;text-transform:uppercase;color:var(--text-muted);margin-bottom:8px}.chat-sugestoes-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:8px}.chat-sugestao-btn{display:flex;align-items:center;gap:8px;text-align:left;padding:9px 12px;border-radius:var(--r-sm);border:1px solid var(--line);background:var(--card-bg);color:var(--text-muted);font-size:.82rem;cursor:pointer;transition:background var(--t-fast) var(--ease),border-color var(--t-fast) var(--ease),color var(--t-fast) var(--ease)}.chat-sugestao-btn:hover{background:var(--secondary);border-color:var(--navy);color:var(--navy)}.chat-input-area{border-top:1px solid var(--line);padding:12px 16px}.chat-input-wrap{display:flex;gap:10px;align-items:flex-end}.chat-input{flex:1;resize:none;border:1px solid var(--input);border-radius:var(--r-sm);padding:10px 12px;font-family:var(--font);font-size:.88rem;min-height:40px;max-height:120px;background:var(--card-bg);color:var(--ink)}.chat-input:focus{outline:none;border-color:var(--navy);box-shadow:0 0 0 3px #18216e26}.chat-send-btn{display:grid;place-items:center;width:40px;height:40px;border-radius:var(--r-sm);border:none;background:var(--navy);color:#fff;cursor:pointer;flex:0 0 40px;transition:filter var(--t-fast) var(--ease)}.chat-send-btn:hover:not(:disabled){filter:brightness(1.1)}.chat-send-btn:disabled{opacity:.4;cursor:not-allowed}.file\:border-0::file-selector-button{border-width:0px}.file\:bg-transparent::file-selector-button{background-color:transparent}.file\:text-sm::file-selector-button{font-size:.875rem;line-height:1.25rem}.file\:font-medium::file-selector-button{font-weight:500}.placeholder\:text-muted-foreground::-moz-placeholder{color:var(--muted-foreground)}.placeholder\:text-muted-foreground::placeholder{color:var(--muted-foreground)}.hover\:bg-accent:hover{background-color:var(--accent)}.hover\:text-accent-foreground:hover{color:var(--accent-foreground)}.hover\:underline:hover{text-decoration-line:underline}.focus\:outline-none:focus{outline:2px solid transparent;outline-offset:2px}.focus\:ring-2:focus{--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(2px + 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)}.focus\:ring-ring:focus{--tw-ring-color: var(--ring)}.focus\:ring-offset-2:focus{--tw-ring-offset-width: 2px}.focus-visible\:outline-none:focus-visible{outline:2px solid transparent;outline-offset:2px}.focus-visible\:ring-2:focus-visible{--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(2px + 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)}.focus-visible\:ring-ring:focus-visible{--tw-ring-color: var(--ring)}.focus-visible\:ring-offset-2:focus-visible{--tw-ring-offset-width: 2px}.disabled\:pointer-events-none:disabled{pointer-events:none}.disabled\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\:opacity-50:disabled{opacity:.5}.data-\[state\=selected\]\:bg-muted[data-state=selected]{background-color:var(--muted)}.dark\:bg-blue-900\/30:is(.dark *){background-color:#1e3a8a4d}.dark\:bg-green-900\/30:is(.dark *){background-color:#14532d4d}.dark\:bg-yellow-900\/30:is(.dark *){background-color:#713f124d}.dark\:text-blue-400:is(.dark *){--tw-text-opacity: 1;color:rgb(96 165 250 / var(--tw-text-opacity, 1))}.dark\:text-green-400:is(.dark *){--tw-text-opacity: 1;color:rgb(74 222 128 / var(--tw-text-opacity, 1))}.dark\:text-yellow-400:is(.dark *){--tw-text-opacity: 1;color:rgb(250 204 21 / var(--tw-text-opacity, 1))}.\[\&\:has\(\[role\=checkbox\]\)\]\:pr-0:has([role=checkbox]){padding-right:0}.\[\&\>tr\]\:last\:border-b-0:last-child>tr{border-bottom-width:0px}.\[\&_tr\:last-child\]\:border-0 tr:last-child{border-width:0px}.\[\&_tr\]\:border-b tr{border-bottom-width:1px}
