:root{--bg:#0b0b0b;--surface:#151515;--surface2:#1d1d1d;--text:#f5f2eb;--muted:#aaa397;--gold:#d3a251;--danger:#e56666;--line:rgba(211,162,81,.25)}
*{box-sizing:border-box}body{margin:0;background:linear-gradient(135deg,#090909,#18120c);color:var(--text);font-family:"DM Sans",sans-serif;min-height:100vh}button,input,textarea,select{font:inherit}button{cursor:pointer}
.hidden{display:none!important}.admin-shell{max-width:1420px;margin:auto;padding:22px}.warning{background:#492d0b;border:1px solid #a66e25;padding:1rem;border-radius:12px;display:flex;gap:.7rem;flex-wrap:wrap;margin-bottom:1rem}
.auth-card{max-width:480px;margin:7vh auto;background:rgba(20,20,20,.95);padding:2.2rem;border:1px solid var(--line);border-radius:22px;box-shadow:0 35px 90px #000}.auth-card img{width:80px}.auth-card>span,.panel-heading span{color:var(--gold);font-size:.75rem;letter-spacing:.2em}.auth-card h1,.panel-heading h2,.entity-form h2{font-family:"Playfair Display",serif}.auth-card h1{font-size:3rem;margin:.4rem 0}.auth-card p,.auth-card a{color:var(--muted)}label{display:grid;gap:.45rem;margin:1rem 0;font-weight:600}input,textarea,select{width:100%;background:#202020;color:white;border:1px solid rgba(255,255,255,.13);padding:.9rem;border-radius:10px}form button[type=submit],.primary-btn{background:linear-gradient(135deg,#b67c2d,#e0b568);color:#111;border:0;padding:.9rem 1.2rem;border-radius:10px;font-weight:800}.auth-card form button{width:100%;margin:1rem 0}.form-message{min-height:1.4em;color:#f6b6b6}
.admin-header{display:flex;justify-content:space-between;align-items:center;background:#111;padding:1rem 1.3rem;border:1px solid var(--line);border-radius:16px}.admin-brand{display:flex;align-items:center;gap:1rem}.admin-brand img{width:54px}.admin-brand div{display:grid}.admin-brand span{color:var(--muted)}.admin-actions{display:flex;gap:.7rem;align-items:center}.admin-actions a,.danger-outline{border:1px solid rgba(255,255,255,.2);padding:.7rem 1rem;border-radius:10px;color:white;background:none;text-decoration:none}.danger-outline{border-color:rgba(229,102,102,.5);color:#ffb0b0}
.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem;margin:1rem 0}.stats article{background:var(--surface);border:1px solid rgba(255,255,255,.08);padding:1.3rem;border-radius:14px;display:grid}.stats span{color:var(--muted)}.stats strong{font-size:2.3rem;color:var(--gold)}
.tabs{display:flex;gap:.5rem;background:#111;padding:.5rem;border:1px solid var(--line);border-radius:14px;margin-bottom:1rem}.tab{flex:1;background:none;border:0;color:var(--muted);padding:.85rem;border-radius:10px}.tab.active{background:#292014;color:white}
.tab-panel{display:none;background:#111;border:1px solid var(--line);border-radius:16px;padding:1.4rem}.tab-panel.active{display:block}.panel-heading{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.panel-heading h2{font-size:2.5rem;margin:.2rem 0}
.filters{display:grid;grid-template-columns:1fr 280px;gap:.8rem;margin-bottom:1rem}.admin-list{display:grid;gap:.7rem}.admin-row{display:grid;grid-template-columns:78px 1.4fr 1fr auto;gap:1rem;align-items:center;background:var(--surface2);border:1px solid rgba(255,255,255,.07);padding:.75rem;border-radius:12px}.admin-row img{width:78px;height:68px;object-fit:cover;border-radius:8px}.admin-row h3{margin:0}.admin-row p{color:var(--muted);margin:.25rem 0;font-size:.9rem}.badge{display:inline-flex;padding:.25rem .55rem;border-radius:999px;font-size:.75rem;background:#283a2c;color:#a9e6b2}.badge.off{background:#442828;color:#ffb0b0}.row-actions{display:flex;gap:.45rem;flex-wrap:wrap}.row-actions button{border:1px solid rgba(255,255,255,.14);background:#111;color:white;padding:.55rem .7rem;border-radius:8px}.row-actions .delete{color:#ffaaaa;border-color:rgba(255,80,80,.4)}
dialog{width:min(650px,94vw);max-height:92vh;overflow:auto;background:#121212;color:white;border:1px solid var(--line);border-radius:18px;padding:0}dialog::backdrop{background:rgba(0,0,0,.8);backdrop-filter:blur(4px)}.entity-form{padding:1.5rem;position:relative}.dialog-close{position:absolute;right:14px;top:10px;border:0;background:none;color:white;font-size:2rem}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.switch-row{display:flex;align-items:center;gap:.6rem}.switch-row input{width:auto}.image-preview{min-height:20px}.image-preview img{width:100%;max-height:260px;object-fit:cover;border-radius:12px}.toast{position:fixed;right:22px;bottom:22px;background:#252018;border:1px solid var(--gold);padding:1rem 1.2rem;border-radius:12px;opacity:0;transform:translateY(20px);transition:.25s;pointer-events:none}.toast.show{opacity:1;transform:none}
@media(max-width:800px){.stats{grid-template-columns:1fr}.admin-header,.panel-heading{align-items:flex-start;flex-direction:column;gap:1rem}.filters{grid-template-columns:1fr}.admin-row{grid-template-columns:65px 1fr}.admin-row>.meta,.admin-row>.row-actions{grid-column:2}.tabs{overflow:auto}.tab{min-width:120px}.form-grid{grid-template-columns:1fr}}
.filters-three{grid-template-columns:1fr 240px 240px}@media(max-width:1000px){.filters-three{grid-template-columns:1fr}}

/* Fondo decorativo del panel */
body{
  position:relative;
  isolation:isolate;
}
body::before{
  content:"";
  position:fixed;
  inset:0;
  z-index:-2;
  pointer-events:none;
  opacity:.26;
  background:
    radial-gradient(circle at 15% 10%,rgba(211,162,81,.18),transparent 28rem),
    radial-gradient(circle at 85% 75%,rgba(211,162,81,.10),transparent 30rem),
    repeating-linear-gradient(135deg,rgba(211,162,81,.035) 0 2px,transparent 2px 42px);
}
.auth-card::before{
  content:"";
  display:block;
  position:absolute;
  inset:12px;
  border:1px solid rgba(211,162,81,.12);
  border-radius:16px;
  pointer-events:none;
}
.auth-card{position:relative}

.auth-card>img{width:150px!important;height:105px!important;object-fit:contain!important;margin-bottom:.6rem}
.admin-brand img{width:82px!important;height:58px!important;object-fit:contain!important}


/* Acceso robusto y mejor legibilidad móvil */
#authView{display:block}
#authView.hidden{display:none!important}
.login-message{min-height:1.5em;color:#ffb0b0;white-space:pre-wrap}
.auth-card{min-height:420px}
.admin-row img{background:#f5f2eb;object-fit:contain}
@media(max-width:520px){.admin-shell{padding:12px}.auth-card{margin:3vh auto;padding:1.35rem}.auth-card h1{font-size:2.25rem}.admin-row{grid-template-columns:58px 1fr}.admin-row img{width:58px;height:58px}}
