/* =========================================
   Admin UI (theme-token based, light/dark)
   Uses existing CSS variables:
   --surface-card, --text, --border, --accent, --on-primary
   Optional (fallbacks included):
   --surface-input, --surface-hover, --surface-muted
========================================= */

.admin-wrap{display:flex;flex-direction:column;gap:1.25rem}

.admin-card{
  background:var(--surface-card);
  border:1px solid var(--border);
  border-radius:16px;
  padding:1.25rem 1.5rem;
}

.admin-card h2{margin:0 0 .75rem 0;font-size:1.15rem}

/* Messages */
.admin-message{
  padding:.85rem 1rem;
  border-radius:12px;
  background:var(--surface-card);
  border:1px solid var(--border);
  border-left:4px solid var(--accent);
}
.admin-message.error{border-left-color:#c0392b}

/* Forms */
.admin-form{display:grid;gap:1rem;max-width:900px}
.admin-form label{display:block;font-weight:600}
.admin-form .help{display:block;font-weight:400;opacity:.85;margin-top:.25rem}

.admin-form input[type="text"],
.admin-form textarea,
.admin-form select{
  width:100%;
  background:var(--surface-input, var(--surface-card));
  color:var(--text);
  border:1px solid var(--border);
  border-radius:10px;
  padding:.6rem .7rem;
  font-size:.95rem;
}

.admin-form textarea{resize:vertical;min-height:140px}

.admin-form input:focus,
.admin-form textarea:focus,
.admin-form select:focus{
  outline:none;
  border-color:var(--accent);
}

/* Checkbox row */
.admin-check{display:flex;align-items:center;gap:.5rem;font-weight:600}

/* Actions */
.admin-actions{display:flex;gap:.6rem;flex-wrap:wrap;align-items:center}

/* Buttons/Links */
.admin-btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:.4rem;
  background:var(--surface-card);
  color:var(--text);
  border:1px solid var(--border);
  border-radius:10px;
  padding:.45rem .8rem;
  text-decoration:none;
  cursor:pointer;
  line-height:1.2;
  white-space:nowrap;
}

.admin-btn:hover{border-color:var(--accent)}

.admin-btn.primary{
  background:var(--accent);
  color:var(--on-primary);
  border-color:transparent;
}

/* Table */
.admin-table-wrap{overflow:auto}
.admin-table{width:100%;border-collapse:collapse;min-width:900px}
.admin-table th{text-align:left;padding:.6rem;border-bottom:1px solid var(--border);font-size:.9rem}
.admin-table td{padding:.6rem;border-bottom:1px solid var(--border);vertical-align:top}
.admin-table tr:hover{background:var(--surface-hover, rgba(0,0,0,.03))}

/* Pills */
.admin-pill{
  display:inline-block;
  padding:.2rem .55rem;
  border-radius:999px;
  font-size:.75rem;
  background:var(--surface-muted, rgba(0,0,0,.06));
}

/* status enum: active/inactive */
.admin-pill.active{
  background:rgba(0,160,90,.15);
  color:#0a7a4f;
}
[data-theme="dark"] .admin-pill.active{color:#5ce0b0}

.admin-pill.inactive{
  background:rgba(200,120,0,.15);
  color:#9a5b00;
}
[data-theme="dark"] .admin-pill.inactive{color:#f1b76b}
