@import "https://fonts.googleapis.com/css2?family=Plus+Jakarta+Sans:wght@400;500;600;700;800&family=DM+Mono:wght@400;500&display=swap";*,:before,:after{box-sizing:border-box;margin:0;padding:0}:root{--blue-50:#eff6ff;--blue-100:#dbeafe;--blue-500:#1565c0;--blue-600:#1251a3;--blue-700:#0d3f80;--blue-light:#4fc3f7;--bg-app:#f0f2f7;--bg-card:#fff;--bg-hover:#f8fafc;--bg-sidebar:#0c1829;--text-primary:#0f1b2d;--text-secondary:#64748b;--text-muted:#94a3b8;--border:#e2e8f0;--border-focus:#1565c0;--green-bg:#d1fae5;--green-text:#065f46;--red-bg:#fee2e2;--red-text:#dc2626;--yellow-bg:#fef3c7;--yellow-text:#92400e;--purple-bg:#ede9fe;--purple-text:#6d28d9;--radius-sm:8px;--radius-md:12px;--radius-lg:16px;--radius-xl:20px;--shadow-sm:0 1px 3px #00000014, 0 1px 2px #0000000a;--shadow-md:0 4px 12px #00000014, 0 2px 4px #0000000a;--shadow-lg:0 10px 30px #0000001f, 0 4px 8px #0000000f;--transition:all .18s ease}html{-webkit-font-smoothing:antialiased;font-size:14px}body{background:var(--bg-app);color:var(--text-primary);font-family:Plus Jakarta Sans,Segoe UI,system-ui,sans-serif;line-height:1.6}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:3px}::-webkit-scrollbar-thumb:hover{background:#94a3b8}@keyframes fadeInUp{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}@keyframes spin{to{transform:rotate(360deg)}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}.animate-fadeInUp{animation:.3s both fadeInUp}.animate-fadeIn{animation:.25s both fadeIn}.stagger-1{animation:.3s 50ms both fadeInUp}.stagger-2{animation:.3s .1s both fadeInUp}.stagger-3{animation:.3s .15s both fadeInUp}.stagger-4{animation:.3s .2s both fadeInUp}.stagger-5{animation:.3s .25s both fadeInUp}.card{background:var(--bg-card);border-radius:var(--radius-lg);border:1px solid var(--border);box-shadow:var(--shadow-sm);transition:var(--transition)}.card:hover{box-shadow:var(--shadow-md)}.btn{border-radius:var(--radius-sm);cursor:pointer;transition:var(--transition);white-space:nowrap;border:none;align-items:center;gap:8px;padding:9px 18px;font-family:inherit;font-size:13px;font-weight:600;text-decoration:none;display:inline-flex}.btn-primary{background:var(--blue-500);color:#fff;box-shadow:0 2px 8px #1565c04d}.btn-primary:hover{background:var(--blue-600);transform:translateY(-1px);box-shadow:0 4px 14px #1565c066}.btn-primary:active{transform:translateY(0)}.btn-secondary{background:var(--bg-hover);color:var(--text-primary);border:1px solid var(--border)}.btn-secondary:hover{background:#edf2f7}.btn-danger{background:var(--red-bg);color:var(--red-text);border:1px solid #fecaca}.input{border:1.5px solid var(--border);border-radius:var(--radius-sm);width:100%;color:var(--text-primary);transition:var(--transition);background:#fafbfc;outline:none;padding:9px 13px;font-family:inherit;font-size:13px}.input:focus{border-color:var(--blue-500);background:#fff;box-shadow:0 0 0 3px #1565c01a}.input::placeholder{color:var(--text-muted)}.badge{white-space:nowrap;border-radius:20px;align-items:center;padding:3px 10px;font-size:11px;font-weight:700;display:inline-flex}.badge-success{background:var(--green-bg);color:var(--green-text)}.badge-danger{background:var(--red-bg);color:var(--red-text)}.badge-warning{background:var(--yellow-bg);color:var(--yellow-text)}.badge-info{background:var(--blue-50);color:var(--blue-500)}.badge-purple{background:var(--purple-bg);color:var(--purple-text)}.kpi-card{background:var(--bg-card);border-radius:var(--radius-lg);border:1px solid var(--border);box-shadow:var(--shadow-sm);transition:var(--transition);padding:20px;position:relative;overflow:hidden}.kpi-card:hover{box-shadow:var(--shadow-md);transform:translateY(-2px)}.kpi-card:before{content:"";background:var(--kpi-color,var(--blue-500));height:3px;position:absolute;top:0;left:0;right:0}.kpi-label{color:var(--text-muted);text-transform:uppercase;letter-spacing:.6px;margin-bottom:10px;font-size:11px;font-weight:700}.kpi-value{color:var(--text-primary);letter-spacing:-.5px;font-size:26px;font-weight:800;line-height:1}.kpi-sub{color:var(--text-muted);margin-top:6px;font-size:11px}.table-container{background:var(--bg-card);border-radius:var(--radius-lg);border:1px solid var(--border);box-shadow:var(--shadow-sm);overflow:hidden}.table{border-collapse:collapse;width:100%}.table thead tr{border-bottom:1px solid var(--border);background:#f8fafc}.table th{text-align:left;color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px;padding:11px 16px;font-size:11px;font-weight:700}.table td{border-bottom:1px solid #f1f5f9;padding:13px 16px;font-size:13px;transition:background .12s}.table tbody tr:hover td{background:var(--bg-hover)}.table tbody tr:last-child td{border-bottom:none}.skeleton{border-radius:var(--radius-sm);background:linear-gradient(90deg,#f1f5f9 25%,#e8edf3 50%,#f1f5f9 75%) 0 0/200% 100%;animation:1.4s infinite shimmer}.page-header{justify-content:space-between;align-items:center;margin-bottom:24px;display:flex}.page-title{color:var(--text-primary);letter-spacing:-.3px;font-size:20px;font-weight:800}.page-sub{color:var(--text-muted);margin-top:3px;font-size:13px}.tabs{border-radius:var(--radius-md);background:#f1f5f9;gap:4px;width:fit-content;padding:4px;display:flex}.tab{border-radius:var(--radius-sm);cursor:pointer;transition:var(--transition);color:var(--text-muted);background:0 0;border:none;align-items:center;gap:6px;padding:7px 16px;font-family:inherit;font-size:12.5px;font-weight:600;display:flex}.tab.active{color:var(--blue-500);background:#fff;box-shadow:0 1px 4px #0000001a}.tab-count{color:var(--text-muted);background:#e2e8f0;border-radius:20px;padding:1px 7px;font-size:11px;font-weight:700}.tab.active .tab-count{background:var(--blue-50);color:var(--blue-500)}.form-label{color:var(--text-primary);margin-bottom:6px;font-size:12px;font-weight:600;display:block}.form-group{margin-bottom:16px}.empty-state{text-align:center;background:var(--bg-card);border-radius:var(--radius-lg);border:1px dashed var(--border);padding:60px 24px}.empty-icon{opacity:.6;margin-bottom:16px;font-size:48px}.empty-title{color:var(--text-primary);margin-bottom:8px;font-size:16px;font-weight:700}.empty-sub{color:var(--text-muted);margin-bottom:20px;font-size:13px}
