:root {
  --admin-bg: #080a08;
  --admin-surface: #11140f;
  --admin-surface-2: #181c15;
  --admin-border: rgba(255, 255, 255, 0.11);
  --admin-lime: #d8ff3e;
  --admin-text: #f7f8f3;
  --admin-muted: #9da497;
}

body {
  color: var(--admin-text);
  background: radial-gradient(circle at 10% 0, rgba(216, 255, 62, 0.07), transparent 28rem), var(--admin-bg);
  font-family: system-ui, -apple-system, "Segoe UI", sans-serif;
}

.admin-body { min-height: 100vh; }
.admin-navbar { color: var(--admin-text); background: rgba(8, 10, 8, 0.9); border-bottom: 1px solid var(--admin-border); backdrop-filter: blur(16px); }
.admin-navbar .navbar-brand, .admin-navbar .nav-link { color: #cbd0c5; }
.admin-navbar .nav-link:hover, .admin-navbar .navbar-brand:hover { color: var(--admin-lime); }
.admin-navbar .navbar-toggler { color: var(--admin-text); border-color: var(--admin-border); }
.admin-navbar small { color: var(--admin-lime); font-size: 0.6rem; letter-spacing: 0.13em; }
.admin-brand-mark { display: inline-grid; width: 2rem; height: 2rem; margin-right: 0.4rem; place-items: center; color: #080a08; background: var(--admin-lime); border-radius: 0.7rem 0.7rem 0.7rem 0.2rem; }
.admin-eyebrow { color: var(--admin-lime); font-size: 0.75rem; font-weight: 800; letter-spacing: 0.15em; text-transform: uppercase; }
.btn-admin-primary { color: #080a08; background: var(--admin-lime); border: 1px solid var(--admin-lime); border-radius: 999px; padding: 0.7rem 1.15rem; font-weight: 800; }
.btn-admin-primary:hover { color: #080a08; background: #e5ff7a; border-color: #e5ff7a; }
.stat-card, .admin-panel { background: var(--admin-surface); border: 1px solid var(--admin-border); border-radius: 1.15rem; }
.stat-card { height: 100%; padding: 1.25rem; }
.stat-card span { display: block; color: var(--admin-muted); font-size: 0.85rem; }
.stat-card strong { display: block; margin-top: 0.7rem; font-size: 2rem; }
.stat-icon { display: grid; width: 2.7rem; height: 2.7rem; margin-bottom: 1.2rem; place-items: center; color: #080a08; background: var(--admin-lime); border-radius: 0.85rem; }
.admin-panel { padding: 1.25rem; }
.admin-table { --bs-table-bg: transparent; --bs-table-color: var(--admin-text); --bs-table-border-color: var(--admin-border); }
.admin-table thead th { color: var(--admin-muted); font-size: 0.75rem; letter-spacing: 0.06em; text-transform: uppercase; border-bottom-width: 1px; }
.admin-table td, .admin-table th { padding: 1rem 1.15rem; white-space: nowrap; }
.status-badge { display: inline-block; padding: 0.35rem 0.65rem; border-radius: 999px; font-size: 0.75rem; font-weight: 800; }
.status-activo { color: #bdfcae; background: rgba(81, 207, 102, 0.14); }
.status-inactivo { color: #c2c6bf; background: rgba(255, 255, 255, 0.08); }
.status-agotado { color: #ffc0b3; background: rgba(255, 112, 72, 0.14); }
.product-thumb { width: 3rem; height: 3rem; object-fit: cover; border-radius: 0.75rem; border: 1px solid var(--admin-border); }
.product-thumb-empty { display: grid; place-items: center; color: var(--admin-muted); background: var(--admin-surface-2); }
.form-control, .form-select, .input-group-text { min-height: 3rem; color: var(--admin-text); background-color: #0c0f0b; border-color: var(--admin-border); }
.form-control:focus, .form-select:focus { color: var(--admin-text); background: #0c0f0b; border-color: var(--admin-lime); box-shadow: 0 0 0 0.25rem rgba(216, 255, 62, 0.12); }
.form-control::placeholder { color: #6e7569; }
.form-select { --bs-form-select-bg-img: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23d8ff3e' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m2 5 6 6 6-6'/%3e%3c/svg%3e"); }
.form-label { font-weight: 700; }
.form-text { color: var(--admin-muted); }
.form-check-input:checked { background-color: var(--admin-lime); border-color: var(--admin-lime); }
.image-upload-preview { display: grid; min-height: 15rem; overflow: hidden; place-items: center; color: var(--admin-muted); background: #0c0f0b; border: 1px dashed rgba(255, 255, 255, 0.22); border-radius: 1rem; text-align: center; }
.image-upload-preview div span { display: block; margin-top: 0.5rem; }
.image-upload-preview img { width: 100%; height: 15rem; object-fit: cover; }
.back-link { color: var(--admin-lime); text-decoration: none; font-weight: 700; }
.form-narrow { max-width: 58rem; }
.auth-body { display: grid; min-height: 100vh; padding: 1.25rem; place-items: center; }
.auth-card { width: min(100%, 28rem); padding: clamp(1.5rem, 5vw, 2.5rem); background: var(--admin-surface); border: 1px solid var(--admin-border); border-radius: 1.5rem; box-shadow: 0 30px 80px rgba(0, 0, 0, 0.4); }
.auth-card-wide { width: min(100%, 42rem); }
.auth-brand { display: inline-flex; align-items: center; margin-bottom: 2.5rem; color: var(--admin-text); font-size: 1.1rem; font-weight: 900; letter-spacing: 0.08em; text-decoration: none; }
.auth-card a { color: var(--admin-lime); }

@media (max-width: 767.98px) {
  .admin-table td, .admin-table th { padding: 0.85rem; }
}

