@import"https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&display=swap";:root{--bg-app: #F1F5F9;--bg-surface: #FFFFFF;--bg-raised: #F8FAFC;--bg-tertiary: #EFF6FF;--border: #E2E8F0;--border-strong:#CBD5E1;--accent-primary: #2563EB;--accent-hover: #1D4ED8;--accent-primary-rgb: 37, 99, 235;--text-primary: #1E293B;--text-secondary: #64748B;--text-muted: #94A3B8;--success: #16A34A;--success-bg: #F0FDF4;--success-text: #16A34A;--danger: #DC2626;--danger-bg: #FEF2F2;--danger-text: #DC2626;--warning: #D97706;--warning-bg: #FFFBEB;--warning-text: #D97706;--bg-primary: #F1F5F9;--primary-color: #2563EB;--success-color: #16A34A;--danger-color: #DC2626;--warning-color: #D97706;--surface-color: #FFFFFF;--bg-color: #F1F5F9;--bg-secondary: #FFFFFF;--text-color: #1E293B;--border-color: #E2E8F0;--glass-border: #E2E8F0;--radius-sm: 4px;--radius-md: 6px;--radius-lg: 8px;--radius-full: 9999px;--shadow-sm: 0 1px 3px rgba(0,0,0,.06);--shadow-md: 0 2px 8px rgba(0,0,0,.08);--shadow-lg: 0 4px 16px rgba(0,0,0,.1);--sidebar-w: 220px;--transition-fast: .12s ease;--transition-normal: .2s ease;--transition-bounce: .2s ease}*,*:before,*:after{margin:0;padding:0;box-sizing:border-box}body{font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:.875rem;line-height:1.5;background-color:var(--bg-app);color:var(--text-primary);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}h1{font-size:1.25rem;font-weight:700;letter-spacing:-.01em;color:var(--text-primary)}h2{font-size:1rem;font-weight:600;color:var(--text-primary)}h3{font-size:.9375rem;font-weight:600;color:var(--text-primary)}h4{font-size:.875rem;font-weight:600;color:var(--text-primary)}.card{background:var(--bg-surface);border-radius:var(--radius-lg);padding:1.25rem;border:1px solid var(--border);box-shadow:var(--shadow-sm)}.app-container{display:flex;height:100vh;overflow:hidden;background-color:var(--bg-app)}.main-content{flex:1;display:flex;flex-direction:column;overflow-y:auto;padding:1.25rem 1.5rem;background:var(--bg-app);min-width:0}.header-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.glass-panel{background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.375rem;padding:.4rem .875rem;border-radius:var(--radius-md);font-family:inherit;font-weight:500;font-size:.8125rem;cursor:pointer;transition:background var(--transition-fast),color var(--transition-fast),border-color var(--transition-fast),box-shadow var(--transition-fast);border:1px solid transparent;text-decoration:none;white-space:nowrap;line-height:1.4}.btn-sm{padding:.25rem .625rem;font-size:.75rem}.btn-primary{background:var(--accent-primary);color:#fff;border-color:var(--accent-primary)}.btn-primary:hover{background:var(--accent-hover);border-color:var(--accent-hover)}.btn-primary:active{opacity:.9}.btn-ghost{background:transparent;color:var(--text-secondary);border-color:var(--border)}.btn-ghost:hover{background:var(--bg-raised);color:var(--text-primary)}.btn-danger{background:var(--danger-bg);color:var(--danger);border-color:transparent}.btn-danger:hover{background:#fee2e2}.input-group{display:flex;flex-direction:column;gap:.3rem;margin-bottom:.875rem}.input-label{font-size:.75rem;font-weight:500;color:var(--text-secondary)}.input-field{width:100%;background:var(--bg-surface);border:1px solid var(--border);color:var(--text-primary);padding:.4375rem .625rem;border-radius:var(--radius-md);font-size:.8125rem;font-family:inherit;transition:border-color var(--transition-fast),box-shadow var(--transition-fast);line-height:1.4}.input-field:focus{outline:none;border-color:var(--accent-primary);box-shadow:0 0 0 2px rgba(var(--accent-primary-rgb),.15)}.input-field::placeholder{color:var(--text-muted)}.input-field:disabled{background:var(--bg-raised);opacity:.7;cursor:not-allowed}select.input-field{cursor:pointer}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:.875rem}.form-field{display:flex;flex-direction:column;gap:.3rem}.form-label{font-size:.78rem;font-weight:500;color:var(--text-secondary);letter-spacing:.01em}.checkbox-label{display:inline-flex;align-items:center;gap:.45rem;font-size:.85rem;font-weight:500;color:var(--text-primary);cursor:pointer;-webkit-user-select:none;user-select:none}.checkbox-label input[type=checkbox]{width:1rem;height:1rem;accent-color:var(--accent-primary);cursor:pointer}@media(max-width:768px){.form-grid{grid-template-columns:1fr}}.badge{display:inline-flex;align-items:center;padding:.125rem .5rem;border-radius:var(--radius-full);font-size:.6875rem;font-weight:600;letter-spacing:.03em;text-transform:uppercase;white-space:nowrap}.badge-success{background:var(--success-bg);color:var(--success)}.badge-danger{background:var(--danger-bg);color:var(--danger)}.badge-warning{background:var(--warning-bg);color:var(--warning)}.badge-primary{background:#eff6ff;color:var(--accent-primary)}.badge-neutral{background:#f1f5f9;color:var(--text-secondary)}.table-container{width:100%;overflow-x:auto;border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--bg-surface)}.table{width:100%;border-collapse:collapse;text-align:left;font-size:.8125rem}.table th{padding:.5rem .75rem;background:var(--bg-raised);color:var(--text-secondary);font-weight:600;font-size:.6875rem;text-transform:uppercase;letter-spacing:.05em;border-bottom:1px solid var(--border);white-space:nowrap}.table td{padding:.5rem .75rem;border-bottom:1px solid var(--border);color:var(--text-primary);vertical-align:middle}.table tr:last-child td{border-bottom:none}.table tbody tr:hover td{background:var(--bg-raised)}.table tfoot td{padding:.5rem .75rem;background:var(--bg-raised);border-top:1px solid var(--border-strong);font-weight:600;font-size:.8125rem}.page-container{width:100%}.page-header{display:flex;justify-content:space-between;align-items:flex-start;flex-wrap:wrap;gap:.75rem;margin-bottom:1rem}.page-title{font-size:1.125rem;font-weight:700;color:var(--text-primary)}.page-description{font-size:.8125rem;color:var(--text-secondary);margin-top:.125rem}.mb-4{margin-bottom:1rem}.mt-4{margin-top:1rem}.text-muted{color:var(--text-muted)}.text-right{text-align:right}::-webkit-scrollbar{width:5px;height:5px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--border-strong);border-radius:var(--radius-full)}::-webkit-scrollbar-thumb:hover{background:var(--text-muted)}@keyframes fadeIn{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.animate-in{animation:fadeIn .18s ease forwards}.stagger-1{animation-delay:40ms}.stagger-2{animation-delay:80ms}.stagger-3{animation-delay:.12s}.switch{position:relative;display:inline-block;width:36px;height:20px;flex-shrink:0}.switch input{opacity:0;width:0;height:0}.slider{position:absolute;cursor:pointer;inset:0;background-color:var(--border-strong);border-radius:20px;transition:background-color .2s}.slider:before{content:"";position:absolute;height:14px;width:14px;left:3px;bottom:3px;background:#fff;border-radius:50%;transition:transform .2s}input:checked+.slider{background-color:var(--accent-primary)}input:checked+.slider:before{transform:translate(16px)}.data-table{width:100%;border-collapse:collapse;font-size:.8125rem}.data-table th{padding:.4375rem .625rem;background:var(--bg-raised);color:var(--text-secondary);font-weight:600;font-size:.6875rem;text-transform:uppercase;letter-spacing:.04em;border-bottom:1px solid var(--border);white-space:nowrap}.data-table td{padding:.4375rem .625rem;border-bottom:1px solid var(--border);vertical-align:middle}.data-table tr:last-child td{border-bottom:none}.data-table tbody tr:hover td{background:var(--bg-raised)}.data-table tfoot td{background:var(--bg-raised);border-top:1px solid var(--border-strong);font-weight:600;padding:.4375rem .625rem}.text-truncate{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:inline-block;max-width:100%}@media(max-width:768px){.header-top{flex-direction:column;align-items:flex-start;gap:.5rem}.table th,.table td,.data-table th,.data-table td{padding:.375rem .5rem;font-size:.75rem}.tabs-container{flex-wrap:wrap}.modal-content{width:calc(100vw - 1.5rem);max-width:100%;max-height:90dvh;overflow-y:auto}.header-top .btn{font-size:.75rem;padding:.3rem .625rem}}.app-container{display:flex;height:100vh;overflow:hidden;background:var(--bg-app)}.sidebar{width:var(--sidebar-w);height:100vh;display:flex;flex-direction:column;background:#0f172a;border-right:1px solid #1e293b;flex-shrink:0;overflow:hidden}.sidebar-header{display:flex;align-items:center;gap:.625rem;padding:0 1rem;height:56px;background:linear-gradient(135deg,#1e293b,#0f172a);border-bottom:1px solid #1e293b;flex-shrink:0}.sidebar-logo-icon{width:32px;height:32px;border-radius:8px;background:linear-gradient(135deg,#3b82f6,#2563eb);display:flex;align-items:center;justify-content:center;font-weight:800;font-size:1rem;color:#fff;flex-shrink:0;box-shadow:0 2px 8px #2563eb59}.sidebar-header h2{font-size:.9375rem;font-weight:700;color:#f1f5f9;letter-spacing:-.01em;margin:0}.sidebar-brand-accent{color:#60a5fa;font-weight:500}.sidebar-nav{flex:1;overflow-y:auto;padding:.5rem 0}.sidebar-nav::-webkit-scrollbar{width:3px}.sidebar-nav::-webkit-scrollbar-track{background:transparent}.sidebar-nav::-webkit-scrollbar-thumb{background:#334155;border-radius:3px}.sidebar-nav::-webkit-scrollbar-thumb:hover{background:#475569}.nav-group-label{padding:.8rem 1rem .35rem;font-size:.65rem;font-weight:700;text-transform:uppercase;letter-spacing:.1em;color:#64748b;display:flex;align-items:center;justify-content:space-between;cursor:pointer;-webkit-user-select:none;user-select:none;transition:color .15s}.nav-group-label:hover{color:#94a3b8}.nav-group-arrow{font-size:.55rem;opacity:.6;transition:opacity .15s}.nav-group-label:hover .nav-group-arrow{opacity:1}.nav-items{margin-bottom:.35rem}.nav-link{display:flex;align-items:center;padding:.4rem 1rem;margin:0 .5rem;border-radius:6px;color:#94a3b8;text-decoration:none;font-size:.8125rem;font-weight:400;transition:all .15s;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;position:relative}.nav-link:hover{background:#ffffff0f;color:#e2e8f0}.nav-link.active{background:#2563eb26;color:#60a5fa;font-weight:600;box-shadow:inset 3px 0 #3b82f6}.sidebar-footer{padding:.75rem 1rem;border-top:1px solid #1e293b;background:#0c1322;flex-shrink:0}.user-info{display:flex;align-items:center;gap:.625rem;margin-bottom:.5rem}.user-avatar{width:32px;height:32px;border-radius:8px;background:linear-gradient(135deg,#3b82f6,#1d4ed8);display:flex;align-items:center;justify-content:center;font-weight:700;font-size:.8rem;color:#fff;flex-shrink:0;box-shadow:0 2px 6px #2563eb4d}.user-meta{display:flex;flex-direction:column;min-width:0}.user-name{font-size:.8125rem;font-weight:600;color:#e2e8f0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.user-role{font-size:.625rem}.btn-logout{display:flex;align-items:center;justify-content:center;width:100%;padding:.4rem;border-radius:6px;border:1px solid #334155;background:transparent;color:#94a3b8;font-size:.75rem;font-family:inherit;cursor:pointer;transition:all .15s}.btn-logout:hover{background:#ef44441f;color:#f87171;border-color:#ef444440}.main-content{flex:1;height:100vh;overflow-y:auto;padding:1.25rem 1.5rem;background:var(--bg-app);min-width:0;display:flex;flex-direction:column}.mobile-header{display:none;position:sticky;top:0;z-index:30;padding:.625rem 1rem;background:#0f172a;border-bottom:1px solid #1e293b;align-items:center;justify-content:space-between;flex-shrink:0;margin-bottom:.75rem;border-radius:0 0 8px 8px}.menu-toggle{padding:.375rem .75rem;font-size:.875rem;min-height:36px;color:#e2e8f0}.logo-text{font-size:.9375rem;font-weight:700;color:#e2e8f0}.mobile-overlay{display:none;position:fixed;inset:0;background:#0f172a99;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);z-index:40;cursor:pointer}@media(max-width:768px){.mobile-header{display:flex}.sidebar{position:fixed;top:0;left:0;bottom:0;width:280px;transform:translate(-100%);z-index:50;transition:transform .25s cubic-bezier(.4,0,.2,1);box-shadow:4px 0 24px #00000080}.sidebar.mobile-open{transform:translate(0)}.mobile-overlay{display:block}.main-content{height:100vh;overflow-y:auto;padding:0 .75rem 3rem}}.login-container{min-height:100vh;display:flex;align-items:center;justify-content:center;background-color:var(--bg-app);position:relative;overflow:hidden}.blob{position:absolute;filter:blur(70px);z-index:0;border-radius:50%;animation:float 12s infinite ease-in-out alternate;pointer-events:none}.blob-1{width:320px;height:320px;background:#2563eb1f;top:-80px;left:-80px}.blob-2{width:400px;height:400px;background:#0ea5e914;bottom:-100px;right:-80px;animation-delay:-6s}.login-card{width:100%;max-width:380px;padding:2rem;position:relative;z-index:10;opacity:0;transform:translateY(12px);animation:popupFade .35s ease forwards}@keyframes popupFade{to{transform:translateY(0);opacity:1}}@keyframes float{0%{transform:translate(0) scale(1)}to{transform:translate(20px,-30px) scale(1.08)}}.text-center{text-align:center}.mx-auto{margin-left:auto;margin-right:auto}.mb-4{margin-bottom:1.25rem}.mt-4{margin-top:1.25rem}.dashboard-grid{display:grid;grid-template-columns:repeat(12,1fr);gap:1rem;grid-template-areas:"kpi      kpi      kpi      kpi      kpi      kpi      kpi      kpi      kpi      kpi      kpi      kpi" "ev-v     ev-v     ev-v     ev-v     ev-v     ev-v     ev-v     ev-g     ev-g     ev-g     ev-g     ev-g" "pie-p    pie-p    pie-p    pie-p    bar-c    bar-c    bar-c    bar-c    bar-pv   bar-pv   bar-pv   bar-pv" "gp       gp       gp       gp       gc       gc       gc       gc       gpv      gpv      gpv      gpv" "pedido   pedido   pedido   pedido   pedido   pedido   pedido   pedido   pedido   pedido   pedido   pedido" "cajas    cajas    cajas    cajas    inversiones inversiones inversiones inversiones prestamos   prestamos   prestamos   prestamos" "cxc      cxc      cxc      cxc      cxc      cxc      cxp      cxp      cxp      cxp      cxp      cxp" "inv      inv      inv      inv      inv      inv      ranking  ranking  ranking  ranking  ranking  ranking" "activos  activos  activos  activos  activos  activos  activos  activos  activos  activos  activos  activos";margin-top:.75rem}@media(max-width:1200px){.dashboard-grid{grid-template-areas:"kpi    kpi    kpi    kpi    kpi    kpi    kpi    kpi    kpi    kpi    kpi    kpi" "ev-v   ev-v   ev-v   ev-v   ev-v   ev-v   ev-g   ev-g   ev-g   ev-g   ev-g   ev-g" "pie-p  pie-p  pie-p  pie-p  bar-c  bar-c  bar-c  bar-c  bar-pv bar-pv bar-pv bar-pv" "gp     gp     gp     gp     gp     gp     gc     gc     gc     gc     gc     gc" "gpv    gpv    gpv    gpv    gpv    gpv    gpv    gpv    gpv    gpv    gpv    gpv" "pedido pedido pedido pedido pedido pedido pedido pedido pedido pedido pedido pedido" "cajas  cajas  cajas  cajas  cajas  cajas  inversiones inversiones inversiones inversiones inversiones inversiones" "prestamos prestamos prestamos prestamos prestamos prestamos cxc cxc cxc cxc cxc cxc" "cxp    cxp    cxp    cxp    cxp    cxp    inv    inv    inv    inv    inv    inv" "ranking ranking ranking ranking ranking ranking activos activos activos activos activos activos"}}@media(max-width:768px){.dashboard-grid{grid-template-columns:1fr;gap:.75rem;margin-top:.5rem;grid-template-areas:"kpi" "ev-v" "ev-g" "pie-p" "bar-c" "bar-pv" "gp" "gc" "gpv" "pedido" "cajas" "inversiones" "prestamos" "cxc" "cxp" "inv" "ranking" "activos"}}.page-container.dashboard-root{padding:1rem;max-width:1600px;margin:0 auto}@media(max-width:768px){.page-container.dashboard-root{padding:0;max-width:100%}}.dash-filter-bar{display:flex;align-items:center;gap:.5rem;margin-bottom:.75rem;flex-wrap:wrap}.dash-filter-label{font-size:.6875rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted);flex-shrink:0}.dash-filter-months{display:flex;gap:.25rem;flex-wrap:wrap}.dash-month-btn{padding:.25rem .625rem;border-radius:var(--radius-full);border:1px solid var(--border-strong);background:var(--bg-surface);font-size:.6875rem;font-weight:600;color:var(--text-secondary);cursor:pointer;transition:all var(--transition-fast);white-space:nowrap}.dash-month-btn:hover{border-color:var(--accent-primary);color:var(--accent-primary)}.dash-month-btn.active{background:var(--accent-primary);border-color:var(--accent-primary);color:#fff}.dash-personalizar-panel{background:var(--bg-surface);border:1px solid var(--border-strong);border-radius:var(--radius-lg);padding:.75rem 1rem;margin-bottom:.75rem;box-shadow:var(--shadow-md)}.dash-pn-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:.625rem;font-size:.75rem;font-weight:700;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.05em}.dash-pn-close{background:none;border:none;cursor:pointer;font-size:.875rem;color:var(--text-muted);padding:.125rem .375rem;border-radius:var(--radius-sm);transition:background var(--transition-fast)}.dash-pn-close:hover{background:var(--danger-bg);color:var(--danger)}.dash-pn-chips{display:flex;flex-wrap:wrap;gap:.375rem}.dash-chip{padding:.25rem .625rem;border-radius:var(--radius-full);border:1px solid;font-size:.6875rem;font-weight:600;cursor:pointer;transition:all var(--transition-fast);white-space:nowrap}.dash-chip--on{background:var(--bg-tertiary);border-color:var(--accent-primary);color:var(--accent-primary)}.dash-chip--off{background:var(--bg-raised);border-color:var(--border-strong);color:var(--text-muted)}.dash-chip--on:hover{background:var(--accent-primary);color:#fff}.dash-chip--off:hover{border-color:var(--accent-primary);color:var(--accent-primary)}.dash-card{border-radius:var(--radius-lg);background:var(--bg-surface);border:1px solid var(--border-strong);box-shadow:0 2px 8px #00000012,0 1px 2px #0000000a;display:flex;flex-direction:column;min-height:0;min-width:0;overflow:hidden;border-top:3px solid var(--dash-accent, var(--border-strong))}.dash-card--blue{--dash-accent: #2563EB}.dash-card--purple{--dash-accent: #7C3AED}.dash-card--red{--dash-accent: #DC2626}.dash-card--amber{--dash-accent: #D97706}.dash-card--rose{--dash-accent: #E11D48}.dash-card--teal{--dash-accent: #0D9488}.dash-card--indigo{--dash-accent: #4F46E5}.dash-card--slate{--dash-accent: #475569}.dash-card--emerald{--dash-accent: #059669}.dash-card h2{font-size:.75rem;font-weight:700;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.06em;margin:0;padding:.625rem 1rem;background:var(--bg-raised);border-bottom:1px solid var(--border);display:flex;align-items:center;flex-shrink:0;gap:.4rem}.dash-card h2:before{content:"";display:inline-block;width:7px;height:7px;border-radius:50%;background:var(--dash-accent, var(--border-strong));flex-shrink:0}.dash-collapse-btn{background:none;border:1px solid var(--border);border-radius:var(--radius-sm);cursor:pointer;font-size:.75rem;font-weight:700;line-height:1;color:var(--text-muted);padding:.1rem .35rem;margin-left:auto;flex-shrink:0;transition:all var(--transition-fast)}.dash-collapse-btn:hover{background:var(--bg-app);color:var(--text-secondary);border-color:var(--border-strong)}.dash-card .dash-table-wrapper{flex:1;overflow-x:auto;padding:.625rem .25rem .625rem 0}.dash-card .bar-list{padding:.875rem 1rem}.dash-chart-body{flex:1;padding:.75rem .5rem .625rem;min-height:0}.dash-chart-body--center{display:flex;align-items:center;justify-content:center}.dash-no-data{color:var(--text-muted);font-size:.8125rem;text-align:center;padding:2rem 1rem}.kpi-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:0;flex:1}@media(max-width:900px){.kpi-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:480px){.kpi-grid{grid-template-columns:1fr 1fr}}.kpi-card{display:flex;flex-direction:column;align-items:flex-start;padding:1rem 1.25rem;border-right:1px solid var(--border);gap:.2rem;position:relative}.kpi-card:last-child{border-right:none}.kpi-card:before{content:"";position:absolute;bottom:0;left:0;right:0;height:2px;background:var(--kpi-accent, transparent);opacity:.5}.kpi-card--blue{--kpi-accent: #2563EB}.kpi-card--red{--kpi-accent: #DC2626}.kpi-card--green{--kpi-accent: #16A34A}.kpi-card--purple{--kpi-accent: #7C3AED}.kpi-icon{font-size:1.1rem;line-height:1;margin-bottom:.1rem}.kpi-label{font-size:.6875rem;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted);white-space:nowrap}.kpi-value{font-size:1.375rem;font-weight:800;color:var(--text-primary);line-height:1.15;letter-spacing:-.02em;white-space:nowrap}.kpi-value--neg{color:var(--danger-color)}.kpi-trend{font-size:.6875rem;font-weight:700;padding:.1rem .4rem;border-radius:var(--radius-full);white-space:nowrap}.kpi-trend--up{background:var(--success-bg);color:var(--success-text)}.kpi-trend--down{background:var(--danger-bg);color:var(--danger-text)}.rtt-box{background:var(--bg-surface);border:1px solid var(--border-strong);border-radius:var(--radius-md);padding:.5rem .75rem;box-shadow:var(--shadow-md);min-width:140px}.rtt-label{font-size:.75rem;font-weight:700;color:var(--text-secondary);margin-bottom:.375rem;border-bottom:1px solid var(--border);padding-bottom:.25rem}.rtt-item{font-size:.75rem;display:flex;justify-content:space-between;gap:.75rem;font-weight:600;margin-top:.2rem}.small-table{width:100%;border-collapse:collapse}.small-table th{padding:.4375rem .875rem;font-size:.6875rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted);background:transparent;border-bottom:1px solid var(--border);white-space:nowrap}.small-table td{padding:.4375rem .875rem;font-size:.8125rem;border-bottom:1px solid var(--border);color:var(--text-primary)}.small-table tbody tr:last-child td{border-bottom:none}.small-table tbody tr:hover td{background:var(--bg-raised)}.small-table tfoot td{background:var(--bg-raised);border-top:2px solid var(--border-strong);border-bottom:none;font-weight:700;font-size:.8125rem;padding:.5rem .875rem;color:var(--text-primary)}.text-truncate{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:inline-block}.bar-list{display:flex;flex-direction:column;gap:.5rem}.bar-row{display:flex;align-items:center;gap:.5rem}.bar-label{width:110px;font-size:.75rem;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;flex-shrink:0}.bar-track{flex:1;background:var(--bg-app);border-radius:3px;height:14px;overflow:hidden;border:1px solid var(--border)}.bar-fill{height:100%;border-radius:3px;transition:width .5s ease;min-width:3px;opacity:.85}.bar-val{width:60px;text-align:right;font-size:.6875rem;font-weight:700;color:var(--text-secondary);flex-shrink:0}.cov-badge{display:inline-block;padding:.1rem .5rem;border-radius:var(--radius-full);font-size:.6875rem;font-weight:700;letter-spacing:.02em}.cov-0{background:var(--danger-bg);color:var(--danger-text)}.cov-1{background:var(--warning-bg);color:var(--warning)}.cov-ok{background:var(--success-bg);color:var(--success)}@media(max-width:768px){.dash-card{border-top-width:2px}.dash-card h2{padding:.5rem .75rem;font-size:.6875rem}.small-table th,.small-table td{padding:.375rem .625rem;font-size:.75rem}.bar-label{width:85px;font-size:.6875rem}.bar-val{width:46px;font-size:.625rem}.bar-track{height:12px}.pedido-hide-mobile{display:none}.cov-badge{padding:.1875rem .5rem;font-size:.75rem}.kpi-card{padding:.75rem}.kpi-value{font-size:1.125rem}.dash-filter-months{gap:.2rem}.dash-month-btn{padding:.2rem .5rem;font-size:.625rem}}.catalog-page{display:flex;flex-direction:column;height:100%}.tabs-container{display:flex;flex-wrap:wrap;gap:.25rem;border-bottom:1px solid var(--border);padding-bottom:.75rem;margin-bottom:.875rem}.tab-btn{background:transparent;border:1px solid transparent;color:var(--text-secondary);font-size:.8125rem;font-weight:500;font-family:inherit;padding:.3125rem .75rem;cursor:pointer;border-radius:var(--radius-md);transition:background var(--transition-fast),color var(--transition-fast)}.tab-btn:hover{background:var(--bg-raised);color:var(--text-primary)}.tab-btn.active{background:var(--bg-tertiary);color:var(--accent-primary);font-weight:600;border-color:var(--accent-primary)}.p-0{padding:0}.loading-state{padding:2rem;text-align:center;color:var(--text-secondary);font-size:.8125rem}.modal-overlay{position:fixed;inset:0;background:#0f172a73;z-index:100;display:flex;align-items:center;justify-content:center;padding:1rem}.modal-content{width:100%;max-width:480px;padding:1.25rem 1.5rem;background:var(--bg-surface);border:1px solid var(--border);box-shadow:var(--shadow-lg);border-radius:var(--radius-lg)}.modal-content h3{margin-bottom:1rem;color:var(--text-primary);font-size:.9375rem}.pos-container{display:flex;gap:1rem;align-items:flex-start;min-height:0}.pos-products{flex:1.3;display:flex;flex-direction:column;gap:.75rem;min-width:0}.pos-checkout{width:420px;flex-shrink:0;display:flex;flex-direction:column;background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius-lg);overflow:hidden}.products-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:.625rem;overflow-y:auto;max-height:calc(100vh - 200px);padding-right:2px}.product-card{background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius-md);padding:.75rem;cursor:pointer;transition:border-color var(--transition-fast),box-shadow var(--transition-fast);display:flex;flex-direction:column;justify-content:space-between;min-height:90px}.product-card:hover:not(.out-of-stock){border-color:var(--accent-primary);box-shadow:var(--shadow-sm)}.product-card.out-of-stock{opacity:.45;cursor:not-allowed;filter:grayscale(1)}.product-name{font-weight:500;font-size:.8125rem;color:var(--text-primary);line-height:1.3;margin-bottom:.375rem}.product-price{color:var(--success);font-weight:700;font-size:.875rem}.product-stock{font-size:.6875rem;color:var(--text-muted);margin-top:.25rem}.checkout-header{padding:.75rem 1rem;border-bottom:1px solid var(--border);font-weight:600;font-size:.875rem;color:var(--text-primary)}.cart-items{flex:1;overflow-y:auto;padding:.75rem;display:flex;flex-direction:column;gap:.5rem;max-height:calc(100vh - 380px)}.cart-item{background:var(--bg-raised);border:1px solid var(--border);border-radius:var(--radius-md);padding:.625rem .75rem;display:flex;flex-direction:column;gap:.5rem}.cart-item-header{display:flex;justify-content:space-between;align-items:flex-start;gap:.5rem}.cart-item-name{font-weight:500;font-size:.8125rem;color:var(--text-primary);line-height:1.3}.cart-item-price{font-size:.75rem;color:var(--text-muted)}.cart-item-controls{display:grid;grid-template-columns:1fr 1fr;gap:.375rem}.cart-item-controls label{font-size:.6875rem;color:var(--text-secondary);font-weight:500;display:block;margin-bottom:.125rem}.cart-item-controls .input-field{padding:.3125rem .5rem;font-size:.8125rem;text-align:center;font-weight:600}.cart-item-footer{display:flex;justify-content:space-between;align-items:center}.cart-item-total{font-weight:700;font-size:.875rem;color:var(--text-primary)}.checkout-summary{padding:.875rem 1rem;border-top:1px solid var(--border);background:var(--bg-surface);display:flex;flex-direction:column;gap:.5rem}.checkout-fields{display:flex;flex-direction:column;gap:.5rem;padding-bottom:.5rem;border-bottom:1px solid var(--border);margin-bottom:.25rem}.total-row{display:flex;justify-content:space-between;align-items:center;font-size:.8125rem;color:var(--text-secondary)}.total-row.main{font-size:.9375rem;font-weight:700;color:var(--text-primary);border-top:1px solid var(--border);padding-top:.375rem;margin-top:.125rem}.total-amount{font-size:1.125rem;font-weight:700;color:var(--success)}@media(max-width:900px){.pos-container{flex-direction:column}.pos-checkout{width:100%}.products-grid{max-height:45vh}.cart-items{max-height:35vh}}.traslados-page{display:flex;flex-direction:column;height:100%}.custom-scroll::-webkit-scrollbar{width:6px}.custom-scroll::-webkit-scrollbar-track{background:var(--bg-tertiary)}.custom-scroll::-webkit-scrollbar-thumb{background:var(--accent-primary);border-radius:10px}.cart-list{background:var(--bg-raised);border-radius:var(--radius-md);padding:.5rem;border:1px solid var(--border);max-height:260px;overflow-y:auto}
