:root{--font-main:"Plus Jakarta Sans", system-ui, -apple-system, sans-serif;--font-mono:"JetBrains Mono", "SF Mono", Consolas, monospace;--bg-primary:#07090e;--bg-secondary:#0d121d;--bg-glass:#0f172aa6;--bg-glass-hover:#16213ad9;--bg-input:#0f172abf;--bg-modal:#0d121ef2;--bg-modal-box:#ffffff0a;--border-subtle:#ffffff1a;--border-light:#ffffff2e;--border-focus:#6366f1;--text-main:#f8fafc;--text-muted:#94a3b8;--text-dim:#64748b;--text-number:#fff;--text-amount:#38bdf8;--heading-gradient:linear-gradient(135deg, #fff 0%, #cbd5e1 100%);--badge-bg:#6366f12e;--badge-text:#a5b4fc;--badge-border:#6366f166;--accent-cyan:#06b6d4;--accent-blue:#3b82f6;--accent-indigo:#6366f1;--accent-purple:#8b5cf6;--accent-pink:#ec4899;--status-success:#10b981;--status-success-bg:#10b98126;--status-success-border:#10b98159;--status-warning:#f59e0b;--status-warning-bg:#f59e0b26;--status-warning-border:#f59e0b59;--status-danger:#ef4444;--status-danger-bg:#ef444426;--status-danger-border:#ef444459;--shadow-card:0 8px 32px 0 #00000073;--shadow-card-hover:0 16px 40px -10px #000000a6, 0 0 25px #6366f11f;--shadow-glow:0 0 20px #6366f166;--bg-blob-opacity:.14;--table-header-bg:#0a0e17e0;--table-row-hover:#ffffff0b;--table-cell-text:#f1f5f9;--table-border:#ffffff0f;--chart-grid:#ffffff14;--chart-axis:#94a3b8;--chart-tooltip-bg:#0f172af5;--chart-tooltip-border:#ffffff1f;--chart-tooltip-text:#fff;--chart-legend-text:#f8fafc}[data-theme=light]{--bg-primary:#f8fafc;--bg-secondary:#fff;--bg-glass:#ffffffe0;--bg-glass-hover:#fffffffa;--bg-input:#fff;--bg-modal:#fffffffa;--bg-modal-box:#f1f5f9;--border-subtle:#e2e8f0;--border-light:#cbd5e1;--border-focus:#4f46e5;--text-main:#0f172a;--text-muted:#475569;--text-dim:#64748b;--text-number:#0f172a;--text-amount:#0284c7;--heading-gradient:linear-gradient(135deg, #0f172a 0%, #334155 100%);--badge-bg:#6366f11a;--badge-text:#4338ca;--badge-border:#6366f140;--accent-cyan:#0284c7;--accent-blue:#2563eb;--accent-indigo:#4f46e5;--accent-purple:#7c3aed;--accent-pink:#db2777;--status-success:#059669;--status-success-bg:#10b9811f;--status-success-border:#10b98159;--status-warning:#d97706;--status-warning-bg:#f59e0b1f;--status-warning-border:#f59e0b59;--status-danger:#dc2626;--status-danger-bg:#ef44441f;--status-danger-border:#ef444459;--shadow-card:0 4px 20px -2px #0f172a0f, 0 0 0 1px #0f172a0d;--shadow-card-hover:0 12px 28px -4px #0f172a1a, 0 0 0 1px #6366f140;--shadow-glow:0 0 20px #6366f133;--bg-blob-opacity:.08;--table-header-bg:#f8fafc;--table-row-hover:#f1f5f9e6;--table-cell-text:#1e293b;--table-border:#e2e8f0;--chart-grid:#0000000f;--chart-axis:#64748b;--chart-tooltip-bg:#fffffffa;--chart-tooltip-border:#cbd5e1cc;--chart-tooltip-text:#0f172a;--chart-legend-text:#334155}*{box-sizing:border-box;margin:0;padding:0}body{font-family:var(--font-main);background-color:var(--bg-primary);color:var(--text-main);min-height:100vh;line-height:1.6;transition:background-color .3s,color .3s;position:relative;overflow-x:hidden}body:before,body:after{content:"";z-index:-1;filter:blur(120px);width:60vw;height:60vw;opacity:var(--bg-blob-opacity);pointer-events:none;border-radius:50%;transition:opacity .3s;animation:22s cubic-bezier(.4,0,.2,1) infinite alternate floatBG;position:fixed}body:before{background:radial-gradient(circle, var(--accent-indigo) 0%, transparent 70%);top:-10%;left:-10%}body:after{background:radial-gradient(circle, var(--accent-cyan) 0%, transparent 70%);animation-delay:-11s;bottom:-20%;right:-10%}@keyframes floatBG{0%{transform:translate(0)scale(1)}50%{transform:translate(5%,5%)scale(1.08)}to{transform:translate(-5%,-5%)scale(.92)}}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:var(--border-light);border-radius:10px}::-webkit-scrollbar-thumb:hover{background:var(--text-dim)}.font-mono{font-family:var(--font-mono)}.number-kpi{font-family:var(--font-main);font-variant-numeric:tabular-nums;font-feature-settings:"tnum" 1;letter-spacing:-.02em;color:var(--text-number);align-items:baseline;font-weight:800;display:inline-flex}.ref-code{font-family:var(--font-mono);letter-spacing:.05em;color:var(--text-number);font-variant-numeric:tabular-nums slashed-zero;font-feature-settings:"tnum" 1, "zero" 1;font-size:.92rem;font-weight:600}.amount-cell{font-family:var(--font-main);font-variant-numeric:tabular-nums;font-feature-settings:"tnum" 1;letter-spacing:-.01em;color:var(--text-amount);align-items:baseline;font-size:.95rem;font-weight:700;display:inline-flex}.currency-tag{letter-spacing:.04em;opacity:.85;margin-right:4px;font-size:.72rem;font-weight:700}.glass-panel{background:var(--bg-glass);-webkit-backdrop-filter:blur(20px);border:1px solid var(--border-subtle);box-shadow:var(--shadow-card);border-radius:20px;transition:all .3s cubic-bezier(.25,.8,.25,1);position:relative;overflow:hidden}.glass-panel:before{content:"";background:linear-gradient(90deg, transparent, var(--border-light), transparent);opacity:0;height:1px;transition:opacity .3s;position:absolute;top:0;left:0;right:0}.glass-panel:hover{background:var(--bg-glass-hover);border-color:var(--border-light);box-shadow:var(--shadow-card-hover);transform:translateY(-2px)}.glass-panel:hover:before{opacity:1}.input-field{background:var(--bg-input);border:1px solid var(--border-subtle);color:var(--text-main);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:12px;outline:none;width:100%;padding:.75rem 1.25rem;font-size:.95rem;transition:all .25s}.input-field:focus{border-color:var(--border-focus);box-shadow:0 0 0 3px #6366f133}.input-field::placeholder{color:var(--text-dim)}select.input-field option{background-color:var(--bg-secondary);color:var(--text-main)}.btn-primary{background:linear-gradient(135deg, var(--accent-indigo) 0%, var(--accent-purple) 100%);color:#fff;cursor:pointer;border:1px solid #ffffff26;border-radius:12px;justify-content:center;align-items:center;gap:.6rem;padding:.75rem 1.4rem;font-weight:600;transition:all .25s cubic-bezier(.34,1.56,.64,1);display:inline-flex;position:relative;overflow:hidden;box-shadow:0 4px 15px #6366f159}.btn-primary:hover{transform:translateY(-2px)scale(1.02);box-shadow:0 8px 25px #6366f18c}.btn-primary:active{transform:translateY(1px)scale(.98)}.btn-secondary{background:var(--bg-input);border:1px solid var(--border-subtle);color:var(--text-main);cursor:pointer;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:12px;justify-content:center;align-items:center;gap:.6rem;padding:.65rem 1.2rem;font-weight:500;transition:all .25s;display:inline-flex}.btn-secondary:hover{background:var(--bg-glass-hover);border-color:var(--border-light);transform:translateY(-1px)}.btn-secondary:active{transform:translateY(1px)}.btn-success{color:#fff;cursor:pointer;background:linear-gradient(135deg,#059669 0%,#10b981 100%);border:1px solid #ffffff26;border-radius:12px;align-items:center;gap:.5rem;padding:.65rem 1.25rem;font-weight:600;transition:all .25s cubic-bezier(.34,1.56,.64,1);display:inline-flex;box-shadow:0 4px 15px #10b9814d}.btn-success:hover{transform:translateY(-2px)scale(1.02);box-shadow:0 8px 20px #10b98180}.theme-toggle-btn{background:var(--bg-input);border:1px solid var(--border-subtle);color:var(--text-main);cursor:pointer;border-radius:12px;justify-content:center;align-items:center;gap:8px;padding:8px 12px;font-size:.85rem;font-weight:600;transition:all .25s;display:inline-flex;box-shadow:0 2px 8px #0000000d}.theme-toggle-btn:hover{background:var(--bg-glass-hover);border-color:var(--border-light);transform:translateY(-1px)}.badge{letter-spacing:.06em;text-transform:uppercase;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-radius:9999px;align-items:center;gap:.4rem;padding:.35rem .85rem;font-size:.72rem;font-weight:700;display:inline-flex}.badge-asignado{background:var(--status-success-bg);color:var(--status-success);border:1px solid var(--status-success-border)}.badge-no_asignado{background:var(--status-warning-bg);color:var(--status-warning);border:1px solid var(--status-warning-border)}.badge-anulado{background:var(--status-danger-bg);color:var(--status-danger);border:1px solid var(--status-danger-border)}@keyframes pulseGlow{0%,to{opacity:.5;filter:drop-shadow(0 0 5px)}50%{opacity:1;filter:drop-shadow(0 0 15px)}}.pulse-glow{animation:2.5s ease-in-out infinite pulseGlow}@keyframes spin{to{transform:rotate(360deg)}}.animate-spin{animation:1s linear infinite spin}.custom-table{border-collapse:separate;border-spacing:0;width:100%}.custom-table th{background:var(--table-header-bg);color:var(--text-muted);text-transform:uppercase;letter-spacing:.08em;text-align:left;border-bottom:1px solid var(--border-subtle);z-index:10;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);padding:1.1rem 1.25rem;font-size:.75rem;font-weight:700;position:sticky;top:0}.custom-table td{border-bottom:1px solid var(--table-border);vertical-align:middle;color:var(--table-cell-text);padding:1.1rem 1.25rem;font-size:.9rem}.custom-table tr:last-child td{border-bottom:none}.custom-table tbody tr{transition:background-color .2s}.custom-table tbody tr:hover{background-color:var(--table-row-hover)}.modal-overlay{-webkit-backdrop-filter:blur(12px);z-index:9999;background:#000000a6;justify-content:center;align-items:center;padding:1.5rem;animation:.3s fadeIn;display:flex;position:fixed;inset:0}.modal-content{background:var(--bg-modal);-webkit-backdrop-filter:blur(25px);border:1px solid var(--border-light);width:100%;max-width:580px;color:var(--text-main);border-radius:24px;animation:.35s cubic-bezier(.16,1,.3,1) modalScaleIn;overflow:hidden;box-shadow:0 25px 50px -12px #000000bf}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes modalScaleIn{0%{opacity:0;transform:scale(.95)translateY(15px)}to{opacity:1;transform:scale(1)translateY(0)}}
