:root{--color-bg:#f7faf8;--color-surface:#fff;--color-surface-soft:#eef5f1;--color-ink:#243d36;--color-muted:#6f7885;--color-primary:#315f52;--color-primary-strong:#164f40;--color-primary-soft:#dfeae5;--color-border:#d8e4df;--color-grid:#e4ece8;--shadow-card:0 14px 34px #1f473b14;--shadow-soft:0 8px 22px #1f473b1a;--radius-card:8px;--max-content:1280px}*,:before,:after{box-sizing:border-box}body{background:radial-gradient(circle at right top, #315f5214, transparent 260px), var(--color-bg);color:var(--color-ink);-webkit-font-smoothing:antialiased;margin:0;font-family:system-ui,Segoe UI,Roboto,sans-serif;font-size:14px}#root{flex-direction:column;min-height:100vh;display:flex}h1,h2,h3,p{margin:0}button{font-family:inherit}button,input,select{font:inherit}.login-shell{background:radial-gradient(circle at 68% 26%,#315f5214,#0000 160px),linear-gradient(135deg,#fbfcfb 0%,#f3f8f5 100%);place-items:center;min-height:100vh;padding:32px;display:grid}.login-card{background:var(--color-surface);border:1px solid var(--color-border);width:min(680px,100%);min-height:430px;box-shadow:var(--shadow-card);border-radius:16px;padding:70px 34px 34px;position:relative;overflow:hidden}.login-card:after{content:"";background:var(--color-surface-soft);opacity:.7;border-radius:50%;width:128px;height:128px;position:absolute;top:8px;right:34px}.brand-lockup{color:var(--color-primary);flex-direction:column;gap:2px;margin-bottom:54px;font-weight:700;display:flex}.brand-lockup strong{letter-spacing:-.02em;font-size:1.55rem}.brand-lockup span{font-size:.88rem;font-weight:500}.eyebrow{color:var(--color-muted);letter-spacing:.16em;text-transform:uppercase;font-size:.78rem;font-weight:800}.login-title{max-width:440px;color:var(--color-primary-strong);letter-spacing:0;margin:18px 0 14px;font-size:clamp(3rem,7vw,4rem);line-height:1.08}.login-copy{max-width:520px;color:var(--color-muted);margin-bottom:26px;font-size:1rem}.app-shell{grid-template-columns:220px minmax(0,1fr);min-height:100vh;display:grid}.sidebar{border-right:1px solid var(--color-border);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffffc7;flex-direction:column;gap:28px;height:100vh;padding:44px 18px 24px;display:flex;position:sticky;top:0}.sidebar-brand{padding:0 10px}.sidebar-logo{width:100%;max-width:190px;height:auto;margin-bottom:6px;display:block}.sidebar-brand strong{color:var(--color-primary);font-size:1.1rem;line-height:1.1;display:block}.sidebar-brand span{color:var(--color-muted);font-size:.72rem}.sidebar-nav{flex-direction:column;gap:6px;display:flex}.sidebar-link{color:var(--color-muted);white-space:nowrap;border-radius:999px;padding:12px 14px;font-size:.9rem;font-weight:700;text-decoration:none}.sidebar-link.active{background:var(--color-surface-soft);color:var(--color-primary)}.sidebar-action{margin-top:auto}.app-content{min-width:0;padding:42px clamp(22px,4vw,56px) 56px}.topbar{max-width:var(--max-content);justify-content:space-between;align-items:flex-start;gap:24px;margin:0 auto 28px;display:flex}.page-heading{align-items:center;gap:18px;display:flex}.topbar-action{white-space:nowrap;align-self:center}.topbar-action:disabled{opacity:.6;cursor:progress}.page-mark-img{object-fit:contain;width:64%;height:64%}.page-mark{background:var(--color-surface-soft);width:72px;height:72px;color:var(--color-primary);border:2px solid #c9ddd5;border-radius:50%;place-items:center;font-size:1.6rem;font-weight:900;display:grid}.page-title{color:var(--color-ink);letter-spacing:0;margin:0;font-size:clamp(2.4rem,4vw,3.4rem);line-height:1}.page-subtitle{color:var(--color-muted);margin-top:8px;font-size:.98rem}.content-stack{max-width:var(--max-content);margin:0 auto}.btn-primary,.btn-ghost{border:1px solid var(--color-primary);cursor:pointer;border-radius:999px;min-height:38px;padding:0 18px;font-weight:800}.btn-primary{background:var(--color-primary-strong);color:#fff;box-shadow:var(--shadow-soft)}.btn-ghost{color:var(--color-primary);background:#fff}.filters-panel{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-card);box-shadow:var(--shadow-card);padding:22px}.visual-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-card);min-height:410px;box-shadow:var(--shadow-card);padding:24px}.visual-title{background:var(--color-primary);color:#fff;border-radius:7px;align-items:center;min-height:34px;margin:0 0 18px;padding:0 16px;font-size:1rem;font-weight:850;display:inline-flex;box-shadow:0 10px 20px #315f5229}.empty-state{text-align:center;min-height:260px;color:var(--color-muted);place-content:center;gap:8px;display:grid}.empty-state strong{color:var(--color-primary);font-size:1.15rem}.empty-state span{max-width:320px;line-height:1.35}.gauge-card{min-height:260px}.compliance-meter{gap:18px;padding:34px 18px 12px;display:grid}.compliance-meter-value{color:var(--color-primary);text-align:center;font-size:clamp(1.8rem,3vw,2.5rem);font-weight:900}.compliance-meter-track{background:repeating-linear-gradient(to right, transparent 0, transparent calc(25% - 1px), #315f5233 calc(25% - 1px), #315f5233 25%), var(--color-surface-soft);border:1px solid var(--color-border);border-radius:999px;height:30px;position:relative;overflow:hidden}.compliance-meter-fill{border-radius:inherit;background:linear-gradient(90deg, #7fa094, var(--color-primary));height:100%;transition:width .18s}.compliance-meter-mark{background:#ffffffd1;width:1px;position:absolute;top:0;bottom:0}.compliance-meter-labels{color:var(--color-muted);grid-template-columns:repeat(5,1fr);font-size:.78rem;font-weight:800;display:grid}.compliance-meter-labels span{text-align:center}.compliance-meter-labels span:first-child{text-align:left}.compliance-meter-labels span:last-child{text-align:right}.kpi-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-card);min-width:190px;box-shadow:var(--shadow-card);grid-template-columns:54px minmax(0,1fr);align-items:center;gap:14px;padding:18px;display:grid}.kpi-icon{background:linear-gradient(145deg, #6f968a, var(--color-primary));color:#fff;border-radius:50%;place-items:center;width:48px;height:48px;font-weight:900;display:grid;box-shadow:inset 0 0 0 2px #ffffff2e}.kpi-label{color:var(--color-muted);font-size:.82rem;font-weight:800}.kpi-value{color:var(--color-primary);white-space:nowrap;font-variant-numeric:tabular-nums;font-size:clamp(.98rem,1.35vw,1.22rem);font-weight:850;line-height:1.15}.slicer-group{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.slicer-label{color:var(--color-muted);letter-spacing:.13em;text-transform:uppercase;font-size:.75rem;font-weight:850}.slicer-input{border:1px solid var(--color-border);min-height:38px;color:var(--color-primary);--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;appearance:none;cursor:pointer;background:#fff;border-radius:999px;padding:0 14px;font-size:.82rem;font-weight:700;transition:border-color .14s,box-shadow .14s,background .14s}.slicer-input:hover{background:#fbfdfc;border-color:#a9c4ba}.slicer-input:focus-visible,.slicer-input:focus{border-color:var(--color-primary);outline:none;box-shadow:0 0 0 3px #315f5224}.slicer-input[type=date],.slicer-input[type=month]{padding-right:10px}.slicer-input::-webkit-calendar-picker-indicator{cursor:pointer;opacity:.75;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%23315f52' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='4' width='18' height='18' rx='2'/%3E%3Cpath d='M16 2v4M8 2v4M3 10h18'/%3E%3C/svg%3E");background-position:50%;background-repeat:no-repeat;background-size:contain;width:15px;height:15px;margin-left:6px;transition:opacity .14s}.slicer-input::-webkit-calendar-picker-indicator:hover{opacity:1}.slicer-input::-webkit-datetime-edit{padding:0}select.slicer-input{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%23315f52' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");background-position:right 12px center;background-repeat:no-repeat;background-size:15px;padding-right:34px}.slicer-group>span:not(.slicer-label){color:var(--color-muted);font-weight:700}.rangepicker{position:relative}.rangepicker-trigger{text-align:left;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%23315f52' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='4' width='18' height='18' rx='2'/%3E%3Cpath d='M16 2v4M8 2v4M3 10h18'/%3E%3C/svg%3E");background-position:right 12px center;background-repeat:no-repeat;background-size:15px;align-items:center;gap:8px;min-width:190px;padding-right:34px;display:inline-flex}.rangepicker-trigger.is-empty{color:var(--color-muted);font-weight:600}.rangepicker-pop{z-index:30;border:1px solid var(--color-border);background:var(--color-surface);width:268px;box-shadow:var(--shadow-card);border-radius:14px;padding:14px;position:absolute;top:calc(100% + 8px);left:0}.rangepicker-head{justify-content:space-between;align-items:center;margin-bottom:12px;display:flex}.rangepicker-head strong{color:var(--color-primary-strong);text-transform:capitalize;font-size:.92rem}.rangepicker-nav{border:1px solid var(--color-border);width:30px;height:30px;color:var(--color-primary);cursor:pointer;background:#fff;border-radius:50%;place-items:center;font-size:1.1rem;font-weight:800;transition:background .14s,border-color .14s;display:grid}.rangepicker-nav:hover:not(:disabled){background:var(--color-surface-soft);border-color:var(--color-primary)}.rangepicker-nav:disabled{opacity:.35;cursor:not-allowed}.rangepicker-grid{grid-template-columns:repeat(7,1fr);gap:2px;display:grid}.rangepicker-months{grid-template-columns:repeat(3,1fr);gap:6px;display:grid}.rangepicker-dow{height:26px;color:var(--color-muted);place-items:center;font-size:.7rem;font-weight:800;display:grid}.rangepicker-cell{height:34px;color:var(--color-ink);cursor:pointer;background:0 0;border:none;border-radius:8px;font-size:.82rem;font-weight:700;transition:background .12s,color .12s}.rangepicker-months .rangepicker-cell{text-transform:capitalize;height:40px}.rangepicker-cell:hover:not(:disabled){background:var(--color-surface-soft)}.rangepicker-cell:disabled{color:#c3ccc8;cursor:not-allowed}.rangepicker-cell.in-range{background:var(--color-primary-soft);color:var(--color-primary-strong);border-radius:4px}.rangepicker-cell.is-end{background:var(--color-primary);color:#fff;border-radius:8px;box-shadow:0 6px 14px #315f523d}.rangepicker-foot{border-top:1px solid var(--color-border);justify-content:space-between;margin-top:12px;padding-top:10px;display:flex}.rangepicker-foot button{color:var(--color-primary);cursor:pointer;background:0 0;border:none;border-radius:6px;padding:4px 6px;font-size:.8rem;font-weight:800}.rangepicker-foot button:hover{background:var(--color-surface-soft)}.filters-panel{gap:18px}.dashboard-filters{grid-template-columns:repeat(3,minmax(240px,1fr));align-items:start;gap:18px;display:grid}.dashboard-filters.compact{grid-template-columns:minmax(240px,320px) minmax(240px,1fr) minmax(240px,1fr)}.comparison-filters{grid-template-columns:minmax(280px,.8fr) minmax(280px,.8fr) minmax(360px,1.4fr);align-items:stretch;gap:18px;display:grid}.comparison-filter-column{border:1px solid var(--color-border);border-radius:var(--radius-card);background:#fbfdfc;align-content:start;gap:12px;padding:14px;display:grid}.comparison-filter-column>strong{background:var(--color-primary);color:#fff;letter-spacing:.08em;border-radius:999px;align-items:center;width:max-content;min-height:30px;padding:0 14px;font-size:.82rem;font-weight:900;display:inline-flex}.comparison-shared-filters{align-content:start;gap:12px;display:grid}.page-stack{flex-direction:column;gap:1.35rem;display:flex}.kpi-grid{grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:1.1rem;display:grid}.subtabs-grid{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1.35rem;display:grid}.summary-hero{color:#fff;background:linear-gradient(135deg,#244a40 0%,#315f52 58%,#6f968a 100%);border-radius:18px;flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:2rem;padding:clamp(1.4rem,3vw,2.25rem);display:flex;box-shadow:0 18px 38px #1e483d33}.summary-hero h2{margin:.35rem 0 .5rem;font-size:clamp(1.55rem,3vw,2.35rem)}.summary-hero p{color:#ffffffd1;max-width:650px;margin:0;line-height:1.5}.summary-hero .eyebrow{color:#d9eee7}.summary-hero__metrics{flex-wrap:wrap;gap:1.6rem;display:flex}.summary-hero__metrics div{min-width:125px}.summary-hero__metrics strong{white-space:nowrap;font-variant-numeric:tabular-nums;font-size:clamp(1.05rem,1.7vw,1.45rem);display:block}.summary-hero__metrics span{color:#ffffffb8;margin-top:.25rem;font-size:.72rem;display:block}.summary-area-card{flex-direction:column;min-height:210px;transition:transform .18s,box-shadow .18s;display:flex}.summary-area-card:hover{transform:translateY(-3px);box-shadow:0 16px 34px #254c4124}.summary-area-card__metrics{flex-wrap:wrap;gap:1.25rem;margin-bottom:.7rem;display:flex}.summary-area-card__value{color:var(--color-primary);white-space:nowrap;font-variant-numeric:tabular-nums;margin:0;font-size:1.05rem;font-weight:750}.summary-area-card__label,.summary-area-card__notice{color:var(--color-muted);margin:0;font-size:.7rem}.summary-area-card__copy{color:#354b43;margin:0;font-size:.82rem;line-height:1.5}.summary-area-card__link{color:var(--color-primary);margin-top:auto;padding-top:1rem;font-size:.8rem;font-weight:750;text-decoration:none;display:inline-block}.executive-summary__top{flex-wrap:wrap;align-items:flex-start;gap:1.75rem;display:flex}.executive-summary__score{text-align:center;min-width:110px}.executive-summary__score strong{font-variant-numeric:tabular-nums;font-size:2.6rem;line-height:1;display:block}.executive-summary__score span,.executive-summary__kpis span{color:var(--color-muted);margin-top:.3rem;font-size:.7rem;display:block}.executive-summary__copy{margin:.4rem 0 0;font-size:.88rem;line-height:1.5}.executive-summary__kpis{flex-wrap:wrap;gap:1.75rem;margin-top:1.25rem;display:flex}.executive-summary__kpis strong{font-variant-numeric:tabular-nums;font-size:1.2rem}.executive-summary__advice{border-top:1px solid var(--color-border);margin-top:1.25rem;padding-top:1rem;font-size:.82rem}.executive-summary__advice ul{margin:.5rem 0 0;padding-left:1.1rem}.tremor-card{text-align:left;width:100%;box-shadow:var(--shadow-card);background:#fff;border:1px solid #00000014;border-radius:.75rem;padding:1.25rem;position:relative}.tremor-metric{flex-direction:column;gap:.25rem;display:flex}.tremor-metric__label,.tremor-metric__subtext{color:var(--color-muted);margin:0}.tremor-metric__label{font-size:.875rem;font-weight:600}.tremor-metric__subtext{font-size:.75rem}.tremor-metric__value{color:#111827;white-space:nowrap;font-variant-numeric:tabular-nums;margin:0;font-size:clamp(1rem,1.5vw,1.35rem);font-weight:750}.tremor-progress{align-items:center;width:100%;display:flex}.tremor-progress__track{border-radius:999px;width:100%;min-width:70px;height:8px;display:flex;position:relative;overflow:hidden}.tremor-progress__bar{border-radius:inherit;height:100%}.tremor-progress__bar.is-animated{transition:width .3s ease-in-out}.tremor-progress__track--success{background:#a7f3d0}.tremor-progress__bar--success{background:#10b981}.tremor-progress__track--warning{background:#fde68a}.tremor-progress__bar--warning{background:#eab308}.tremor-progress__track--alto{background:#fed7aa}.tremor-progress__bar--alto{background:#c2560f}.tremor-progress__track--error{background:#fecaca}.tremor-progress__bar--error{background:#ef4444}.tremor-progress__label{white-space:nowrap;color:#111827;font-variant-numeric:tabular-nums;margin-left:.5rem;font-size:.75rem;font-weight:600;line-height:1}.tremor-badge{border-radius:.375rem;align-items:center;padding:.25rem .5rem;font-size:.75rem;font-weight:600;display:inline-flex}.tremor-badge--default{color:#1e3a8a;background:#eff6ff}.tremor-badge--neutral{color:#111827;background:#f3f4f6}.tremor-badge--success{color:#064e3b;background:#ecfdf5}.tremor-badge--warning{color:#713f12;background:#fefce8}.tremor-badge--error{color:#7f1d1d;background:#fef2f2}.tremor-metric-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:.75rem;display:grid}.visual-grid{grid-template-columns:repeat(2,minmax(460px,1fr));align-items:stretch;gap:1.35rem;display:grid}.visual-card.compact{min-height:0}.visual-card.full-width{grid-column:1/-1}.visual-grid.single{grid-template-columns:minmax(0,1fr)}.split-grid{grid-template-columns:repeat(2,minmax(460px,1fr));align-items:start;gap:1.35rem;display:grid}.multi-select{position:relative}.multi-select summary{border:1px solid var(--color-border);min-height:38px;color:var(--color-muted);cursor:pointer;background:#fff;border-radius:999px;justify-content:space-between;align-items:center;gap:14px;padding:0 14px;list-style:none;display:flex}.multi-select summary::-webkit-details-marker{display:none}.multi-select summary strong{color:var(--color-primary);font-size:.82rem}.multi-select-menu{z-index:20;border:1px solid var(--color-border);width:min(420px,82vw);max-height:360px;box-shadow:var(--shadow-card);background:#fff;border-radius:10px;padding:10px;position:absolute;top:calc(100% + 8px);left:0;overflow:auto}.multi-select-actions{gap:8px;padding:4px 4px 10px;display:flex}.multi-select-actions button{border:1px solid var(--color-border);background:var(--color-surface-soft);min-height:30px;color:var(--color-primary);cursor:pointer;border-radius:999px;padding:0 12px;font-size:.78rem;font-weight:800}.multi-select-option{color:var(--color-ink);border-radius:8px;grid-template-columns:18px minmax(0,1fr);align-items:start;gap:8px;padding:8px;font-size:.84rem;font-weight:700;line-height:1.25;display:grid}.multi-select-option:hover{background:#f5faf7}.multi-select-option input{accent-color:var(--color-primary);margin-top:1px}.facturacion-grid{grid-template-columns:repeat(2,minmax(460px,1fr));align-items:stretch;gap:1.35rem;display:grid}.donut-card{min-height:560px}.donut-layout{grid-template-columns:minmax(250px,.95fr) minmax(240px,1.05fr);align-items:center;gap:18px;display:grid}.donut-chart{min-height:400px;position:relative}.donut-total{text-align:center;max-width:160px;color:var(--color-primary);pointer-events:none;flex-direction:column;align-items:center;display:flex;position:absolute;inset:50% auto auto 50%;transform:translate(-50%,-50%)}.donut-total strong{overflow-wrap:anywhere;font-size:.94rem}.donut-total span{color:var(--color-muted);font-size:.76rem;font-weight:800}.donut-legend{max-height:350px;padding-right:8px;overflow:auto}.donut-legend-row{color:var(--color-ink);grid-template-columns:12px minmax(0,1fr) auto;align-items:center;gap:8px;padding:6px 0;font-size:.82rem;display:grid}.donut-swatch{border-radius:2px;width:10px;height:10px}.donut-name{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.donut-legend-row strong{color:var(--color-primary);font-size:.78rem}.chip-button{border:1px solid var(--color-border);min-height:34px;color:var(--color-muted);cursor:pointer;background:#fff;border-radius:999px;padding:0 14px;font-size:.82rem;font-weight:800}.chip-button.active{border-color:var(--color-primary);background:var(--color-primary);color:#fff}.table-wrap{border:1px solid var(--color-border);border-radius:8px;overflow:auto}.pivot-table{border-collapse:collapse;background:#fff;width:100%}.pivot-table th{background:var(--color-primary);color:#fff;text-align:right;white-space:nowrap;z-index:1;padding:12px 14px;font-size:.78rem;font-weight:850;position:sticky;top:0}.pivot-table th:first-child,.pivot-table td:first-child{text-align:left}.pivot-table td{border-bottom:1px solid var(--color-border);color:#26332f;text-align:right;white-space:nowrap;padding:13px 14px}.wide-table-card{min-height:auto}.wide-table-card .table-wrap{width:100%}.wide-table-card .pivot-table th,.wide-table-card .pivot-table td{padding:12px 16px;font-size:.84rem}.wide-table-card .pivot-table th:first-child,.wide-table-card .pivot-table td:first-child{min-width:220px}.wide-table-card .pivot-table th:not(:first-child),.wide-table-card .pivot-table td:not(:first-child){min-width:120px}.pivot-table tbody tr:hover{background:#f8fbf9}.pivot-total-row{background:var(--color-surface-soft);font-weight:850}.recharts-cartesian-grid-horizontal line{stroke:var(--color-grid);stroke-dasharray:4 4}.sidebar-section{flex-direction:column;gap:6px;display:flex}.sidebar-section-toggle{cursor:pointer;width:100%;color:var(--color-muted);text-align:left;letter-spacing:.14em;text-transform:uppercase;background:0 0;border:1px solid #0000;border-radius:12px;justify-content:space-between;align-items:center;gap:10px;padding:11px 14px;font-size:.72rem;font-weight:800;line-height:1.35;transition:background .14s,color .14s,border-color .14s;display:flex}.sidebar-section-toggle:hover{background:var(--color-surface-soft);color:var(--color-primary)}.sidebar-section.open .sidebar-section-toggle{color:var(--color-primary);background:var(--color-surface-soft);border-color:var(--color-border)}.sidebar-caret{flex-shrink:0;font-size:1rem;line-height:1;transition:transform .16s}.sidebar-section.open .sidebar-caret{transform:rotate(180deg)}.sidebar-section-items{flex-direction:column;gap:4px;padding:4px 0 6px 6px;display:flex}.analytics-filters{flex-wrap:wrap;align-items:center;gap:14px;display:flex}.analytics-filters .multi-select{min-width:170px}.analytics-daterange{gap:8px}.analytics-daterange .slicer-input{min-width:140px}.analytics-reset{margin-left:auto}.analytics-filter-note{text-transform:none;letter-spacing:normal;color:var(--color-muted);font-weight:600}.stat-tile-hint{color:var(--color-muted);margin-top:2px;font-size:.72rem;font-weight:700}.analytics-note{color:var(--color-muted);font-size:.82rem;line-height:1.4}.analytics-note code{background:var(--color-surface-soft);border-radius:4px;padding:1px 5px;font-size:.78rem}.analytics-subhead{color:var(--color-primary-strong);letter-spacing:-.01em;margin-top:6px;font-size:1.05rem;font-weight:850}.heatmap-wrap{overflow-x:auto}.heatmap-grid{gap:3px;min-width:560px;display:grid}.heatmap-corner{min-height:18px}.heatmap-hlabel{text-align:center;color:var(--color-muted);font-size:.64rem;font-weight:700}.heatmap-dlabel{color:var(--color-muted);align-items:center;font-size:.72rem;font-weight:800;display:flex}.heatmap-cell{aspect-ratio:1;border:1px solid #315f520f;border-radius:3px;min-height:16px}.funnel{gap:16px;padding:6px 4px;display:grid}.funnel-row{gap:5px;display:grid}.funnel-head{justify-content:space-between;align-items:baseline;gap:10px;display:flex}.funnel-etapa{color:var(--color-ink);font-size:.9rem;font-weight:800}.funnel-value{color:var(--color-primary);font-size:.9rem;font-weight:850}.funnel-value em{color:var(--color-muted);margin-left:8px;font-size:.78rem;font-style:normal}.funnel-bar-track{background:var(--color-surface-soft);border-radius:7px;height:26px;overflow:hidden}.funnel-bar{border-radius:7px;height:100%;transition:width .2s}.funnel-drop{color:var(--color-danger);justify-self:end;font-size:.72rem;font-weight:800}.sankey{gap:12px;padding:6px 4px;display:grid}.sankey-row{grid-template-columns:120px minmax(0,1fr) 150px auto;align-items:center;gap:12px;display:grid}.sankey-node{color:var(--color-ink);font-size:.82rem;font-weight:800}.sankey-source{text-align:right}.sankey-link{background:var(--color-surface-soft);border-radius:999px;height:22px;overflow:hidden}.sankey-ribbon{opacity:.82;border-radius:999px;height:100%;transition:width .2s}.sankey-value{color:var(--color-primary);white-space:nowrap;font-size:.8rem;font-weight:850}.sankey-value em{color:var(--color-muted);font-style:normal;font-weight:700}.alert-list{gap:10px;display:grid}.alert-item{border:1px solid var(--color-border);background:#fbfdfc;border-left-width:4px;border-radius:8px;justify-content:space-between;align-items:center;gap:12px;padding:12px 14px;display:flex}.alert-item strong{color:var(--color-ink);font-size:.9rem;display:block}.alert-item span{color:var(--color-muted);font-size:.8rem}.alert-item.alert-negativo{border-left-color:var(--color-danger)}.alert-item.alert-neutral{border-left-color:var(--color-muted)}.alert-item.alert-positivo{border-left-color:var(--color-primary)}.alert-tag{background:var(--color-surface-soft);color:var(--color-primary);text-transform:capitalize;border-radius:999px;padding:3px 10px;font-size:.72rem;font-weight:850}.nl-launcher{z-index:40;background:var(--color-primary-strong);color:#fff;cursor:pointer;width:56px;height:56px;box-shadow:var(--shadow-card);border:none;border-radius:50%;font-size:1.5rem;font-weight:800;position:fixed;bottom:26px;right:26px}.nl-panel{z-index:40;border:1px solid var(--color-border);background:var(--color-surface);width:min(380px,100vw - 40px);box-shadow:var(--shadow-card);border-radius:14px;flex-direction:column;gap:14px;padding:18px;display:flex;position:fixed;bottom:94px;right:26px}.nl-header{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.nl-header strong{color:var(--color-primary);font-size:1rem;display:block}.nl-header span{color:var(--color-muted);font-size:.78rem}.nl-badge{background:var(--color-surface-soft);color:var(--color-primary);white-space:nowrap;border-radius:999px;padding:3px 9px;font-size:.68rem;font-weight:850}.nl-body{gap:12px;display:grid}.nl-bubble{border-radius:12px;padding:12px 14px;font-size:.84rem;line-height:1.4}.nl-bot{background:var(--color-surface-soft);color:var(--color-ink)}.nl-suggestions{flex-wrap:wrap;gap:8px;display:flex}.nl-chip{border:1px solid var(--color-border);color:var(--color-muted);background:#fff;border-radius:999px;padding:6px 10px;font-size:.74rem;font-weight:700}.nl-input-row{gap:8px;display:flex}.nl-input{border:1px solid var(--color-border);background:var(--color-surface-soft);min-height:38px;color:var(--color-muted);border-radius:999px;flex:1;padding:0 14px}.nl-input-row .btn-primary:disabled,.nl-input:disabled{opacity:.6;cursor:not-allowed}@media (width<=880px){.app-shell{grid-template-columns:1fr}.sidebar{height:auto;padding:18px;position:static}.sidebar-nav{flex-direction:row;padding-bottom:2px;overflow-x:auto}.topbar{flex-direction:column}.page-mark{width:56px;height:56px}.dashboard-filters,.comparison-filters,.facturacion-grid,.visual-grid,.split-grid,.donut-layout{grid-template-columns:1fr}.multi-select-menu{width:100%;margin-top:8px;position:static}}
