.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:0;border-radius:14px;padding:11px 16px;font-weight:750;cursor:pointer;transition:.18s ease;white-space:nowrap}.btn:hover{transform:translateY(-1px)}
.btn-primary{background:linear-gradient(135deg,var(--primary),var(--primary-2));color:#fff;box-shadow:0 14px 32px rgba(79,140,255,.28)}.btn-soft{background:rgba(255,255,255,.08);color:var(--text);border:1px solid var(--line)}.btn-danger{background:rgba(255,93,108,.14);color:#ffb4bd;border:1px solid rgba(255,93,108,.25)}
.card{background:linear-gradient(180deg,rgba(255,255,255,.08),rgba(255,255,255,.04));border:1px solid var(--line);border-radius:var(--radius-lg);box-shadow:var(--shadow)}
.badge{display:inline-flex;align-items:center;border-radius:999px;padding:5px 9px;font-size:12px;font-weight:800;background:rgba(255,255,255,.08);color:var(--muted)}.badge-success{background:rgba(37,214,149,.14);color:#70f1c1}.badge-warning{background:rgba(255,176,32,.15);color:#ffd27a}.badge-danger{background:rgba(255,93,108,.14);color:#ff9daa}.badge-info{background:rgba(79,140,255,.15);color:#9fc0ff}.badge-purple{background:rgba(169,135,255,.15);color:#cbb8ff}
.table-wrap{overflow:auto;border-radius:var(--radius-lg);border:1px solid var(--line)}table{width:100%;border-collapse:collapse;background:rgba(255,255,255,.035)}th,td{padding:15px 16px;text-align:left;border-bottom:1px solid var(--line);vertical-align:middle}th{font-size:12px;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);background:rgba(255,255,255,.045)}tr:hover td{background:rgba(255,255,255,.025)}
.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.field label{display:block;font-size:13px;color:var(--muted);margin-bottom:8px}.input{width:100%;border:1px solid var(--line);background:rgba(255,255,255,.06);color:var(--text);border-radius:14px;padding:12px 14px;outline:none}.input:focus{border-color:rgba(79,140,255,.55);box-shadow:0 0 0 4px rgba(79,140,255,.10)}
.textarea{resize:vertical;min-height:120px}
.page-notice{margin-bottom:18px;padding:14px 16px;border:1px solid rgba(255,176,32,.28);background:rgba(255,176,32,.10);color:#ffe2a1;border-radius:16px}
.page-alert{margin-bottom:16px;padding:14px 16px;border-radius:16px;border:1px solid var(--line)}.page-alert-success{background:rgba(37,214,149,.12);border-color:rgba(37,214,149,.24);color:#a3f4d2}.page-alert-error{background:rgba(255,93,108,.12);border-color:rgba(255,93,108,.24);color:#ffc2c9}.page-alert-info{background:rgba(79,140,255,.12);border-color:rgba(79,140,255,.24);color:#bdd4ff}.page-alert-warning{background:rgba(255,176,32,.12);border-color:rgba(255,176,32,.24);color:#ffe0a2}
.toast{position:fixed;right:22px;bottom:22px;background:#101d31;border:1px solid var(--line);box-shadow:var(--shadow);border-radius:16px;padding:14px 16px;color:var(--text);z-index:100;animation:toast .25s ease}@keyframes toast{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}
@media(max-width:860px){.form-grid{grid-template-columns:1fr}.btn{width:100%}}
