:root{--noucor-pink: #f8084b;--noucor-pink-dark: #c9063e;--noucor-pink-rgb: 248, 8, 75;--cat-yellow: var(--noucor-pink);--cat-black: #1e1e1e;--cat-white: #ffffff;--cat-gray-dark: #3a3a3a;--cat-gray-mid: #6b6b6b;--cat-gray-light: #d8d8d8;--noucor-red: var(--noucor-pink);--noucor-red-rgb: var(--noucor-pink-rgb);--font-sans: "Montserrat", Arial, "Helvetica Neue", Helvetica, sans-serif;--font-serif: "Playfair Display", Georgia, "Times New Roman", serif;--type-ui-size: .88rem;--type-ui-weight: 600;--type-ui-spacing: .01em;--radius: 2px;font-family:var(--font-sans)}[data-theme=dark],:root:not([data-theme=light]){color-scheme:dark;--text-body: var(--text);--bg: #1e1e1e;--bg-elevated: #262626;--bg-card: #2a2a2a;--border: #3d3d3d;--text: #ffffff;--text-muted: #b8b8b8;--accent: var(--cat-yellow);--shadow: 0 8px 32px rgba(0, 0, 0, .45);--surface-header: #1e1e1e;--surface-toolbar: #1e1e1e;--surface-sidebar: #1a1a1a;--body-gradient: none;--hover-row: rgba(255, 255, 255, .04);--hover-accent: rgba(var(--noucor-red-rgb), .06);--hover-accent-strong: rgba(var(--noucor-red-rgb), .1);--active-link-border: rgba(var(--noucor-red-rgb), .35);--info-banner-bg: rgba(var(--noucor-red-rgb), .06);--info-banner-border: rgba(var(--noucor-red-rgb), .22);--error-banner-bg: #3d1515;--error-banner-text: #fecaca;--report-error-bg: rgba(180, 60, 40, .2);--report-error-text: #fecdd3;--brand-accent-line: var(--cat-yellow)}[data-theme=light]{color-scheme:light;--bg: var(--cat-white);--bg-elevated: var(--cat-white);--bg-card: var(--cat-white);--border: var(--cat-gray-light);--text: var(--cat-black);--text-body: var(--cat-gray-dark);--text-muted: var(--cat-gray-mid);--accent: var(--cat-yellow);--shadow: 0 4px 16px rgba(0, 0, 0, .08);--surface-header: var(--cat-white);--surface-toolbar: var(--cat-white);--surface-sidebar: var(--cat-white);--body-gradient: none;--hover-row: rgba(0, 0, 0, .04);--hover-accent: rgba(var(--noucor-red-rgb), .05);--hover-accent-strong: rgba(var(--noucor-red-rgb), .09);--active-link-border: var(--noucor-pink);--info-banner-bg: rgba(var(--noucor-red-rgb), .05);--info-banner-border: rgba(var(--noucor-red-rgb), .2);--error-banner-bg: #fef2f2;--error-banner-text: #991b1b;--report-error-bg: rgba(153, 27, 27, .08);--report-error-text: #7f1d1d;--brand-accent-line: var(--cat-yellow)}*{box-sizing:border-box;margin:0;padding:0}html{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{background:var(--body-gradient),var(--bg);color:var(--text-body, var(--text));min-height:100vh;font-size:1rem;font-weight:400;line-height:1.5;transition:background .25s ease,color .25s ease}h1,h2,h3,h4{color:var(--text);font-family:var(--font-sans);font-weight:var(--type-ui-weight);letter-spacing:var(--type-ui-spacing)}.sidebar__link,.sidebar__link-label,.app-header__title,.kpi-card__title,.kpi-card__value,.chart-panel h3,.report-block__title,.report-block h3,.config-menu__heading,.report-table th,.report-table td,.report-empty,.report-info-banner,.loading-state p{font-family:var(--font-sans);font-weight:var(--type-ui-weight);letter-spacing:var(--type-ui-spacing)}button,input,select,textarea{font:inherit}a{color:var(--cat-black);font-weight:600}a:hover{color:var(--cat-gray-dark)}[data-theme=dark] a{color:var(--text)}[data-theme=dark] a:hover{color:var(--noucor-pink)}.app{min-height:100vh;display:flex;flex-direction:column}.app-header{display:flex;justify-content:space-between;align-items:center;padding:1.25rem 2rem;border-bottom:3px solid var(--brand-accent-line);background:var(--surface-header);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);position:sticky;top:0;z-index:10}.app-header__title{font-size:var(--type-ui-size);font-weight:var(--type-ui-weight);margin:0;min-width:0;color:var(--text);text-transform:none;letter-spacing:var(--type-ui-spacing)}.app-header__title:after{content:"";display:block;width:48px;height:4px;margin-top:.35rem;background:var(--cat-yellow)}.header-meta{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}.config-menu{position:relative}.config-menu__trigger{display:inline-flex;align-items:center;gap:.4rem;padding:.4rem .75rem;border-radius:var(--radius);border:1px solid var(--border);background:var(--bg-elevated);color:var(--text-muted);font:inherit;font-size:.8rem;cursor:pointer;transition:color .15s,border-color .15s,background .15s}.config-menu__trigger:hover{color:var(--text);border-color:var(--cat-yellow)}.config-menu__trigger-icon{font-size:1.05rem;line-height:1}.config-menu__panel{position:absolute;top:calc(100% + .45rem);right:0;z-index:30;min-width:200px;padding:.85rem 1rem;background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow)}.config-menu__heading{font-size:var(--type-ui-size);font-weight:var(--type-ui-weight);text-transform:none;letter-spacing:var(--type-ui-spacing);color:var(--text);margin-bottom:.65rem;padding-bottom:.4rem;border-bottom:4px solid var(--cat-yellow)}.config-menu__fieldset{border:none;padding:0;margin:0;display:flex;flex-direction:column;gap:.45rem}.config-menu__option{display:flex;align-items:center;gap:.5rem;font-size:.88rem;color:var(--text);cursor:pointer}.config-menu__option input{accent-color:var(--accent)}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}@media(max-width:600px){.config-menu__trigger-label{display:none}}.badge{font-size:.72rem;padding:.35rem .75rem;border-radius:var(--radius);border:1px solid var(--border);text-transform:none;letter-spacing:.02em;font-weight:600}.badge--ok{border-color:rgba(var(--noucor-red-rgb),.45);color:var(--cat-gray-dark);background:rgba(var(--noucor-red-rgb),.08)}[data-theme=dark] .badge--ok{color:var(--text);background:rgba(var(--noucor-red-rgb),.06)}.badge--pending{border-color:var(--cat-gray-mid);color:var(--cat-gray-mid)}.badge--warn{border-color:#b45309;color:#b45309;background:#b4530914}.badge--demo{border-color:var(--cat-black);color:var(--cat-black);background:#0000000d}[data-theme=dark] .badge--demo{color:var(--text-muted);border-color:var(--border)}.app-main{flex:1;padding:1.5rem 1.25rem 3rem;max-width:none;width:100%;background:var(--bg)}.global-toolbar{position:sticky;top:0;z-index:20;display:flex;align-items:center;gap:1rem;flex-wrap:wrap;padding:.85rem 1.25rem;background:var(--surface-toolbar);border-bottom:3px solid var(--brand-accent-line);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.global-toolbar.app-header{justify-content:flex-start;padding:.85rem 1.25rem}.global-toolbar__center{flex:1;min-width:0;display:flex;align-items:center}.global-toolbar .header-meta{margin-left:auto;flex-shrink:0}.date-range-toolbar{position:relative;display:flex;align-items:center;gap:.75rem;flex:1;min-width:0}.date-range-trigger{display:flex;align-items:center;gap:.65rem;flex:1;min-width:200px;max-width:520px;padding:.6rem 1rem;background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--radius);color:var(--text);font:inherit;font-size:.9rem;cursor:pointer;text-align:left;transition:border-color .15s,background .15s}.date-range-trigger:hover:not(:disabled){border-color:var(--cat-yellow);background:var(--bg-card)}[data-theme=light] .date-range-trigger{border-color:var(--cat-black);background:var(--cat-white);color:var(--cat-gray-dark)}.date-range-trigger:disabled{opacity:.6;cursor:not-allowed}.date-range-trigger__icon{font-size:1.1rem;line-height:1}.date-range-trigger__text{flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.date-range-trigger__caret{font-size:.65rem;color:var(--text-muted)}.date-range-apply-btn{flex-shrink:0;white-space:nowrap}.date-range-popover{position:absolute;top:calc(100% + .5rem);left:0;z-index:40;width:min(380px,calc(100vw - 2rem));padding:1rem;background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow)}.date-range-presets{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:1rem}.date-range-preset{padding:.4rem .75rem;font-size:.78rem;border-radius:var(--radius);border:1px solid var(--border);font-weight:600;background:var(--bg-elevated);color:var(--text-muted);cursor:pointer;font-family:inherit;transition:background .15s,color .15s,border-color .15s}.date-range-preset:hover{color:var(--cat-black);border-color:rgba(var(--noucor-red-rgb),.45);background:rgba(var(--noucor-red-rgb),.08)}[data-theme=dark] .date-range-preset:hover{color:var(--text)}.date-range-calendar__nav{display:flex;align-items:center;justify-content:space-between;margin-bottom:.75rem}.date-range-calendar__title{font-weight:700;font-size:.95rem;color:var(--text)}.date-range-calendar__weekdays{display:grid;grid-template-columns:repeat(7,1fr);gap:2px;margin-bottom:.35rem;font-size:.7rem;color:var(--text-muted);text-align:center}.date-range-calendar__grid{display:grid;grid-template-columns:repeat(7,1fr);gap:4px}.calendar-day{aspect-ratio:1;display:flex;align-items:center;justify-content:center;font-size:.82rem;border:none;border-radius:var(--radius);background:transparent;color:var(--text);cursor:pointer;font-family:inherit}.calendar-day--empty{pointer-events:none}.calendar-day:hover:not(.calendar-day--empty){background:rgba(var(--noucor-red-rgb),.1)}.calendar-day--today{font-weight:700;color:var(--cat-black);background:rgba(var(--noucor-red-rgb),.14)}[data-theme=dark] .calendar-day--today{color:var(--noucor-pink)}.calendar-day--in-range{background:rgba(var(--noucor-red-rgb),.08);border-radius:4px}.calendar-day--start,.calendar-day--end{background:rgba(var(--noucor-red-rgb),.14);color:var(--text);border:1px solid rgba(var(--noucor-red-rgb),.45);font-weight:700}.date-range-hint{margin-top:.75rem;font-size:.75rem;color:var(--text-muted);line-height:1.4}.date-range-popover__actions{display:flex;justify-content:flex-end;gap:.5rem;margin-top:1rem;padding-top:.75rem;border-top:1px solid var(--border)}.btn-ghost--sm{padding:.35rem .65rem;min-width:2rem}.btn-primary{background:transparent;border:1px solid var(--cat-yellow);color:var(--cat-yellow);padding:.65rem 1.25rem;border-radius:var(--radius);font-weight:700;cursor:pointer;transition:background .2s,border-color .2s,color .2s}.btn-primary:disabled{opacity:.5;cursor:not-allowed}.btn-primary:hover:not(:disabled){background:rgba(var(--noucor-red-rgb),.08);border-color:var(--noucor-pink-dark);color:var(--noucor-pink-dark)}.btn-ghost{background:var(--cat-white);border:1px solid var(--border);color:var(--text);padding:.5rem 1rem;border-radius:var(--radius);cursor:pointer;font-weight:600;transition:background .15s,border-color .15s,color .15s}[data-theme=light] .btn-ghost{border-color:var(--cat-black);color:var(--cat-black)}.btn-ghost:hover{background:rgba(var(--noucor-red-rgb),.08);border-color:rgba(var(--noucor-red-rgb),.45)}[data-theme=dark] .btn-ghost{background:transparent}[data-theme=dark] .btn-ghost:hover{background:var(--hover-accent);border-color:var(--cat-yellow);color:var(--text)}.error-banner{display:flex;justify-content:space-between;align-items:center;gap:1rem;padding:1rem 1.25rem;margin-bottom:1.5rem;background:var(--error-banner-bg);border:1px solid var(--error-banner-text);border-radius:var(--radius)}.error-banner strong{color:var(--text);font-weight:700}.error-banner p{color:var(--error-banner-text);font-size:.9rem;margin-top:.25rem}.loading-state{display:flex;flex-direction:column;align-items:center;gap:1rem;padding:4rem;color:var(--text-muted)}.spinner{width:40px;height:40px;border:3px solid var(--border);border-top-color:var(--accent);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.kpi-grid{display:grid;grid-template-columns:repeat(8,minmax(0,1fr));gap:.625rem;margin-bottom:1.5rem;width:100%}.kpi-grid .kpi-card{padding:.7rem .55rem;min-width:0}.kpi-card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);padding:1.1rem 1.25rem;box-shadow:var(--shadow);position:relative;overflow:hidden}.kpi-card:before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:var(--kpi-accent, var(--accent))}.kpi-card--cyan{--kpi-accent: var(--cat-yellow)}.kpi-card--emerald{--kpi-accent: var(--cat-black)}.kpi-card--violet{--kpi-accent: var(--cat-gray-dark)}.kpi-card--rose{--kpi-accent: var(--cat-gray-mid)}.kpi-card--amber{--kpi-accent: #e6b800}.kpi-card--sky{--kpi-accent: #b8860b}.kpi-card--indigo{--kpi-accent: var(--cat-black)}.kpi-card--orange{--kpi-accent: var(--cat-yellow)}.kpi-card__title{font-size:var(--type-ui-size);color:var(--text-muted);text-transform:none;letter-spacing:var(--type-ui-spacing);font-weight:var(--type-ui-weight);margin-bottom:.35rem;line-height:1.25;min-height:2.4em;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.kpi-card__value{font-size:clamp(1rem,1.15vw,1.35rem);font-weight:var(--type-ui-weight);font-variant-numeric:tabular-nums;letter-spacing:var(--type-ui-spacing);line-height:1.15;overflow:hidden;text-overflow:ellipsis}.charts-row{display:grid;grid-template-columns:1fr 1.4fr;gap:1rem;margin-bottom:1rem}.charts-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(340px,1fr));gap:1rem;margin-top:1rem}.chart-panel{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);padding:1.25rem;box-shadow:var(--shadow)}.chart-panel--wide{margin-bottom:1rem}.chart-panel--pie{background:var(--cat-white)}.chart-panel.chart-panel--pie h3{color:var(--cat-black)}[data-theme=dark] .chart-panel--pie{background:radial-gradient(circle at 34% 50%,rgba(255,255,255,.035),transparent 34%),var(--bg-card)}[data-theme=dark] .chart-panel.chart-panel--pie h3{color:var(--text)}.chart-panel h3{font-size:var(--type-ui-size);font-weight:var(--type-ui-weight);color:var(--text);margin-bottom:.85rem;padding-bottom:.5rem;text-transform:none;letter-spacing:var(--type-ui-spacing);position:relative}.chart-panel h3:after{content:"";position:absolute;left:0;bottom:0;width:48px;height:4px;background:var(--cat-yellow)}.chart-panel--pie .recharts-wrapper{overflow:visible}.chart-panel--pie .recharts-legend-wrapper{font-size:12px;line-height:1.35;max-width:50%}.chart-panel--pie .recharts-legend-item-text{font-size:12px!important;fill:var(--cat-gray-dark)!important}[data-theme=dark] .chart-panel--pie .recharts-legend-item-text{fill:var(--text)!important}.chart-panel--pie .recharts-legend-item{margin-bottom:4px!important}.chart-panel--gauge .recharts-wrapper{overflow:visible}.gauge-wrap{position:relative}.gauge-center{position:absolute;left:50%;bottom:28%;transform:translate(-50%);text-align:center}.gauge-value{font-size:2rem;font-weight:var(--type-ui-weight);font-family:var(--font-sans);letter-spacing:var(--type-ui-spacing);color:var(--cat-black)}[data-theme=dark] .gauge-value{color:var(--text)}.app-footer{display:flex;justify-content:space-between;align-items:flex-end;gap:1rem;flex-wrap:wrap;padding:1rem 1.25rem;border-top:3px solid var(--cat-yellow);background:var(--bg-card);color:var(--text-muted);font-size:.8rem}.app-footer__brand{display:flex;flex-direction:column;gap:.25rem;min-width:0}.app-footer__title{font-weight:800;color:var(--text);font-size:.95rem;letter-spacing:.06em;text-transform:uppercase}.app-footer__tm{font-size:.72rem;line-height:1.4;max-width:42rem}.app-footer__tm a{color:var(--cat-black);text-decoration:none;font-weight:600}[data-theme=dark] .app-footer__tm a{color:var(--text-muted)}.app-footer__tm a:hover{text-decoration:underline;color:var(--cat-gray-mid)}[data-theme=dark] .app-footer__tm a:hover{color:var(--noucor-pink)}.app-footer__meta{text-align:right;white-space:nowrap}.app-shell{display:flex;min-height:100vh;width:100%}.app-shell__main{flex:1;min-width:0;display:flex;flex-direction:column;overflow-x:hidden}.sidebar{width:260px;flex-shrink:0;display:flex;flex-direction:column;background:var(--surface-sidebar);border-right:1px solid var(--border);border-top:3px solid var(--cat-yellow);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);transition:width .22s ease}.app-shell--collapsed .sidebar{width:72px}.sidebar__brand{display:flex;align-items:center;gap:.75rem;padding:1.25rem 1rem;border-bottom:1px solid var(--border)}.sidebar__product{display:flex;flex-direction:column;align-items:center;gap:.35rem;min-width:0;width:100%}[data-theme=dark] .sidebar__product,:root:not([data-theme=light]) .sidebar__product{background:#fff;padding:.65rem .75rem;border-radius:var(--radius);box-shadow:0 1px 4px #00000040}[data-theme=light] .sidebar__product{background:transparent;padding:0;box-shadow:none}.sidebar__brand-wordmark{display:block;width:auto;max-width:200px;height:auto;max-height:none;margin-inline:auto;object-fit:contain}.sidebar__brand-icon{display:block;width:40px;height:40px;flex-shrink:0;object-fit:contain}.app-shell--collapsed .sidebar__brand-icon{width:36px;height:36px}.sidebar__logo{font-weight:800;font-size:1.15rem;color:var(--cat-black);letter-spacing:.04em}[data-theme=dark] .sidebar__logo{color:var(--cat-yellow)}.sidebar__brand-cat{font-weight:800;font-size:1.05rem;line-height:1.15;letter-spacing:.08em;text-transform:uppercase;color:var(--cat-black)}.sidebar__brand-cat:after{content:"";display:block;width:40px;height:4px;margin-top:.35rem;background:var(--cat-yellow)}.sidebar__brand-sub{font-weight:500;font-size:.72rem;line-height:1.35;color:var(--cat-gray-mid);letter-spacing:.01em}.sidebar__brand-product{font-weight:600;font-size:.68rem;line-height:1.3;color:var(--text-muted);letter-spacing:.04em;text-transform:uppercase;text-align:center;width:100%}[data-theme=dark] .sidebar__brand-product,:root:not([data-theme=light]) .sidebar__brand-product{color:var(--cat-gray-mid)}.sidebar__title{font-size:.95rem;font-weight:600;color:var(--text-muted);white-space:nowrap}.app-shell--collapsed .sidebar__title{display:none}.sidebar__nav{flex:1;padding:.75rem .5rem;display:flex;flex-direction:column;gap:.25rem}.sidebar__link{display:flex;align-items:center;gap:.65rem;padding:.65rem .75rem;border-radius:var(--radius);border:1px solid transparent;border-left:4px solid transparent;background:transparent;color:var(--text-muted);font:inherit;font-weight:600;font-size:.88rem;text-align:left;text-decoration:none;cursor:pointer;transition:background .15s,color .15s,border-color .15s}[data-theme=light] .sidebar__link{color:var(--cat-gray-dark)}.sidebar__link:hover{background:var(--hover-accent);color:var(--text);border-left-color:var(--cat-yellow)}.sidebar__link--active{background:var(--hover-accent-strong);color:var(--text);border-left-color:var(--cat-yellow);border-top-color:transparent;border-right-color:transparent;border-bottom-color:transparent;font-weight:700}.sidebar__link--soon{opacity:.72}.sidebar__link-dot{width:8px;height:8px;border-radius:50%;background:var(--accent);flex-shrink:0}.sidebar__link-dot--muted{background:var(--border)}.sidebar__link--active .sidebar__link-dot{box-shadow:0 0 0 3px rgba(var(--noucor-red-rgb),.18)}.sidebar__link-label{flex:1;font-size:.88rem;font-weight:inherit;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.app-shell--collapsed .sidebar__link-label,.app-shell--collapsed .sidebar__soon-tag{display:none}.sidebar__soon-tag{font-size:.65rem;text-transform:uppercase;letter-spacing:.06em;padding:.2rem .45rem;border-radius:6px;border:1px solid var(--border);color:var(--text-muted)}.sidebar__footer{padding:.75rem;border-top:1px solid var(--border)}.sidebar__collapse{display:flex;align-items:center;gap:.5rem;width:100%;padding:.5rem .65rem;border-radius:var(--radius);border:1px solid var(--border);background:var(--bg-card);color:var(--text-muted);font:inherit;font-weight:600;cursor:pointer;transition:background .15s,border-color .15s,color .15s}[data-theme=light] .sidebar__collapse{border-color:var(--cat-black);color:var(--cat-gray-dark)}.sidebar__collapse:hover{color:var(--text);background:rgba(var(--noucor-red-rgb),.08);border-color:rgba(var(--noucor-red-rgb),.45)}.sidebar__collapse-icon{font-size:1.1rem;line-height:1;width:1.25rem;text-align:center}.app-shell--collapsed .sidebar__collapse span:not(.sidebar__collapse-icon){display:none}.app-shell--collapsed .sidebar__collapse{justify-content:center}.app-toast{position:fixed;bottom:1.5rem;left:50%;transform:translate(-50%);padding:.75rem 1.25rem;border-radius:10px;background:var(--bg-card);border:1px solid var(--border);box-shadow:var(--shadow);color:var(--text);font-size:.9rem;z-index:50}.report-charts-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(340px,1fr));gap:1.25rem;margin-bottom:1.5rem}.report-charts-grid .chart-panel--wide,.report-charts-grid .chart-panel--topbar{grid-column:1 / -1}.report-info-banner{margin-bottom:1.25rem;padding:1rem 1.25rem;border-radius:var(--radius);background:var(--info-banner-bg);border:1px solid var(--info-banner-border);border-left:4px solid var(--cat-yellow);color:var(--text-body, var(--text-muted));font-size:var(--type-ui-size);line-height:1.5}.report-block{margin-bottom:2rem}.report-block__title{font-size:var(--type-ui-size);font-weight:var(--type-ui-weight);margin-bottom:.85rem;padding-bottom:.5rem;color:var(--text);letter-spacing:var(--type-ui-spacing);text-transform:none;position:relative}.report-block__title:after{content:"";position:absolute;left:0;bottom:0;width:48px;height:4px;background:var(--cat-yellow)}.report-block__error{padding:.85rem 1rem;border-radius:var(--radius);background:var(--report-error-bg);border:1px solid var(--report-error-text);color:var(--report-error-text);font-size:.9rem;margin-bottom:.75rem}.report-empty{color:var(--text-muted);font-size:var(--type-ui-size);padding:.5rem 0}.report-table-shell{display:flex;flex-direction:column;gap:.35rem}.report-table-actions{display:flex;justify-content:flex-end}.report-table-export{padding:.45rem .7rem;font-size:.78rem;white-space:nowrap}.report-table-scroll{overflow-x:auto;overflow-y:hidden;scrollbar-color:var(--cat-yellow) var(--bg-card);scrollbar-width:thin}.report-table-scroll::-webkit-scrollbar{height:12px}.report-table-scroll::-webkit-scrollbar-track{background:var(--bg-card);border-radius:999px}.report-table-scroll::-webkit-scrollbar-thumb{background:var(--cat-yellow);border:3px solid var(--bg-card);border-radius:999px}.report-table-scroll--top{min-height:16px}.report-table-scroll__spacer{height:1px}.report-table-wrap{border:1px solid var(--border);border-radius:var(--radius);background:var(--bg-elevated)}.report-table{width:max-content;min-width:100%;border-collapse:collapse;font-size:var(--type-ui-size)}.report-table th,.report-table td{padding:.55rem .75rem;text-align:left;border-bottom:1px solid var(--border);white-space:nowrap}.report-table th{font-weight:var(--type-ui-weight);color:var(--text);background:var(--bg-card);position:sticky;top:0;border-bottom:3px solid var(--cat-yellow)}.report-table tbody tr:hover{background:var(--hover-row)}.report-table__datetime{display:inline-flex;flex-direction:column;gap:.1rem;min-width:7.5rem;line-height:1.2}.report-table__date{color:var(--text);font-weight:650}.report-table__time{color:var(--text-muted);font-size:.92em;font-variant-numeric:tabular-nums}.recharts-cartesian-grid-horizontal line,.recharts-cartesian-grid-vertical line{stroke:var(--border)}.recharts-cartesian-axis-line{stroke:var(--border)}.recharts-cartesian-axis-tick-value{fill:var(--text-muted)!important;font-family:inherit!important;font-size:11px!important}.recharts-legend-item-text{color:var(--text-muted)!important;font-family:inherit!important;font-size:12px!important;font-weight:600!important}.recharts-layer.recharts-cartesian-axis-tick text{fill:var(--text-muted)}@media(max-width:1200px){.kpi-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.kpi-card__value{font-size:1.25rem}}@media(max-width:600px){.kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}.pie-chart-tooltip__label{margin:0 0 6px;font-size:var(--type-ui-size);font-weight:var(--type-ui-weight);line-height:1.35;color:var(--text);word-break:break-word}.pie-chart-tooltip__row{margin:0;font-size:var(--type-ui-size);line-height:1.4;display:flex;flex-wrap:wrap;gap:.35rem .5rem;align-items:baseline}.pie-chart-tooltip__meta{color:var(--text-muted);font-weight:500}.pie-chart-tooltip__value{color:var(--text);font-weight:var(--type-ui-weight);font-variant-numeric:tabular-nums}.pie-chart-tooltip__pct{margin:6px 0 0;font-size:var(--type-ui-size);font-weight:var(--type-ui-weight);color:var(--cat-black);font-variant-numeric:tabular-nums}[data-theme=dark] .pie-chart-tooltip__pct{color:var(--text)}.recharts-default-tooltip{border-radius:var(--radius)!important;font-family:var(--font-sans)!important;font-size:var(--type-ui-size)!important;line-height:1.4!important;padding:10px 12px!important}[data-theme=dark] .recharts-default-tooltip,:root:not([data-theme=light]) .recharts-default-tooltip{background-color:var(--bg-elevated)!important;border:1px solid var(--border)!important;color:var(--text)!important;box-shadow:var(--shadow)}[data-theme=light] .recharts-default-tooltip{background-color:var(--bg-elevated)!important;border:1px solid var(--border)!important;color:var(--text)!important;box-shadow:var(--shadow)}.recharts-tooltip-label{font-size:var(--type-ui-size)!important;font-weight:var(--type-ui-weight)!important;line-height:1.35!important}.recharts-tooltip-item-name,.recharts-tooltip-item-value{font-size:var(--type-ui-size)!important;font-weight:500!important}[data-theme=dark] .recharts-tooltip-label,[data-theme=dark] .recharts-tooltip-item-name,[data-theme=dark] .recharts-tooltip-item-value,[data-theme=dark] .recharts-tooltip-item-separator,:root:not([data-theme=light]) .recharts-tooltip-label,:root:not([data-theme=light]) .recharts-tooltip-item-name,:root:not([data-theme=light]) .recharts-tooltip-item-value,:root:not([data-theme=light]) .recharts-tooltip-item-separator{color:var(--text)!important}[data-theme=light] .recharts-tooltip-label,[data-theme=light] .recharts-tooltip-item-name,[data-theme=light] .recharts-tooltip-item-value,[data-theme=light] .recharts-tooltip-item-separator{color:var(--text)!important}@media(max-width:900px){.charts-row{grid-template-columns:1fr}.app-header{flex-direction:column;align-items:flex-start;gap:1rem}.app-main{padding:1rem}.app-shell{flex-direction:column}.sidebar{width:100%;flex-direction:row;flex-wrap:wrap;align-items:center;border-right:none;border-bottom:1px solid var(--border)}.sidebar__brand{border-bottom:none;flex:1;min-width:140px}.sidebar__nav{flex-direction:row;flex-wrap:wrap;flex:1 1 100%;padding:0 .5rem .75rem}.sidebar__footer{border-top:none;padding:0 .75rem .75rem;margin-left:auto}.sidebar__collapse{width:auto}.app-shell--collapsed .sidebar{width:100%}.app-shell--collapsed .sidebar__link-label{display:inline;max-width:140px}}.login-gate{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:2rem 1rem;background:#1e1e1e}.login-gate--loading{color:#fff}.login-gate__loading{font-size:1rem;color:#b8b8b8}.login-gate__panel{width:min(100%,420px);background:#fff;border:1px solid var(--cat-gray-light);border-radius:var(--radius);box-shadow:0 12px 40px #00000059;padding:2rem 1.75rem}.login-gate__brand{text-align:center;margin-bottom:1.75rem}.login-gate__logo{display:block;width:min(100%,240px);height:auto;margin:0 auto .75rem}.login-gate__product{font-family:var(--font-sans);font-size:.68rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--cat-gray-mid);margin-bottom:.25rem}.login-gate__tagline{font-family:var(--font-serif);font-size:.95rem;color:var(--cat-black)}.login-gate__form{display:flex;flex-direction:column;gap:.75rem}.login-gate__label{font-family:var(--font-sans);font-size:.82rem;font-weight:600;color:var(--cat-gray-dark)}.login-gate__input{width:100%;padding:.75rem .85rem;border:1px solid var(--cat-gray-light);border-radius:var(--radius);font-family:var(--font-sans);font-size:.95rem;color:var(--cat-black);background:#fff}.login-gate__input:focus{outline:none;border-color:rgba(var(--noucor-red-rgb),.55);box-shadow:0 0 0 3px rgba(var(--noucor-red-rgb),.12)}.login-gate__error{color:var(--noucor-pink-dark);font-size:.85rem;font-weight:600}.login-gate__submit{margin-top:.25rem;padding:.8rem 1rem;border:1px solid var(--cat-yellow);border-radius:var(--radius);background:transparent;color:var(--cat-yellow);font-family:var(--font-sans);font-size:.92rem;font-weight:700;cursor:pointer;transition:background .15s,border-color .15s,color .15s}.login-gate__submit:hover:not(:disabled){background:rgba(var(--noucor-red-rgb),.08);border-color:var(--noucor-pink-dark);color:var(--noucor-pink-dark)}.login-gate__submit:disabled{opacity:.55;cursor:not-allowed}.login-gate__hint{margin-top:1.25rem;font-size:.75rem;color:var(--cat-gray-mid);text-align:center}.config-menu__logout{width:100%;margin-top:.85rem;padding:.55rem .75rem;border:1px solid var(--border);border-radius:var(--radius);background:transparent;color:var(--text-muted);font-family:var(--font-sans);font-size:.82rem;font-weight:600;cursor:pointer}.config-menu__logout:hover{border-color:var(--cat-yellow);color:var(--text);background:var(--hover-accent)}
