
:root{
  --bg:#0c1118;
  --panel:#121a24;
  --panel-2:#172230;
  --line:rgba(255,255,255,.08);
  --text:#e8edf5;
  --muted:#9aa8bb;
  --accent:#b8ff1f;
  --accent-2:#7fa8ff;
  --danger:#ff7171;
}
*{box-sizing:border-box}
body{
  margin:0;
  font-family:Arial, Helvetica, sans-serif;
  background:linear-gradient(180deg,#0b1016,#111a24);
  color:var(--text);
}
a{color:inherit}
.admin-shell{
  min-height:100vh;
  display:grid;
  grid-template-columns:260px 1fr;
}
.admin-sidebar{
  border-right:1px solid var(--line);
  background:rgba(7,11,16,.58);
  backdrop-filter:blur(8px);
  padding:24px 18px;
}
.brand{
  font-size:24px;
  font-weight:800;
  letter-spacing:.08em;
  margin-bottom:8px;
}
.brand span{color:var(--accent)}
.sidebar-sub{
  color:var(--muted);
  font-size:13px;
  margin-bottom:24px;
}
.nav-group{display:grid;gap:10px}
.nav-link{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  padding:12px 14px;
  border:1px solid var(--line);
  background:rgba(255,255,255,.02);
  text-decoration:none;
}
.nav-link small{color:var(--muted)}
.admin-main{
  padding:28px;
}
.admin-top{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  margin-bottom:22px;
}
.admin-title h1{
  margin:0 0 6px;
  font-size:28px;
}
.admin-title p{
  margin:0;
  color:var(--muted);
}
.top-actions{
  display:flex;
  gap:10px;
  flex-wrap:wrap;
}
.btn,.btn-ghost,.btn-danger{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  min-height:42px;
  padding:0 14px;
  border:1px solid var(--line);
  text-decoration:none;
  cursor:pointer;
  color:var(--text);
}
.btn{
  background:var(--accent);
  color:#091016;
  border-color:transparent;
  font-weight:700;
}
.btn-ghost{
  background:rgba(255,255,255,.03);
}
.btn-danger{
  background:rgba(255,113,113,.08);
  color:#ffd7d7;
  border-color:rgba(255,113,113,.22);
}
.admin-grid{
  display:grid;
  grid-template-columns:repeat(12,minmax(0,1fr));
  gap:18px;
}
.card{
  grid-column:span 12;
  border:1px solid var(--line);
  background:linear-gradient(180deg,rgba(255,255,255,.03),rgba(255,255,255,.015));
  padding:18px;
}
.card.half{grid-column:span 6}
.card.third{grid-column:span 4}
.card h2,.card h3{
  margin:0 0 10px;
}
.card p{
  color:var(--muted);
  line-height:1.5;
}
.kpi{
  display:grid;
  gap:8px;
}
.kpi strong{
  font-size:30px;
  color:var(--accent);
}
.list{
  display:grid;
  gap:10px;
}
.list-row{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  padding:12px 14px;
  border:1px solid var(--line);
  background:rgba(255,255,255,.02);
}
.badge{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:74px;
  height:28px;
  padding:0 10px;
  border:1px solid var(--line);
  background:rgba(255,255,255,.03);
  color:var(--muted);
  font-size:12px;
}
.badge.ok{
  color:var(--accent);
  border-color:rgba(184,255,31,.25);
}
.badge.info{
  color:var(--accent-2);
  border-color:rgba(127,168,255,.25);
}
.login-wrap{
  min-height:100vh;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:24px;
}
.login-card{
  width:min(520px,100%);
  border:1px solid var(--line);
  background:linear-gradient(180deg,rgba(255,255,255,.04),rgba(255,255,255,.015));
  padding:28px;
}
.login-card h1{
  margin:0 0 8px;
  font-size:30px;
}
.login-card p{
  margin:0 0 20px;
  color:var(--muted);
}
.form-grid{
  display:grid;
  gap:14px;
}
label{
  display:grid;
  gap:8px;
}
label span{
  font-size:13px;
  color:var(--muted);
}
input, select, textarea{
  width:100%;
  min-height:44px;
  padding:0 12px;
  border:1px solid var(--line);
  background:#0e151e;
  color:var(--text);
}
textarea{
  min-height:120px;
  padding:12px;
  resize:vertical;
}
.login-actions{
  display:flex;
  gap:10px;
  margin-top:8px;
  flex-wrap:wrap;
}
.notice{
  padding:12px 14px;
  margin-bottom:14px;
  border:1px solid rgba(127,168,255,.25);
  background:rgba(127,168,255,.08);
  color:#d9e5ff;
}
.error{
  border-color:rgba(255,113,113,.25);
  background:rgba(255,113,113,.08);
  color:#ffd7d7;
}
.code{
  font-family:Consolas, monospace;
  font-size:13px;
  padding:12px;
  background:#0b1016;
  border:1px solid var(--line);
  overflow:auto;
}
.table{
  width:100%;
  border-collapse:collapse;
}
.table th,.table td{
  text-align:left;
  padding:12px 10px;
  border-bottom:1px solid var(--line);
}
.table th{
  color:var(--muted);
  font-size:12px;
  letter-spacing:.08em;
  text-transform:uppercase;
}
@media (max-width: 980px){
  .admin-shell{grid-template-columns:1fr}
  .admin-sidebar{border-right:0;border-bottom:1px solid var(--line)}
  .card.half,.card.third{grid-column:span 12}
  .admin-top{flex-direction:column;align-items:flex-start}
}


.action-cell{
  display:flex;
  align-items:center;
  gap:8px;
}

.btn-mini{
  min-height:34px;
  padding:0 10px;
  border-radius:10px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
}

.btn-mini.danger{
  border-color:rgba(239,68,68,.36) !important;
  color:#fecaca !important;
}

.tiny-active{
  display:inline-flex;
  align-items:center;
  gap:8px;
  white-space:nowrap;
}

.section-hint{margin:4px 0 14px;color:rgba(255,255,255,.72);font-size:13px;}

/* v54 */
