/* ============================================================
   IMPORFEMAQ — Estilos del panel de administración
   ============================================================ */
.admin-body{background:var(--paper-dim);}

/* El atributo [hidden] SIEMPRE debe ganar, sin importar qué otras
   clases (como .admin-app{display:grid}) intenten mostrarlo.
   Esto es lo que protege el panel: sin esta regla, el panel de
   administración queda visible aunque no se haya iniciado sesión. */
[hidden]{ display:none !important; }

/* ---------- LOGIN ---------- */
.admin-login{
  min-height:100vh; display:flex; align-items:center; justify-content:center;
  background:radial-gradient(circle at 20% 20%, var(--navy-800), var(--navy-950) 65%);
  padding:20px;
}
.login-card{
  background:var(--white); width:100%; max-width:400px; padding:38px 34px;
  border-radius:6px; box-shadow:var(--shadow-2); text-align:center;
}
.login-hint{font-size:13.5px; color:var(--steel-500); margin-bottom:24px;}
.login-card .field{text-align:left; margin-bottom:18px;}
.login-lock-msg{font-size:13px; color:var(--danger); margin-top:14px; min-height:1em;}
.back-link{display:inline-block; margin-top:20px; font-size:13px; color:var(--steel-500);}
.back-link:hover{color:var(--navy-950);}

/* ---------- LAYOUT ---------- */
.admin-app{display:grid; grid-template-columns:230px 1fr; min-height:100vh;}
.admin-side{
  background:var(--navy-950); padding:26px 18px; display:flex; flex-direction:column; gap:4px;
  position:sticky; top:0; height:100vh;
}
.admin-nav{display:flex; flex-direction:column; gap:4px; margin-bottom:20px;}
.admin-nav-btn{
  text-align:left; background:none; border:none; color:#B7C2CE; padding:11px 14px; border-radius:4px;
  font-size:13.5px; font-weight:500; display:block; width:100%;
}
.admin-nav-btn:hover{background:rgba(255,255,255,.06); color:#fff;}
.admin-nav-btn.active{background:var(--gold-500); color:var(--navy-950); font-weight:700;}
.logout-btn{color:#E39B9B; margin-top:10px;}
.logout-btn:hover{background:rgba(179,38,30,.15); color:#fff;}

.admin-main{padding:36px 40px; max-width:1100px;}
.admin-head{display:flex; align-items:flex-start; justify-content:space-between; gap:20px; margin-bottom:26px; flex-wrap:wrap;}
.admin-head h2{font-size:24px; margin-bottom:4px;}
.admin-sub{font-size:13.5px; color:var(--steel-500); margin:0;}

.admin-toolbar{display:flex; gap:10px; margin-bottom:20px; flex-wrap:wrap;}
.admin-card{background:var(--white); border:1px solid var(--line); border-radius:6px; padding:28px; margin-bottom:20px;}
.admin-card .form-grid{margin-bottom:18px;}

.table-wrap{background:var(--white); border:1px solid var(--line); border-radius:6px; overflow-x:auto;}
.admin-table{width:100%; border-collapse:collapse; font-size:13.5px; min-width:720px;}
.admin-table th{text-align:left; padding:12px 16px; background:var(--paper-dim); color:var(--navy-950); font-weight:700; font-size:12px; letter-spacing:.03em; border-bottom:1px solid var(--line);}
.admin-table td{padding:12px 16px; border-bottom:1px solid var(--line); vertical-align:middle; color:var(--ink-soft);}
.admin-table tr:last-child td{border-bottom:none;}
.admin-thumb{width:42px; height:42px; border-radius:4px; background:var(--paper-dim); display:flex; align-items:center; justify-content:center; overflow:hidden;}
.admin-thumb img{width:100%; height:100%; object-fit:cover;}
.admin-thumb svg{width:60%; height:60%; color:var(--navy-800);}
.row-actions{display:flex; gap:8px;}
.badge-yes{color:var(--ok); font-weight:700; font-size:12px;}
.badge-no{color:var(--steel-500); font-size:12px;}

.security-note{background:#FFF8E9; border:1px solid #F1DCA0; border-radius:6px; padding:18px 20px;}
.security-note h4{font-size:14px; margin-bottom:6px; color:var(--navy-950);}
.security-note p{font-size:13px; margin:0; color:var(--ink-soft);}

@media (max-width:820px){
  .admin-app{grid-template-columns:1fr;}
  .admin-side{position:relative; height:auto; flex-direction:row; align-items:center; flex-wrap:wrap;}
  .admin-side .brand{margin-bottom:0; margin-right:auto;}
  .admin-nav{flex-direction:row; margin-bottom:0;}
  .admin-main{padding:24px 18px;}
  .logout-btn{margin-top:0;}
}
