:root{
  --bg:#06100b;
  --bg2:#0d1d14;
  --card:#10251a;
  --green:#4fb477;
  --green2:#8ad8a4;
  --gold:#d6b16a;
  --cream:#f5efe2;
  --muted:#b7c7bb;
  --line:rgba(245,239,226,.12);
  --shadow:0 24px 80px rgba(0,0,0,.45);
}
*{box-sizing:border-box}
html,body{margin:0;min-height:100%;font-family:Inter,Montserrat,Arial,Helvetica,sans-serif;background:var(--bg);color:var(--cream)}
html.pdf-html, html.pdf-html body{height:auto!important;min-height:100%!important;overflow-y:auto!important;overflow-x:hidden!important;-webkit-overflow-scrolling:touch!important;touch-action:pan-y!important;}
a{color:inherit}

/* Vista pública del menú: visor PDF optimizado para móvil */
body.pdf-page{height:auto!important;min-height:100%!important;overflow-y:auto!important;overflow-x:hidden!important;background:#0b0f0c;color:#fff;-webkit-overflow-scrolling:touch!important;touch-action:pan-y!important;}
.mobile-pdf-viewer{width:100%;min-height:100vh;background:#0b0f0c;display:block;padding:8px 0 26px;overflow:visible!important;touch-action:pan-y!important;}
.pdf-page-canvas{display:block;width:94%!important;height:auto!important;max-width:940px;background:#fff;box-shadow:none;margin:0 auto 12px;touch-action:pan-y!important;}
.pdf-loading{min-height:100vh;min-height:100dvh;display:flex;align-items:center;justify-content:center;color:#f5efe2;font-size:14px;letter-spacing:.3px}
.pdf-fallback{margin:30px auto;display:inline-flex;align-items:center;justify-content:center;border-radius:999px;padding:12px 18px;background:var(--green);color:#06100b;text-decoration:none;font-weight:900}

/* Pop-up básico: solo imagen + tache */
.image-modal{
  position:fixed;inset:0;z-index:99;
  display:flex;align-items:center;justify-content:center;
  padding:18px;
  background:rgba(0,0,0,.72);
  backdrop-filter:blur(8px);
}
.popup-image-wrap{
  position:relative;
  width:min(92vw,430px);
  max-height:88vh;
  border-radius:22px;
  overflow:visible;
  box-shadow:var(--shadow);
}
.popup-image-wrap img{
  width:100%;
  max-height:88vh;
  display:block;
  object-fit:contain;
  border-radius:22px;
  background:#000;
}
.close-popup{
  position:absolute;
  top:-12px;
  right:-12px;
  width:42px;
  height:42px;
  border:1px solid rgba(255,255,255,.28);
  border-radius:999px;
  background:rgba(6,16,11,.96);
  color:#fff;
  font-size:31px;
  line-height:36px;
  font-weight:300;
  cursor:pointer;
  box-shadow:0 10px 30px rgba(0,0,0,.35);
  z-index:2;
}
.hidden{display:none!important}

/* Admin */
body:not(.pdf-page){
  background:
    radial-gradient(circle at 18% 0%,rgba(79,180,119,.22),transparent 32%),
    radial-gradient(circle at 90% 15%,rgba(214,177,106,.14),transparent 30%),
    linear-gradient(135deg,var(--bg),#030806 70%);
}
.admin-shell{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:24px}
.admin{width:100%;max-width:760px;background:linear-gradient(150deg,rgba(16,37,26,.96),rgba(7,18,13,.96));padding:28px;border-radius:30px;box-shadow:var(--shadow);border:1px solid var(--line)}
.admin-head{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:22px;padding-bottom:18px;border-bottom:1px solid var(--line)}
.brand{display:inline-flex;align-items:center;gap:10px;justify-content:center;font-size:30px;letter-spacing:3px;color:var(--cream);font-weight:900;text-transform:lowercase}.brand:before,.brand:after{content:'•';color:var(--gold);font-size:18px;line-height:1}
.admin-title h1{font-size:28px;margin:10px 0 0;color:var(--cream)}
.admin-title p,.small{font-size:13px;color:var(--muted);line-height:1.5}
.badge{background:rgba(214,177,106,.12);color:var(--gold);border:1px solid rgba(214,177,106,.25);padding:8px 12px;border-radius:999px;font-weight:900;font-size:12px;white-space:nowrap}
.panel{background:rgba(245,239,226,.045);border:1px solid var(--line);border-radius:22px;padding:20px;margin-top:14px}
label{display:block;margin:15px 0 8px;font-weight:900;color:var(--cream)}
input,select{width:100%;padding:14px 14px;border:1px solid var(--line);border-radius:14px;background:rgba(0,0,0,.24);color:var(--cream);outline:none}
select option{background:#10251a;color:#fff}input[type=file]{padding:12px;background:rgba(255,255,255,.04)}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;background:linear-gradient(135deg,var(--green),#2b7c4d);color:#031109;text-decoration:none;border:0;border-radius:999px;padding:13px 20px;font-weight:900;cursor:pointer;box-shadow:0 10px 28px rgba(79,180,119,.24)}
.btn.secondary{background:rgba(245,239,226,.08);color:var(--cream);border:1px solid var(--line);box-shadow:none}
.notice{padding:13px 14px;border-radius:16px;background:rgba(79,180,119,.14);margin:12px 0;color:var(--green2);border:1px solid rgba(79,180,119,.28);font-weight:800}.error{background:rgba(255,92,92,.12);color:#ffb5b5;border-color:rgba(255,92,92,.24)}
.admin-links{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:12px}.admin-links a{padding:13px;border:1px solid var(--line);border-radius:16px;text-decoration:none;background:rgba(255,255,255,.04);color:var(--cream);font-weight:800;text-align:center}hr{border:0;border-top:1px solid var(--line);margin:20px 0}
@media(max-width:650px){.image-modal{padding:12px}.popup-image-wrap{width:94vw;max-height:84vh}.popup-image-wrap img{max-height:84vh;border-radius:18px}.close-popup{top:-10px;right:-8px;width:40px;height:40px;font-size:30px}.admin-shell{padding:14px}.admin{padding:20px;border-radius:24px}.admin-head{display:block}.badge{display:inline-block;margin-top:12px}.admin-links{grid-template-columns:1fr}.btn{width:100%;margin-top:8px}.brand{font-size:25px}}
.popup-preview{margin:14px 0 18px;border:1px solid rgba(255,255,255,.12);border-radius:18px;overflow:hidden;background:rgba(255,255,255,.04);max-width:220px}
.popup-preview img{display:block;width:100%;height:auto}
