/* ============ ADMIN ============ */
#adminScreen{display:none;min-height:100vh;position:relative;z-index:10;}
#adminMain{display:none;}
.admin-header{
  display:flex;align-items:center;justify-content:space-between;
  padding:20px 32px;border-bottom:1px solid var(--w-10);
  background:rgba(6,6,12,.7);backdrop-filter:blur(16px);
}
.admin-header h2{font-size:1.3rem;}
.admin-header-actions{display:flex;gap:12px;}
#loginView{max-width:420px;margin:120px auto;padding:44px;text-align:center;}
#loginView h2{margin-bottom:6px;}
#loginView .sub{margin:0 auto 26px;}
#loginView input{width:100%;padding:13px 16px;border-radius:var(--radius-sm);background:rgba(255,255,255,.04);border:1px solid var(--glass-border);color:var(--w-100);font-size:.95rem;}
.login-submit{width:100%;justify-content:center;}
.login-back-note{margin-top:20px;}
.pass-field-wrap{position:relative;margin-bottom:16px;}
.pass-field-wrap input{margin-bottom:0;padding-right:46px;}
.pass-toggle-btn{position:absolute;top:0;right:0;height:100%;width:46px;display:flex;align-items:center;justify-content:center;background:none;border:none;cursor:pointer;color:var(--w-40);font-size:1.15rem;line-height:1;padding:0;}
.pass-toggle-btn:hover{color:var(--w-100);}
#loginError{color:#ff9a7f;font-family:var(--mono);font-size:.76rem;min-height:18px;margin-top:10px;}
.admin-tabs{display:flex;gap:8px;flex-wrap:wrap;padding:20px 32px 0;}
.admin-tab-btn{padding:10px 18px;border-radius:var(--radius-pill);background:var(--glass-bg);border:1px solid var(--glass-border);color:var(--w-60);font-family:var(--mono);font-size:.74rem;transition:all .3s var(--ease);}
.admin-tab-btn.active{background:linear-gradient(135deg,var(--orange-soft),var(--orange));color:#1a0d06;border-color:transparent;font-weight:600;}
.admin-content{padding:28px 32px 80px;max-width:960px;}
.admin-panel{display:none;}
.admin-panel.active{display:block;}
.admin-card{background:var(--glass-bg);border:1px solid var(--glass-border);border-radius:var(--radius-lg);padding:24px;margin-bottom:20px;}
.admin-card.admin-card--warning{background:rgba(232,168,58,.06);}
.admin-card h3{font-size:1.05rem;margin-bottom:6px;}
.admin-card .sub{font-size:.85rem;margin-bottom:18px;}
.row-2{display:grid;grid-template-columns:1fr 1fr;gap:16px;}
.admin-card label{display:block;font-family:var(--mono);font-size:.66rem;letter-spacing:.05em;text-transform:uppercase;color:var(--w-40);margin-bottom:6px;}
.admin-card input[type=text], .admin-card input[type=number], .admin-card input[type=password], .admin-card textarea, .admin-card select{
  width:100%;padding:10px 13px;border-radius:var(--radius-xs);background:rgba(255,255,255,.04);border:1px solid var(--glass-border);color:var(--w-100);font-size:.88rem;margin-bottom:4px;
}
.admin-card textarea{min-height:70px;resize:vertical;}
.admin-card input[type=file]{color:var(--w-60);font-size:.78rem;}
/* El <select> cerrado hereda el estilo oscuro de arriba, pero la lista
   desplegada (los <option>) la pinta el navegador/sistema operativo con su
   propio fondo claro casi siempre, sin que el CSS de la página pueda
   cambiar ese fondo de forma confiable en todos los navegadores. Si no se
   fija aquí un color de letra oscuro para <option>, el texto hereda el
   blanco del <select> y queda invisible (letra blanca sobre fondo blanco).
   Por eso se fuerza texto oscuro + fondo claro explícito en las opciones,
   para que la lista siempre se pueda leer sin importar el navegador. */
.admin-card select option{color:#1a1a1a;background:#fff;}
.item-row{display:grid;grid-template-columns:56px 1fr 90px auto;gap:12px;align-items:center;padding:12px 0;border-bottom:1px solid var(--w-10);}
.item-row:last-child{border-bottom:none;}
.item-thumb{width:52px;height:52px;border-radius:var(--radius-xs);object-fit:cover;background:var(--glass-bg-strong);display:flex;align-items:center;justify-content:center;font-size:1.4rem;overflow:hidden;}
.item-thumb img{width:100%;height:100%;object-fit:cover;}
.mini-photo-input{display:flex;align-items:center;gap:8px;margin-top:6px;}
.mini-photo-input input[type=file]{font-size:.68rem;}
.badge-pill{display:inline-block;font-family:var(--mono);font-size:.64rem;padding:3px 10px;border-radius:var(--radius-pill);text-transform:uppercase;letter-spacing:.04em;}
.badge-pending{background:rgba(232,168,58,.18);color:#ffcf8a;}
.badge-approved{background:rgba(60,180,110,.18);color:#8fe3ac;}
.badge-neutral{background:rgba(255,255,255,.1);color:var(--w-60);}
.small-note{font-family:var(--mono);font-size:.7rem;color:var(--w-40);margin-top:10px;}

/* ---------- utilidades puntuales, extraídas de estilos inline del markup original ---------- */
.admin-section-title{margin:26px 0 14px;}
.admin-section-hint{margin-bottom:18px;}
.admin-inline-note{margin:14px 0 4px;}
.note-highlight{color:var(--w-85);}
.save-btn-spaced{margin-top:10px;}
.admin-actions-row{display:flex;gap:10px;margin-top:14px;}
.section-toggle-label{display:flex;align-items:center;gap:8px;margin:4px 0 16px;font-size:.85rem;color:var(--w-85);text-transform:none;font-family:var(--sans);}
.petimarket-toggle-hint{margin:-10px 0 16px;}
