/* dark glass style */
:root{
  --bg:#0c0f15; --bg2:#141926; --card:#111624cc; --border:#ffffff20; --text:#eaf0ff; --muted:#9ea8c6;
  --accent:#7c9cff; --accent2:#9f6bff; --ok:#2ecc71; --err:#ff6b6b;
}
*{box-sizing:border-box} html,body{margin:0;padding:0}
body{
  font-family:Inter,ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif; color:var(--text);
  background:
    radial-gradient(1200px 500px at 10% -10%, #2a3a7040, transparent 60%),
    radial-gradient(1000px 420px at 100% 0%, #7a39ff30, transparent 60%),
    linear-gradient(180deg,var(--bg),var(--bg2));
  min-height:100vh;
}
a{color:var(--text);text-decoration:none}
.container{width:min(1120px,92vw);margin:0 auto}
.main{padding:28px 0 36px}
.topbar{position:sticky;top:0;z-index:20;backdrop-filter:blur(10px);background:#0d121dcc;border-bottom:1px solid var(--border)}
.topbar-inner{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:12px 0}
.brand{display:flex;align-items:center;gap:12px}
.brand-dot{width:12px;height:12px;border-radius:999px;background:linear-gradient(135deg,var(--accent),var(--accent2));box-shadow:0 0 0 8px #7c9cff18}
.brand strong{display:block;font-size:1rem}.brand small{display:block;color:var(--muted);font-size:.8rem}
.nav{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.nav a{padding:8px 10px;border-radius:10px;border:1px solid transparent}.nav a:hover{border-color:var(--border);background:#ffffff08}
.hero{display:grid;grid-template-columns:1.2fr .8fr;gap:18px;margin-bottom:18px}
@media (max-width:900px){.hero{grid-template-columns:1fr}}
.card{background:var(--card);border:1px solid var(--border);border-radius:20px;padding:18px;box-shadow:0 12px 28px #00000035}
.card h2,.card h3{margin:0 0 8px}.muted{color:var(--muted)}
.grid{display:grid;gap:14px}.grid-2{grid-template-columns:repeat(2,minmax(0,1fr))}
@media (max-width:900px){.grid-2{grid-template-columns:1fr}}
label{display:block;margin-bottom:6px;font-weight:600}
input,textarea,select{width:100%;background:#0d1322;color:var(--text);border:1px solid #ffffff24;border-radius:12px;padding:11px 12px;outline:none}
input:focus,textarea:focus,select:focus{border-color:#8ca6ff;box-shadow:0 0 0 4px #8ca6ff22}
textarea{min-height:110px;resize:vertical}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:1px solid #8ca6ff60;background:linear-gradient(135deg,#6888ff,#8d63ff);color:white;font-weight:700;border-radius:12px;padding:10px 14px;cursor:pointer}
.btn:hover{filter:brightness(1.05)}.btn:disabled{opacity:.6;cursor:not-allowed}
.btn-secondary{background:#10172b;border-color:#ffffff33;color:#dbe6ff}.btn-ghost{background:transparent;border-color:#ffffff26;color:#dbe6ff}
.btn-danger{background:#2a0f12;border-color:#ff8f8f55;color:#ffd6d6}
.flash{margin:0 0 12px;padding:10px 12px;border-radius:12px;border:1px solid var(--border);font-weight:600}
.flash.success{background:#173222aa;border-color:#2ecc7155}.flash.error{background:#3a1717aa;border-color:#ff6b6b55}.flash.info{background:#1b2743aa;border-color:#7c9cff66}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}
@media (max-width:700px){.form-row{grid-template-columns:1fr}}
.user-chip{display:flex;align-items:center;gap:12px;padding:10px 12px;border:1px solid var(--border);border-radius:14px;background:#0f1524}
.avatar{width:52px;height:52px;border-radius:14px;object-fit:cover;border:1px solid #ffffff25}
.badge{display:inline-flex;align-items:center;gap:6px;font-size:.8rem;padding:5px 10px;border-radius:999px;border:1px solid var(--border);background:#ffffff0d}
.badge.ok{border-color:#2ecc7144;background:#2ecc7114;color:#b9ffd5}.badge.no{border-color:#ff6b6b44;background:#ff6b6b14;color:#ffd1d1}
.table-wrap{overflow:auto;border:1px solid var(--border);border-radius:14px;background:#0f1522}
table{width:100%;border-collapse:collapse;min-width:780px}
th,td{text-align:left;padding:11px 12px;border-bottom:1px solid #ffffff14}
thead th{font-size:.85rem;color:#d2dcff;background:#ffffff08}
.list{margin:0;padding-left:18px}.list li{margin:7px 0}
.kv{background:#0d1322;border:1px solid #ffffff1a;border-radius:12px;padding:10px 12px}
.kv span{display:block;color:var(--muted);font-size:.8rem}.kv a,.kv strong{display:block;margin-top:2px;word-break:break-all}
.footer{border-top:1px solid #ffffff1e;padding:16px 0 28px;color:var(--muted)}
.search-form{display:flex;gap:10px;flex-wrap:wrap}.search-form input{flex:1 1 220px}
