*{box-sizing:border-box;margin:0;padding:0}:root{--primary:#0070f3;--primary-dark:#0051a8;--success:#10b981;--success-dark:#059669;--warning:#f59e0b;--warning-dark:#d97706;--danger:#ef4444;--danger-dark:#dc2626;--info:#3b82f6;--purple:#8b5cf6;--gray-50:#f9fafb;--gray-100:#f3f4f6;--gray-200:#e5e7eb;--gray-300:#d1d5db;--gray-400:#9ca3af;--gray-500:#6b7280;--gray-600:#4b5563;--gray-700:#374151;--gray-800:#1f2937;--gray-900:#111827;--bg-primary:#fff;--bg-secondary:#f9fafb;--bg-tertiary:#f3f4f6;--text-primary:#111827;--text-secondary:#4b5563;--text-muted:#6b7280;--border-primary:#e5e7eb;--border-secondary:#f3f4f6;--bg-warning-subtle:#fffbeb;--bg-info-subtle:#eff6ff;--bg-success-subtle:#f0fdf4;--bg-danger-subtle:#fef2f2;--bg-purple-subtle:#ede9fe;--text-warning:#92400e;--text-info:#1e40af;--text-success:#065f46;--text-danger:#991b1b;--text-danger-strong:#dc2626;--text-purple:#5b21b6;--badge-pending-bg:#fef3c7;--badge-pending-color:#92400e;--badge-approved-bg:#dbeafe;--badge-approved-color:#1e40af;--badge-paid-bg:#d1fae5;--badge-paid-color:#065f46;--badge-active-bg:#d1fae5;--badge-active-color:#065f46;--badge-disabled-bg:#fee2e2;--badge-disabled-color:#991b1b;--badge-auto-bg:#e0e7ff;--badge-auto-color:#3730a3;--badge-manual-bg:#fae8ff;--badge-manual-color:#86198f;--badge-warning-bg:#fef3c7;--badge-warning-color:#92400e;--badge-info-bg:#dbeafe;--badge-info-color:#1e40af;--badge-purple-bg:#ede9fe;--badge-purple-color:#5b21b6;--badge-success-bg:#d1fae5;--badge-success-color:#065f46;--sidebar-width:240px;--header-height:64px;--shadow-sm:0 1px 2px 0 rgba(0,0,0,.05);--shadow:0 1px 3px 0 rgba(0,0,0,.1),0 1px 2px -1px rgba(0,0,0,.1);--shadow-md:0 4px 6px -1px rgba(0,0,0,.1),0 2px 4px -2px rgba(0,0,0,.1);--shadow-lg:0 10px 15px -3px rgba(0,0,0,.1),0 4px 6px -4px rgba(0,0,0,.1);--radius-sm:4px;--radius:8px;--radius-lg:12px}[data-theme=dark]{--primary:#3b82f6;--primary-dark:#2563eb;--success:#10b981;--success-dark:#059669;--warning:#f59e0b;--warning-dark:#d97706;--danger:#ef4444;--danger-dark:#dc2626;--info:#60a5fa;--purple:#a78bfa;--gray-50:#0f172a;--gray-100:#1e293b;--gray-200:#334155;--gray-300:#475569;--gray-400:#94a3b8;--gray-500:#94a3b8;--gray-600:#cbd5e1;--gray-700:#e2e8f0;--gray-800:#f1f5f9;--gray-900:#f8fafc;--bg-primary:#1e293b;--bg-secondary:#0f172a;--bg-tertiary:#1e293b;--text-primary:#f8fafc;--text-secondary:#cbd5e1;--text-muted:#94a3b8;--border-primary:#334155;--border-secondary:#1e293b;--bg-warning-subtle:#422006;--bg-info-subtle:#172554;--bg-success-subtle:#052e16;--bg-danger-subtle:#450a0a;--bg-purple-subtle:#2e1065;--text-warning:#fbbf24;--text-info:#93c5fd;--text-success:#6ee7b7;--text-danger:#fca5a5;--text-danger-strong:#fca5a5;--text-purple:#c4b5fd;--badge-pending-bg:#422006;--badge-pending-color:#fbbf24;--badge-approved-bg:#172554;--badge-approved-color:#93c5fd;--badge-paid-bg:#052e16;--badge-paid-color:#6ee7b7;--badge-active-bg:#052e16;--badge-active-color:#6ee7b7;--badge-disabled-bg:#450a0a;--badge-disabled-color:#fca5a5;--badge-auto-bg:#1e1b4b;--badge-auto-color:#a5b4fc;--badge-manual-bg:#2e1065;--badge-manual-color:#e9d5ff;--badge-warning-bg:#422006;--badge-warning-color:#fbbf24;--badge-info-bg:#172554;--badge-info-color:#93c5fd;--badge-purple-bg:#2e1065;--badge-purple-color:#c4b5fd;--badge-success-bg:#052e16;--badge-success-color:#6ee7b7;--shadow-sm:0 1px 2px 0 rgba(0,0,0,.2);--shadow:0 1px 3px 0 rgba(0,0,0,.3),0 1px 2px -1px rgba(0,0,0,.3);--shadow-md:0 4px 6px -1px rgba(0,0,0,.3),0 2px 4px -2px rgba(0,0,0,.3);--shadow-lg:0 10px 15px -3px rgba(0,0,0,.3),0 4px 6px -4px rgba(0,0,0,.3);color-scheme:dark}body,html{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;background:var(--gray-50);color:var(--gray-900);line-height:1.5;-webkit-font-smoothing:antialiased;transition:background-color .2s ease,color .2s ease}a{color:var(--primary);text-decoration:none}a:hover{text-decoration:underline}button{font-family:inherit;cursor:pointer}input,select,textarea{font-family:inherit;font-size:inherit}.card{background:var(--bg-primary);border-radius:var(--radius-lg);box-shadow:var(--shadow);border:1px solid var(--gray-200)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:10px 16px;font-size:14px;font-weight:500;border-radius:var(--radius);border:none;transition:all .15s ease}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-primary{background:var(--primary);color:#fff}.btn-primary:hover:not(:disabled){background:var(--primary-dark)}.btn-success{background:var(--success);color:#fff}.btn-success:hover:not(:disabled){background:var(--success-dark)}.btn-danger{background:var(--danger);color:#fff}.btn-danger:hover:not(:disabled){background:var(--danger-dark)}.btn-secondary{background:var(--bg-tertiary);color:var(--gray-700);border:1px solid var(--gray-300)}.btn-secondary:hover:not(:disabled){background:var(--gray-200)}.btn-sm{padding:6px 12px;font-size:13px}.btn-xs{padding:4px 8px;font-size:11px}.input{width:100%;padding:10px 12px;border:1px solid var(--gray-300);border-radius:var(--radius);font-size:14px;background:var(--bg-primary);color:var(--gray-900);transition:border-color .15s ease,box-shadow .15s ease}.input:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px rgba(0,112,243,.1)}[data-theme=dark] .input:focus{box-shadow:0 0 0 3px rgba(59,130,246,.2)}.input::placeholder{color:var(--gray-400)}.select{width:100%;padding:10px 12px;border:1px solid var(--gray-300);border-radius:var(--radius);font-size:14px;background:var(--bg-primary);color:var(--gray-900);cursor:pointer}.select:focus{outline:none;border-color:var(--primary)}.form-label,.label{display:block;margin-bottom:6px;font-size:13px;font-weight:500;color:var(--gray-700)}.form-input{width:100%;padding:10px 12px;border:1px solid var(--gray-300);border-radius:var(--radius);font-size:14px;background:var(--bg-primary);color:var(--gray-900);transition:border-color .15s ease,box-shadow .15s ease}.form-input:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px rgba(0,112,243,.1)}[data-theme=dark] .form-input:focus{box-shadow:0 0 0 3px rgba(59,130,246,.2)}.form-input::placeholder{color:var(--gray-400)}.badge{display:inline-flex;align-items:center;padding:4px 10px;font-size:12px;font-weight:600;border-radius:9999px}.badge-pending{background:var(--badge-pending-bg);color:var(--badge-pending-color)}.badge-approved{background:var(--badge-approved-bg);color:var(--badge-approved-color)}.badge-paid{background:var(--badge-paid-bg);color:var(--badge-paid-color)}.badge-active{background:var(--badge-active-bg);color:var(--badge-active-color)}.badge-disabled{background:var(--badge-disabled-bg);color:var(--badge-disabled-color)}.badge-auto{background:var(--badge-auto-bg);color:var(--badge-auto-color)}.badge-manual{background:var(--badge-manual-bg);color:var(--badge-manual-color)}.badge-warning{background:var(--badge-warning-bg);color:var(--badge-warning-color)}.badge-info{background:var(--badge-info-bg);color:var(--badge-info-color)}.badge-purple{background:var(--badge-purple-bg);color:var(--badge-purple-color)}.badge-success{background:var(--badge-success-bg);color:var(--badge-success-color)}.btn-info{background:var(--info);color:#fff}.btn-info:hover:not(:disabled){background:#2563eb}.table-container{overflow-x:auto;border-radius:var(--radius-lg);border:1px solid var(--gray-200);background:var(--bg-primary)}.table{width:100%;border-collapse:collapse}.table th{padding:12px 16px;text-align:left;font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--gray-500);background:var(--gray-50);border-bottom:1px solid var(--gray-200)}.table td{padding:12px 16px;font-size:14px;border-bottom:1px solid var(--gray-100);color:var(--gray-900)}.table tbody tr:hover{background:var(--gray-50)}.table tbody tr:last-child td{border-bottom:none}.stat-card{background:var(--bg-primary);border-radius:var(--radius-lg);padding:20px;border:1px solid var(--gray-200)}.stat-card-label{font-size:13px;color:var(--gray-500);margin-bottom:4px}.stat-card-value{font-size:28px;font-weight:700;color:var(--gray-900)}.stat-card-subtitle{font-size:12px;color:var(--gray-400);margin-top:4px}.alert{padding:12px 16px;border-radius:var(--radius);font-size:14px;display:flex;align-items:center;gap:12px}.alert-error{background:var(--bg-danger-subtle);color:var(--text-danger);border:1px solid var(--badge-disabled-bg)}.alert-success{background:var(--bg-success-subtle);color:var(--text-success);border:1px solid var(--badge-success-bg)}.alert-warning{background:var(--bg-warning-subtle);color:var(--text-warning);border:1px solid var(--badge-warning-bg)}.page-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px}.page-title{font-size:24px;font-weight:700;color:var(--gray-900)}.page-subtitle{font-size:14px;color:var(--gray-500);margin-top:4px}.empty-state{text-align:center;padding:60px 20px;background:var(--bg-primary);border-radius:var(--radius-lg);border:1px solid var(--gray-200)}.empty-state-title{font-size:18px;font-weight:600;color:var(--gray-900);margin-bottom:8px}.empty-state-text{font-size:14px;color:var(--gray-500)}[data-theme=dark] .stat-card[style*=background]{background:var(--bg-primary)!important}[data-theme=dark] code{background:var(--gray-200)!important;color:var(--gray-700)!important}[data-theme=dark] pre{color:var(--gray-700)}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:var(--gray-100)}::-webkit-scrollbar-thumb{background:var(--gray-300);border-radius:4px}::-webkit-scrollbar-thumb:hover{background:var(--gray-400)}.login-page{min-height:100vh;display:grid;place-items:center;padding:64px 20px;position:relative;overflow:hidden;color:#e2e8f0;background:radial-gradient(1100px 600px at 10% 15%,rgba(56,189,248,.25) 0,rgba(56,189,248,0) 60%),radial-gradient(900px 520px at 85% 15%,rgba(59,130,246,.22) 0,rgba(59,130,246,0) 62%),linear-gradient(160deg,#0b1020,#0f172a 55%,#020617)}.login-page:after,.login-page:before{content:"";position:absolute;border-radius:999px;filter:blur(0);opacity:.6}.login-page:before{width:360px;height:360px;background:radial-gradient(circle at 30% 30%,rgba(14,165,233,.45),rgba(14,165,233,0));top:-140px;left:-120px}.login-page:after{width:420px;height:420px;background:radial-gradient(circle at 70% 30%,rgba(96,165,250,.35),rgba(96,165,250,0));bottom:-180px;right:-140px}.login-card{position:relative;z-index:1;width:min(520px,100%);padding:32px 32px 28px;border-radius:20px;background:rgba(15,23,42,.86);border:1px solid rgba(59,130,246,.35);box-shadow:0 50px 90px -60px rgba(2,6,23,.95),0 40px 70px -50px rgba(37,99,235,.6);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);animation:login-fade .6s ease-out}.login-card:before{content:"";position:absolute;top:0;left:18px;right:18px;height:3px;border-radius:999px;background:linear-gradient(90deg,rgba(56,189,248,.2),rgba(56,189,248,.9),rgba(37,99,235,.8));opacity:.85}.login-brand{display:flex;align-items:center;gap:16px;margin-bottom:20px}.login-logo{width:48px;height:48px;border-radius:16px;display:grid;place-items:center;font-weight:700;font-size:16px;color:#fff;background:linear-gradient(135deg,#38bdf8,#2563eb);box-shadow:0 22px 36px -22px rgba(59,130,246,.9);letter-spacing:.04em}.login-eyebrow{font-size:12px;text-transform:uppercase;letter-spacing:.2em;color:#94a3b8}.login-title{font-size:28px;font-weight:700;color:#f8fafc;letter-spacing:-.02em}.login-description{font-size:15px;color:#cbd5e1;margin-bottom:24px}.login-button{width:100%;border:none;border-radius:14px;padding:12px 16px;font-size:15px;font-weight:600;color:#fff;display:inline-flex;align-items:center;justify-content:center;gap:10px;background:linear-gradient(135deg,#38bdf8,#2563eb 90%);border:1px solid rgba(125,211,252,.4);box-shadow:0 20px 40px -24px rgba(56,189,248,.8);transition:transform .2s ease,box-shadow .2s ease,filter .2s ease,border-color .2s ease}.login-button:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 28px 50px -26px rgba(59,130,246,.95);filter:saturate(1.1);border-color:rgba(148,163,184,.5)}.login-button:disabled{cursor:not-allowed;opacity:.65}.login-button-icon{width:22px;height:22px;background:hsla(0,0%,100%,.95);border-radius:6px;display:grid;place-items:center}.login-button-icon svg{width:16px;height:16px}.login-footnote{margin-top:16px;font-size:12px;color:#94a3b8}@keyframes login-fade{0%{opacity:0;transform:translateY(10px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}@media (max-width:600px){.login-card{padding:28px 22px}.login-title{font-size:24px}}@media (prefers-reduced-motion:reduce){.login-card{animation:none}}@media (max-width:768px){.stat-grid{grid-template-columns:repeat(2,1fr)!important;gap:12px!important}.stat-card{padding:16px}.stat-card-value{font-size:22px}.stat-card-label{font-size:12px}.table-container{margin:0 -16px;border-radius:0;border-left:none;border-right:none}.table td,.table th{padding:10px 12px;font-size:13px;white-space:nowrap}.card{border-radius:var(--radius)}.btn{padding:10px 14px;font-size:14px}.btn-sm{padding:8px 12px;font-size:13px}.form-input,.input,.select{padding:12px;font-size:16px}.empty-state{padding:40px 20px}.empty-state-title{font-size:16px}.badge{padding:3px 8px;font-size:11px}.alert{padding:10px 14px;font-size:13px}}@media (max-width:480px){.stat-grid{grid-template-columns:1fr!important}}