:root{--bg: #0f172a;--panel: #111827;--border: #1f2937;--text: #e5e7eb;--muted: #94a3b8;--accent: #38bdf8;--accent-strong: #0ea5e9;--card: #0b1222;--success: #22c55e;--warn: #f59e0b}*{box-sizing:border-box}body{margin:0;font-family:Segoe UI,sans-serif;background:radial-gradient(circle at 10% 20%,rgba(56,189,248,.08),transparent 30%),radial-gradient(circle at 80% 0%,rgba(14,165,233,.08),transparent 25%),var(--bg);color:var(--text);min-height:100vh}header{padding:16px 24px;border-bottom:1px solid var(--border);background:#111827e6;display:flex;align-items:center;justify-content:space-between;gap:12px;position:sticky;top:0;z-index:10;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}main{display:grid;grid-template-columns:280px 1fr;gap:16px;padding:16px}@media (max-width: 900px){main{grid-template-columns:1fr}}.panel{background:var(--panel);border:1px solid var(--border);border-radius:12px;padding:16px;box-shadow:0 10px 30px #00000059}h1,h2,h3{margin:0 0 8px}p{margin:0;color:var(--muted)}button{background:var(--accent);color:#0b1222;border:none;padding:10px 12px;border-radius:10px;font-weight:600;cursor:pointer;transition:transform .12s ease,box-shadow .12s ease,background .12s ease}button:hover{background:var(--accent-strong);transform:translateY(-1px);box-shadow:0 10px 20px #0ea5e940}button.secondary{background:transparent;color:var(--text);border:1px solid var(--border);box-shadow:none}input,select,textarea{width:100%;padding:10px 12px;border-radius:10px;border:1px solid var(--border);background:#0b1222;color:var(--text)}label{font-size:13px;color:var(--muted)}.form-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px}.form-actions{display:flex;justify-content:flex-end;gap:8px}.sidebar-list{display:flex;flex-direction:column;gap:8px;margin-top:12px}.group-item{padding:12px;border:1px solid var(--border);border-radius:10px;background:#0c1424;cursor:pointer;transition:border .12s ease,background .12s ease}.group-item.active{border-color:var(--accent);background:linear-gradient(135deg,#38bdf81a,#0c1424)}.group-item small{color:var(--muted)}.search-row{display:grid;grid-template-columns:1fr 200px 160px;gap:10px;align-items:center;margin-bottom:14px}@media (max-width: 1000px){.search-row{grid-template-columns:1fr}}.card-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:12px}.card{border:1px solid var(--border);border-radius:12px;padding:14px;background:var(--card);display:flex;flex-direction:column;gap:8px}.badge{display:inline-flex;align-items:center;gap:6px;padding:4px 8px;border-radius:999px;font-size:12px;background:#38bdf81f;color:var(--accent);border:1px solid rgba(56,189,248,.3)}.badge.warn{background:#f59e0b26;border-color:#f59e0b66;color:var(--warn)}.badge.ok{background:#22c55e26;border-color:#22c55e66;color:var(--success)}.card-actions{display:flex;gap:8px;flex-wrap:wrap}.muted{color:var(--muted);font-size:13px}.divider{height:1px;background:var(--border);margin:12px 0}.stack{display:grid;gap:8px}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#02061799;display:flex;align-items:center;justify-content:center;padding:16px;z-index:50}.modal{width:min(520px,100%);background:var(--panel);border:1px solid var(--border);border-radius:14px;padding:16px;box-shadow:0 20px 50px #00000073}.modal-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}.table{width:100%;border-collapse:collapse}.table th,.table td{text-align:left;padding:10px 8px;border-bottom:1px solid var(--border);vertical-align:middle}.table th{font-size:12px;text-transform:uppercase;letter-spacing:.06em;color:var(--muted)}@keyframes slideInLeft{0%{opacity:0;transform:translate(-18px)}to{opacity:1;transform:translate(0)}}input,select,textarea{animation:slideInLeft .42s ease both}@media (prefers-reduced-motion: reduce){input,select,textarea{animation:none}}.page-loader{position:fixed;top:0;right:0;bottom:0;left:0;background:#02061799;display:grid;place-items:center;z-index:60;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.spinner{width:44px;height:44px;border-radius:50%;border:4px solid rgba(148,163,184,.3);border-top-color:var(--accent);animation:spin .9s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}
