:root{--yidro-blue: #00A6D1;--yidro-blue-hover: #00BCEC;--yidro-blue-deep: #0085A8;--yidro-blue-soft: rgba(0, 166, 209, .12);--yidro-blue-glow: rgba(0, 166, 209, .28);--yidro-blue-ring: rgba(0, 166, 209, .45);--bg-canvas: #0A0F1A;--bg-surface: #111827;--bg-elevated: #1A2332;--bg-input: #0F172A;--bg-overlay: rgba(10, 15, 26, .78);--border-subtle: #1E293B;--border-default: #2A3950;--border-strong: #3B4D6B;--border-accent: var(--yidro-blue);--text-primary: #F1F5F9;--text-secondary: #94A3B8;--text-tertiary: #64748B;--text-disabled: #475569;--text-on-accent: #FFFFFF;--success: #10B981;--success-soft: rgba(16, 185, 129, .14);--success-ring: rgba(16, 185, 129, .35);--warning: #F59E0B;--warning-soft: rgba(245, 158, 11, .14);--warning-ring: rgba(245, 158, 11, .35);--danger: #EF4444;--danger-soft: rgba(239, 68, 68, .14);--danger-ring: rgba(239, 68, 68, .35);--info: #3B82F6;--info-soft: rgba(59, 130, 246, .14);--radius-xs: 4px;--radius-sm: 6px;--radius-md: 10px;--radius-lg: 14px;--radius-xl: 20px;--radius-full: 999px;--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 20px;--space-6: 24px;--space-7: 32px;--space-8: 40px;--space-9: 48px;--space-10: 64px;--font-display: "Inter", system-ui, -apple-system, sans-serif;--font-body: "Inter", system-ui, -apple-system, sans-serif;--font-mono: "JetBrains Mono", "SF Mono", ui-monospace, monospace;--fs-xs: .72rem;--fs-sm: .825rem;--fs-base: .9375rem;--fs-md: 1rem;--fs-lg: 1.2rem;--fs-xl: 1.5rem;--fs-2xl: 2rem;--fs-3xl: 2.5rem;--fw-regular: 400;--fw-medium: 500;--fw-semi: 600;--fw-bold: 700;--fw-black: 800;--tracking-tight: -.02em;--tracking-normal: 0;--tracking-wide: .02em;--tracking-uppercase: .08em;--leading-tight: 1.15;--leading-base: 1.5;--leading-loose: 1.7;--shadow-xs: 0 1px 2px rgba(0, 0, 0, .25);--shadow-sm: 0 2px 6px rgba(0, 0, 0, .3);--shadow-md: 0 6px 16px rgba(0, 0, 0, .38);--shadow-lg: 0 14px 36px rgba(0, 0, 0, .48);--shadow-glow: 0 0 0 4px var(--yidro-blue-soft);--shadow-ring: 0 0 0 3px var(--yidro-blue-ring);--motion-quick: .1s cubic-bezier(.2, 0, 0, 1);--motion-base: .18s cubic-bezier(.2, 0, 0, 1);--motion-slow: .26s cubic-bezier(.2, 0, 0, 1);--motion-bounce: .32s cubic-bezier(.34, 1.56, .64, 1);--z-base: 1;--z-dropdown: 100;--z-sticky: 200;--z-modal: 1000;--z-toast: 1100;--z-loader: 9999}.num{font-variant-numeric:tabular-nums;font-feature-settings:"tnum"}.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}.btn{--btn-bg: var(--yidro-blue);--btn-bg-hover: var(--yidro-blue-hover);--btn-color: var(--text-on-accent);--btn-border: transparent;--btn-shadow: var(--shadow-sm);--btn-px: var(--space-4);--btn-py: var(--space-2);--btn-fs: var(--fs-sm);--btn-fw: var(--fw-semi);display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);background:var(--btn-bg);color:var(--btn-color);border:1px solid var(--btn-border);border-radius:var(--radius-md);padding:var(--btn-py) var(--btn-px);font-family:var(--font-body);font-size:var(--btn-fs);font-weight:var(--btn-fw);line-height:1.2;letter-spacing:var(--tracking-tight);cursor:pointer;transition:background var(--motion-quick),border-color var(--motion-quick),transform var(--motion-quick),box-shadow var(--motion-base);box-shadow:var(--btn-shadow);white-space:nowrap;-webkit-user-select:none;user-select:none}.btn:hover:not(:disabled):not(.is-loading){background:var(--btn-bg-hover);transform:translateY(-1px);box-shadow:var(--shadow-md)}.btn:active:not(:disabled):not(.is-loading){transform:translateY(0);box-shadow:var(--shadow-xs)}.btn:focus-visible{outline:none;box-shadow:var(--shadow-ring)}.btn:disabled,.btn.is-loading{opacity:.55;cursor:not-allowed;transform:none;box-shadow:none}.btn--primary{--btn-bg: var(--yidro-blue);--btn-bg-hover: var(--yidro-blue-hover);--btn-color: var(--text-on-accent)}.btn--secondary{--btn-bg: var(--bg-elevated);--btn-bg-hover: var(--bg-surface);--btn-color: var(--text-primary);--btn-border: var(--border-default);--btn-shadow: var(--shadow-xs)}.btn--ghost{--btn-bg: transparent;--btn-bg-hover: var(--bg-elevated);--btn-color: var(--text-secondary);--btn-border: transparent;--btn-shadow: none}.btn--ghost:hover:not(:disabled):not(.is-loading){color:var(--text-primary)}.btn--danger{--btn-bg: var(--danger);--btn-bg-hover: #dc2626;--btn-color: var(--text-on-accent)}.btn--success{--btn-bg: var(--success);--btn-bg-hover: #059669;--btn-color: var(--text-on-accent)}.btn--sm{--btn-px: var(--space-3);--btn-py: 6px;--btn-fs: var(--fs-xs)}.btn--md{--btn-px: var(--space-4);--btn-py: var(--space-2);--btn-fs: var(--fs-sm)}.btn--lg{--btn-px: var(--space-5);--btn-py: var(--space-3);--btn-fs: var(--fs-base)}.btn__spinner{width:14px;height:14px;border:2px solid currentColor;border-right-color:transparent;border-radius:50%;animation:btn-spin .7s linear infinite;flex-shrink:0}@keyframes btn-spin{to{transform:rotate(360deg)}}.btn__icon,.btn__trailing{display:inline-flex;align-items:center;flex-shrink:0}.tabs{display:flex;gap:2px;margin-bottom:var(--space-6);padding:var(--space-1);background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);overflow-x:auto;scrollbar-width:none;-ms-overflow-style:none;scroll-snap-type:x proximity;-webkit-overflow-scrolling:touch}.tabs::-webkit-scrollbar{display:none}.tabs__item{flex-shrink:0;scroll-snap-align:start}@media(max-width:768px){.tabs{margin-bottom:var(--space-4)}.tabs__item{padding:var(--space-2) var(--space-3);font-size:var(--fs-xs)}}.tabs__item{all:unset;box-sizing:border-box;display:inline-flex;align-items:center;gap:var(--space-2);padding:var(--space-3) var(--space-4);border-radius:var(--radius-md);color:var(--text-tertiary);font-family:var(--font-body);font-size:var(--fs-sm);font-weight:var(--fw-semi);letter-spacing:var(--tracking-tight);cursor:pointer;transition:background var(--motion-quick),color var(--motion-quick);white-space:nowrap;-webkit-user-select:none;user-select:none}.tabs__item:hover:not(.is-active){background:var(--bg-elevated);color:var(--text-secondary)}.tabs__item:focus-visible{outline:none;box-shadow:var(--shadow-ring)}.tabs__item.is-active{background:var(--yidro-blue);color:var(--text-on-accent);box-shadow:var(--shadow-sm),0 0 0 1px var(--yidro-blue-hover) inset}@media(max-width:768px){.tabs{mask-image:linear-gradient(to right,transparent 0,black 16px,black calc(100% - 16px),transparent 100%);-webkit-mask-image:linear-gradient(to right,transparent 0,black 16px,black calc(100% - 16px),transparent 100%)}}.tabs__icon{display:inline-flex;font-size:1em;line-height:1}.tabs__badge{display:inline-flex;align-items:center;justify-content:center;min-width:18px;height:18px;padding:0 6px;background:var(--bg-elevated);color:var(--text-secondary);border-radius:var(--radius-full);font-size:var(--fs-xs);font-weight:var(--fw-bold);line-height:1}.tabs__item.is-active .tabs__badge{background:#ffffff38;color:var(--text-on-accent)}.date-filter{display:flex;flex-direction:column;gap:var(--space-3);margin-bottom:var(--space-5)}.date-filter__pills{display:flex;flex-wrap:wrap;gap:var(--space-2);align-items:center}@media(max-width:480px){.date-filter{gap:var(--space-2);margin-bottom:var(--space-4)}.date-filter__pills{gap:6px}.date-filter__pill{padding:6px 10px;font-size:var(--fs-xs)}.date-filter__pill--custom{margin-left:0}.date-filter__pill--custom:before{display:none}.date-filter__custom{flex-wrap:wrap;gap:var(--space-2);padding:var(--space-3);width:100%;box-sizing:border-box}.date-filter__arrow{display:none}}.date-filter__pill{all:unset;box-sizing:border-box;display:inline-flex;align-items:center;gap:6px;background:var(--bg-input);color:var(--text-secondary);border:1px solid var(--border-subtle);border-radius:var(--radius-md);padding:8px 14px;font-family:var(--font-body);font-size:var(--fs-sm);font-weight:var(--fw-medium);letter-spacing:var(--tracking-tight);line-height:1.2;cursor:pointer;transition:background var(--motion-quick),border-color var(--motion-quick),color var(--motion-quick),transform var(--motion-quick);white-space:nowrap}.date-filter__pill:hover:not(.is-active){background:var(--bg-elevated);border-color:var(--border-default);color:var(--text-primary)}.date-filter__pill:focus-visible{outline:none;border-color:var(--yidro-blue);box-shadow:var(--shadow-ring)}.date-filter__pill.is-active{background:var(--yidro-blue);border-color:var(--yidro-blue-hover);color:var(--text-on-accent);box-shadow:0 4px 12px var(--yidro-blue-glow);font-weight:var(--fw-semi)}.date-filter__pill--custom{margin-left:var(--space-2);position:relative}.date-filter__pill--custom:before{content:"";position:absolute;left:calc(var(--space-2) * -1);top:20%;bottom:20%;width:1px;background:var(--border-default)}.date-filter__custom{display:inline-flex;align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-4);background:var(--bg-input);border:1px solid var(--border-default);border-radius:var(--radius-md);width:fit-content;animation:date-custom-in var(--motion-base)}@keyframes date-custom-in{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.date-filter__field{display:inline-flex;flex-direction:column;gap:4px;font-family:var(--font-body)}.date-filter__field>span{font-size:var(--fs-xs);font-weight:var(--fw-semi);color:var(--text-tertiary);text-transform:uppercase;letter-spacing:var(--tracking-uppercase)}.date-filter__field input[type=date]{background:var(--bg-canvas);color:var(--text-primary);border:1px solid var(--border-default);border-radius:var(--radius-sm);padding:6px 10px;font-family:var(--font-mono);font-size:var(--fs-sm);color-scheme:dark;cursor:pointer;transition:border-color var(--motion-quick),box-shadow var(--motion-quick)}.date-filter__field input[type=date]:hover{border-color:var(--border-strong)}.date-filter__field input[type=date]:focus{outline:none;border-color:var(--yidro-blue);box-shadow:var(--shadow-glow)}.date-filter__arrow{color:var(--text-tertiary);font-size:var(--fs-md);-webkit-user-select:none;user-select:none;margin-top:16px}.date-filter__pill,.tabs__item{box-shadow:none}.date-filter__pill:hover,.tabs__item:hover{transform:none}.banner{--banner-bg: var(--info-soft);--banner-border: var(--info);--banner-color: var(--text-primary);display:flex;align-items:flex-start;gap:var(--space-3);padding:var(--space-3) var(--space-4);background:var(--banner-bg);border:1px solid var(--banner-border);border-left:4px solid var(--banner-border);border-radius:var(--radius-md);color:var(--banner-color);font-size:var(--fs-sm);line-height:var(--leading-base)}.banner--warning{--banner-bg: var(--warning-soft);--banner-border: var(--warning)}.banner--danger{--banner-bg: var(--danger-soft);--banner-border: var(--danger)}.banner--success{--banner-bg: var(--success-soft);--banner-border: var(--success)}.banner__icon{flex-shrink:0;margin-top:1px;font-size:1.1em;line-height:1}.banner__body{flex:1;min-width:0}.banner__title{font-weight:var(--fw-bold);margin-right:var(--space-2)}.kpi-value,.kpi-subtext,td,.num{font-variant-numeric:tabular-nums;font-feature-settings:"tnum"}.card{transition:transform var(--motion-base),border-color var(--motion-base),box-shadow var(--motion-base);animation:card-fade-in var(--motion-slow) ease-out backwards}.card:hover{transform:translateY(-1px);border-color:var(--border-default);box-shadow:var(--shadow-sm)}@keyframes card-fade-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.kpi-grid .card:nth-child(1){animation-delay:0ms}.kpi-grid .card:nth-child(2){animation-delay:40ms}.kpi-grid .card:nth-child(3){animation-delay:80ms}.kpi-grid .card:nth-child(4){animation-delay:.12s}.kpi-grid .card:nth-child(5){animation-delay:.16s}.kpi-grid .card:nth-child(6){animation-delay:.2s}.kpi-grid .card:nth-child(7){animation-delay:.24s}.kpi-grid .card:nth-child(8){animation-delay:.28s}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,[tabindex]:focus-visible{outline:none;box-shadow:var(--shadow-ring);border-radius:var(--radius-md)}html{scroll-behavior:smooth}::selection{background:var(--yidro-blue-soft);color:var(--text-primary)}h1,h2,h3{font-family:var(--font-display);letter-spacing:var(--tracking-tight);line-height:var(--leading-tight)}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-track{background:var(--bg-canvas)}::-webkit-scrollbar-thumb{background:var(--border-default);border-radius:var(--radius-full);border:2px solid var(--bg-canvas)}::-webkit-scrollbar-thumb:hover{background:var(--border-strong)}input[type=date],input[type=datetime-local],input[type=time],input[type=month]{color-scheme:dark}.card table,.chart-section table,.sales-list-section table,.top-products-section table{min-width:100%}@media(max-width:768px){.card,.chart-section,.sales-list-section,.top-products-section{padding:var(--space-3) var(--space-3)}.card h3,.chart-section h3{font-size:var(--fs-md)}table th,table td{padding:10px 8px!important;font-size:var(--fs-xs)}}@media(max-width:480px){h3{font-size:var(--fs-md)}}@media(max-width:768px){input[type=text],input[type=email],input[type=number],input[type=date],input[type=search],select,textarea{font-size:16px!important}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important;scroll-behavior:auto!important}}.toast-viewport{position:fixed;bottom:var(--space-6);right:var(--space-6);display:flex;flex-direction:column;gap:var(--space-3);z-index:var(--z-toast);pointer-events:none;max-width:calc(100vw - var(--space-9));width:380px}.toast{--toast-bg: var(--bg-elevated);--toast-accent: var(--info);pointer-events:auto;display:flex;align-items:flex-start;gap:var(--space-3);padding:var(--space-3) var(--space-4);background:var(--toast-bg);border:1px solid var(--border-default);border-left:3px solid var(--toast-accent);border-radius:var(--radius-md);box-shadow:var(--shadow-lg);color:var(--text-primary);font-size:var(--fs-sm);line-height:var(--leading-base);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);animation:toast-in var(--motion-bounce)}.toast--success{--toast-accent: var(--success)}.toast--danger{--toast-accent: var(--danger)}.toast--warning{--toast-accent: var(--warning)}.toast--info{--toast-accent: var(--info)}@keyframes toast-in{0%{opacity:0;transform:translate(100%) scale(.95)}to{opacity:1;transform:translate(0) scale(1)}}.toast__icon{flex-shrink:0;width:22px;height:22px;display:inline-flex;align-items:center;justify-content:center;background:var(--toast-accent);color:var(--text-on-accent);border-radius:var(--radius-full);font-size:var(--fs-xs);font-weight:var(--fw-bold)}.toast__body{flex:1;min-width:0}.toast__title{font-weight:var(--fw-bold);margin-bottom:2px;color:var(--text-primary)}.toast__message{color:var(--text-secondary);word-wrap:break-word}.toast__close{all:unset;box-sizing:border-box;flex-shrink:0;width:24px;height:24px;display:inline-flex;align-items:center;justify-content:center;color:var(--text-tertiary);font-size:18px;line-height:1;cursor:pointer;border-radius:var(--radius-sm);transition:background var(--motion-quick),color var(--motion-quick)}.toast__close:hover{background:var(--bg-input);color:var(--text-primary)}.skeleton{display:block;background:linear-gradient(90deg,var(--bg-input) 0%,var(--bg-elevated) 50%,var(--bg-input) 100%);background-size:200% 100%;animation:skeleton-shimmer 1.4s ease-in-out infinite}@keyframes skeleton-shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.skeleton-row td{border-bottom:1px solid var(--border-subtle)}.kpi-trend{display:inline-flex;align-items:center;gap:4px;padding:2px 8px;border-radius:var(--radius-full);font-size:var(--fs-xs);font-weight:var(--fw-bold);line-height:1.4;font-variant-numeric:tabular-nums}.kpi-trend--up{color:var(--success);background:var(--success-soft)}.kpi-trend--down{color:var(--danger);background:var(--danger-soft)}.kpi-trend--flat{color:var(--text-tertiary);background:var(--bg-input)}.kpi-trend__arrow{font-size:.95em;line-height:1}.kpi-trend__hint{color:var(--text-tertiary);font-size:var(--fs-xs);font-weight:var(--fw-medium);margin-left:6px}:root{--azul-yidro: var(--yidro-blue);--oscuro-profundo: var(--bg-surface);--gris-superficie: #F8F9FA;--blanco: var(--text-primary);--bg-main: var(--bg-canvas);--text-main: var(--text-primary);--text-muted: var(--text-secondary);--card-bg: rgba(255, 255, 255, .04);--card-border: var(--border-subtle);--font-family: var(--font-body)}body{margin:0;font-family:var(--font-family);background-color:var(--bg-main);color:var(--text-main);min-height:100vh}select option,select optgroup{background-color:#1f2937;color:#f9fafb}#root{width:100%;margin:0 auto}.dashboard-container{max-width:1400px;margin:0 auto;padding:2rem}@media(max-width:768px){.dashboard-container{padding:1rem}}@media(max-width:480px){.dashboard-container{padding:.75rem}}.dashboard-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:2.5rem;gap:1rem;flex-wrap:wrap}@media(max-width:768px){.dashboard-header{flex-direction:column;align-items:stretch;gap:.75rem;margin-bottom:1.5rem}.dashboard-header .actions{justify-content:flex-end;flex-wrap:wrap;gap:.75rem}}.brand h1{font-weight:800;font-size:2rem;margin:0;letter-spacing:-1px}@media(max-width:480px){.brand h1{font-size:1.5rem}.erp-badge{font-size:.5em;padding:1px 6px;margin-left:6px}}.erp-badge{font-size:.4em;background:var(--azul-yidro);color:#fff;padding:2px 8px;border-radius:4px;vertical-align:middle;margin-left:8px;font-weight:700;text-transform:uppercase}.actions{display:flex;gap:1.5rem;align-items:center}.last-updated{font-size:.85em;color:var(--text-muted)}button{background-color:var(--azul-yidro);color:#fff;border:none;font-weight:600;padding:.75rem 1.5rem;border-radius:10px;cursor:pointer;transition:all .2s ease;font-size:.95rem;box-shadow:0 4px 6px #00a6d133}button:hover{transform:translateY(-2px);box-shadow:0 6px 12px #00a6d14d}button:disabled{opacity:.6;cursor:not-allowed;transform:none}button.pulsing{animation:pulse 1.5s infinite}@keyframes pulse{0%{opacity:1}50%{opacity:.6}to{opacity:1}}.kpi-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1.5rem;margin-bottom:2.5rem}@media(max-width:768px){.kpi-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:.875rem;margin-bottom:1.5rem}}@media(max-width:480px){.kpi-grid{grid-template-columns:1fr;gap:.75rem}.kpi-card{min-height:0;padding:1rem}.kpi-value{font-size:1.75rem}}.card{background:var(--card-bg);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:1px solid var(--card-border);border-radius:16px;padding:1.5rem;transition:transform .2s ease}.card:hover{border-color:#fff3}.kpi-card{display:flex;flex-direction:column;justify-content:space-between;min-height:140px}.kpi-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.kpi-title{color:var(--text-muted);font-size:.85rem;font-weight:500;text-transform:uppercase;letter-spacing:.05em}.kpi-icon{display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;border-radius:var(--radius-md);background:var(--yidro-blue-soft);color:var(--yidro-blue);flex-shrink:0}.kpi-icon svg{display:block}.kpi-value{font-size:2rem;font-weight:700;margin:0;letter-spacing:-1px;line-height:1}.kpi-subtext{font-size:.8rem;color:var(--text-muted);margin-top:.5rem}.chart-section h3{margin-top:0;color:var(--text-muted);font-weight:500;font-size:1rem}.chart-container{height:250px;display:flex;align-items:flex-end;gap:6px;padding-top:1rem}.bar-col{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;height:100%;position:relative}.bar{width:100%;border-radius:4px 4px 0 0;background:var(--azul-yidro);opacity:.7;transition:height .4s ease,opacity .2s}.bar:hover{opacity:1}.bar-date{font-size:.65rem;color:var(--text-muted);margin-top:6px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.loading-screen{position:fixed;top:0;left:0;width:100%;height:100%;background:var(--bg-main);display:flex;flex-direction:column;justify-content:center;align-items:center;z-index:9999}.loader{border:4px solid var(--card-border);border-top:4px solid var(--azul-yidro);border-radius:50%;width:40px;height:40px;animation:spin 1s linear infinite;margin-bottom:1rem}.loading-text{font-size:.9rem;color:var(--text-muted);letter-spacing:1px}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}
