:root{--bg:#0b0e14;--side:#0e121a;--panel:#141a25;--panel2:#1a2230;--border:#293448;--text:#f5f7fb;--muted:#8d99ad;--accent:#7557ff;--good:#2fcf78;--bad:#ff657b}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);font-family:Inter,Segoe UI,system-ui,sans-serif}button,input,select,textarea{font:inherit}.hidden{display:none!important}.login-page{min-height:100vh;display:grid;place-items:center;padding:30px;background:radial-gradient(circle at 20% 0,#251b55 0,transparent 30%)}.login-card{width:min(400px,100%);display:grid;gap:13px;background:var(--panel);border:1px solid var(--border);border-radius:18px;padding:25px}.login-card h1{margin:0}.login-card p{margin:0 0 5px;color:var(--muted)}.mark{width:52px;height:52px;border-radius:15px;display:grid;place-items:center;background:linear-gradient(135deg,var(--accent),#2bbef8);font-weight:900}.mark.small{width:40px;height:40px;border-radius:12px}.admin-shell{display:grid;grid-template-columns:220px 1fr;min-height:100vh}aside{background:var(--side);border-right:1px solid var(--border);padding:18px;display:flex;flex-direction:column}.brand{display:flex;align-items:center;gap:11px;margin-bottom:28px}.brand small{display:block;color:var(--muted);font-size:10px;margin-top:2px}nav{display:grid;gap:7px}.nav{background:transparent;color:var(--muted);border:0;text-align:left;padding:11px 12px;border-radius:9px}.nav.active,.nav:hover{background:var(--panel2);color:white}.side-bottom{margin-top:auto;display:flex;align-items:center;justify-content:space-between;color:var(--muted);font-size:12px}.side-bottom button{background:transparent;color:#ff8999;border:0}main{padding:30px;min-width:0}.tab{display:none}.tab.active{display:block}header{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-bottom:20px}h1{margin:2px 0 0;font-size:29px}h2{font-size:17px}.eyebrow{font-size:10px;letter-spacing:.14em;color:#a68fff;font-weight:800}.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:13px;margin-bottom:16px}.stats article,.panel{background:var(--panel);border:1px solid var(--border);border-radius:14px;padding:18px}.stats span{display:block;color:var(--muted);font-size:11px;margin-bottom:8px}.stats b{font-size:24px}.primary,.secondary{border:0;border-radius:9px;color:white;padding:10px 14px;cursor:pointer}.primary{background:var(--accent)}.secondary{background:#252e3f}.grid2{display:grid;grid-template-columns:1fr 1fr;gap:14px}label{display:grid;gap:6px;color:var(--muted);font-size:12px;margin-bottom:12px}input,select,textarea{width:100%;background:#0e131c;border:1px solid var(--border);color:white;border-radius:9px;padding:10px;outline:0}input:focus,select:focus,textarea:focus{border-color:var(--accent)}.check{display:flex;align-items:center;gap:8px}.check input{width:auto}.table-wrap{overflow:auto}table{width:100%;border-collapse:collapse}th,td{text-align:left;border-bottom:1px solid #222c3d;padding:10px;font-size:12px}th{color:var(--muted);font-weight:600}.pill{display:inline-block;border-radius:999px;padding:4px 8px;background:#202938;color:var(--muted);font-size:10px}.pill.good{color:#57dc94;background:#123124}.pill.bad{color:#ff8b9b;background:#32141b}.row-actions{display:flex;gap:6px}.row-actions button{padding:7px 9px;font-size:10px}.release{border-bottom:1px solid var(--border);padding:12px 0}.release:last-child{border:0}.release b{display:block}.release small{color:var(--muted)}dialog{border:1px solid var(--border);border-radius:15px;background:var(--panel);color:var(--text);width:min(520px,calc(100% - 30px));padding:0}dialog::backdrop{background:rgba(0,0,0,.7)}.modal{padding:20px}.modal header{margin-bottom:14px}.modal header button{background:transparent;border:0;color:white}.modal-actions{display:flex;gap:8px;justify-content:flex-end;flex-wrap:wrap}.toast{position:fixed;right:20px;bottom:20px;background:#202838;border:1px solid var(--border);border-radius:10px;padding:12px 15px;opacity:0;transform:translateY(15px);transition:.2s;pointer-events:none}.toast.show{opacity:1;transform:none}@media(max-width:900px){.admin-shell{grid-template-columns:1fr}aside{display:none}.stats{grid-template-columns:1fr 1fr}.grid2{grid-template-columns:1fr}main{padding:18px}}

.brand-logo{display:block;object-fit:cover;border-radius:14px;box-shadow:0 10px 28px rgba(0,0,0,.28)}
.login-logo{width:60px;height:60px;margin-bottom:2px}
.side-logo{width:40px;height:40px;border-radius:12px;flex:0 0 auto}
.mark,.mark.small{display:none!important}
.login-card{justify-items:start}

/* Login button polish */
#adminLogin button,
.login-card button{
  appearance:none;
  -webkit-appearance:none;
  border:1px solid rgba(138,110,255,.55);
  border-radius:12px;
  background:linear-gradient(135deg,#7b5cff 0%, #8b63ff 38%, #30c5ff 100%);
  color:#ffffff;
  font-weight:700;
  font-size:14px;
  letter-spacing:.01em;
  padding:12px 18px;
  min-width:132px;
  box-shadow:0 10px 24px rgba(71,92,255,.24), inset 0 1px 0 rgba(255,255,255,.16);
  transition:transform .16s ease, box-shadow .16s ease, filter .16s ease, border-color .16s ease;
}
#adminLogin button:hover,
.login-card button:hover{
  transform:translateY(-1px);
  box-shadow:0 14px 30px rgba(71,92,255,.34), inset 0 1px 0 rgba(255,255,255,.22);
  filter:brightness(1.05);
  border-color:rgba(156,130,255,.78);
}
#adminLogin button:active,
.login-card button:active{
  transform:translateY(0);
  filter:brightness(.98);
  box-shadow:0 8px 18px rgba(71,92,255,.22), inset 0 1px 0 rgba(255,255,255,.10);
}
#adminLogin button:focus-visible,
.login-card button:focus-visible{
  outline:none;
  box-shadow:0 0 0 3px rgba(117,87,255,.28), 0 14px 30px rgba(71,92,255,.34), inset 0 1px 0 rgba(255,255,255,.22);
}
#loginError{min-height:18px;color:#ff8ea1;font-size:12px;margin-top:2px}
