*{box-sizing:border-box}html,body,#app{width:100%;min-height:100%;overflow-x:hidden}body{margin:0;font-family:Sora,Segoe UI,Tahoma,sans-serif}h1,h2,h3{margin:0}.dashboard-layout.theme-dark{--bg-0:#14172b;--bg-1:#1c2040;--bg-2:#262a4d;--line:#3b4270;--ink-0:#edf0ff;--ink-1:#a5add1;--danger:#f56c7b;--row-soft:#707bce33;--row-total:#7c6cf638;--raw-bg:#0e1123b3;--hdr-presupuesto:#c46060;--hdr-facturacion:#2f8f55;--hdr-porcen:#3f63d8;--hdr-anterior:#f5c800;--hdr-warning:#d7a046;--cond-success:#2f8f5561;--cond-warning:#ffd95c73;--cond-danger:#c45d6466;--cond-warning-soft:#d7a04647;--cond-success-text:#f3fff8;--cond-warning-text:#0f1326;--cond-danger-text:#fff3f5;--cond-warning-soft-text:#f0f3ff;--total-presupuesto-bg:#c460603d;--total-facturacion-bg:#2f8f553d;--total-anterior-bg:#f5c8003d;--total-porcen-bg:#3f63d83d;background:radial-gradient(circle at 0 0,#7c6cf63d 0%,#7c6cf600 35%),radial-gradient(circle at 100% 20%,#46abff2e 0%,#46abff00 38%),linear-gradient(160deg,#121528 0%,#101328 42%,#0e1224 100%)}.dashboard-layout.theme-light{--bg-0:#eef2ff;--bg-1:#fff;--bg-2:#f4f7ff;--line:#ccd5f0;--ink-0:#1c2240;--ink-1:#536188;--danger:#c7364a;--row-soft:#11225914;--row-total:#5460bd29;--raw-bg:#eaeffff2;--hdr-presupuesto:#d07070;--hdr-facturacion:#389d61;--hdr-porcen:#4d6de0;--hdr-anterior:#f5c800;--hdr-warning:#e4b25f;--cond-success:#389d613d;--cond-warning:#ffd95c6b;--cond-danger:#c76a723d;--cond-warning-soft:#e4b25f38;--cond-success-text:#1b4f34;--cond-warning-text:#2a2400;--cond-danger-text:#6a2430;--cond-warning-soft-text:#463100;--total-presupuesto-bg:#d0707033;--total-facturacion-bg:#389d6133;--total-anterior-bg:#f5c80033;--total-porcen-bg:#4d6de033;background:radial-gradient(circle at 0 0,#5a6ed22e 0%,#5a6ed200 38%),radial-gradient(circle at 100% 30%,#41a0e624 0%,#41a0e600 42%),linear-gradient(160deg,#eef2ff 0%,#f4f7ff 45%,#edf1fd 100%)}.dashboard-layout{color:var(--ink-0)}.dashboard-header{border-bottom:1px solid #fff3;background:#051f47!important}.dashboard-toolbar{min-height:66px;padding:0 16px}.dashboard-toolbar-session{background:#ffffff0a;border-top:1px solid #ffffff1f;min-height:72px;padding-top:8px;padding-bottom:10px}.brand-title{letter-spacing:.06em;color:#fff;font-weight:800}.header-actions{align-items:center;gap:8px;display:flex}.dashboard-page{padding:clamp(8px,1.2vw,14px)}.header-session-content{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;width:100%;display:flex}.login-shell{justify-content:center;padding-top:40px;display:flex}.login-card{border:1px solid var(--line);width:100%;max-width:430px;color:var(--ink-0);background:linear-gradient(165deg, var(--bg-1), var(--bg-2));border-radius:14px}.login-title{font-size:1.45rem;font-weight:700}.login-subtitle{color:var(--ink-1);margin-top:4px;font-size:.88rem}.login-form{gap:12px;display:grid}.login-card .q-field{width:100%}.theme-dark .login-card .q-field--dark.q-field--outlined .q-field__control{color:#101833;background:#f2f6fff5}.theme-dark .login-card .q-field--dark .q-field__native,.theme-dark .login-card .q-field--dark .q-field__input{color:#101833}.theme-dark .login-card .q-field--dark .q-field__label{color:#1018338f}.theme-dark .login-card .q-field--dark.q-field--float .q-field__label,.theme-dark .login-card .q-field--dark.q-field--focused .q-field__label{color:#101833b8}.theme-dark .login-card .q-field--dark.q-field--outlined .q-field__control:before{border-color:#818fd273}.theme-dark .login-card .q-field--dark.q-field--outlined .q-field__control:hover:before,.theme-dark .login-card .q-field--dark.q-field--outlined.q-field--focused .q-field__control:before{border-color:#6077e2b8}.login-card input:-webkit-autofill{-webkit-text-fill-color:#101833;transition:background-color 9999s ease-in-out;box-shadow:inset 0 0 0 1000px #f2f6fff5}.login-card input:-webkit-autofill:hover{-webkit-text-fill-color:#101833;transition:background-color 9999s ease-in-out;box-shadow:inset 0 0 0 1000px #f2f6fff5}.login-card input:-webkit-autofill:focus{-webkit-text-fill-color:#101833;transition:background-color 9999s ease-in-out;box-shadow:inset 0 0 0 1000px #f2f6fff5}.dashboard-shell{flex-direction:column;align-items:stretch;gap:12px;width:100%;max-width:none;margin:0 auto;display:flex}.indicator-section-stack{gap:14px;display:grid}.indicator-section-card{border:1px solid var(--line);color:var(--ink-0);background:linear-gradient(165deg, var(--bg-1), var(--bg-2));border-radius:16px}.indicator-section-header{padding:clamp(10px,1vw,14px)}.indicator-section-title{letter-spacing:.01em;text-transform:uppercase;font-size:1.05rem;font-weight:800}.indicator-section-body{padding:clamp(8px,.9vw,12px)}.user-block{gap:2px;display:grid}.user-name{font-size:1rem;font-weight:700}.user-handle{color:var(--ink-1);font-size:.83rem}.controls-block{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.refresh-button-loading .q-icon{animation:.9s linear infinite refresh-spin}@keyframes refresh-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.indicator-grid{grid-template-columns:repeat(12,minmax(0,1fr));gap:12px;display:grid}.indicator-card{--indicator-card-radius:14px;border:1px solid var(--line);border-radius:var(--indicator-card-radius);color:var(--ink-0);background:linear-gradient(165deg, var(--bg-1), var(--bg-2));isolation:isolate;grid-column:span 12;min-width:0;position:relative;overflow:hidden}.indicator-card.span-8{grid-column:span 8}.indicator-card.span-6{grid-column:span 6}.indicator-card.span-4{grid-column:span 4}.inventory-state-layout{grid-column:1/-1;grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:stretch;gap:12px;display:grid}.inventory-state-column{align-content:start;gap:12px;min-width:0;display:grid}.inventory-state-column-left{align-self:stretch;display:flex}.inventory-state-column-left .indicator-card{flex-direction:column;flex:auto;display:flex}.inventory-state-column-left .indicator-body{flex:auto}.inventory-state-column-right{align-self:stretch}.sales-focus-layout{grid-column:1/-1;grid-template-columns:minmax(0,2fr) minmax(0,1fr);align-items:start;gap:12px;display:grid}.sales-focus-column{align-content:start;gap:12px;min-width:0;display:grid}.indicator-header{padding-bottom:8px}.indicator-header-row{flex-wrap:wrap;justify-content:flex-start;align-items:center;gap:8px;display:flex}.indicator-date-badge{letter-spacing:.01em;border-radius:999px;padding:4px 9px;font-weight:700}.indicator-title{font-size:1.02rem;font-weight:700;line-height:1.22}.indicator-meta{color:var(--ink-1);margin-top:4px;font-size:.77rem}.indicator-body{min-width:0;padding:10px 12px 12px;overflow:hidden}.indicator-loading{color:var(--ink-1);align-items:center;gap:8px;margin-bottom:8px;font-size:.86rem;display:flex}.indicator-error{color:#fff;background:#f56c7b33;border:1px solid #f56c7b73;border-radius:10px;margin-bottom:8px}.indicator-empty{color:var(--ink-1);font-size:.86rem}.global-error-banner{color:#fff;background:#f56c7b33;border:1px solid #f56c7b80;border-radius:10px;min-width:min(920px,100vw - 16px)}.table-wrapper{width:100%;min-width:0;max-width:100%;margin:0 auto;overflow:auto hidden}.indicator-card .table-wrapper{border:1px solid var(--line);border-radius:var(--indicator-card-radius)}.indicator-card .table-wrapper .kpi-table{border:0}.table-wrapper-no-horizontal{overflow-x:hidden}.kpi-table{border-collapse:collapse;table-layout:auto;border:1px solid var(--line);background:color-mix(in srgb, var(--bg-1) 85%, transparent);width:max-content;min-width:100%;font-size:clamp(10px,.82vw,12.5px)}.kpi-table th,.kpi-table td{border-bottom:1px solid var(--line);text-align:left;white-space:nowrap;padding:5px 6px;line-height:1.15}.exhausted-items-table{table-layout:fixed;width:100%;min-width:0}.exhausted-items-table th,.exhausted-items-table td{white-space:normal;overflow-wrap:anywhere;word-break:break-word}.exhausted-items-table th:first-child,.exhausted-items-table td:first-child{width:17%}.exhausted-items-table th:nth-child(2),.exhausted-items-table td:nth-child(2),.exhausted-items-table th:nth-child(3),.exhausted-items-table td:nth-child(3),.exhausted-items-table th:nth-child(7),.exhausted-items-table td:nth-child(7){width:10%}.exhausted-items-table th:nth-child(4),.exhausted-items-table td:nth-child(4),.exhausted-items-table th:nth-child(5),.exhausted-items-table td:nth-child(5),.exhausted-items-table th:nth-child(6),.exhausted-items-table td:nth-child(6){width:14%}.kpi-table th:first-child,.kpi-table td:first-child{white-space:normal;word-break:keep-all;max-width:170px}.kpi-table th{z-index:1;color:#f0f3ff;background:#31355f;position:sticky;top:0}.kpi-table th.presupuesto{background-color:var(--hdr-presupuesto);color:#000}.kpi-table th.facturacion{background-color:var(--hdr-facturacion);color:#fff}.kpi-table th.porcen{background-color:var(--hdr-porcen);color:#fff}.kpi-table th.anterior{background-color:var(--hdr-anterior);color:#000}.kpi-table th.warning-header{background-color:var(--hdr-warning);color:#000}.total-facturacion-col{background:var(--total-facturacion-bg)}.total-presupuesto-col{background:var(--total-presupuesto-bg)}.total-anterior-col{background:var(--total-anterior-bg)}.total-porcen-col{background:var(--total-porcen-bg)}.kpi-table .is-numeric{text-align:right;font-variant-numeric:tabular-nums}.kpi-table th.is-numeric{text-align:left}.cell-state-success{background:var(--cond-success);color:var(--cond-success-text)}.cell-state-warning{background:var(--cond-warning);color:var(--cond-warning-text)}.cell-state-danger{background:var(--cond-danger);color:var(--cond-danger-text)}.cell-state-budget{background:var(--total-presupuesto-bg);color:inherit}.cell-state-warning-soft{background:var(--cond-warning-soft);color:var(--cond-warning-soft-text)}.cell-state-negative{background:var(--cond-danger);color:var(--cond-danger-text)}.kpi-accent-percent{color:#4ea7e8;font-weight:700}.eq-text{color:#1e90ff;font-weight:700}.sales-channel-table .group-row td,.sales-product-table .line-break-row td,.sales-daily-billing-orders-table .line-break-row td{background:var(--row-soft);font-weight:700}.sales-channel-table .grand-total-row td,.sales-product-table .grand-total-row td,.sales-gama-table .grand-total-row td,.sales-daily-billing-orders-table .grand-total-row td,.sales-future-month-orders-table .grand-total-row td,.sales-billing-by-origin-table .grand-total-row td,.closed-operation-table .grand-total-row td,.production-continuous-table .grand-total-row td{font-weight:700}.sales-channel-table .grand-total-row td:first-child,.sales-product-table .grand-total-row td:first-child,.sales-gama-table .grand-total-row td:first-child,.sales-daily-billing-orders-table .grand-total-row td:first-child,.sales-future-month-orders-table .grand-total-row td:first-child,.sales-billing-by-origin-table .grand-total-row td:first-child,.closed-operation-table .grand-total-row td:first-child,.production-continuous-table .grand-total-row td:first-child{background:var(--row-total)}.order-status-table td{padding:8px 6px;font-weight:700}.order-status-table .status-cell{color:var(--ink-0)}.order-status-table .summary-row td{background:var(--row-soft)}.order-status-table .grand-total-row td{background:var(--row-total)}.production-comodisimos-table td,.agglomerated-production-table td{vertical-align:top}.closers-homogeneity-table th{position:static}.closers-homogeneity-table th.group-header{text-align:center}.foam-canon-production-table th,.foam-recovery-table th{position:static}.foam-canon-production-table th.group-header,.foam-recovery-table th.group-header{text-align:center}.production-continuous-table th{position:static}.production-continuous-table th.group-header{text-align:center}.production-continuous-table .section-row td{background:var(--row-soft);font-weight:700}.table-footnote{color:var(--ink-1);margin-top:6px;font-size:.76rem;font-weight:700}.margin-block{gap:12px;display:grid}.margin-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.margin-section{gap:6px;display:grid}.margin-total{grid-column:span 1}.margin-subtitle{margin:0;font-size:.95rem;font-weight:700}.margin-table th{position:static}.margin-table .summary-row td{font-weight:700}.margin-period-row td{background:0 0}.margin-period-badge{letter-spacing:.01em;padding:4px 10px;font-weight:700}.inventory-indicators-table th{position:static}.inventory-indicators-table .inventory-header-group{text-align:center;color:var(--ink-0);background:#7880aa47}.inventory-indicators-table .inventory-header-group-soft{background:#a0a8ce47}.inventory-indicators-table .summary-row td{font-weight:700}.inventory-indicators-table td.indent-1{padding-left:16px}.inventory-indicators-table td.indent-2{padding-left:30px}.references-outofstock-table th,.inventory-indicators-table th,.margin-table th,.late-orders-status-table th,.late-repairs-pickups-status-table th,.late-requisitions-status-table th,.transit-status-table th,.exhausted-items-table th,.production-situation-table th{position:static}.late-orders-status-table th.group-header,.late-repairs-pickups-status-table th.group-header,.late-requisitions-status-table th.group-header{text-align:center}.short-block-balance{flex-wrap:wrap;align-items:flex-start;gap:16px;display:flex}.short-block-pie-area{flex:none}.short-block-pie{aspect-ratio:1;border:1px solid var(--line);border-radius:50%;width:min(320px,82vw);box-shadow:inset 0 0 0 1px #ffffff24}.short-block-legend{flex:220px;gap:8px;min-width:220px;display:grid}.legend-item{align-items:center;gap:10px;display:flex}.legend-color{border:1px solid #ffffff40;border-radius:4px;flex:0 0 14px;width:14px;height:14px}.legend-text{gap:1px;line-height:1.1;display:grid}.legend-text strong{font-size:.88rem}.legend-text span{color:var(--ink-1);font-size:.8rem}.theme-dark .q-field--dark.q-field--outlined .q-field__control:before{border-color:#a9b2ee80}.theme-dark .q-field--dark.q-field--outlined .q-field__control:hover:before{border-color:#a9b2eee6}.theme-light .q-field--outlined .q-field__control:before{border-color:#53618859}.theme-light .q-field--outlined .q-field__control:hover:before{border-color:#53618899}@media (width<=1180px){.indicator-card.span-8,.indicator-card.span-6,.indicator-card.span-4{grid-column:span 12}.margin-grid,.inventory-state-layout,.sales-focus-layout{grid-template-columns:1fr}}@media (width<=768px){.dashboard-page{padding:6px}.dashboard-toolbar{min-height:62px;padding:0 10px}.dashboard-toolbar-session{min-height:0;padding:8px 10px 10px}.brand-title{font-size:1rem}.header-session-content{align-items:stretch}.controls-block,.controls-block .q-field,.controls-block .q-btn{width:100%}.indicator-section-header{padding:9px 10px}.indicator-section-body{padding:8px}.indicator-grid{gap:8px}.indicator-card{--indicator-card-radius:12px;border-radius:var(--indicator-card-radius)}.kpi-table{width:100%;min-width:100%;font-size:11px}.kpi-table th,.kpi-table td{padding:5px}.kpi-table th{white-space:normal}.sales-table,.sales-channel-table,.sales-product-table,.sales-gama-table,.sales-daily-billing-orders-table,.production-continuous-table,.foam-canon-production-table,.inventory-indicators-table,.margin-table,.exhausted-items-table,.late-orders-status-table,.late-repairs-pickups-status-table,.late-requisitions-status-table{width:max-content;min-width:760px}.table-wrapper{-webkit-overflow-scrolling:touch;overflow:auto hidden}.short-block-balance{justify-content:center}.short-block-pie{width:min(260px,86vw)}}
