:root{--primary:#7c3aed;--primary-dark:#6d28d9;--primary-light:#8b5cf6;--background:#0f0f23;--surface:#1a1a2e;--surface-light:#252540;--text:#fff;--text-muted:#a0a0b0;--success:#10b981;--error:#ef4444;--warning:#f59e0b;--border:#2d2d44}*{box-sizing:border-box;margin:0;padding:0}html,body{background:var(--background);max-width:100vw;color:var(--text);font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;overflow-x:hidden}a{color:var(--primary-light);text-decoration:none}a:hover{text-decoration:underline}button{cursor:pointer;font-family:inherit}.container{max-width:1200px;margin:0 auto;padding:0 24px}input,textarea,select{border:1px solid var(--border);background:var(--surface);color:var(--text);border-radius:8px;width:100%;padding:12px 16px;font-family:inherit;font-size:1rem;transition:border-color .2s,box-shadow .2s}input:focus,textarea:focus,select:focus{border-color:var(--primary);outline:none;box-shadow:0 0 0 3px #7c3aed33}input::placeholder{color:var(--text-muted)}.btn{border:none;border-radius:8px;justify-content:center;align-items:center;gap:8px;padding:12px 24px;font-size:1rem;font-weight:600;transition:all .2s;display:inline-flex}.btn-primary{background:var(--primary);color:#fff}.btn-primary:hover{background:var(--primary-dark);transform:translateY(-1px)}.btn-secondary{background:var(--surface-light);color:var(--text);border:1px solid var(--border)}.btn-secondary:hover{background:var(--border)}.btn-success{background:var(--success);color:#fff}.btn-success:hover{background:#059669}.btn-warning{background:var(--warning);color:#fff}.btn-warning:hover{background:#d97706}.btn-danger{background:var(--error);color:#fff}.btn-danger:hover{background:#dc2626}.btn:disabled{opacity:.5;cursor:not-allowed;transform:none}.card{background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:24px}label{color:var(--text);margin-bottom:8px;font-weight:500;display:block}.badge{border-radius:20px;align-items:center;padding:4px 12px;font-size:.875rem;font-weight:500;display:inline-flex}.badge-success{color:var(--success);background:#10b98133}.badge-warning{color:var(--warning);background:#f59e0b33}.badge-error{color:var(--error);background:#ef444433}.spinner{border:2px solid #0000;border-top-color:currentColor;border-radius:50%;width:20px;height:20px;animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.spinner-small{border:2px solid #0000;border-top:2px solid var(--primary);border-radius:50%;width:14px;height:14px;animation:.8s linear infinite spin;display:inline-block}
