*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}:root{--bg: #0d1117;--surface: #161b22;--surface2: #1c2128;--border: #2a3140;--accent: #00C16A;--accent-dim: rgba(0,193,106,.15);--accent-hover: #00a558;--text: #e6edf3;--muted: #7d8590;--danger: #f85149;--warn: #d29922;--success: #3fb950;--info: #58a6ff}body{background:var(--bg);color:var(--text);font-family:Inter,system-ui,sans-serif;font-size:14px;line-height:1.5;min-height:100vh}a{color:inherit;text-decoration:none}button{cursor:pointer;border:none;border-radius:8px;padding:8px 16px;font-size:13px;font-weight:500;font-family:inherit;transition:opacity .15s,background .15s}button:hover{opacity:.85}button:disabled{opacity:.5;cursor:not-allowed}input,select,textarea{background:var(--surface2);border:1px solid var(--border);border-radius:8px;color:var(--text);padding:8px 12px;font-size:14px;width:100%;outline:none;font-family:inherit}input:focus,select:focus,textarea:focus{border-color:var(--accent)}select option{background:var(--surface)}.btn-primary{background:var(--accent);color:#000;font-weight:600}.btn-primary:hover{background:var(--accent-hover);opacity:1}.btn-danger{background:var(--danger);color:#fff}.btn-success{background:var(--success);color:#000;font-weight:600}.btn-warn{background:var(--warn);color:#000}.btn-info{background:var(--info);color:#000}.btn-ghost{background:transparent;border:1px solid var(--border);color:var(--text)}.card{background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:20px}table{width:100%;border-collapse:collapse}th,td{padding:10px 14px;text-align:left;border-bottom:1px solid var(--border)}th{color:var(--muted);font-weight:500;font-size:11px;text-transform:uppercase;letter-spacing:.05em}tr:last-child td{border-bottom:none}tr:hover td{background:rgba(255,255,255,.02)}.badge{display:inline-block;padding:2px 10px;border-radius:999px;font-size:11px;font-weight:600}.badge-green{background:rgba(63,185,80,.15);color:var(--success)}.badge-red{background:rgba(248,81,73,.15);color:var(--danger)}.badge-yellow{background:rgba(210,153,34,.15);color:var(--warn)}.badge-gray{background:rgba(125,133,144,.15);color:var(--muted)}.badge-blue{background:rgba(88,166,255,.15);color:var(--info)}.badge-accent{background:var(--accent-dim);color:var(--accent)}.page-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:24px}.page-header h1{font-size:20px;font-weight:700}.grid-2{display:grid;grid-template-columns:1fr 1fr;gap:16px}.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.grid-4{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}@media (max-width: 900px){.grid-4{grid-template-columns:1fr 1fr}}@media (max-width: 600px){.grid-2,.grid-3,.grid-4{grid-template-columns:1fr}}.stat-card{text-align:center}.stat-card .value{font-size:28px;font-weight:700;margin:8px 0 4px}.stat-card .label{color:var(--muted);font-size:11px;text-transform:uppercase;letter-spacing:.05em}.stat-card .icon{font-size:22px;margin-bottom:4px}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:rgba(0,0,0,.7);display:flex;align-items:center;justify-content:center;z-index:1000}.modal{background:var(--surface);border:1px solid var(--border);border-radius:16px;padding:28px;width:480px;max-width:95vw;max-height:90vh;overflow-y:auto}.modal h2{font-size:17px;font-weight:700;margin-bottom:20px}.modal-actions{display:flex;gap:10px;justify-content:flex-end;margin-top:20px}.form-group{margin-bottom:14px}.form-group label{display:block;margin-bottom:6px;color:var(--muted);font-size:11px;text-transform:uppercase;letter-spacing:.05em}.spinner{width:28px;height:28px;border:3px solid var(--border);border-top-color:var(--accent);border-radius:50%;animation:spin .7s linear infinite;margin:40px auto}@keyframes spin{to{transform:rotate(360deg)}}.tabs{display:flex;gap:4px;border-bottom:1px solid var(--border);margin-bottom:20px}.tab{padding:8px 16px;cursor:pointer;border-radius:8px 8px 0 0;color:var(--muted);font-weight:500;font-size:13px;border:none;background:transparent;border-bottom:2px solid transparent;margin-bottom:-1px}.tab.active{color:var(--accent);border-bottom-color:var(--accent);background:var(--accent-dim)}.empty-state{text-align:center;padding:60px 20px;color:var(--muted)}.empty-state .icon{font-size:40px;margin-bottom:12px}
