*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}:root{--bg-0: #0c0d0f;--bg-1: #13151a;--bg-2: #1a1d24;--bg-3: #22262f;--bg-4: #2a2f3a;--border: #2e3340;--border-light: #3a4050;--text-1: #f0f2f5;--text-2: #9ba3b2;--text-3: #5c6475;--accent: #e88c2e;--accent-dim: #c97a20;--accent-glow: rgba(232, 140, 46, .15);--teal: #2dd4bf;--teal-dim: rgba(45, 212, 191, .12);--red: #f87171;--red-dim: rgba(248, 113, 113, .12);--green: #4ade80;--green-dim: rgba(74, 222, 128, .12);--blue: #60a5fa;--blue-dim: rgba(96, 165, 250, .12);--radius: 10px;--radius-lg: 16px;--shadow: 0 2px 12px rgba(0,0,0,.4)}html,body{height:100%;background:var(--bg-0);color:var(--text-1);font-family:Inter,sans-serif;font-size:15px;line-height:1.6}h1,h2,h3,h4{font-family:Space Grotesk,sans-serif;font-weight:700;line-height:1.2}a{color:inherit;text-decoration:none}button{cursor:pointer;font-family:inherit;border:none;outline:none}input,textarea,select{font-family:inherit;font-size:15px;background:var(--bg-3);border:1px solid var(--border);border-radius:var(--radius);color:var(--text-1);padding:10px 14px;width:100%;transition:border-color .2s}input:focus,textarea:focus,select:focus{outline:none;border-color:var(--accent)}input::placeholder{color:var(--text-3)}::-webkit-scrollbar{width:6px}::-webkit-scrollbar-track{background:var(--bg-1)}::-webkit-scrollbar-thumb{background:var(--bg-4);border-radius:3px}.card{background:var(--bg-1);border:1px solid var(--border);border-radius:var(--radius-lg);padding:24px}.badge{display:inline-flex;align-items:center;gap:6px;padding:3px 10px;border-radius:20px;font-size:12px;font-weight:500}.badge-accent{background:var(--accent-glow);color:var(--accent)}.badge-teal{background:var(--teal-dim);color:var(--teal)}.badge-red{background:var(--red-dim);color:var(--red)}.badge-green{background:var(--green-dim);color:var(--green)}.badge-blue{background:var(--blue-dim);color:var(--blue)}.btn{display:inline-flex;align-items:center;gap:8px;padding:10px 20px;border-radius:var(--radius);font-size:14px;font-weight:600;transition:all .2s}.btn-primary{background:var(--accent);color:#0c0d0f}.btn-primary:hover{background:var(--accent-dim)}.btn-ghost{background:var(--bg-3);color:var(--text-1);border:1px solid var(--border)}.btn-ghost:hover{border-color:var(--border-light);background:var(--bg-4)}.btn-danger{background:var(--red-dim);color:var(--red);border:1px solid transparent}.btn-danger:hover{border-color:var(--red)}.stat-card{background:var(--bg-1);border:1px solid var(--border);border-radius:var(--radius-lg);padding:20px 24px}.stat-value{font-family:Space Grotesk,sans-serif;font-size:28px;font-weight:700}.stat-label{font-size:12px;color:var(--text-2);margin-top:4px;text-transform:uppercase;letter-spacing:.06em}.table-wrap{overflow-x:auto}table{width:100%;border-collapse:collapse;font-size:14px}th{text-align:left;padding:10px 16px;color:var(--text-3);font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.08em;border-bottom:1px solid var(--border)}td{padding:12px 16px;border-bottom:1px solid var(--border);color:var(--text-2)}tr:last-child td{border-bottom:none}tr:hover td{background:var(--bg-2)}.form-group{display:flex;flex-direction:column;gap:6px}.form-label{font-size:13px;font-weight:500;color:var(--text-2)}.form-error{font-size:13px;color:var(--red)}.page{padding:32px;max-width:1200px;margin:0 auto}.page-title{font-size:26px;margin-bottom:24px}.grid-2{display:grid;grid-template-columns:repeat(2,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: 768px){.grid-2,.grid-3,.grid-4{grid-template-columns:1fr}.page{padding:16px}}.toast-container{position:fixed;bottom:24px;right:24px;display:flex;flex-direction:column;gap:8px;z-index:999}.toast{padding:12px 18px;border-radius:var(--radius);font-size:14px;font-weight:500;animation:slideIn .2s ease;box-shadow:var(--shadow)}.toast-success{background:var(--green-dim);border:1px solid var(--green);color:var(--green)}.toast-error{background:var(--red-dim);border:1px solid var(--red);color:var(--red)}@keyframes slideIn{0%{transform:translate(100%);opacity:0}to{transform:translate(0);opacity:1}}.empty{text-align:center;padding:64px 24px;color:var(--text-3)}.empty-icon{font-size:48px;margin-bottom:12px}.empty p{font-size:15px}
