/* ===========================================================
   Panel Admin — identidad visual propia (tipo CRM/SaaS),
   deliberadamente distinta del sitio público de marketing:
   sin tipografía serif decorativa, fondo neutro gris-azulado,
   tarjetas con más definición y jerarquía de "producto".
   =========================================================== */
body.admin-body{
  background:#F1F4F6;
  font-family:var(--font-body);
  transition:background .2s ease, color .2s ease;
}
body.admin-body h1, body.admin-body h2, body.admin-body h3, body.admin-body h4{
  font-family:var(--font-body); /* nunca serif en el panel: se ve más "producto", menos "sitio" */
  font-weight:700;
  letter-spacing:-0.01em;
}

/* ---------- Tema oscuro ---------- */
body.admin-body[data-theme="dark"]{
  --cream: #17211E;
  --cream-2: #101815;
  --white: #1C2925;
  --ink: #EDE7D9;
  --ink-soft: #C9C1AC;
  --sage: #8FB3A4;
  background:#0E1513;
  color:var(--ink);
}
body.admin-body[data-theme="dark"] .admin-sidebar{background:#0A100E;}
body.admin-body[data-theme="dark"] .stat-card,
body.admin-body[data-theme="dark"] .panel,
body.admin-body[data-theme="dark"] .admin-topbar,
body.admin-body[data-theme="dark"] table.admin-table tr:hover td,
body.admin-body[data-theme="dark"] .login-card{
  background:var(--white);border-color:rgba(237,231,217,0.08);
}
body.admin-body[data-theme="dark"] .admin-form input,
body.admin-body[data-theme="dark"] .admin-form select,
body.admin-body[data-theme="dark"] .admin-form textarea{
  background:var(--cream-2);color:var(--ink);border-color:rgba(237,231,217,0.15);
}
body.admin-body[data-theme="dark"] table.admin-table th{color:var(--sage);border-color:rgba(237,231,217,0.1);}
body.admin-body[data-theme="dark"] table.admin-table td{border-color:rgba(237,231,217,0.08);}

.theme-toggle{
  display:flex;align-items:center;gap:8px;background:var(--cream);border:1px solid rgba(28,98,130,0.15);
  border-radius:999px;padding:6px 14px;font-size:13px;cursor:pointer;color:var(--ink);font-weight:600;
}
.live-clock{font-family:var(--font-mono);font-size:13px;color:var(--sage);display:flex;flex-direction:column;align-items:flex-end;line-height:1.3;}
.live-clock .time{font-size:18px;font-weight:700;color:var(--ink);}
.topbar-right{display:flex;align-items:center;gap:20px;}

.admin-shell{display:flex;min-height:100vh;}

.admin-sidebar{
  width:250px;background:linear-gradient(180deg, var(--ink) 0%, #123F52 100%);color:var(--cream);flex-shrink:0;
  display:flex;flex-direction:column;padding:26px 0;
}
.admin-sidebar .brand{color:var(--cream);padding:0 24px 26px;font-family:var(--font-body);font-size:18px;font-weight:700;display:flex;align-items:center;gap:10px;}
.admin-sidebar nav{flex:1;}
.admin-sidebar a{
  display:flex;align-items:center;gap:12px;margin:2px 12px;padding:11px 14px;font-size:14px;font-weight:500;
  color:rgba(246,242,233,0.72);border-radius:8px;
}
.admin-sidebar a:hover{color:var(--white);background:rgba(255,255,255,0.06);}
.admin-sidebar a.active{color:var(--ink);background:var(--gold-light);font-weight:700;}
.admin-sidebar .foot{padding:16px 24px;font-size:12px;color:rgba(246,242,233,0.5);}

.admin-main{flex:1;min-width:0;}
.admin-topbar{
  background:var(--white);border-bottom:1px solid rgba(28,98,130,0.08);
  padding:16px 32px;display:flex;justify-content:space-between;align-items:center;
}
.admin-topbar h1{font-size:19px;margin:0;font-weight:700;}
.admin-content{padding:28px 32px;}

.stat-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin-bottom:28px;}
.stat-card{
  background:var(--white);border-radius:14px;padding:20px 22px;border:1px solid rgba(28,98,130,0.06);
  box-shadow:0 1px 3px rgba(16,40,54,0.06);
}
.stat-card .num{font-family:var(--font-mono);font-size:30px;font-weight:700;color:var(--ink);}
.stat-card .lbl{font-size:13px;color:var(--sage);margin-top:4px;}
.stat-card .delta{font-size:12px;color:var(--sage);margin-top:8px;}

.panel{background:var(--white);border-radius:14px;padding:24px;border:1px solid rgba(28,98,130,0.06);
  box-shadow:0 1px 3px rgba(16,40,54,0.05);margin-bottom:24px;}
.panel h2{font-size:16px;margin-bottom:18px;font-weight:700;}

table.admin-table{width:100%;border-collapse:collapse;font-size:14px;}
table.admin-table th{text-align:left;font-family:var(--font-mono);font-size:11px;text-transform:uppercase;letter-spacing:.06em;color:var(--sage);padding:10px 12px;border-bottom:2px solid var(--cream-2);}
table.admin-table td{padding:12px;border-bottom:1px solid var(--cream-2);vertical-align:middle;}
table.admin-table tr:hover td{background:var(--cream);}
.thumb-sm{width:56px;height:42px;object-fit:cover;border-radius:6px;background:var(--cream-2);}

.badge{display:inline-block;padding:3px 10px;border-radius:999px;font-size:11px;font-family:var(--font-mono);text-transform:uppercase;}
.badge-activo{background:#E4EFE7;color:#1F5A3A;}
.badge-borrador{background:#EAEDEF;color:#5A6B72;}
.badge-reservado{background:#FDF0DC;color:#946C1F;}
.badge-vendido{background:#F6E3DD;color:var(--ember);}
.badge-inactivo{background:#eee;color:#999;}

.admin-form label{display:block;font-size:13px;font-weight:600;margin-bottom:6px;color:var(--ink-soft);}
.admin-form .field{margin-bottom:18px;}
.admin-form input, .admin-form select, .admin-form textarea{
  width:100%;border:1px solid #DCE3E7;border-radius:8px;padding:10px 13px;font-family:var(--font-body);
  font-size:14px;background:var(--cream);
}
.admin-form input:focus, .admin-form select:focus, .admin-form textarea:focus{
  outline:none;border-color:var(--gold);box-shadow:0 0 0 3px rgba(0,169,179,0.15);
}
.admin-form textarea{min-height:110px;}
.admin-form .row-2{display:grid;grid-template-columns:1fr 1fr;gap:18px;}
.admin-form .row-3{display:grid;grid-template-columns:1fr 1fr 1fr;gap:18px;}
.admin-form fieldset{border:1px solid rgba(28,98,130,0.12);border-radius:12px;padding:20px;margin-bottom:22px;background:rgba(28,98,130,0.015);}
.admin-form legend{font-family:var(--font-mono);font-size:12px;text-transform:uppercase;letter-spacing:.06em;color:var(--sage);padding:0 8px;font-weight:600;}

.attr-row{display:grid;grid-template-columns:1fr 1fr auto;gap:10px;margin-bottom:10px;align-items:center;}
.icon-btn{background:none;border:0;cursor:pointer;font-size:16px;color:var(--ember);}

.dropzone{
  border:2px dashed rgba(28,98,130,0.25);border-radius:var(--radius);padding:28px;text-align:center;
  color:var(--sage);cursor:pointer;background:var(--cream);
}
.dropzone.drag{border-color:var(--gold);background:var(--cream-2);}
.media-preview{display:flex;gap:12px;flex-wrap:wrap;margin-top:14px;}
.media-preview .item{width:100px;}
.media-preview img, .media-preview video{width:100px;height:76px;object-fit:cover;border-radius:4px;}

.login-shell{min-height:100vh;display:flex;align-items:center;justify-content:center;background:var(--ink);}
.login-split{min-height:100vh;display:grid;grid-template-columns:1.1fr 1fr;}
.login-media{position:relative;background:var(--ink);overflow:hidden;}
.login-media video{width:100%;height:100%;object-fit:cover;opacity:.65;}
.login-media-overlay{
  position:absolute;inset:0;display:flex;flex-direction:column;justify-content:flex-end;
  padding:56px;background:linear-gradient(0deg, rgba(28,98,130,0.9) 10%, rgba(28,98,130,0.2) 70%);
  color:var(--cream);
}
.login-media-overlay p{max-width:360px;color:var(--cream-2);font-size:15px;}
.login-form-side{display:flex;align-items:center;justify-content:center;background:var(--cream);padding:40px;}
.login-card{background:var(--white);border-radius:14px;padding:40px;width:380px;box-shadow:0 1px 3px rgba(16,40,54,0.08);}
.login-card .brand{justify-content:center;margin-bottom:24px;}

.login-theme-toggle{
  position:fixed;top:22px;right:22px;z-index:20;
  background:rgba(255,255,255,0.9);
}
body.admin-body[data-theme="dark"] .login-form-side{background:#0E1513;}
body.admin-body[data-theme="dark"] .login-theme-toggle{background:rgba(28,41,37,0.9);color:var(--ink);border-color:rgba(237,231,217,0.15);}

@media (max-width:900px){
  .login-split{grid-template-columns:1fr;}
  .login-media{min-height:220px;}
}
.alert{padding:12px 14px;border-radius:var(--radius);font-size:14px;margin-bottom:18px;}
.alert-err{background:#F6E3DD;color:var(--ember);}
.alert-ok{background:#E4EFE7;color:#1F5A3A;}

@media(max-width:900px){
  .admin-shell{flex-direction:column;}
  .admin-sidebar{width:100%;flex-direction:row;overflow-x:auto;padding:14px;}
  .admin-sidebar nav{display:flex;flex:none;}
  .stat-grid{grid-template-columns:1fr 1fr;}
  .admin-form .row-2, .admin-form .row-3{grid-template-columns:1fr;}
}
