@import "https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600&family=Outfit:wght@300;400;500;600;700&display=swap";:root{--bg-core:#0b0f19;--bg-panel:#131b2a;--bg-hover:#1e293b;--border-subtle:#ffffff14;--text-main:#f8fafc;--text-muted:#94a3b8;--accent-blue:#3b82f6;--color-primary:#10b981;--color-primary-hover:#059669;--glass-bg:#131b2a99;--glass-border:#ffffff14;--shadow-glow:0 0 20px #10b9814d;--status-red:#ef4444;--status-red-bg:#ef44441a;--status-yellow:#f59e0b;--status-yellow-bg:#f59e0b1a;--status-green:#10b981;--status-green-bg:#10b9811a;--font-sans:"Inter", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;--font-heading:"Outfit", var(--font-sans);--font-family:var(--font-sans)}*{box-sizing:border-box;margin:0;padding:0}body{font-family:var(--font-family);background-color:var(--bg-core);color:var(--text-main);-webkit-font-smoothing:antialiased;height:100vh;overflow:hidden}h1,h2,h3,h4,h5,h6{font-family:var(--font-heading)}.dashboard-layout{width:100vw;height:100vh;display:flex}.sidebar{background-color:var(--bg-panel);border-right:1px solid var(--border-subtle);flex-direction:column;width:260px;min-width:260px;padding:24px;transition:width .3s cubic-bezier(.4,0,.2,1),min-width .3s cubic-bezier(.4,0,.2,1),padding .3s cubic-bezier(.4,0,.2,1);display:flex;position:relative;overflow:visible}.sidebar.collapsed{width:72px;min-width:72px;padding:16px 12px}.sidebar .logo{font-family:var(--font-heading);background:linear-gradient(135deg, var(--color-primary), #34d399, var(--accent-blue));color:#0000;white-space:nowrap;-webkit-background-clip:text;background-clip:text;align-items:center;gap:8px;margin-bottom:40px;font-size:1.35rem;font-weight:700;display:flex;overflow:hidden}.sidebar::-webkit-scrollbar{width:4px}.sidebar::-webkit-scrollbar-thumb{background:#ffffff0f;border-radius:2px}.sidebar::-webkit-scrollbar-thumb:hover{background:#ffffff1f}.sidebar.collapsed .logo{justify-content:center;margin-bottom:20px;font-size:1rem}.sidebar.collapsed .sidebar-header{align-items:center;margin-bottom:16px}.sidebar.collapsed .sidebar-powered-by,.sidebar.collapsed .sidebar-empresa-selector,.sidebar.collapsed .sidebar-section-label{display:none!important}.sidebar.collapsed .sidebar-nav-label{display:none}.sidebar.collapsed .sidebar-alert-dot{right:6px!important}.sidebar-header-top{justify-content:space-between;align-items:center;width:100%;display:flex}.sidebar.collapsed .sidebar-header-top{flex-direction:column;justify-content:center;gap:8px}.sidebar-toggle{border:1px solid var(--border-subtle);width:24px;height:24px;color:var(--text-muted);cursor:pointer;background:0 0;border-radius:6px;flex-shrink:0;justify-content:center;align-items:center;transition:all .2s;display:flex}.sidebar-toggle:hover{color:var(--color-primary);background:#10b9811a;border-color:#10b9814d}.sidebar.collapsed .btn{position:relative;border-radius:12px!important;justify-content:center!important;padding:10px!important}.sidebar.collapsed .sidebar-nav-btn:hover .sidebar-tooltip{display:block}.sidebar-tooltip{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid var(--border-subtle);color:var(--text-main);white-space:nowrap;z-index:9999;pointer-events:none;background:#0b0f19f2;border-radius:8px;padding:6px 12px;font-size:.82rem;font-weight:500;display:none;position:absolute;top:50%;left:calc(100% + 12px);transform:translateY(-50%);box-shadow:0 8px 24px #000000b3}.sidebar-tooltip:before{content:"";border-style:solid;border-width:5px;border-color:transparent var(--border-subtle) transparent transparent;position:absolute;top:50%;right:100%;transform:translateY(-50%)}.sidebar-header{cursor:pointer;margin-bottom:32px;transition:all .3s;position:relative}.nfl-logo-img{object-fit:contain;filter:drop-shadow(0 4px 6px #0006);height:18px;transition:transform .3s cubic-bezier(.4,0,.2,1),filter .3s}.sidebar-header:hover .nfl-logo-img{filter:drop-shadow(0 0 15px #10b98199);transform:scale(1.08)translateY(-1px)}.sidebar-header:after{content:"";background:var(--color-primary);width:0;height:2px;box-shadow:0 0 8px var(--color-primary);border-radius:2px;transition:width .3s cubic-bezier(.4,0,.2,1);position:absolute;bottom:-10px;left:0}.sidebar-header:hover:after{width:80%}.main-content{flex:1;display:flex;overflow:hidden}.pane-left{flex-direction:column;flex:1;padding:24px;display:flex;overflow-y:auto}.pane-right{background-color:var(--bg-panel);border-left:1px solid var(--border-subtle);z-index:10;flex-direction:column;width:550px;min-width:550px;padding:24px;transition:transform .3s cubic-bezier(.4,0,.2,1);display:flex;box-shadow:-10px 0 30px #00000080}.glass-panel{background:var(--glass-bg);-webkit-backdrop-filter:blur(12px);border:1px solid var(--glass-border);border-radius:16px;flex-direction:column;flex:1;padding:24px;display:flex;overflow:hidden;box-shadow:0 4px 20px #0006}.header-title{font-family:var(--font-heading);align-items:center;gap:12px;margin-bottom:24px;font-size:1.75rem;font-weight:600;display:flex}table.data-grid{border-collapse:collapse;width:100%}table.data-grid th{text-align:left;color:var(--text-muted);border-bottom:1px solid var(--border-subtle);background:var(--bg-panel);z-index:2;padding:10px 12px;font-size:.8rem;font-weight:500;position:sticky;top:0}table.data-grid td{border-bottom:1px solid #ffffff0a;padding:10px 12px;transition:background .2s,transform .2s}table.data-grid tr{border-left:3px solid #0000;transition:transform .15s}table.data-grid tr:hover{border-left-color:var(--color-primary)}table.data-grid tr:hover td{background-color:var(--bg-hover);cursor:pointer}.asiento-header-hover{transition:background-color .2s}.asiento-header-hover:hover{background-color:var(--bg-hover)!important}.td-money,.kpi-value{font-variant-numeric:tabular-nums;font-feature-settings:"tnum"}.td-money{text-align:right;white-space:nowrap;font-family:SF Mono,Cascadia Code,Fira Code,Consolas,monospace}.btn{background-color:var(--bg-hover);color:var(--text-main);border:1px solid var(--border-subtle);font-family:var(--font-family);cursor:pointer;border-radius:50px;align-items:center;gap:8px;padding:8px 16px;font-size:.875rem;font-weight:500;transition:all .3s cubic-bezier(.4,0,.2,1);display:inline-flex}.btn:hover{background-color:var(--glass-bg);border-color:#10b9814d;box-shadow:0 0 10px #10b9811a}.btn.primary,.btn-cta{background-color:var(--color-primary);color:#000;border:none;font-weight:600}.btn.primary:hover,.btn-cta:hover{background-color:var(--color-primary-hover);transform:translateY(-1px);box-shadow:0 0 24px #10b98166,0 0 48px #10b98126}.status-badge{border-radius:20px;padding:6px 12px;font-size:.8rem;font-weight:600;display:inline-flex}.status-pendiente{background-color:var(--status-yellow-bg);color:var(--status-yellow)}.status-revisado{background-color:var(--status-green-bg);color:var(--status-green)}.status-error{background-color:var(--status-red-bg);color:var(--status-red)}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.fade-in{animation:.4s forwards fadeIn}@keyframes fadeSlideIn{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.module-enter{animation:.35s cubic-bezier(.4,0,.2,1) forwards fadeSlideIn}.table-row-hover:hover td{cursor:pointer;background-color:var(--bg-hover)!important}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.spin{animation:1s linear infinite spin;display:block}@keyframes badgePulse{0%,to{box-shadow:none;transform:scale(1)}50%{transform:scale(1.08);box-shadow:0 0 8px}}.badge-pulse{animation:3s ease-in-out infinite badgePulse}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}.skeleton{background:linear-gradient(90deg, var(--bg-hover) 25%, #ffffff0f 50%, var(--bg-hover) 75%);background-size:200% 100%;border-radius:8px;animation:1.8s ease-in-out infinite shimmer}.skeleton-text{border-radius:4px;height:14px;margin-bottom:8px}.skeleton-card{border-radius:12px;height:80px;margin-bottom:12px}.skeleton-row{border-radius:8px;height:52px;margin-bottom:4px}.sidebar-section-divider{background:linear-gradient(90deg,#0000,#ffffff0f,#0000);height:1px;margin:4px 12px}.upload-zone{border:2px dashed var(--border-subtle);transition:all .3s}.upload-zone:hover{border-color:var(--accent-blue);background:#3b82f60a}.upload-zone.drag-over{border-color:var(--color-primary);background:#10b9810f;box-shadow:0 0 20px #10b9811a}.glass-kpi{background:var(--glass-bg);-webkit-backdrop-filter:blur(12px);border:1px solid var(--glass-border);border-radius:16px;padding:20px 24px;transition:all .3s;box-shadow:0 4px 20px #0000004d}.glass-kpi:hover{border-color:#ffffff1f;transform:translateY(-2px);box-shadow:0 8px 30px #0006}.tab-bar{border-bottom:1px solid var(--border-subtle);gap:0;display:flex;position:relative}.tab-item{color:var(--text-muted);cursor:pointer;font-size:.9rem;font-weight:500;font-family:var(--font-sans);background:0 0;border:none;padding:12px 24px;transition:color .2s;position:relative}.tab-item:hover{color:var(--text-main)}.tab-item.active{color:var(--color-primary);font-weight:600}.tab-item.active:after{content:"";background:var(--color-primary);border-radius:2px 2px 0 0;height:2px;position:absolute;bottom:-1px;left:0;right:0;box-shadow:0 0 8px #10b98166}.empty-state{text-align:center;flex-direction:column;justify-content:center;align-items:center;padding:60px 40px;display:flex}.empty-state-icon{border:1px solid var(--border-subtle);background:#ffffff08;border-radius:20px;justify-content:center;align-items:center;width:80px;height:80px;margin-bottom:20px;display:flex}.empty-state-title{font-family:var(--font-heading);color:var(--text-main);margin-bottom:8px;font-size:1.15rem;font-weight:600}.empty-state-desc{color:var(--text-muted);max-width:360px;font-size:.9rem;line-height:1.5}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:#ffffff1a;border-radius:4px}::-webkit-scrollbar-thumb:hover{background:#fff3}.input-field{border:1px solid var(--border-subtle);width:100%;color:var(--text-main);font-family:var(--font-family);background-color:#0b0f1999;border-radius:8px;outline:none;padding:10px 14px;font-size:.9rem;transition:all .2s}.input-field:focus{border-color:var(--color-primary);background-color:#131b2acc;box-shadow:0 0 0 2px #10b98133}.input-field::placeholder{color:var(--text-muted);opacity:.7}select.input-field{appearance:none;background-image:url("data:image/svg+xml;charset=UTF-8,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23a1a1aa' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3e%3cpolyline points='6 9 12 15 18 9'%3e%3c/polyline%3e%3c/svg%3e");background-position:right 14px center;background-repeat:no-repeat;background-size:16px;padding-right:40px}.card{background:var(--glass-bg);-webkit-backdrop-filter:blur(12px);border:1px solid var(--glass-border);border-radius:16px;box-shadow:0 4px 20px #0003}@keyframes pulse-alert{0%{opacity:1;color:var(--text-muted);transform:scale(1)}50%{opacity:.9;color:var(--status-red);text-shadow:0 0 8px #ef444499;transform:scale(1.1)}to{opacity:1;color:var(--text-muted);transform:scale(1)}}.pulse-alert-bell svg{animation:2s infinite pulse-alert}@media print{:root{--bg-core:#fff!important;--bg-panel:transparent!important;--text-main:#0f172a!important;--text-primary:#0f172a!important;--text-muted:#64748b!important;--border-subtle:#cbd5e1!important;--status-green:#059669!important;--status-red:#dc2626!important;--accent-blue:#2563eb!important;--accent-magenta:#c026d3!important;--glass-bg:transparent!important}*{-webkit-print-color-adjust:exact!important;print-color-adjust:exact!important;transform:none!important}body,html,#root{color:#000;background:#fff!important;width:100%!important;height:auto!important;margin:0!important;padding:0!important;overflow:visible!important}.sidebar,.pane-left,body.is-printing-modal #root{display:none!important}.dashboard-layout,.main-content,.pane-right{width:100%!important;max-width:none!important;height:auto!important;box-shadow:none!important;background:0 0!important;border:none!important;margin:0!important;padding:0!important;display:block!important;position:static!important;overflow:visible!important}body>div[style*="position: fixed"]{background:#fff!important;height:auto!important;padding:0!important;display:block!important;position:static!important;overflow:visible!important}#visor-factura-imprimir{color:#000!important;width:100%!important;max-width:100%!important;box-shadow:none!important;background:#fff!important;border:none!important;margin:0!important;padding:0!important;position:static!important}#visor-factura-imprimir .text-muted{color:#64748b!important}.no-print{display:none!important}}.tooltip-wrapper{display:inline-flex;position:relative}.sidebar .tooltip-wrapper{width:100%;display:flex}.tooltip-box{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid var(--border-subtle);color:var(--text-main);font-family:var(--font-sans);white-space:normal;z-index:9999;pointer-events:none;letter-spacing:.2px;background:#0b0f19f2;border-radius:8px;max-width:280px;padding:6px 12px;font-size:.8rem;font-weight:400;line-height:1.4;position:absolute;box-shadow:0 8px 24px #000c}.tooltip-top{bottom:calc(100% + 10px);left:50%;transform:translate(-50%)}.tooltip-bottom{top:calc(100% + 10px);left:50%;transform:translate(-50%)}.tooltip-left{top:0;right:calc(100% + 10px)}.tooltip-right{top:0;left:calc(100% + 10px)}.tooltip-box:after{content:"";border-style:solid;border-width:6px;position:absolute}.tooltip-top:after{border-color:var(--border-subtle) transparent transparent transparent;top:100%;left:50%;transform:translate(-50%)}.tooltip-bottom:after{border-color:transparent transparent var(--border-subtle) transparent;bottom:100%;left:50%;transform:translate(-50%)}.tooltip-left:after{border-color:transparent transparent transparent var(--border-subtle);top:14px;left:100%}.tooltip-right:after{border-color:transparent var(--border-subtle) transparent transparent;top:14px;right:100%}.tooltip-right-flipup{bottom:0;left:calc(100% + 10px)}.tooltip-left-flipup{bottom:0;right:calc(100% + 10px)}.tooltip-right-flipup:after{border-color:transparent var(--border-subtle) transparent transparent;bottom:14px;right:100%}.tooltip-left-flipup:after{border-color:transparent transparent transparent var(--border-subtle);bottom:14px;left:100%}
