@import "https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600&display=swap";*,:before,:after{box-sizing:border-box;margin:0;padding:0}:root{--bg:#0d0d0d;--bg2:#141414;--bg3:#1c1c1c;--bg4:#242424;--border:#ffffff12;--border2:#ffffff1f;--text:#f0ede8;--text2:#999;--text3:#555;--accent:#6c47ff;--accent2:#6c47ff26;--green:#22c55e;--green2:#22c55e1f;--amber:#f59e0b;--amber2:#f59e0b1f;--red:#ef4444;--red2:#ef44441f;--blue:#3b82f6;--blue2:#3b82f61f;--font:"Inter", system-ui, sans-serif;--radius:10px;--shadow:0 1px 3px #0006}body{background:var(--bg);color:var(--text);font-family:var(--font);-webkit-font-smoothing:antialiased;font-size:13px;line-height:1.6}button,input,textarea,select{font-family:var(--font)}.card{background:var(--bg2);border:1px solid var(--border);border-radius:var(--radius)}.btn{cursor:pointer;white-space:nowrap;border:none;border-radius:7px;align-items:center;gap:6px;padding:7px 14px;font-size:13px;font-weight:500;transition:all .15s;display:inline-flex}.btn-primary{background:var(--accent);color:#fff}.btn-primary:hover{opacity:.85}.btn-ghost{background:var(--bg3);color:var(--text2);border:1px solid var(--border2)}.btn-ghost:hover{color:var(--text);border-color:var(--border2);background:var(--bg4)}.btn-danger{background:var(--red2);color:var(--red);border:1px solid #ef444433}.btn-danger:hover{background:#ef444433}.btn-success{background:var(--green2);color:var(--green);border:1px solid #22c55e33}.btn:disabled{opacity:.4;cursor:not-allowed}.badge{white-space:nowrap;border-radius:999px;align-items:center;padding:2px 8px;font-size:11px;font-weight:500;display:inline-flex}.badge-green{background:var(--green2);color:var(--green)}.badge-amber{background:var(--amber2);color:var(--amber)}.badge-red{background:var(--red2);color:var(--red)}.badge-blue{background:var(--blue2);color:var(--blue)}.badge-purple{background:var(--accent2);color:var(--accent)}.badge-gray{background:var(--bg3);color:var(--text3);border:1px solid var(--border)}.form-group{margin-bottom:16px}.form-label{color:var(--text2);margin-bottom:5px;font-size:12px;font-weight:500;display:block}.form-input,.form-textarea,.form-select{background:var(--bg3);border:1px solid var(--border2);width:100%;color:var(--text);border-radius:7px;outline:none;padding:8px 12px;font-size:13px;transition:border-color .15s}.form-input:focus,.form-textarea:focus,.form-select:focus{border-color:var(--accent)}.form-textarea{resize:vertical;min-height:80px;font-family:Courier New,monospace;font-size:12px}.form-select option{background:var(--bg3)}.form-hint{color:var(--text3);margin-top:4px;font-size:11px}.spinner{border:2px solid var(--border2);border-top-color:var(--accent);border-radius:50%;width:20px;height:20px;animation:.6s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}table{border-collapse:collapse;width:100%}th{text-align:left;color:var(--text3);text-transform:uppercase;letter-spacing:.06em;border-bottom:1px solid var(--border);padding:10px 16px;font-size:11px;font-weight:500}td{color:var(--text2);border-bottom:1px solid var(--border);padding:11px 16px;font-size:13px}tr:last-child td{border-bottom:none}tbody tr:hover td{background:var(--bg3)}td.primary{color:var(--text);font-weight:500}.modal-overlay{z-index:1000;background:#000000b3;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.modal{background:var(--bg2);border:1px solid var(--border2);border-radius:14px;width:100%;max-width:520px;max-height:90vh;overflow-y:auto}.modal-header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;padding:18px 20px;display:flex}.modal-title{color:var(--text);font-size:15px;font-weight:600}.modal-close{color:var(--text3);cursor:pointer;background:0 0;border:none;border-radius:4px;padding:2px 6px;font-size:18px}.modal-close:hover{color:var(--text);background:var(--bg3)}.modal-body{padding:20px}.modal-footer{border-top:1px solid var(--border);justify-content:flex-end;gap:8px;padding:14px 20px;display:flex}.stat-card{background:var(--bg2);border:1px solid var(--border);border-radius:var(--radius);padding:16px 20px}.stat-label{color:var(--text3);text-transform:uppercase;letter-spacing:.06em;margin-bottom:6px;font-size:11px;font-weight:500}.stat-value{color:var(--text);letter-spacing:-.02em;font-size:28px;font-weight:600}.stat-sub{color:var(--text3);margin-top:3px;font-size:12px}.progress-bar{background:var(--bg3);border-radius:2px;height:4px;overflow:hidden}.progress-fill{border-radius:2px;height:100%;transition:width .3s}
