:root{--green:#25d366;--green-hover:#1fb855;--green-dim:#25d36626;--dark:#0b0e11;--dark-card:#131920;--dark-border:#1e2a35;--text-primary:#fff;--text-secondary:#8899a6;--amber:#f59e0b;--amber-dim:#f59e0b26;--red:#ef4444;--red-dim:#ef444426;--blue:#3b82f6;--blue-dim:#3b82f626;--radius:8px;--radius-lg:12px;--font-display:"Outfit", sans-serif;--font-body:"DM Sans", sans-serif}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-size:16px}body{font-family:var(--font-body);background:var(--dark);color:var(--text-primary);min-height:100vh;line-height:1.5}#root{flex-direction:column;min-height:100vh;display:flex}a{color:var(--green);text-decoration:none}a:hover{text-decoration:underline}button{font-family:var(--font-body);cursor:pointer;border:none;outline:none}input,select{font-family:var(--font-body);background:var(--dark);color:var(--text-primary);border:1px solid var(--dark-border);border-radius:var(--radius);outline:none;padding:8px 12px;font-size:.875rem;transition:border-color .2s}input:focus,select:focus{border-color:var(--green)}input::placeholder{color:var(--text-secondary)}table{border-collapse:collapse;width:100%}th{text-align:left;text-transform:uppercase;letter-spacing:.05em;color:var(--text-secondary);border-bottom:1px solid var(--dark-border);white-space:nowrap;padding:12px 16px;font-size:.75rem;font-weight:600}td{border-bottom:1px solid var(--dark-border);white-space:nowrap;padding:12px 16px;font-size:.875rem}tr:hover td{background:#ffffff05}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:var(--dark-border);border-radius:3px}.page{padding:24px}.page-title{font-family:var(--font-display);margin-bottom:24px;font-size:1.5rem;font-weight:600}.card{background:var(--dark-card);border:1px solid var(--dark-border);border-radius:var(--radius-lg);padding:20px}.btn{border-radius:var(--radius);align-items:center;gap:6px;padding:8px 16px;font-size:.875rem;font-weight:500;transition:background .2s,opacity .2s;display:inline-flex}.btn-primary{background:var(--green);color:#000}.btn-primary:hover{background:var(--green-hover)}.btn-secondary{background:var(--dark-border);color:var(--text-primary)}.btn-secondary:hover{background:#2a3a4a}.btn-ghost{color:var(--text-secondary);background:0 0}.btn-ghost:hover{color:var(--text-primary)}.btn:disabled{opacity:.5;cursor:not-allowed}.badge{border-radius:999px;padding:2px 8px;font-size:.75rem;font-weight:600;display:inline-block}.badge-green{background:var(--green-dim);color:var(--green)}.badge-amber{background:var(--amber-dim);color:var(--amber)}.badge-red{background:var(--red-dim);color:var(--red)}.badge-blue{background:var(--blue-dim);color:var(--blue)}.spinner{border:3px solid var(--dark-border);border-top-color:var(--green);border-radius:50%;width:24px;height:24px;animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.4}}.loading-center{justify-content:center;align-items:center;padding:60px 0;display:flex}.metric-grid{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:16px;margin-bottom:24px;display:grid}.table-wrap{border-radius:var(--radius-lg);border:1px solid var(--dark-border);background:var(--dark-card);overflow-x:auto}.toolbar{flex-wrap:wrap;align-items:center;gap:12px;margin-bottom:16px;display:flex}.empty-state{text-align:center;color:var(--text-secondary);padding:48px 16px}.modal-overlay{z-index:100;background:#0009;justify-content:center;align-items:center;padding:16px;display:flex;position:fixed;inset:0}.modal{background:var(--dark-card);border:1px solid var(--dark-border);border-radius:var(--radius-lg);width:100%;max-width:440px;padding:24px}.modal h2{font-family:var(--font-display);margin-bottom:20px;font-size:1.25rem}.form-group{margin-bottom:16px}.form-group label{color:var(--text-secondary);text-transform:uppercase;letter-spacing:.05em;margin-bottom:6px;font-size:.75rem;font-weight:600;display:block}.form-group input,.form-group select{width:100%}.modal-actions{justify-content:flex-end;gap:8px;margin-top:24px;display:flex}@media (width<=768px){.page{padding:16px}.page-title{font-size:1.25rem}.metric-grid{grid-template-columns:1fr 1fr}}@media (width<=480px){.metric-grid{grid-template-columns:1fr}}
