:root{--pf-blue: #72bf44;--pf-blue-dark: #5a9a2e;--pf-blue-rgb: 114, 191, 68;--cat-yellow: var(--pf-blue);--cat-black: #151714;--cat-white: #ffffff;--cat-gray-dark: #212121;--cat-gray-mid: #616161;--cat-gray-light: #e0e0e0;--pf-accent: var(--pf-blue);--pf-accent-rgb: var(--pf-blue-rgb);--font-sans: "Montserrat", Arial, "Helvetica Neue", Helvetica, sans-serif;--font-serif: "Montserrat", Arial, "Helvetica Neue", Helvetica, sans-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: #151714;--bg-elevated: #1c1f1b;--bg-card: #1f221e;--border: #3d3d3d;--text: #ffffff;--text-muted: #b8b8b8;--accent: var(--cat-yellow);--shadow: 0 8px 32px rgba(0, 0, 0, .45);--surface-header: #151714;--surface-toolbar: #151714;--surface-sidebar: #121411;--body-gradient: none;--hover-row: rgba(255, 255, 255, .04);--hover-accent: rgba(var(--pf-accent-rgb), .06);--hover-accent-strong: rgba(var(--pf-accent-rgb), .1);--active-link-border: rgba(var(--pf-accent-rgb), .35);--info-banner-bg: rgba(var(--pf-accent-rgb), .06);--info-banner-border: rgba(var(--pf-accent-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: #f5f5f5;--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(--pf-accent-rgb), .05);--hover-accent-strong: rgba(var(--pf-accent-rgb), .09);--active-link-border: var(--pf-blue);--info-banner-bg: rgba(var(--pf-accent-rgb), .05);--info-banner-border: rgba(var(--pf-accent-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(--pf-blue)}.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__user{margin:0 0 .75rem;color:var(--text-muted);font-size:.78rem;line-height:1.35}.config-menu__user strong{color:var(--text);font-weight:700}.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(--pf-accent-rgb),.45);color:var(--cat-gray-dark);background:rgba(var(--pf-accent-rgb),.08)}[data-theme=dark] .badge--ok{color:var(--text);background:rgba(var(--pf-accent-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(--pf-accent-rgb),.45);background:rgba(var(--pf-accent-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(--pf-accent-rgb),.1)}.calendar-day--today{font-weight:700;color:var(--cat-black);background:rgba(var(--pf-accent-rgb),.14)}[data-theme=dark] .calendar-day--today{color:var(--pf-blue)}.calendar-day--in-range{background:rgba(var(--pf-accent-rgb),.08);border-radius:4px}.calendar-day--start,.calendar-day--end{background:rgba(var(--pf-accent-rgb),.14);color:var(--text);border:1px solid rgba(var(--pf-accent-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(--pf-accent-rgb),.08);border-color:var(--pf-blue-dark);color:var(--pf-blue-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(--pf-accent-rgb),.08);border-color:rgba(var(--pf-accent-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)}}.report-filters{display:flex;flex-wrap:wrap;gap:.75rem;align-items:flex-end;margin-bottom:1rem;padding:.85rem 1rem;background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow)}.report-filter{display:flex;flex-direction:column;gap:.35rem;min-width:260px}.report-filter__label{font-size:.76rem;font-weight:700;color:var(--text-muted);letter-spacing:.03em}.report-filter__select{min-height:2.4rem;padding:.45rem .75rem;color:var(--text);background:var(--bg);border:1px solid var(--border);border-radius:8px}.report-filter__select:focus{outline:2px solid rgba(var(--pf-accent-rgb),.25);border-color:var(--accent)}.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: #9cd73d}.kpi-card--sky{--kpi-accent: #75aa14}.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:58%;overflow:visible!important}.chart-panel--pie .recharts-legend-item-text{display:inline-block;font-size:12px!important;fill:var(--cat-gray-dark)!important;line-height:1.25;max-width:190px;overflow:visible!important;text-overflow:clip!important;white-space:normal!important;vertical-align:top;word-break:normal}[data-theme=dark] .chart-panel--pie .recharts-legend-item-text{fill:var(--text)!important}.chart-panel--pie .recharts-legend-item{align-items:flex-start!important;display:flex!important;margin-bottom:4px!important;white-space:normal!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(--pf-blue)}.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%}.sidebar__product{background:#151714;padding:.75rem .85rem;border-radius:var(--radius);box-shadow:0 1px 4px #0003}[data-theme=light] .sidebar__brand-product{color:#c0ddae}.sidebar__brand-wordmark{display:block;width:auto;max-width:210px;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;background:#151714;padding:4px;border-radius:var(--radius)}.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(--pf-accent-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(--pf-accent-rgb),.08);border-color:rgba(var(--pf-accent-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--side-by-side{grid-template-columns:minmax(0,2.35fr) minmax(300px,.85fr);align-items:stretch}.report-charts-grid .chart-panel--wide{grid-column:1 / -1}.report-charts-grid--side-by-side .chart-panel--side-by-side-wide,.report-charts-grid--side-by-side .chart-panel--side-by-side-pie{grid-column:auto;height:100%}.report-charts-grid--side-by-side .chart-panel--side-by-side-wide{margin-bottom:0}.report-charts-grid .chart-panel--fill-row{grid-column:2 / -1}.report-charts-grid .chart-panel--topbar{grid-column:1 / -1}@media(max-width:900px){.report-charts-grid--side-by-side{grid-template-columns:1fr}.report-charts-grid--side-by-side .chart-panel--side-by-side-wide,.report-charts-grid--side-by-side .chart-panel--side-by-side-pie,.report-charts-grid .chart-panel--fill-row{grid-column:1 / -1;height:auto}}.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:space-between;align-items:center;gap:.75rem;flex-wrap:wrap;padding:.25rem 0}.report-table-export{padding:.45rem .7rem;font-size:.78rem;white-space:nowrap}.report-table-pagination{display:inline-flex;align-items:center;gap:.5rem;color:var(--text-muted);font-size:.78rem;font-weight:600}.report-table-page-btn{min-width:2.1rem;padding:.35rem .55rem}.report-table-page-btn:disabled{cursor:not-allowed;opacity:.45}.report-table-pagination__status{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);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:#151714}.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;background:#151714;border-radius:var(--radius);padding:1.1rem 1rem .95rem}.login-gate__logo{display:block;width:min(100%,240px);height:auto;margin:0 auto .75rem}.login-gate__brand .login-gate__product{color:#c0ddae}.login-gate__brand .login-gate__tagline{color:#72bf44;font-family:var(--font-sans)}.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(--pf-accent-rgb),.55);box-shadow:0 0 0 3px rgba(var(--pf-accent-rgb),.12)}.login-gate__error{color:var(--pf-blue-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(--pf-accent-rgb),.08);border-color:var(--pf-blue-dark);color:var(--pf-blue-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)}.billing-panel{margin-bottom:1.25rem;background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);overflow:hidden}.billing-panel__head{padding:.75rem 1rem;border-bottom:1px solid var(--border);background:color-mix(in srgb,var(--pf-blue) 12%,var(--bg-card))}.billing-panel__head h2{margin:0;font-size:.95rem;font-weight:700;letter-spacing:.01em;color:var(--text)}.billing-table th.num,.billing-table td.num{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}.billing-table tfoot td{font-weight:700;background:#151714;color:#9cd73d;border-top:2px solid var(--border)}[data-theme=light] .billing-table tfoot td{background:#1b2a14;color:#b6e86a}.billing-empty{text-align:center;color:var(--text-muted);padding:1.25rem!important}.cell-sewan{background:color-mix(in srgb,#f0a060 22%,transparent)}.cell-vodafone{background:color-mix(in srgb,#6db3f2 22%,transparent)}.cell-tp{background:color-mix(in srgb,#c9a0e8 28%,transparent)}.cell-tp-strong{background:color-mix(in srgb,#9b6bc9 35%,transparent)}.cell-diff{background:color-mix(in srgb,#72bf44 22%,transparent)}.cell-combo{background:color-mix(in srgb,#e6d08a 28%,transparent)}.cell-total{color:#9cd73d;font-weight:700}.billing-filters .report-filter{min-width:200px}.billing-table--wide{min-width:1200px}.load-summary{margin-bottom:1rem;padding:.9rem 1rem 1rem;background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow)}.load-summary--ok{border-color:color-mix(in srgb,#72bf44 45%,var(--border))}.load-summary--error{border-color:color-mix(in srgb,#e07070 55%,var(--border))}.load-summary__head{display:flex;justify-content:space-between;gap:1rem;align-items:flex-start;margin-bottom:.85rem}.load-summary__title{margin:0;font-size:.95rem;font-weight:700}.load-summary__sub{margin:.2rem 0 0;font-size:.78rem;color:var(--text-muted)}.load-summary__actions{display:flex;gap:.5rem;align-items:center}.load-summary__badge{font-size:.72rem;font-weight:700;padding:.25rem .55rem;border-radius:999px;letter-spacing:.02em}.load-summary__badge--ok{background:color-mix(in srgb,#72bf44 25%,transparent);color:#3d7a1f}.load-summary__badge--error{background:color-mix(in srgb,#e07070 28%,transparent);color:#a03333}.load-summary__badge--unknown{background:color-mix(in srgb,var(--text-muted) 18%,transparent);color:var(--text-muted)}[data-theme=dark] .load-summary__badge--ok,:root:not([data-theme=light]) .load-summary__badge--ok{color:#9cd73d}.load-summary__refresh{font-size:.75rem;font-weight:600;padding:.3rem .65rem;border-radius:8px;border:1px solid var(--border);background:var(--bg);color:var(--text);cursor:pointer}.load-summary__refresh:disabled{opacity:.6;cursor:default}.load-summary__error{margin:0 0 .75rem;color:#c04444;font-size:.85rem}.load-summary__grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.65rem}@media(max-width:900px){.load-summary__grid{grid-template-columns:1fr}.load-summary__head{flex-direction:column}}.load-summary__card{padding:.7rem .8rem;border:1px solid var(--border);border-radius:10px;background:var(--bg)}.load-summary__card-top{display:flex;justify-content:space-between;align-items:center;gap:.5rem}.load-summary__card-top h3{margin:0;font-size:.8rem;font-weight:700}.load-summary__dot{width:.55rem;height:.55rem;border-radius:50%;flex-shrink:0}.load-summary__dot--ok{background:#72bf44}.load-summary__dot--err{background:#e07070}.load-summary__dot--miss{background:#999}.load-summary__card-summary{margin:.45rem 0 .25rem;font-size:.78rem;line-height:1.35;color:var(--text)}.load-summary__card-meta{margin:0;font-size:.72rem;color:var(--text-muted)}.billing-price-row th{border-bottom:none!important;padding-top:.55rem!important;padding-bottom:.35rem!important;background:transparent!important;vertical-align:bottom}.billing-price-row__spacer{background:transparent!important}.billing-price-chip{font-size:.72rem!important;font-weight:700!important;letter-spacing:.01em;white-space:nowrap;border-radius:8px!important;border:1px solid var(--border)!important;box-shadow:none!important}.billing-price-chip--met{background:color-mix(in srgb,#f0a060 28%,var(--bg-card))!important;color:var(--text)!important}.billing-price-chip--nac{background:color-mix(in srgb,#c9a0e8 32%,var(--bg-card))!important;color:var(--text)!important}.billing-price-chip--int{background:color-mix(in srgb,#9b6bc9 34%,var(--bg-card))!important;color:var(--text)!important}.report-filter--periods{min-width:min(520px,100%);flex:1}.period-multi{display:flex;flex-wrap:wrap;gap:.4rem}.period-chip{display:inline-flex;align-items:center;gap:.35rem;padding:.35rem .65rem;border:1px solid var(--border);border-radius:999px;background:var(--bg);font-size:.78rem;font-weight:600;cursor:pointer;-webkit-user-select:none;user-select:none}.period-chip input{margin:0}.period-chip--on{border-color:color-mix(in srgb,#72bf44 55%,var(--border));background:color-mix(in srgb,#72bf44 18%,var(--bg))}.period-chip--empty{cursor:default;opacity:.7}.billing-filters__actions{display:flex;align-items:flex-end;margin-left:auto}.billing-export-btn{min-height:2.4rem;padding:.45rem .9rem;border-radius:8px;border:1px solid color-mix(in srgb,#72bf44 50%,var(--border));background:color-mix(in srgb,#72bf44 22%,var(--bg-card));color:var(--text);font-weight:700;font-size:.82rem;cursor:pointer}.billing-export-btn:disabled{opacity:.55;cursor:default}.billing-month-block{padding:.75rem 1rem 1rem;border-top:1px solid var(--border)}.billing-month-block:first-of-type{border-top:none}.billing-month-title{margin:0 0 .65rem;font-size:1rem;font-weight:700;color:var(--text)}.billing-table tfoot td.cell-total--best{position:relative;background:linear-gradient(180deg,#2f5a18,#1f3d10)!important;color:#d8ff8a!important;box-shadow:inset 0 0 0 2px #9cd73d;text-shadow:0 0 12px rgba(156,215,61,.35)}.cell-total__tag{display:block;margin-top:.15rem;font-size:.62rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:#b6e86a;opacity:.95}[data-theme=light] .billing-table tfoot td.cell-total--best{background:linear-gradient(180deg,#3f7a22,#2a5615)!important;color:#f3ffd6!important}.scenario-hero .scenario-chart-wrap{padding:.75rem 1rem 1rem}.scenario-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:.85rem;margin-bottom:1.25rem;align-items:stretch}.scenario-grid--aligned{grid-template-columns:repeat(5,minmax(0,1fr))}@media(max-width:1400px){.scenario-grid--aligned{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:900px){.scenario-grid--aligned{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:560px){.scenario-grid--aligned{grid-template-columns:1fr}}.scenario-card{--amt-w: 5.85rem;background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);padding:1rem 1.05rem 1.1rem;display:flex;flex-direction:column;gap:.55rem;position:relative;overflow:hidden;height:100%;min-height:0}.scenario-card:before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:var(--scenario-accent, var(--accent))}.scenario-card--met{--scenario-accent: #e09155}.scenario-card--nac{--scenario-accent: #a889d4}.scenario-card--int{--scenario-accent: #8b6bb8}.scenario-card--vf{--scenario-accent: #5aa0d6}.scenario-card--hybrid{--scenario-accent: #d4a24c}.scenario-card--best{box-shadow:0 0 0 2px color-mix(in srgb,#72bf44 65%,transparent),var(--shadow)}.scenario-card__head{display:flex;justify-content:space-between;gap:.75rem;align-items:flex-start;min-height:3.6rem}.scenario-card__eyebrow{margin:0;font-size:.72rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:var(--text-muted)}.scenario-card__head h3{margin:.2rem 0 0;font-size:.92rem;line-height:1.3;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.scenario-card__badge{flex-shrink:0;font-size:.68rem;font-weight:800;letter-spacing:.04em;text-transform:uppercase;padding:.28rem .5rem;border-radius:999px;background:color-mix(in srgb,#72bf44 28%,transparent);color:#3f7a22}[data-theme=dark] .scenario-card__badge,:root:not([data-theme=light]) .scenario-card__badge{color:#b6e86a}.scenario-card__blurb{margin:0;font-size:.78rem;line-height:1.4;color:var(--text-muted)}.scenario-card__total{margin:.1rem 0 0;font-size:1.45rem;font-weight:800;font-variant-numeric:tabular-nums;font-feature-settings:"tnum" 1;color:var(--text);text-align:right;width:var(--amt-w);max-width:100%;align-self:flex-end;line-height:1.15}.scenario-card__lines{list-style:none;margin:.25rem 0 0;padding:.55rem 0 0;border-top:1px solid var(--border);display:flex;flex-direction:column;gap:.32rem;flex:1 1 auto;min-height:7.5rem}.scenario-card__lines li{display:grid;grid-template-columns:minmax(0,1fr) var(--amt-w);column-gap:.55rem;align-items:start;font-size:.78rem}.scenario-card__lines span{color:var(--text-muted);min-width:0;line-height:1.3;overflow-wrap:break-word;-webkit-hyphens:auto;hyphens:auto}.scenario-card__lines li.is-pad{visibility:hidden;pointer-events:none}.scenario-card__lines strong{font-variant-numeric:tabular-nums;font-feature-settings:"tnum" 1;white-space:nowrap;width:var(--amt-w);text-align:right;line-height:1.3;justify-self:end}.scenario-card__costs{display:grid;grid-template-columns:minmax(0,1fr) minmax(10.5rem,42%);gap:.55rem;align-items:end;margin-top:.1rem}.scenario-card__costs-main{display:flex;flex-direction:column;justify-content:flex-end;align-items:flex-end;min-width:0;padding-bottom:.1rem}.scenario-card__costs-label{font-size:.62rem;font-weight:750;letter-spacing:.05em;text-transform:uppercase;color:var(--text-muted);width:100%;text-align:right}.scenario-card__kpi-rail{display:flex;flex-direction:column;gap:.28rem;padding:.4rem .5rem;border-left:2px solid color-mix(in srgb,var(--scenario-accent, var(--accent)) 70%,var(--border));background:color-mix(in srgb,var(--scenario-accent, var(--accent)) 8%,transparent);border-radius:0 8px 8px 0;min-width:0}.scenario-kpi{display:grid;grid-template-columns:minmax(0,1fr) var(--amt-w);column-gap:.35rem;align-items:baseline;line-height:1.2}.scenario-kpi__label{font-size:.58rem;font-weight:700;letter-spacing:.03em;text-transform:uppercase;color:var(--text-muted);min-width:0;line-height:1.25;overflow-wrap:break-word}.scenario-kpi__value{font-size:.78rem;font-variant-numeric:tabular-nums;font-feature-settings:"tnum" 1;font-weight:750;white-space:nowrap;width:var(--amt-w);text-align:right;justify-self:end}.scenario-kpi--accent .scenario-kpi__value{color:color-mix(in srgb,var(--scenario-accent, var(--accent)) 90%,var(--text))}.scenario-kpi--ok .scenario-kpi__value{color:#72bf44}.scenario-kpi--warn .scenario-kpi__value{color:#e09155}.scenario-card__fuera{display:grid;grid-template-columns:auto minmax(0,1fr) var(--amt-w);column-gap:.45rem;align-items:center;padding:.4rem .5rem;border:1px dashed var(--border);border-radius:8px;font-size:.68rem}.scenario-card__fuera-title{font-size:.58rem;font-weight:800;letter-spacing:.05em;text-transform:uppercase;color:var(--text-muted);padding-right:.35rem;border-right:1px solid var(--border)}.scenario-card__fuera-row{display:contents}.scenario-card__fuera-row span{color:var(--text-muted);min-width:0;line-height:1.25}.scenario-card__fuera-row strong{font-variant-numeric:tabular-nums;font-feature-settings:"tnum" 1;font-weight:700;white-space:nowrap;width:var(--amt-w);text-align:right;justify-self:end}.scenario-tooltip{background:var(--bg-card);border:1px solid var(--border);border-radius:8px;padding:.5rem .65rem;box-shadow:var(--shadow);font-size:.8rem}.scenario-tooltip em{display:block;margin-top:.2rem;font-style:normal;font-weight:700;color:#72bf44}.scenario-hero--compact .billing-panel__head{padding:.55rem .85rem}.scenario-hero--compact .scenario-chart-wrap{padding:.35rem .75rem .55rem}.scenario-hint{margin:0 0 .65rem;font-size:.8rem;color:var(--text-muted)}.scenario-grid--compact{gap:.65rem}.scenario-grid--compact .scenario-card{padding:.75rem .85rem .8rem;gap:.35rem;text-align:left}.scenario-grid--compact .scenario-card__blurb{font-size:.72rem;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;min-height:2.1rem}.scenario-grid--compact .scenario-card__head{min-height:3.35rem}.scenario-grid--compact .scenario-card__costs{min-height:4.6rem}.scenario-grid--compact .scenario-card__lines{gap:.22rem;padding-top:.4rem}.scenario-grid--compact .scenario-card__lines li{font-size:.72rem}.scenario-grid--compact .scenario-card{--amt-w: 5.5rem}.scenario-grid--compact .scenario-card__costs{gap:.4rem;grid-template-columns:minmax(0,1fr) minmax(9.8rem,46%)}.scenario-grid--compact .scenario-card__kpi-rail{padding:.32rem .4rem}.scenario-grid--compact .scenario-kpi__value{font-size:.72rem}.scenario-grid--compact .scenario-card__fuera{padding:.32rem .4rem}.scenario-grid--compact .scenario-card__lines{min-height:6.8rem}.scenario-grid--compact .scenario-card__total{font-size:1.2rem}.scenario-card--clickable{cursor:pointer;width:100%;font:inherit;color:inherit;transition:transform .12s ease,box-shadow .12s ease}.scenario-card--clickable:hover{transform:translateY(-1px)}.scenario-card--active{box-shadow:0 0 0 2px color-mix(in srgb,var(--scenario-accent, #72bf44) 70%,transparent),var(--shadow)}.scenario-card__cta{margin-top:auto;padding-top:.35rem;font-size:.72rem;font-weight:700;color:color-mix(in srgb,var(--scenario-accent, var(--accent)) 85%,var(--text))}.scenario-detail .billing-panel__head{display:flex;justify-content:space-between;align-items:center;gap:.75rem}.scenario-detail__close{border:1px solid var(--border);background:var(--bg);color:var(--text);border-radius:8px;padding:.3rem .65rem;font-size:.75rem;font-weight:650;cursor:pointer}.scenario-detail__intro{margin:0;padding:.55rem 1rem 0;font-size:.82rem;color:var(--text-muted)}.scenario-detail__body{width:100%;max-width:100%;overflow-x:hidden;padding:.65rem 1rem 1rem;box-sizing:border-box}.scenario-detail-table{width:100%!important;max-width:100%;min-width:0!important;margin:0;table-layout:auto}.scenario-detail-table th,.scenario-detail-table td{white-space:normal;word-break:break-word;overflow-wrap:anywhere}.scenario-detail-table th.num,.scenario-detail-table td.num{white-space:nowrap}.scenario-bucket{display:inline-block;padding:.15rem .45rem;border-radius:999px;font-size:.7rem;font-weight:700;white-space:normal;max-width:100%;line-height:1.25}.bucket-in{background:color-mix(in srgb,#72bf44 22%,transparent);color:#3f7a22}.bucket-out{background:color-mix(in srgb,#e09155 24%,transparent);color:#8a4a18}.bucket-vf{background:color-mix(in srgb,#5aa0d6 24%,transparent);color:#1f5f8a}.bucket-fixed{background:color-mix(in srgb,#a889d4 24%,transparent);color:#5a3d82}.bucket-met{background:color-mix(in srgb,#d4a24c 22%,transparent);color:#7a5a18}[data-theme=dark] .bucket-in,:root:not([data-theme=light]) .bucket-in{color:#b6e86a}[data-theme=dark] .bucket-out,:root:not([data-theme=light]) .bucket-out{color:#f0b080}[data-theme=dark] .bucket-vf,:root:not([data-theme=light]) .bucket-vf{color:#9ec9ef}[data-theme=dark] .bucket-fixed,:root:not([data-theme=light]) .bucket-fixed{color:#d2b8f0}[data-theme=dark] .bucket-met,:root:not([data-theme=light]) .bucket-met{color:#f0d08a}.scenario-chart-wrap .recharts-bar-rectangle{cursor:pointer}.scenario-extra-panel{margin-bottom:.85rem}.scenario-extra-empty{margin:0;padding:.75rem 0;font-size:.85rem;color:var(--text-muted)}
