
:root{--navy:#081a31;--gold:#c8a24a;--gold2:#f2d68a;--brown:#4a331e;--cream:#f6f2e9;--ink:#1d2a3b;--muted:#6d7482;--line:rgba(200,162,74,.35)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Georgia,'Times New Roman',serif;color:var(--ink);background:#fff;overflow-x:hidden}a{text-decoration:none;color:inherit}img{display:block;max-width:100%}.container{width:min(1180px,92vw);margin:auto}
.topstrip{background:linear-gradient(90deg,#2c1b0d,#583b1f,#2c1b0d);color:#fff;text-align:center;padding:8px 0;font-size:.88rem}
.header{background:#fff;position:sticky;top:0;z-index:50;border-bottom:1px solid #eee;box-shadow:0 8px 28px rgba(0,0,0,.06)}.navbar{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:12px 0}.logo{display:flex;align-items:center;gap:12px}.logo img{width:78px;background:transparent!important}.logo-text{font-weight:700;line-height:1.05;color:#372414}.logo-text span{display:block;font-size:.76rem;color:#9a741e;text-transform:uppercase;letter-spacing:.12em;margin-top:4px}.nav{display:flex;gap:4px;align-items:center;flex-wrap:wrap;justify-content:flex-end}.nav>a,.dropbtn{padding:12px 11px;font-family:Arial,sans-serif;font-size:.82rem;font-weight:800;text-transform:uppercase;color:#2f2419;border-radius:4px}.nav>a:hover,.drop:hover .dropbtn{background:rgba(200,162,74,.13);color:#8a6819}.drop{position:relative}.dropdown{position:absolute;top:100%;left:0;min-width:230px;background:#fff;border-top:3px solid var(--gold);box-shadow:0 20px 50px rgba(0,0,0,.16);padding:8px 0;display:none}.drop:hover .dropdown{display:block}.dropdown a{display:block;padding:11px 16px;font-family:Arial,sans-serif;font-size:.84rem;color:#372414}.dropdown a:hover{background:var(--cream);color:#8a6819}.mobile-toggle{display:none;border:0;background:var(--gold);padding:10px 13px;border-radius:4px;font-weight:900}
.hero{min-height:590px;position:relative;background:linear-gradient(rgba(15,24,38,.54),rgba(15,24,38,.62)),radial-gradient(circle at 30% 20%,rgba(242,214,138,.24),transparent 30%),linear-gradient(135deg,#18345a,#6b4b2a);display:grid;place-items:center;text-align:center;color:white;overflow:hidden}.hero .inner{position:relative;width:min(900px,92vw);padding:40px 0}.hero img{width:180px;margin:0 auto 28px;background:transparent!important}.hero h1{font-size:clamp(3rem,8vw,6.4rem);line-height:.9;margin:0 0 16px;text-shadow:0 8px 30px rgba(0,0,0,.4);font-weight:400}.hero p{font-size:1.25rem;line-height:1.6;margin:0 auto 16px;max-width:760px}.verse{font-size:1.05rem;color:#f7e8bd;font-style:italic}
.btn{display:inline-flex;align-items:center;justify-content:center;padding:13px 22px;border-radius:4px;font-family:Arial,sans-serif;font-weight:900;text-transform:uppercase;font-size:.82rem;border:1px solid transparent;margin:8px 5px;cursor:pointer;transition:.2s}.btn.gold{background:linear-gradient(135deg,var(--gold),var(--gold2));color:#2b1a0a}.btn.dark{background:#2b1a0a;color:#fff}.btn.white{background:#fff;color:#2b1a0a}.btn:hover{transform:translateY(-2px)}
.section{padding:76px 0}.section.alt{background:var(--cream)}.two{display:grid;grid-template-columns:1fr 1fr;gap:42px;align-items:center}.section h2{font-size:clamp(2rem,4vw,3.2rem);font-weight:400;color:#2f2419;margin:0 0 18px}.section h3{font-size:1.45rem;color:#4a331e;margin:0 0 10px}.section p{font-size:1.05rem;line-height:1.75;color:#505b6b}.logo-panel{background:#fff;border:1px solid var(--line);box-shadow:0 18px 55px rgba(60,43,20,.12);padding:28px;border-radius:4px}.logo-panel img{width:min(430px,100%);margin:auto;background:transparent!important}
.prayer{background:linear-gradient(rgba(8,26,49,.88),rgba(8,26,49,.9)),linear-gradient(135deg,#0b2342,#4a331e);color:#fff}.prayer h2,.prayer h3{color:#fff}.prayer p{color:#e8eef6}.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.card{background:#fff;border:1px solid rgba(0,0,0,.07);box-shadow:0 14px 45px rgba(0,0,0,.08);padding:24px;border-radius:4px;min-height:190px}.card .icon{width:52px;height:52px;border-radius:50%;background:linear-gradient(135deg,var(--gold),var(--gold2));display:grid;place-items:center;font-family:Arial,sans-serif;font-weight:900;color:#2b1a0a;margin-bottom:16px}
.banner{min-height:340px;background:linear-gradient(rgba(80,50,20,.55),rgba(80,50,20,.6)),linear-gradient(135deg,#5a3920,#c8a24a);display:grid;place-items:center;text-align:center;color:white}.banner h2{color:#fff;font-size:clamp(2.4rem,6vw,5rem);text-shadow:0 8px 26px rgba(0,0,0,.35)}
.video-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.video-card{background:#111;color:#fff;min-height:210px;display:grid;place-items:center;text-align:center;padding:22px;border-radius:4px;box-shadow:0 14px 45px rgba(0,0,0,.12)}.contact-card{background:#fff;border:1px solid var(--line);padding:28px;box-shadow:0 18px 55px rgba(60,43,20,.1)}.form input,.form select,.form textarea{width:100%;padding:14px 15px;border:1px solid #ddd;margin:8px 0;font-size:1rem;font-family:Arial,sans-serif}.form textarea{min-height:130px}
.footer{background:#2b1a0a;color:#e8dcc4;padding:54px 0 28px}.footer-grid{display:grid;grid-template-columns:1.2fr 1fr 1fr 1.2fr;gap:30px}.footer img{width:125px;background:transparent!important}.footer h4{color:#fff;font-family:Arial,sans-serif;text-transform:uppercase;letter-spacing:.08em;font-size:.9rem}.footer a,.footer p,.footer li{color:#e8dcc4;line-height:1.7}.footer ul{list-style:none;padding:0;margin:0}.copy{text-align:center;border-top:1px solid rgba(255,255,255,.16);margin-top:34px;padding-top:18px;color:#cbbd9e}
.footer-social-section{width:min(820px,92vw);margin:38px auto 0;padding:28px 20px 10px;border-top:1px solid rgba(242,214,138,.3);text-align:center}.footer-social-section h4{margin:0 0 20px;color:#fff}.footer-social-links{display:flex;flex-wrap:wrap;justify-content:center;gap:14px}.footer-social-links a{display:inline-flex;align-items:center;gap:12px;min-width:170px;padding:10px 18px 10px 10px;border:1px solid rgba(242,214,138,.4);border-radius:7px;background:linear-gradient(145deg,rgba(255,255,255,.055),rgba(200,162,74,.035));box-shadow:0 5px 16px rgba(0,0,0,.14);font-family:Arial,sans-serif;font-size:.86rem;font-weight:800;letter-spacing:.02em;line-height:1.2;transition:background .2s,border-color .2s,color .2s,transform .2s,box-shadow .2s}.footer-social-links a:hover,.footer-social-links a:focus-visible{background:rgba(242,214,138,.12);border-color:var(--gold2);box-shadow:0 8px 20px rgba(0,0,0,.2);color:#fff;transform:translateY(-2px)}.footer-social-icon{display:grid;place-items:center;flex:0 0 38px;width:38px;height:38px;border:1px solid rgba(242,214,138,.62);border-radius:50%;background:#3a240f;box-shadow:inset 0 0 0 3px rgba(200,162,74,.07)}.footer-social-icon img{width:20px;height:20px;object-fit:contain;filter:brightness(0) saturate(100%) invert(88%) sepia(28%) saturate(811%) hue-rotate(351deg) brightness(103%) contrast(90%)}.footer-social-icon.youtube img{width:21px}.footer-social-icon.facebook img{width:18px}.footer-social-icon.instagram img{width:20px}@media(max-width:560px){.footer-social-section{padding-inline:0}.footer-social-links{display:grid;grid-template-columns:1fr;max-width:280px;margin:auto}.footer-social-links a{width:100%}}
.page-hero{background:linear-gradient(rgba(8,26,49,.78),rgba(8,26,49,.82)),linear-gradient(135deg,#0b2342,#6b4b2a);color:#fff;text-align:center;padding:100px 0}.page-hero h1{font-size:clamp(2.6rem,6vw,5rem);font-weight:400;margin:0}
.portal-body{background:linear-gradient(135deg,#081a31,#4a331e);min-height:100vh;color:#fff;font-family:Arial,sans-serif}.login-shell{min-height:100vh;display:grid;place-items:center;padding:28px}.login-card{width:min(460px,94vw);background:rgba(255,255,255,.12);border:1px solid rgba(242,214,138,.45);padding:30px;border-radius:8px;box-shadow:0 28px 80px rgba(0,0,0,.28);backdrop-filter:blur(16px)}.login-card img{width:210px;margin:0 auto 18px;background:transparent!important}.login-card h1{text-align:center;font-family:Georgia,serif;font-weight:400}.input{width:100%;padding:14px;border:1px solid rgba(255,255,255,.25);background:rgba(255,255,255,.12);color:#fff;margin:8px 0}.input::placeholder{color:#ddd}
@media(max-width:900px){.nav{display:none}.mobile-toggle{display:block}.navbar{align-items:flex-start}.two,.cards,.video-grid,.footer-grid{grid-template-columns:1fr}.hero{min-height:520px}.logo img{width:64px}}


/* ZONA VIDEO WINDOW */
.ti-video-window{
  position:relative;width:100%;max-width:900px;margin:0 auto;border-radius:25px;
  overflow:hidden;background:#000;border:5px solid transparent;
  background-image:linear-gradient(#000,#000),linear-gradient(135deg,#d4af37,#ffd700,#b8860b);
  background-origin:border-box;background-clip:content-box,border-box;
  box-shadow:0 0 25px rgba(212,175,55,.8),0 0 60px rgba(212,175,55,.4),0 0 100px rgba(212,175,55,.25);
  transition:box-shadow .5s ease;
}
.ti-video-window:hover{
  box-shadow:0 0 35px rgba(255,215,0,.9),0 0 80px rgba(212,175,55,.6),0 0 130px rgba(212,175,55,.35);
}
.ti-video-window video{
  width:100%;height:auto;display:block;object-fit:cover;border-radius:20px;
}
.ti-video-window::after{
  content:"";position:absolute;inset:0;border-radius:25px;
  background:linear-gradient(to bottom,rgba(0,0,0,.1) 0%,rgba(0,0,0,.35) 100%);
  pointer-events:none;
}
@media(max-width:600px){
  .ti-video-window{border-width:3px;border-radius:20px;}
  .ti-video-window video{border-radius:15px;}
}


/* Verified prayer section update */
.prayer .prayer-logo{
  display:flex;
  justify-content:center;
  align-items:center;
  background:transparent !important;
  border:none !important;
  box-shadow:none !important;
  padding:0 !important;
}

.prayer .prayer-logo img{
  width:min(450px,100%);
  height:auto;
  display:block;
  background:transparent !important;
  border:none !important;
  box-shadow:none !important;
  filter:drop-shadow(0 0 25px rgba(212,175,55,.35));
}

.prayer .verse{
  display:block;
  margin:18px 0 20px;
  color:#f7e8bd;
  font-size:1.05rem;
  line-height:1.75;
  font-style:italic;
}


/* === FINAL VERIFIED UPDATES: Points preview, full page, luxury effects === */
.faith-home-section{
  position:relative;
  overflow:hidden;
}
.faith-home-section::after{
  content:"";
  position:absolute;
  inset:auto -10% -30% -10%;
  height:260px;
  background:radial-gradient(circle,rgba(200,162,74,.18),transparent 65%);
  pointer-events:none;
}
.faith-home-section h2,
.faith-full-section h2{
  text-align:center;
}
.faith-subtitle{
  max-width:860px;
  margin:0 auto 28px;
  text-align:center;
  color:#6d7482;
  line-height:1.7;
}
.more-faith{
  text-align:center;
  margin-top:22px;
  color:#4a331e;
  font-size:1.1rem;
}
.faith-divider{
  height:1px;
  width:min(860px,90%);
  margin:54px auto;
  background:linear-gradient(90deg,transparent,rgba(200,162,74,.72),transparent);
}
.faith-preview-card{
  min-height:235px;
}
.faith-full-grid{
  display:grid;
  grid-template-columns:repeat(2,1fr);
  gap:22px;
}
.faith-card{
  background:#fff;
  border:1px solid rgba(200,162,74,.35);
  box-shadow:0 14px 45px rgba(0,0,0,.07);
  padding:24px;
  border-radius:4px;
}
.faith-number{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:7px 12px;
  border-radius:999px;
  background:linear-gradient(135deg,var(--gold),var(--gold2));
  color:#2b1a0a;
  font-family:Arial,sans-serif;
  font-weight:900;
  font-size:.78rem;
  text-transform:uppercase;
  margin-bottom:13px;
}
.faith-card h3{color:#4a331e;margin:0 0 10px;font-size:1.25rem;}
.faith-card p{color:#505b6b;line-height:1.7;font-size:1rem;}

/* Luxury visible interaction */
.header{transition:background .35s ease,box-shadow .35s ease;}
.header:hover{box-shadow:0 14px 42px rgba(43,26,10,.14);}
.logo img,.hero img,.footer img,.login-card img,.logo-panel img,.prayer-logo img{transition:transform .45s ease,filter .45s ease;}
.logo:hover img,.footer img:hover,.logo-panel:hover img,.prayer-logo:hover img{transform:scale(1.035);filter:drop-shadow(0 0 24px rgba(200,162,74,.42));}
.nav>a,.dropbtn{position:relative;overflow:hidden;}
.nav>a::after,.dropbtn::after{
  content:"";position:absolute;left:12px;right:12px;bottom:6px;height:2px;
  background:linear-gradient(90deg,transparent,var(--gold2),transparent);
  transform:scaleX(0);transform-origin:center;transition:transform .28s ease;
}
.nav>a:hover::after,.drop:hover .dropbtn::after{transform:scaleX(1);}
.dropdown{transform:translateY(10px);opacity:0;transition:opacity .25s ease,transform .25s ease;}
.drop:hover .dropdown{transform:translateY(0);opacity:1;}
.hero{background-attachment:fixed;}
.hero .inner{animation:heroRise .9s ease both;}
@keyframes heroRise{from{opacity:0;transform:translateY(28px);}to{opacity:1;transform:translateY(0);}}
.btn{position:relative;overflow:hidden;}
.btn::before{
  content:"";position:absolute;top:-60%;left:-45%;width:42%;height:220%;
  background:linear-gradient(90deg,transparent,rgba(255,255,255,.55),transparent);
  transform:rotate(25deg) translateX(-140%);transition:transform .65s ease;
}
.btn:hover::before{transform:rotate(25deg) translateX(430%);}
.card,.logo-panel,.contact-card,.video-card,.faith-card{
  transition:transform .35s ease,box-shadow .35s ease,border-color .35s ease;
}
.card:hover,.logo-panel:hover,.contact-card:hover,.video-card:hover,.faith-card:hover{
  transform:translateY(-8px);
  box-shadow:0 24px 70px rgba(43,26,10,.15),0 0 22px rgba(200,162,74,.34),0 0 55px rgba(200,162,74,.16);
  border-color:rgba(242,214,138,.75);
}
.card .icon{transition:transform .35s ease,box-shadow .35s ease;}
.card:hover .icon{transform:rotate(-4deg) scale(1.08);box-shadow:0 0 25px rgba(200,162,74,.35);}
.ti-video-window{animation:luxuryPulse 4.5s ease-in-out infinite;}
@keyframes luxuryPulse{
  0%,100%{box-shadow:0 0 25px rgba(212,175,55,.72),0 0 60px rgba(212,175,55,.32),0 0 100px rgba(212,175,55,.18);}
  50%{box-shadow:0 0 34px rgba(255,215,0,.88),0 0 82px rgba(212,175,55,.48),0 0 128px rgba(212,175,55,.28);}
}
.reveal{opacity:0;transform:translateY(34px);transition:opacity .8s ease,transform .8s ease;}
.reveal.in-view{opacity:1;transform:translateY(0);}
@media(max-width:900px){
  .faith-full-grid{grid-template-columns:1fr;}
  .hero{background-attachment:scroll;}
}


/* === GLOBAL LUXURY SCROLL + HOVER EFFECT SYSTEM === */

/* Smooth premium scrolling */
html{
  scroll-behavior:smooth;
}

/* Make most interactive elements feel premium */
a,
button,
.btn,
.card,
.faith-card,
.video-card,
.logo-panel,
.contact-card,
.dropdown a,
.nav > a,
.dropbtn,
input,
select,
textarea,
img,
.ti-video-window,
.prayer-logo,
.footer li,
.footer p,
.logo,
.section h2,
.section h3{
  transition:
    transform .32s ease,
    box-shadow .32s ease,
    filter .32s ease,
    opacity .32s ease,
    color .32s ease,
    background .32s ease,
    border-color .32s ease,
    letter-spacing .32s ease;
}

/* Universal tasteful hover for clickable items */
a:hover,
button:hover,
.btn:hover,
.dropdown a:hover,
.nav > a:hover,
.dropbtn:hover{
  transform:translateY(-2px);
  filter:drop-shadow(0 0 12px rgba(200,162,74,.25));
}

/* Elegant underline shimmer for links */
a{
  position:relative;
}

.footer a::after,
.contact-card a::after,
.card a::after,
.faith-card a::after{
  content:"";
  position:absolute;
  left:0;
  right:0;
  bottom:-3px;
  height:1px;
  background:linear-gradient(90deg,transparent,var(--gold2),transparent);
  transform:scaleX(0);
  transform-origin:center;
  transition:transform .28s ease;
}

.footer a:hover::after,
.contact-card a:hover::after,
.card a:hover::after,
.faith-card a:hover::after{
  transform:scaleX(1);
}

/* Hover lift for every visual block */
.card:hover,
.faith-card:hover,
.video-card:hover,
.logo-panel:hover,
.contact-card:hover,
.ti-video-window:hover,
.prayer-logo:hover{
  transform:translateY(-9px) scale(1.01);
  box-shadow:
    0 28px 76px rgba(43,26,10,.18),
    0 0 24px rgba(200,162,74,.28),
    0 0 70px rgba(200,162,74,.14);
  border-color:rgba(242,214,138,.85);
}

/* Image hover polish everywhere */
img:hover{
  filter:drop-shadow(0 0 22px rgba(200,162,74,.32));
}

/* Forms hover/focus */
input:hover,
select:hover,
textarea:hover{
  border-color:rgba(200,162,74,.7) !important;
  box-shadow:0 0 0 3px rgba(200,162,74,.12);
}

input:focus,
select:focus,
textarea:focus{
  outline:none;
  border-color:var(--gold) !important;
  box-shadow:
    0 0 0 4px rgba(200,162,74,.16),
    0 0 22px rgba(200,162,74,.18);
}

/* Buttons get gold sweep */
.btn{
  isolation:isolate;
}

.btn::after{
  content:"";
  position:absolute;
  inset:0;
  border-radius:inherit;
  background:radial-gradient(circle at var(--mx,50%) var(--my,50%),rgba(255,255,255,.38),transparent 36%);
  opacity:0;
  transition:opacity .25s ease;
  z-index:-1;
}

.btn:hover::after{
  opacity:1;
}

/* Reveal animation defaults */
[data-reveal]{
  opacity:0;
  transform:translateY(42px);
  filter:blur(7px);
  transition:
    opacity .88s ease,
    transform .88s cubic-bezier(.2,.8,.2,1),
    filter .88s ease;
  will-change:opacity,transform,filter;
}

[data-reveal].in-view{
  opacity:1;
  transform:translateY(0);
  filter:blur(0);
}

[data-reveal="left"]{
  transform:translateX(-44px);
}

[data-reveal="right"]{
  transform:translateX(44px);
}

[data-reveal="zoom"]{
  transform:scale(.94);
}

[data-reveal="fade"]{
  transform:none;
}

[data-reveal="left"].in-view,
[data-reveal="right"].in-view,
[data-reveal="zoom"].in-view,
[data-reveal="fade"].in-view{
  transform:none;
}

/* Subtle premium page depth */
.section{
  overflow:hidden;
}

.section .container{
  position:relative;
  z-index:1;
}

/* Reduce motion accessibility */
@media (prefers-reduced-motion: reduce){
  *,
  *::before,
  *::after{
    animation:none !important;
    transition:none !important;
    scroll-behavior:auto !important;
  }

  [data-reveal]{
    opacity:1 !important;
    transform:none !important;
    filter:none !important;
  }
}


/* Clean bottom language switch on Points of Faith pages */
.bottom-language-switch{
  text-align:center;
  margin:42px auto 0;
  padding-top:28px;
  border-top:1px solid rgba(200,162,74,.35);
}


/* Eventos de Zona 2026 + Calendar */
.eventos-2026-section{
  background:#fff;
}

.eventos-card{
  max-width:900px;
  margin:0 auto;
  padding:20px 18px 16px;
  background:#ffffff;
  border:2px solid #d4af37;
  border-radius:18px;
  box-shadow:0 8px 24px rgba(0,0,0,.08),0 0 26px rgba(212,175,55,.12);
  font-family:-apple-system,system-ui,BlinkMacSystemFont,"Segoe UI",Arial,Helvetica,sans-serif;
}

.eventos-header{
  text-align:center;
  margin-bottom:18px;
}

.eventos-org{
  font-size:14px;
  font-weight:800;
  letter-spacing:.04em;
  color:#111;
  text-transform:uppercase;
  line-height:1.45;
}

.eventos-header h2{
  font-family:-apple-system,system-ui,BlinkMacSystemFont,"Segoe UI",Arial,Helvetica,sans-serif;
  font-size:22px;
  font-weight:900;
  letter-spacing:.05em;
  color:#111;
  margin:10px 0 6px;
}

.eventos-line{
  width:70px;
  height:2px;
  background:#d4af37;
  margin:14px auto 0;
  border-radius:999px;
}

.eventos-list{
  display:flex;
  flex-direction:column;
  gap:10px;
  font-size:14px;
}

.event-row{
  display:flex;
  gap:12px;
  align-items:flex-start;
  color:#111;
  line-height:1.45;
}

.event-date{
  min-width:145px;
  padding:6px 10px;
  border-radius:10px;
  border:1px solid #d4af37;
  background:#faf9f6;
  font-weight:900;
  text-align:center;
  color:#111;
}

.zona-calendar-wrap{
  width:100%;
  max-width:1000px;
  margin:0 auto;
  text-align:center;
}

.zona-calendar-frame{
  position:relative;
  padding-bottom:120%;
  height:0;
  overflow:hidden;
  border-radius:18px;
  border:1.5px solid #d4af37;
  background:linear-gradient(135deg,#0a0a0a,#3b2f00);
  box-shadow:0 0 18px rgba(212,175,55,.35),0 18px 55px rgba(0,0,0,.14);
}

.zona-calendar-frame iframe{
  position:absolute;
  top:0;
  left:0;
  width:100%;
  height:100%;
  border:0;
  border-radius:14px;
}

.calendar-caption{
  margin:16px 0 0;
  font:15px/1.6 system-ui,-apple-system,Segoe UI,Roboto,Helvetica,Arial;
  color:#000000;
}

@media(max-width:700px){
  .event-row{
    flex-direction:column;
    gap:6px;
  }
  .event-date{
    width:100%;
  }
}


/* === Theme-matched Eventos page === */
.eventos-hero{
  background:
    linear-gradient(rgba(8,26,49,.78),rgba(8,26,49,.84)),
    radial-gradient(circle at 50% 20%,rgba(242,214,138,.2),transparent 28%),
    linear-gradient(135deg,#081a31,#4a331e);
}

.eventos-hero-subtitle{
  color:#f7e8bd;
  font-size:1.12rem;
  margin:18px auto 0;
  max-width:760px;
}

.section-intro{
  text-align:center;
  max-width:850px;
  margin:0 auto 34px;
}

.section-kicker{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:8px 14px;
  margin-bottom:14px;
  border:1px solid rgba(200,162,74,.45);
  border-radius:999px;
  background:rgba(200,162,74,.1);
  color:#8a6819;
  font-family:Arial,sans-serif;
  font-weight:900;
  font-size:.76rem;
  text-transform:uppercase;
  letter-spacing:.12em;
}

.section-intro h2{
  margin:0 0 12px;
  font-size:clamp(2.1rem,4vw,3.4rem);
  color:#2f2419;
  font-weight:400;
}

.section-intro p{
  color:#606b7b;
  line-height:1.75;
}

.zona-events-shell{
  position:relative;
  max-width:980px;
  margin:0 auto;
  padding:28px;
  background:
    linear-gradient(#fffaf0,#fff),
    radial-gradient(circle at top left,rgba(242,214,138,.2),transparent 35%);
  border:1px solid rgba(200,162,74,.48);
  border-radius:22px;
  box-shadow:
    0 24px 70px rgba(43,26,10,.12),
    0 0 32px rgba(200,162,74,.13);
  overflow:hidden;
}

.zona-events-shell::before{
  content:"";
  position:absolute;
  inset:0;
  background:
    linear-gradient(135deg,rgba(200,162,74,.13),transparent 28%,rgba(8,26,49,.04));
  pointer-events:none;
}

.zona-events-brand{
  position:relative;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:18px;
  text-align:left;
  margin-bottom:24px;
  padding-bottom:22px;
  border-bottom:1px solid rgba(200,162,74,.38);
}

.zona-events-brand img{
  width:92px;
  height:auto;
  background:transparent !important;
  filter:drop-shadow(0 0 18px rgba(200,162,74,.26));
}

.zona-events-brand strong{
  display:block;
  font-family:Arial,sans-serif;
  font-size:.86rem;
  letter-spacing:.08em;
  color:#2b1a0a;
}

.zona-events-brand span{
  display:block;
  margin-top:5px;
  font-family:Arial,sans-serif;
  font-weight:900;
  letter-spacing:.13em;
  color:#9a741e;
  font-size:.74rem;
  text-transform:uppercase;
}

.zona-events-list{
  position:relative;
  display:grid;
  gap:10px;
}

.zona-event-row{
  display:grid;
  grid-template-columns:170px 1fr;
  gap:14px;
  align-items:center;
  padding:12px;
  border:1px solid rgba(200,162,74,.2);
  border-radius:14px;
  background:rgba(255,255,255,.72);
  transition:transform .32s ease,box-shadow .32s ease,border-color .32s ease,background .32s ease;
}

.zona-event-row:hover{
  transform:translateX(6px);
  border-color:rgba(200,162,74,.68);
  background:#fff;
  box-shadow:0 12px 32px rgba(43,26,10,.1),0 0 20px rgba(200,162,74,.12);
}

.zona-event-date{
  padding:8px 12px;
  border-radius:999px;
  border:1px solid rgba(200,162,74,.65);
  background:linear-gradient(135deg,#fff8df,#f5e4aa);
  color:#2b1a0a;
  font-family:Arial,sans-serif;
  font-weight:900;
  font-size:.84rem;
  text-align:center;
  letter-spacing:.02em;
}

.zona-event-name{
  color:#2f2419;
  font-family:Arial,sans-serif;
  font-weight:800;
  letter-spacing:.02em;
  line-height:1.45;
}

.zona-calendar-shell{
  max-width:1000px;
  margin:0 auto;
  text-align:center;
}

.zona-calendar-frame{
  position:relative;
  padding-bottom:95%;
  height:0;
  overflow:hidden;
  border-radius:22px;
  border:1px solid rgba(200,162,74,.75);
  background:
    linear-gradient(135deg,#081a31,#2b1a0a),
    radial-gradient(circle at top,rgba(242,214,138,.16),transparent 35%);
  box-shadow:
    0 28px 80px rgba(43,26,10,.18),
    0 0 32px rgba(200,162,74,.24);
}

.zona-calendar-frame::before{
  content:"";
  position:absolute;
  inset:0;
  border-radius:22px;
  padding:2px;
  background:linear-gradient(135deg,#c8a24a,#f2d68a,#7d5d16);
  -webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);
  -webkit-mask-composite:xor;
  mask-composite:exclude;
  pointer-events:none;
  z-index:2;
}

.zona-calendar-frame iframe{
  position:absolute;
  inset:12px;
  width:calc(100% - 24px);
  height:calc(100% - 24px);
  border:0;
  border-radius:16px;
  background:#fff;
}

.calendar-caption{
  margin:18px 0 0;
  font-family:Georgia,"Times New Roman",serif;
  color:#4a331e;
  font-size:1.05rem;
}

.calendar-caption strong{
  color:#8a6819;
}

@media(max-width:760px){
  .zona-events-shell{
    padding:20px 14px;
    border-radius:18px;
  }

  .zona-events-brand{
    flex-direction:column;
    text-align:center;
  }

  .zona-event-row{
    grid-template-columns:1fr;
    gap:8px;
  }

  .zona-event-row:hover{
    transform:translateY(-4px);
  }

  .zona-calendar-frame{
    padding-bottom:125%;
  }
}


/* === Localidades / Ver Ubicaciones page === */
.localidades-hero{
  background:
    linear-gradient(rgba(8,26,49,.78),rgba(8,26,49,.84)),
    radial-gradient(circle at 50% 20%,rgba(242,214,138,.2),transparent 28%),
    linear-gradient(135deg,#081a31,#4a331e);
}

.localidades-hero-subtitle{
  color:#f7e8bd;
  font-size:1.12rem;
  margin:18px auto 0;
  max-width:760px;
}

.zona-map-shell{
  max-width:960px;
  margin:0 auto 28px;
  padding:8px;
  border:2px solid rgba(200,162,74,.75);
  border-radius:22px;
  background:linear-gradient(135deg,#081a31,#2b1a0a);
  box-shadow:
    0 28px 80px rgba(43,26,10,.18),
    0 0 32px rgba(200,162,74,.24);
  transition:transform .35s ease, box-shadow .35s ease;
}

.zona-map-shell:hover{
  transform:translateY(-6px);
  box-shadow:
    0 34px 95px rgba(43,26,10,.22),
    0 0 46px rgba(200,162,74,.34);
}

.zona-map-shell iframe{
  width:100%;
  height:680px;
  border:0;
  border-radius:16px;
  background:#fff;
  display:block;
}

.zona-earth-card{
  width:100%;
  max-width:900px;
  margin:26px auto 0;
  padding:26px 20px;
  background:
    radial-gradient(circle at top left,rgba(212,175,55,.14),transparent 34%),
    linear-gradient(135deg,#081a31,#0f0f0f 55%,#2b1a0a);
  border:1px solid rgba(200,162,74,.55);
  border-radius:18px;
  box-shadow:
    0 22px 60px rgba(0,0,0,.24),
    0 0 24px rgba(200,162,74,.18);
  text-align:center;
  transition:transform .35s ease, box-shadow .35s ease, border-color .35s ease;
}

.zona-earth-card:hover{
  transform:translateY(-7px);
  border-color:rgba(242,214,138,.9);
  box-shadow:
    0 30px 78px rgba(0,0,0,.28),
    0 0 38px rgba(200,162,74,.3);
}

.zona-earth-title{
  font-family:Georgia,"Times New Roman",serif;
  font-size:1.5rem;
  color:#ffffff;
  margin-bottom:8px;
}

.zona-earth-subtitle{
  font-family:-apple-system,system-ui,BlinkMacSystemFont,"Segoe UI",Arial,Helvetica,sans-serif;
  font-size:.98rem;
  color:#d6ccb1;
  margin-bottom:18px;
}

.zona-earth-btn{
  display:inline-block;
  padding:14px 22px;
  background:linear-gradient(135deg,#c8a24a,#f2d68a);
  color:#2b1a0a;
  font-family:Arial,sans-serif;
  font-weight:900;
  text-decoration:none;
  border-radius:999px;
  border:1px solid rgba(242,214,138,.65);
  letter-spacing:.03em;
  box-shadow:0 10px 28px rgba(0,0,0,.22);
}

.zona-earth-btn:hover{
  transform:translateY(-3px);
  filter:drop-shadow(0 0 18px rgba(242,214,138,.35));
}

.zona-contact-card{
  text-align:center;
}

/* Extra desktop/mobile safety */
iframe{
  max-width:100%;
}

@media(max-width:900px){
  body{
    overflow-x:hidden;
  }

  .container{
    width:min(94vw,1180px);
  }

  .zona-map-shell{
    padding:5px;
    border-radius:18px;
  }

  .zona-map-shell iframe{
    height:560px;
    border-radius:14px;
  }

  .zona-earth-card{
    padding:22px 16px;
  }

  .zona-earth-title{
    font-size:1.25rem;
  }
}

@media(max-width:520px){
  .zona-map-shell iframe{
    height:480px;
  }

  .zona-earth-btn{
    width:100%;
    padding:14px 16px;
  }
}


/* === Larger premium Localidades map override === */
.localidades-map-section .container{
  width:min(1500px,96vw) !important;
}

.zona-map-shell{
  max-width:1450px !important;
  width:100% !important;
  margin:0 auto 34px !important;
  padding:10px !important;
  border:3px solid rgba(200,162,74,.82) !important;
  border-radius:28px !important;
  background:
    linear-gradient(135deg,#081a31,#2b1a0a 58%,#081a31) !important;
  box-shadow:
    0 34px 95px rgba(43,26,10,.24),
    0 0 42px rgba(200,162,74,.32),
    inset 0 0 0 1px rgba(255,255,255,.08) !important;
}

.zona-map-shell iframe{
  width:100% !important;
  height:min(82vh,860px) !important;
  min-height:720px !important;
  border-radius:22px !important;
  display:block !important;
}

.zona-earth-card{
  max-width:1100px !important;
}

@media(max-width:900px){
  .localidades-map-section .container{
    width:96vw !important;
  }

  .zona-map-shell{
    padding:6px !important;
    border-radius:22px !important;
  }

  .zona-map-shell iframe{
    height:72vh !important;
    min-height:620px !important;
    border-radius:17px !important;
  }
}

@media(max-width:520px){
  .zona-map-shell iframe{
    height:70vh !important;
    min-height:560px !important;
  }
}


/* Google Earth activation enhancements */
.zona-earth-btn{
  cursor:pointer !important;
  transition:transform .3s ease, box-shadow .3s ease, filter .3s ease !important;
}

.zona-earth-btn:hover{
  transform:translateY(-4px) scale(1.02) !important;
  box-shadow:0 0 30px rgba(242,214,138,.45),0 18px 40px rgba(0,0,0,.25) !important;
}

.zona-earth-note{
  margin-top:16px;
  color:#d6ccb1;
  line-height:1.7;
  font-size:.95rem;
}


/* === EXTRA LARGE LUXURY SHOWCASE SECTIONS: EVENTS, CALENDAR, MAPS, EARTH === */

.zona-events-section .container,
.eventos-calendar-section .container,
.localidades-map-section .container{
  width:min(1680px,97vw) !important;
}

.zona-events-section .section-intro,
.eventos-calendar-section .section-intro,
.localidades-map-section .section-intro{
  max-width:1080px !important;
  margin-bottom:46px !important;
}

.zona-events-section .section-intro h2,
.eventos-calendar-section .section-intro h2,
.localidades-map-section .section-intro h2{
  font-size:clamp(2.8rem,5.4vw,5.4rem) !important;
  letter-spacing:-.04em !important;
  color:#2b1a0a !important;
  text-shadow:0 14px 38px rgba(43,26,10,.08) !important;
}

/* Extra large event list card */
.eventos-card,
.zona-events-shell{
  max-width:1500px !important;
  width:100% !important;
  margin:0 auto !important;
  padding:clamp(30px,4vw,58px) !important;
  border-radius:34px !important;
  border:2px solid rgba(200,162,74,.72) !important;
  background:
    radial-gradient(circle at 12% 0%,rgba(242,214,138,.24),transparent 28%),
    radial-gradient(circle at 92% 18%,rgba(8,26,49,.08),transparent 30%),
    linear-gradient(135deg,#fffdf7,#ffffff 48%,#fff7df) !important;
  box-shadow:
    0 42px 120px rgba(43,26,10,.18),
    0 0 70px rgba(200,162,74,.22),
    inset 0 0 0 1px rgba(255,255,255,.75) !important;
}

.event-row,
.zona-event-row{
  display:grid !important;
  grid-template-columns:minmax(190px,245px) 1fr !important;
  gap:18px !important;
  align-items:center !important;
  padding:clamp(15px,2vw,24px) !important;
  border-radius:22px !important;
  background:linear-gradient(135deg,rgba(255,255,255,.9),rgba(255,250,235,.8)) !important;
  border:1px solid rgba(200,162,74,.28) !important;
  transition:transform .32s ease,box-shadow .32s ease,border-color .32s ease !important;
}

.event-row:hover,
.zona-event-row:hover{
  transform:translateX(10px) scale(1.006) !important;
  border-color:rgba(200,162,74,.68) !important;
  box-shadow:0 22px 58px rgba(43,26,10,.14),0 0 34px rgba(200,162,74,.20) !important;
}

.event-date,
.zona-event-date{
  min-width:0 !important;
  padding:12px 16px !important;
  font-size:clamp(.9rem,1vw,1.05rem) !important;
  border-radius:999px !important;
  background:linear-gradient(135deg,#f9e9b1,#fff7db,#c8a24a) !important;
  color:#2b1a0a !important;
  font-weight:900 !important;
  text-align:center !important;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.45),0 8px 24px rgba(200,162,74,.16) !important;
}

.eventos-header h2,
.zona-events-brand strong{
  color:#2b1a0a !important;
}

/* Extra large Google Calendar */
.zona-calendar-wrap,
.zona-calendar-shell{
  max-width:1600px !important;
  width:100% !important;
}

.zona-calendar-frame{
  padding-bottom:0 !important;
  height:min(92vh,980px) !important;
  min-height:820px !important;
  border-radius:34px !important;
  border:2px solid rgba(200,162,74,.82) !important;
  background:
    radial-gradient(circle at top,rgba(242,214,138,.2),transparent 32%),
    linear-gradient(135deg,#06111f,#2b1a0a 55%,#081a31) !important;
  box-shadow:
    0 42px 120px rgba(43,26,10,.24),
    0 0 70px rgba(200,162,74,.28),
    inset 0 0 0 1px rgba(255,255,255,.07) !important;
}

.zona-calendar-frame iframe{
  position:absolute !important;
  inset:18px !important;
  width:calc(100% - 36px) !important;
  height:calc(100% - 36px) !important;
  border-radius:24px !important;
  border:0 !important;
}

/* Extra large Google Maps */
.localidades-map-section .container{
  width:min(1680px,97vw) !important;
}

.zona-map-shell{
  max-width:1650px !important;
  width:100% !important;
  margin:0 auto 44px !important;
  padding:14px !important;
  border:3px solid rgba(200,162,74,.88) !important;
  border-radius:36px !important;
  background:
    radial-gradient(circle at top left,rgba(242,214,138,.18),transparent 30%),
    linear-gradient(135deg,#06111f,#2b1a0a 52%,#081a31) !important;
  box-shadow:
    0 46px 130px rgba(43,26,10,.28),
    0 0 78px rgba(200,162,74,.32),
    inset 0 0 0 1px rgba(255,255,255,.08) !important;
}

.zona-map-shell iframe{
  width:100% !important;
  height:min(92vh,980px) !important;
  min-height:840px !important;
  border-radius:28px !important;
  box-shadow:0 18px 55px rgba(0,0,0,.28) !important;
}

/* Extra large Google Earth */
.zona-earth-card{
  max-width:1250px !important;
  padding:clamp(34px,4.6vw,64px) clamp(22px,4vw,52px) !important;
  border-radius:32px !important;
  border:2px solid rgba(200,162,74,.7) !important;
  background:
    radial-gradient(circle at 16% 0%,rgba(242,214,138,.22),transparent 30%),
    radial-gradient(circle at 88% 20%,rgba(255,255,255,.08),transparent 32%),
    linear-gradient(135deg,#06111f,#0f0f0f 54%,#2b1a0a) !important;
  box-shadow:
    0 40px 115px rgba(0,0,0,.33),
    0 0 64px rgba(200,162,74,.28),
    inset 0 0 0 1px rgba(255,255,255,.08) !important;
}

.zona-earth-title{
  font-size:clamp(2rem,3.4vw,3.5rem) !important;
  line-height:1.05 !important;
  margin-bottom:16px !important;
  color:#fff8df !important;
  text-shadow:0 12px 32px rgba(0,0,0,.35) !important;
}

.zona-earth-subtitle{
  max-width:760px !important;
  margin:0 auto 30px !important;
  font-size:clamp(1.05rem,1.5vw,1.32rem) !important;
  line-height:1.7 !important;
}

.zona-earth-btn{
  padding:18px 30px !important;
  font-size:clamp(1rem,1.15vw,1.18rem) !important;
  border-radius:999px !important;
  box-shadow:0 18px 42px rgba(0,0,0,.28),0 0 28px rgba(242,214,138,.20) !important;
}

@media(max-width:900px){
  .zona-events-section .container,
  .eventos-calendar-section .container,
  .localidades-map-section .container{
    width:96vw !important;
  }

  .event-row,
  .zona-event-row{
    grid-template-columns:1fr !important;
    gap:10px !important;
    padding:16px !important;
  }

  .event-row:hover,
  .zona-event-row:hover{
    transform:translateY(-5px) !important;
  }

  .zona-calendar-frame{
    height:82vh !important;
    min-height:650px !important;
    border-radius:24px !important;
  }

  .zona-calendar-frame iframe{
    inset:10px !important;
    width:calc(100% - 20px) !important;
    height:calc(100% - 20px) !important;
    border-radius:16px !important;
  }

  .zona-map-shell{
    padding:7px !important;
    border-radius:24px !important;
  }

  .zona-map-shell iframe{
    height:82vh !important;
    min-height:640px !important;
    border-radius:18px !important;
  }

  .zona-earth-btn{
    width:100% !important;
  }
}

@media(max-width:520px){
  .zona-calendar-frame,
  .zona-map-shell iframe{
    height:78vh !important;
    min-height:560px !important;
  }
}


/* === RESTORED CLEAN MOBILE MENU === */
.mobile-toggle{
  display:none;
  width:54px;
  height:54px;
  border-radius:50%;
  border:2px solid rgba(242,214,138,.9);
  background:linear-gradient(135deg,#081a31,#2b1a0a);
  box-shadow:0 14px 34px rgba(43,26,10,.28),0 0 24px rgba(200,162,74,.30);
  position:relative;
  cursor:pointer;
  z-index:9999;
  padding:0;
  color:transparent;
}

.mobile-toggle::before,
.mobile-toggle::after,
.mobile-toggle span{
  content:"";
  position:absolute;
  left:50%;
  width:24px;
  height:2px;
  border-radius:999px;
  background:linear-gradient(90deg,#c8a24a,#f2d68a,#c8a24a);
  transform:translateX(-50%);
  transition:.28s ease;
}

.mobile-toggle::before{top:18px;}
.mobile-toggle span{top:26px;}
.mobile-toggle::after{top:34px;}

.mobile-toggle.is-open::before{top:26px;transform:translateX(-50%) rotate(45deg);}
.mobile-toggle.is-open span{opacity:0;}
.mobile-toggle.is-open::after{top:26px;transform:translateX(-50%) rotate(-45deg);}

.zona-mobile-backdrop,
.zona-mobile-panel{display:none;}

@media(max-width:900px){
  .nav{display:none !important;}
  .mobile-toggle{
    display:block !important;
    position:fixed;
    top:calc(18px + env(safe-area-inset-top));
    right:18px;
  }
  body.zona-menu-open{overflow:hidden;}

  .zona-mobile-backdrop{
    display:block;
    position:fixed;
    inset:0;
    background:rgba(3,10,20,.62);
    backdrop-filter:blur(8px);
    opacity:0;
    pointer-events:none;
    transition:opacity .28s ease;
    z-index:9990;
  }
  body.zona-menu-open .zona-mobile-backdrop{
    opacity:1;
    pointer-events:auto;
  }

  .zona-mobile-panel{
    display:block;
    position:fixed;
    top:calc(88px + env(safe-area-inset-top));
    left:4vw;
    right:4vw;
    max-height:calc(100vh - 115px);
    overflow:auto;
    padding:20px;
    border-radius:28px;
    border:1.5px solid rgba(242,214,138,.52);
    background:
      radial-gradient(circle at top left,rgba(242,214,138,.18),transparent 34%),
      linear-gradient(135deg,rgba(8,26,49,.98),rgba(43,26,10,.98));
    box-shadow:0 34px 96px rgba(0,0,0,.42),0 0 46px rgba(200,162,74,.28);
    transform:translateY(-18px) scale(.96);
    opacity:0;
    pointer-events:none;
    transition:opacity .32s ease,transform .32s ease;
    z-index:9998;
  }
  body.zona-menu-open .zona-mobile-panel{
    opacity:1;
    transform:translateY(0) scale(1);
    pointer-events:auto;
  }

  .zona-mobile-title{
    text-align:center;
    color:#f2d68a;
    font-family:Georgia,"Times New Roman",serif;
    font-size:1.25rem;
    margin:4px 0 16px;
  }

  .zona-mobile-panel a{
    display:flex;
    align-items:center;
    justify-content:space-between;
    width:100%;
    padding:16px 17px;
    margin-bottom:9px;
    border-radius:17px;
    border:1px solid rgba(242,214,138,.16);
    background:rgba(255,255,255,.055);
    color:#fff8df;
    font-family:Arial,sans-serif;
    font-weight:900;
    text-transform:uppercase;
    letter-spacing:.04em;
    font-size:.92rem;
    text-decoration:none;
  }
  .zona-mobile-panel a::after{
    content:"›";
    color:#f2d68a;
    font-size:1.35rem;
  }
  .zona-mobile-panel a:hover,
  .zona-mobile-panel a:active{
    background:rgba(242,214,138,.16);
    border-color:rgba(242,214,138,.5);
    color:#fff;
    transform:translateX(4px);
  }
  .zona-mobile-divider{
    height:1px;
    margin:14px 0;
    background:linear-gradient(90deg,transparent,rgba(242,214,138,.45),transparent);
  }
}


/* =========================================================
   MOBILE FULLSCREEN FIX — FINAL OVERRIDE
   ========================================================= */

@media(max-width:900px){

  html,
  body{
    width:100% !important;
    max-width:100% !important;
    margin:0 !important;
    padding:0 !important;
    overflow-x:hidden !important;
  }

  body{
    min-height:100vh !important;
    background:#fff !important;
  }

  .topstrip{
    padding:7px 64px 7px 10px !important;
    font-size:.72rem !important;
    line-height:1.35 !important;
  }

  .header{
    position:sticky !important;
    top:0 !important;
    left:0 !important;
    right:0 !important;
    width:100% !important;
    z-index:9990 !important;
    background:rgba(255,255,255,.96) !important;
    backdrop-filter:blur(14px) !important;
  }

  .navbar{
    width:100% !important;
    min-height:76px !important;
    padding:10px 76px 10px 14px !important;
    display:flex !important;
    align-items:center !important;
    justify-content:flex-start !important;
    gap:10px !important;
  }

  .container{
    width:100% !important;
    max-width:100% !important;
    padding-left:16px !important;
    padding-right:16px !important;
  }

  .logo{
    max-width:calc(100vw - 104px) !important;
    min-width:0 !important;
    display:flex !important;
    align-items:center !important;
  }

  .logo img{
    width:54px !important;
    min-width:54px !important;
    height:auto !important;
  }

  .logo-text{
    font-size:.9rem !important;
    line-height:1.05 !important;
    min-width:0 !important;
  }

  .logo-text span{
    font-size:.58rem !important;
    letter-spacing:.08em !important;
  }

  .nav{
    display:none !important;
  }

  /* Always visible top-right circular hamburger */
  .mobile-toggle{
    display:block !important;
    position:fixed !important;
    top:calc(18px + env(safe-area-inset-top)) !important;
    right:16px !important;
    left:auto !important;
    width:54px !important;
    height:54px !important;
    min-width:54px !important;
    min-height:54px !important;
    border-radius:999px !important;
    border:2px solid rgba(242,214,138,.95) !important;
    background:
      radial-gradient(circle at 30% 20%,rgba(242,214,138,.24),transparent 40%),
      linear-gradient(135deg,#081a31,#2b1a0a) !important;
    box-shadow:
      0 12px 32px rgba(0,0,0,.30),
      0 0 26px rgba(200,162,74,.35) !important;
    z-index:100000 !important;
    padding:0 !important;
    margin:0 !important;
    color:transparent !important;
    font-size:0 !important;
    line-height:0 !important;
    cursor:pointer !important;
    -webkit-tap-highlight-color:transparent !important;
  }

  .mobile-toggle::before,
  .mobile-toggle::after,
  .mobile-toggle span{
    content:"" !important;
    position:absolute !important;
    left:50% !important;
    width:24px !important;
    height:2.5px !important;
    border-radius:999px !important;
    background:linear-gradient(90deg,#c8a24a,#f2d68a,#c8a24a) !important;
    transform:translateX(-50%) !important;
    box-shadow:0 0 10px rgba(242,214,138,.45) !important;
    transition:top .28s ease, transform .28s ease, opacity .2s ease !important;
  }

  .mobile-toggle::before{top:17px !important;}
  .mobile-toggle span{top:26px !important;}
  .mobile-toggle::after{top:35px !important;}

  .mobile-toggle.is-open::before{
    top:26px !important;
    transform:translateX(-50%) rotate(45deg) !important;
  }

  .mobile-toggle.is-open span{
    opacity:0 !important;
  }

  .mobile-toggle.is-open::after{
    top:26px !important;
    transform:translateX(-50%) rotate(-45deg) !important;
  }

  body.zona-menu-open{
    overflow:hidden !important;
  }

  .zona-mobile-backdrop{
    display:block !important;
    position:fixed !important;
    inset:0 !important;
    background:rgba(2,8,18,.72) !important;
    backdrop-filter:blur(10px) !important;
    opacity:0 !important;
    pointer-events:none !important;
    z-index:99980 !important;
    transition:opacity .28s ease !important;
  }

  body.zona-menu-open .zona-mobile-backdrop{
    opacity:1 !important;
    pointer-events:auto !important;
  }

  .zona-mobile-panel{
    display:block !important;
    position:fixed !important;
    top:calc(84px + env(safe-area-inset-top)) !important;
    left:10px !important;
    right:10px !important;
    width:auto !important;
    max-width:none !important;
    max-height:calc(100dvh - 100px - env(safe-area-inset-top)) !important;
    overflow-y:auto !important;
    -webkit-overflow-scrolling:touch !important;
    padding:18px !important;
    border-radius:26px !important;
    border:1.5px solid rgba(242,214,138,.55) !important;
    background:
      radial-gradient(circle at 15% 0%,rgba(242,214,138,.20),transparent 35%),
      linear-gradient(135deg,rgba(8,26,49,.98),rgba(43,26,10,.98)) !important;
    box-shadow:
      0 34px 96px rgba(0,0,0,.45),
      0 0 46px rgba(200,162,74,.30) !important;
    transform:translateY(-18px) scale(.96) !important;
    opacity:0 !important;
    pointer-events:none !important;
    z-index:99990 !important;
    transition:opacity .32s ease, transform .32s ease !important;
  }

  body.zona-menu-open .zona-mobile-panel{
    opacity:1 !important;
    transform:translateY(0) scale(1) !important;
    pointer-events:auto !important;
  }

  .zona-mobile-title{
    text-align:center !important;
    color:#f2d68a !important;
    font-family:Georgia,"Times New Roman",serif !important;
    font-size:1.25rem !important;
    margin:4px 0 16px !important;
  }

  .zona-mobile-panel a{
    display:flex !important;
    align-items:center !important;
    justify-content:space-between !important;
    width:100% !important;
    padding:16px 17px !important;
    margin-bottom:9px !important;
    border-radius:17px !important;
    border:1px solid rgba(242,214,138,.18) !important;
    background:rgba(255,255,255,.06) !important;
    color:#fff8df !important;
    font-family:Arial,sans-serif !important;
    font-weight:900 !important;
    text-transform:uppercase !important;
    letter-spacing:.04em !important;
    font-size:.92rem !important;
    text-decoration:none !important;
  }

  .zona-mobile-panel a::after{
    content:"›" !important;
    color:#f2d68a !important;
    font-size:1.35rem !important;
  }

  .zona-mobile-divider{
    height:1px !important;
    margin:14px 0 !important;
    background:linear-gradient(90deg,transparent,rgba(242,214,138,.45),transparent) !important;
  }

  .hero,
  .page-hero{
    width:100% !important;
    min-height:auto !important;
    padding:74px 0 !important;
  }

  .hero .inner{
    width:100% !important;
    padding:36px 16px !important;
  }

  .hero h1,
  .page-hero h1{
    font-size:clamp(2.4rem,12vw,4rem) !important;
    line-height:1 !important;
  }

  .section{
    width:100% !important;
    padding:56px 0 !important;
  }

  .two,
  .cards,
  .video-grid,
  .footer-grid,
  .faith-full-grid{
    grid-template-columns:1fr !important;
    width:100% !important;
  }

  .card,
  .faith-card,
  .logo-panel,
  .contact-card{
    width:100% !important;
  }

  iframe,
  video,
  img{
    max-width:100% !important;
  }

  .footer{
    width:100% !important;
  }
}

@media(max-width:420px){
  .navbar{
    padding-left:12px !important;
    padding-right:74px !important;
  }

  .logo img{
    width:48px !important;
    min-width:48px !important;
  }

  .logo-text{
    font-size:.78rem !important;
  }

  .mobile-toggle{
    width:50px !important;
    height:50px !important;
    min-width:50px !important;
    min-height:50px !important;
    right:12px !important;
  }

  .zona-mobile-panel{
    left:8px !important;
    right:8px !important;
    border-radius:22px !important;
  }
}


/* =========================================================
   FINAL MOBILE MENU BUTTON CLEANUP
   Removes square artifact and creates true circle hamburger
   ========================================================= */

@media(max-width:900px){

  .mobile-toggle,
  button.mobile-toggle,
  .navbar .mobile-toggle{
    all:unset !important;
    box-sizing:border-box !important;
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    position:fixed !important;
    top:calc(16px + env(safe-area-inset-top)) !important;
    right:14px !important;
    width:58px !important;
    height:58px !important;
    min-width:58px !important;
    min-height:58px !important;
    max-width:58px !important;
    max-height:58px !important;
    border-radius:50% !important;
    border:0 !important;
    outline:none !important;
    background:
      radial-gradient(circle at 30% 22%, #ffd39b 0%, #ffc17d 45%, #f3ad67 100%) !important;
    box-shadow:
      0 16px 34px rgba(0,0,0,.36),
      0 0 0 1px rgba(255,255,255,.28) inset,
      0 0 0 1px rgba(85,48,18,.18) !important;
    z-index:2147483000 !important;
    cursor:pointer !important;
    -webkit-tap-highlight-color:transparent !important;
    overflow:hidden !important;
    padding:0 !important;
    margin:0 !important;
    font-size:0 !important;
    line-height:0 !important;
    color:transparent !important;
    appearance:none !important;
    -webkit-appearance:none !important;
  }

  .mobile-toggle::before,
  .mobile-toggle::after,
  .mobile-toggle span{
    content:"" !important;
    display:block !important;
    position:absolute !important;
    left:50% !important;
    width:23px !important;
    height:2px !important;
    border-radius:999px !important;
    background:#171717 !important;
    box-shadow:none !important;
    transform:translateX(-50%) !important;
    transition:top .25s ease, transform .25s ease, opacity .18s ease !important;
  }

  .mobile-toggle::before{
    top:20px !important;
  }

  .mobile-toggle span{
    top:28px !important;
  }

  .mobile-toggle::after{
    top:36px !important;
  }

  .mobile-toggle.is-open::before{
    top:28px !important;
    transform:translateX(-50%) rotate(45deg) !important;
  }

  .mobile-toggle.is-open span{
    opacity:0 !important;
  }

  .mobile-toggle.is-open::after{
    top:28px !important;
    transform:translateX(-50%) rotate(-45deg) !important;
  }

  .mobile-toggle:hover,
  .mobile-toggle:active{
    transform:scale(.96) !important;
  }

  /* Make sure no parent/header creates a visible square behind the circle */
  .navbar{
    overflow:visible !important;
  }

  .header{
    overflow:visible !important;
  }

  /* Full-screen style menu panel */
  .zona-mobile-backdrop{
    display:block !important;
    position:fixed !important;
    inset:0 !important;
    background:rgba(3,8,18,.70) !important;
    backdrop-filter:blur(10px) !important;
    opacity:0 !important;
    pointer-events:none !important;
    transition:opacity .25s ease !important;
    z-index:2147482000 !important;
  }

  body.zona-menu-open .zona-mobile-backdrop{
    opacity:1 !important;
    pointer-events:auto !important;
  }

  .zona-mobile-panel{
    display:block !important;
    position:fixed !important;
    top:calc(86px + env(safe-area-inset-top)) !important;
    left:12px !important;
    right:12px !important;
    width:auto !important;
    max-width:none !important;
    max-height:calc(100dvh - 104px - env(safe-area-inset-top)) !important;
    overflow-y:auto !important;
    -webkit-overflow-scrolling:touch !important;
    padding:18px !important;
    border-radius:28px !important;
    border:1.5px solid rgba(242,214,138,.56) !important;
    background:
      radial-gradient(circle at 15% 0%, rgba(242,214,138,.20), transparent 35%),
      linear-gradient(135deg, rgba(8,26,49,.98), rgba(43,26,10,.98)) !important;
    box-shadow:
      0 34px 96px rgba(0,0,0,.45),
      0 0 46px rgba(200,162,74,.30) !important;
    opacity:0 !important;
    transform:translateY(-12px) scale(.97) !important;
    pointer-events:none !important;
    transition:opacity .28s ease, transform .28s ease !important;
    z-index:2147482500 !important;
  }

  body.zona-menu-open .zona-mobile-panel{
    opacity:1 !important;
    transform:translateY(0) scale(1) !important;
    pointer-events:auto !important;
  }
}

@media(max-width:420px){
  .mobile-toggle,
  button.mobile-toggle,
  .navbar .mobile-toggle{
    width:54px !important;
    height:54px !important;
    min-width:54px !important;
    min-height:54px !important;
    max-width:54px !important;
    max-height:54px !important;
    top:calc(14px + env(safe-area-inset-top)) !important;
    right:12px !important;
  }

  .mobile-toggle::before{top:18px !important;}
  .mobile-toggle span{top:26px !important;}
  .mobile-toggle::after{top:34px !important;}

  .mobile-toggle.is-open::before,
  .mobile-toggle.is-open::after{
    top:26px !important;
  }
}


/* =========================================================
   HARD RESET MOBILE MENU
   This hides every old menu button and uses a new injected button.
   ========================================================= */

@media(max-width:900px){
  .mobile-toggle,
  button.mobile-toggle,
  .navbar .mobile-toggle{
    display:none !important;
    visibility:hidden !important;
    opacity:0 !important;
    pointer-events:none !important;
    width:0 !important;
    height:0 !important;
    min-width:0 !important;
    min-height:0 !important;
    max-width:0 !important;
    max-height:0 !important;
    overflow:hidden !important;
    padding:0 !important;
    margin:0 !important;
    border:0 !important;
    background:transparent !important;
    box-shadow:none !important;
  }

  .nav{
    display:none !important;
  }

  #zona-fixed-menu-button{
    position:fixed !important;
    top:calc(16px + env(safe-area-inset-top)) !important;
    right:14px !important;
    width:58px !important;
    height:58px !important;
    border-radius:999px !important;
    border:0 !important;
    outline:none !important;
    padding:0 !important;
    margin:0 !important;
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    background:radial-gradient(circle at 30% 22%,#ffd39b 0%,#ffc17d 45%,#f3ad67 100%) !important;
    box-shadow:0 16px 34px rgba(0,0,0,.36),0 0 0 1px rgba(255,255,255,.28) inset !important;
    z-index:2147483640 !important;
    cursor:pointer !important;
    -webkit-tap-highlight-color:transparent !important;
    appearance:none !important;
    -webkit-appearance:none !important;
  }

  #zona-fixed-menu-button span,
  #zona-fixed-menu-button::before,
  #zona-fixed-menu-button::after{
    content:"" !important;
    position:absolute !important;
    left:50% !important;
    width:23px !important;
    height:2px !important;
    border-radius:999px !important;
    background:#171717 !important;
    transform:translateX(-50%) !important;
    transition:top .25s ease, transform .25s ease, opacity .18s ease !important;
  }

  #zona-fixed-menu-button::before{top:20px !important;}
  #zona-fixed-menu-button span{top:28px !important;}
  #zona-fixed-menu-button::after{top:36px !important;}

  #zona-fixed-menu-button.is-open::before{
    top:28px !important;
    transform:translateX(-50%) rotate(45deg) !important;
  }

  #zona-fixed-menu-button.is-open span{
    opacity:0 !important;
  }

  #zona-fixed-menu-button.is-open::after{
    top:28px !important;
    transform:translateX(-50%) rotate(-45deg) !important;
  }

  #zona-fixed-menu-backdrop{
    position:fixed !important;
    inset:0 !important;
    background:rgba(3,8,18,.72) !important;
    backdrop-filter:blur(10px) !important;
    opacity:0 !important;
    pointer-events:none !important;
    transition:opacity .25s ease !important;
    z-index:2147483000 !important;
  }

  body.zona-fixed-menu-open #zona-fixed-menu-backdrop{
    opacity:1 !important;
    pointer-events:auto !important;
  }

  #zona-fixed-menu-panel{
    position:fixed !important;
    top:calc(86px + env(safe-area-inset-top)) !important;
    left:12px !important;
    right:12px !important;
    max-height:calc(100dvh - 104px - env(safe-area-inset-top)) !important;
    overflow-y:auto !important;
    -webkit-overflow-scrolling:touch !important;
    padding:18px !important;
    border-radius:28px !important;
    border:1.5px solid rgba(242,214,138,.56) !important;
    background:radial-gradient(circle at 15% 0%,rgba(242,214,138,.20),transparent 35%),linear-gradient(135deg,rgba(8,26,49,.98),rgba(43,26,10,.98)) !important;
    box-shadow:0 34px 96px rgba(0,0,0,.45),0 0 46px rgba(200,162,74,.30) !important;
    opacity:0 !important;
    transform:translateY(-12px) scale(.97) !important;
    pointer-events:none !important;
    transition:opacity .28s ease,transform .28s ease !important;
    z-index:2147483200 !important;
  }

  body.zona-fixed-menu-open #zona-fixed-menu-panel{
    opacity:1 !important;
    transform:translateY(0) scale(1) !important;
    pointer-events:auto !important;
  }

  #zona-fixed-menu-panel .zona-menu-title{
    text-align:center !important;
    color:#f2d68a !important;
    font-family:Georgia,"Times New Roman",serif !important;
    font-size:1.25rem !important;
    margin:4px 0 16px !important;
  }

  #zona-fixed-menu-panel a{
    display:flex !important;
    align-items:center !important;
    justify-content:space-between !important;
    width:100% !important;
    box-sizing:border-box !important;
    padding:16px 17px !important;
    margin-bottom:9px !important;
    border-radius:17px !important;
    border:1px solid rgba(242,214,138,.18) !important;
    background:rgba(255,255,255,.06) !important;
    color:#fff8df !important;
    font-family:Arial,sans-serif !important;
    font-weight:900 !important;
    text-transform:uppercase !important;
    letter-spacing:.04em !important;
    font-size:.92rem !important;
    text-decoration:none !important;
  }

  #zona-fixed-menu-panel a::after{
    content:"›" !important;
    color:#f2d68a !important;
    font-size:1.35rem !important;
  }

  #zona-fixed-menu-panel .zona-menu-divider{
    height:1px !important;
    margin:14px 0 !important;
    background:linear-gradient(90deg,transparent,rgba(242,214,138,.45),transparent) !important;
  }
}


/* =========================================================
   ZONA FINAL ISOLATED MOBILE MENU + ZOOM STABILITY
   ========================================================= */

/* Layout stability: prevents distortion after browser zoom changes */
html,
body{
  width:100%;
  max-width:100%;
  min-width:0;
  overflow-x:hidden;
}

*,
*::before,
*::after{
  box-sizing:border-box;
}

img,
video,
iframe,
svg,
canvas{
  max-width:100%;
}

body{
  position:relative;
}

/* Hide ALL older mobile menu attempts */
.mobile-toggle,
button.mobile-toggle,
#zona-fixed-menu-button,
#zona-fixed-menu-backdrop,
#zona-fixed-menu-panel,
.zona-mobile-backdrop,
.zona-mobile-panel,
.mobile-menu-backdrop,
.mobile-menu-panel{
  display:none !important;
  visibility:hidden !important;
  opacity:0 !important;
  pointer-events:none !important;
}

/* Desktop: isolated menu hidden */
#zonaMenuBtn,
#zonaMenuOverlay,
#zonaMenuPanel{
  display:none;
}

@media(max-width:900px){

  html,
  body{
    width:100% !important;
    max-width:100% !important;
    overflow-x:hidden !important;
    margin:0 !important;
    padding:0 !important;
  }

  .nav{
    display:none !important;
  }

  .header{
    overflow:visible !important;
    width:100% !important;
    max-width:100% !important;
    z-index:9990 !important;
  }

  .topstrip{
    width:100% !important;
    padding-right:82px !important;
  }

  .navbar{
    width:100% !important;
    max-width:100% !important;
    min-height:74px !important;
    padding:10px 82px 10px 14px !important;
    overflow:visible !important;
  }

  .container{
    width:100% !important;
    max-width:100% !important;
    padding-left:16px !important;
    padding-right:16px !important;
  }

  .logo{
    max-width:calc(100vw - 110px) !important;
    overflow:hidden !important;
  }

  .logo img{
    width:54px !important;
    min-width:54px !important;
  }

  .logo-text{
    font-size:.9rem !important;
    line-height:1.05 !important;
  }

  .logo-text span{
    font-size:.58rem !important;
    letter-spacing:.08em !important;
  }

  /* The actual new menu button */
  #zonaMenuBtn.zona-menu-btn{
    display:block !important;
    position:fixed !important;
    top:calc(14px + env(safe-area-inset-top)) !important;
    right:14px !important;
    width:58px !important;
    height:58px !important;
    border-radius:50% !important;
    border:0 !important;
    outline:none !important;
    padding:0 !important;
    margin:0 !important;
    background:radial-gradient(circle at 30% 22%,#ffd39b 0%,#ffc17d 48%,#f2a960 100%) !important;
    box-shadow:
      0 16px 34px rgba(0,0,0,.36),
      0 0 0 1px rgba(255,255,255,.28) inset,
      0 0 0 1px rgba(85,48,18,.18) !important;
    z-index:2147483647 !important;
    cursor:pointer !important;
    -webkit-tap-highlight-color:transparent !important;
    appearance:none !important;
    -webkit-appearance:none !important;
    overflow:hidden !important;
    transform:none !important;
  }

  #zonaMenuBtn span{
    display:block !important;
    position:absolute !important;
    left:50% !important;
    width:23px !important;
    height:2px !important;
    border-radius:999px !important;
    background:#171717 !important;
    transform:translateX(-50%) !important;
    transition:top .24s ease, transform .24s ease, opacity .16s ease !important;
  }

  #zonaMenuBtn span:nth-child(1){top:20px !important;}
  #zonaMenuBtn span:nth-child(2){top:28px !important;}
  #zonaMenuBtn span:nth-child(3){top:36px !important;}

  #zonaMenuBtn.is-open span:nth-child(1){
    top:28px !important;
    transform:translateX(-50%) rotate(45deg) !important;
  }

  #zonaMenuBtn.is-open span:nth-child(2){
    opacity:0 !important;
  }

  #zonaMenuBtn.is-open span:nth-child(3){
    top:28px !important;
    transform:translateX(-50%) rotate(-45deg) !important;
  }

  #zonaMenuOverlay{
    display:block !important;
    position:fixed !important;
    inset:0 !important;
    width:100vw !important;
    height:100dvh !important;
    background:rgba(3,8,18,.72) !important;
    backdrop-filter:blur(10px) !important;
    opacity:0 !important;
    pointer-events:none !important;
    transition:opacity .24s ease !important;
    z-index:2147483600 !important;
  }

  body.zona-menu-final-open #zonaMenuOverlay{
    opacity:1 !important;
    pointer-events:auto !important;
  }

  #zonaMenuPanel{
    display:block !important;
    position:fixed !important;
    top:calc(82px + env(safe-area-inset-top)) !important;
    left:12px !important;
    right:12px !important;
    width:auto !important;
    max-width:none !important;
    max-height:calc(100dvh - 100px - env(safe-area-inset-top)) !important;
    overflow-y:auto !important;
    -webkit-overflow-scrolling:touch !important;
    padding:18px !important;
    border-radius:28px !important;
    border:1.5px solid rgba(242,214,138,.56) !important;
    background:
      radial-gradient(circle at 15% 0%,rgba(242,214,138,.20),transparent 35%),
      linear-gradient(135deg,rgba(8,26,49,.98),rgba(43,26,10,.98)) !important;
    box-shadow:
      0 34px 96px rgba(0,0,0,.45),
      0 0 46px rgba(200,162,74,.30) !important;
    opacity:0 !important;
    transform:translate3d(0,-12px,0) scale(.97) !important;
    pointer-events:none !important;
    transition:opacity .26s ease,transform .26s ease !important;
    z-index:2147483620 !important;
  }

  body.zona-menu-final-open #zonaMenuPanel{
    opacity:1 !important;
    transform:translate3d(0,0,0) scale(1) !important;
    pointer-events:auto !important;
  }

  body.zona-menu-final-open{
    overflow:hidden !important;
    width:100% !important;
  }

  .zona-menu-final-title{
    text-align:center !important;
    color:#f2d68a !important;
    font-family:Georgia,"Times New Roman",serif !important;
    font-size:1.25rem !important;
    margin:4px 0 16px !important;
  }

  #zonaMenuPanel a{
    display:flex !important;
    align-items:center !important;
    justify-content:space-between !important;
    width:100% !important;
    box-sizing:border-box !important;
    padding:16px 17px !important;
    margin-bottom:9px !important;
    border-radius:17px !important;
    border:1px solid rgba(242,214,138,.18) !important;
    background:rgba(255,255,255,.06) !important;
    color:#fff8df !important;
    font-family:Arial,sans-serif !important;
    font-weight:900 !important;
    text-transform:uppercase !important;
    letter-spacing:.04em !important;
    font-size:.92rem !important;
    text-decoration:none !important;
  }

  #zonaMenuPanel a::after{
    content:"›" !important;
    color:#f2d68a !important;
    font-size:1.35rem !important;
  }

  .zona-menu-final-divider{
    height:1px !important;
    margin:14px 0 !important;
    background:linear-gradient(90deg,transparent,rgba(242,214,138,.45),transparent) !important;
  }

  .hero,
  .page-hero,
  .section,
  .footer{
    width:100% !important;
    max-width:100% !important;
  }

  .two,
  .cards,
  .video-grid,
  .footer-grid,
  .faith-full-grid{
    grid-template-columns:1fr !important;
  }

  .card,
  .faith-card,
  .logo-panel,
  .contact-card{
    width:100% !important;
    max-width:100% !important;
  }
}

@media(max-width:420px){
  #zonaMenuBtn.zona-menu-btn{
    width:54px !important;
    height:54px !important;
    top:calc(12px + env(safe-area-inset-top)) !important;
    right:12px !important;
  }

  #zonaMenuBtn span:nth-child(1){top:18px !important;}
  #zonaMenuBtn span:nth-child(2){top:26px !important;}
  #zonaMenuBtn span:nth-child(3){top:34px !important;}

  #zonaMenuBtn.is-open span:nth-child(1),
  #zonaMenuBtn.is-open span:nth-child(3){
    top:26px !important;
  }

  #zonaMenuPanel{
    left:8px !important;
    right:8px !important;
    border-radius:24px !important;
  }
}


/* =========================================================
   CLEAN MOBILE MENU — FINAL
   ========================================================= */

/* Hide old injected menu systems completely */
#zonaMenuBtn,
#zonaMenuOverlay,
#zonaMenuPanel,
#zona-fixed-menu-button,
#zona-fixed-menu-backdrop,
#zona-fixed-menu-panel,
.zona-mobile-backdrop,
.zona-mobile-panel,
.mobile-menu-backdrop,
.mobile-menu-panel{
  display:none !important;
  visibility:hidden !important;
  opacity:0 !important;
  pointer-events:none !important;
}

.zona-clean-menu-backdrop,
.zona-clean-menu-panel{
  display:none;
}

@media(max-width:900px){
  html, body{
    width:100% !important;
    max-width:100% !important;
    overflow-x:hidden !important;
  }

  .nav{
    display:none !important;
  }

  .header,
  .navbar{
    overflow:visible !important;
  }

  .navbar{
    padding-right:84px !important;
  }

  .mobile-toggle{
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    position:fixed !important;
    top:calc(14px + env(safe-area-inset-top)) !important;
    right:14px !important;
    width:58px !important;
    height:58px !important;
    min-width:58px !important;
    min-height:58px !important;
    border-radius:50% !important;
    border:0 !important;
    outline:none !important;
    padding:0 !important;
    margin:0 !important;
    background:radial-gradient(circle at 30% 22%,#ffd39b 0%,#ffc17d 48%,#f2a960 100%) !important;
    box-shadow:0 16px 34px rgba(0,0,0,.36),0 0 0 1px rgba(255,255,255,.28) inset !important;
    z-index:999999 !important;
    cursor:pointer !important;
    font-size:0 !important;
    line-height:0 !important;
    color:transparent !important;
    -webkit-tap-highlight-color:transparent !important;
    appearance:none !important;
    -webkit-appearance:none !important;
    overflow:hidden !important;
  }

  .mobile-toggle::before,
  .mobile-toggle::after,
  .mobile-toggle span{
    content:"" !important;
    display:block !important;
    position:absolute !important;
    left:50% !important;
    width:23px !important;
    height:2px !important;
    border-radius:999px !important;
    background:#171717 !important;
    transform:translateX(-50%) !important;
    transition:top .24s ease, transform .24s ease, opacity .16s ease !important;
  }

  .mobile-toggle::before{top:20px !important;}
  .mobile-toggle span{top:28px !important;}
  .mobile-toggle::after{top:36px !important;}

  .mobile-toggle.is-open::before{
    top:28px !important;
    transform:translateX(-50%) rotate(45deg) !important;
  }

  .mobile-toggle.is-open span{
    opacity:0 !important;
  }

  .mobile-toggle.is-open::after{
    top:28px !important;
    transform:translateX(-50%) rotate(-45deg) !important;
  }

  body.zona-clean-menu-open{
    overflow:hidden !important;
  }

  .zona-clean-menu-backdrop{
    display:block !important;
    position:fixed !important;
    inset:0 !important;
    background:rgba(3,8,18,.72) !important;
    backdrop-filter:blur(10px) !important;
    opacity:0 !important;
    pointer-events:none !important;
    transition:opacity .24s ease !important;
    z-index:999900 !important;
  }

  body.zona-clean-menu-open .zona-clean-menu-backdrop{
    opacity:1 !important;
    pointer-events:auto !important;
  }

  .zona-clean-menu-panel{
    display:block !important;
    position:fixed !important;
    top:calc(82px + env(safe-area-inset-top)) !important;
    left:12px !important;
    right:12px !important;
    max-height:calc(100dvh - 100px - env(safe-area-inset-top)) !important;
    overflow-y:auto !important;
    -webkit-overflow-scrolling:touch !important;
    padding:18px !important;
    border-radius:28px !important;
    border:1.5px solid rgba(242,214,138,.56) !important;
    background:radial-gradient(circle at 15% 0%,rgba(242,214,138,.20),transparent 35%),linear-gradient(135deg,rgba(8,26,49,.98),rgba(43,26,10,.98)) !important;
    box-shadow:0 34px 96px rgba(0,0,0,.45),0 0 46px rgba(200,162,74,.30) !important;
    opacity:0 !important;
    transform:translateY(-12px) scale(.97) !important;
    pointer-events:none !important;
    transition:opacity .26s ease, transform .26s ease !important;
    z-index:999950 !important;
  }

  body.zona-clean-menu-open .zona-clean-menu-panel{
    opacity:1 !important;
    transform:translateY(0) scale(1) !important;
    pointer-events:auto !important;
  }

  .zona-clean-menu-title{
    text-align:center !important;
    color:#f2d68a !important;
    font-family:Georgia,"Times New Roman",serif !important;
    font-size:1.25rem !important;
    margin:4px 0 16px !important;
  }

  .zona-clean-menu-panel a{
    display:flex !important;
    align-items:center !important;
    justify-content:space-between !important;
    width:100% !important;
    box-sizing:border-box !important;
    padding:16px 17px !important;
    margin-bottom:9px !important;
    border-radius:17px !important;
    border:1px solid rgba(242,214,138,.18) !important;
    background:rgba(255,255,255,.06) !important;
    color:#fff8df !important;
    font-family:Arial,sans-serif !important;
    font-weight:900 !important;
    text-transform:uppercase !important;
    letter-spacing:.04em !important;
    font-size:.92rem !important;
    text-decoration:none !important;
  }

  .zona-clean-menu-panel a::after{
    content:"›";
    color:#f2d68a;
    font-size:1.35rem;
  }

  .zona-clean-menu-divider{
    height:1px;
    margin:14px 0;
    background:linear-gradient(90deg,transparent,rgba(242,214,138,.45),transparent);
  }
}


/* === POINTS PAGE VISIBILITY REPAIR === */
#puntos-de-fe-completos,
.faith-full-section,
.faith-full-grid,
.faith-card{
  visibility:visible !important;
}

.faith-full-section{
  display:block !important;
  opacity:1 !important;
}

.faith-full-grid{
  display:grid !important;
  grid-template-columns:repeat(2, minmax(0, 1fr)) !important;
  gap:22px !important;
}

@media(max-width:900px){
  .faith-full-grid{
    grid-template-columns:1fr !important;
  }
}

/* Clean menu hidden by default */
.zona-clean-menu-backdrop,
.zona-clean-menu-panel{
  display:none;
}

@media(max-width:900px){
  .zona-clean-menu-backdrop{
    display:block;
  }
  .zona-clean-menu-panel{
    display:block;
  }
}


/* =========================================================
   PUNTOS DE FE PAGE — VISIBILITY / CONTRAST FIX
   Ensures all text and cards are visible on desktop and mobile.
   ========================================================= */

body{
  color:#1d2a3b !important;
}

.page-hero h1,
.faith-full-section h1,
.faith-full-section h2,
.faith-full-section h3,
.faith-full-section p,
.faith-full-section div,
.faith-card h3,
.faith-card p,
.faith-number,
.faith-subtitle{
  opacity:1 !important;
  visibility:visible !important;
  filter:none !important;
  transform:none !important;
}

.faith-full-section{
  display:block !important;
  opacity:1 !important;
  visibility:visible !important;
  background:#fffaf0 !important;
  color:#1d2a3b !important;
  padding:76px 0 !important;
}

.faith-full-section .container{
  width:min(1180px,92vw) !important;
  max-width:1180px !important;
  margin:0 auto !important;
}

.faith-full-section h2{
  display:block !important;
  color:#2f2419 !important;
  text-align:center !important;
  font-size:clamp(2rem,4vw,3.2rem) !important;
  font-weight:400 !important;
  margin:0 0 16px !important;
  line-height:1.15 !important;
}

.faith-subtitle{
  display:block !important;
  max-width:860px !important;
  margin:0 auto 34px !important;
  text-align:center !important;
  color:#4a331e !important;
  font-size:1.08rem !important;
  line-height:1.7 !important;
}

.faith-full-grid{
  display:grid !important;
  grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  gap:24px !important;
  opacity:1 !important;
  visibility:visible !important;
}

.faith-card{
  display:block !important;
  opacity:1 !important;
  visibility:visible !important;
  background:#ffffff !important;
  color:#1d2a3b !important;
  border:1px solid rgba(200,162,74,.45) !important;
  border-radius:10px !important;
  padding:26px !important;
  box-shadow:0 14px 45px rgba(0,0,0,.08) !important;
  transform:none !important;
  filter:none !important;
}

.faith-number{
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  padding:7px 13px !important;
  border-radius:999px !important;
  background:linear-gradient(135deg,#c8a24a,#f2d68a) !important;
  color:#2b1a0a !important;
  font-family:Arial,sans-serif !important;
  font-weight:900 !important;
  font-size:.78rem !important;
  text-transform:uppercase !important;
  margin-bottom:13px !important;
}

.faith-card h3{
  display:block !important;
  color:#4a331e !important;
  font-size:1.25rem !important;
  line-height:1.3 !important;
  margin:0 0 12px !important;
  font-weight:700 !important;
}

.faith-card p{
  display:block !important;
  color:#263548 !important;
  font-size:1rem !important;
  line-height:1.75 !important;
  margin:0 !important;
}

/* Reveal animations must never hide doctrine text */
.faith-full-section [data-reveal],
.faith-full-section .reveal,
.faith-full-section .reveal-left,
.faith-full-section .reveal-right,
.faith-full-section .in-view{
  opacity:1 !important;
  visibility:visible !important;
  transform:none !important;
  filter:none !important;
}

@media(max-width:900px){
  .faith-full-section{
    padding:56px 0 !important;
  }

  .faith-full-section .container{
    width:100% !important;
    max-width:100% !important;
    padding-left:16px !important;
    padding-right:16px !important;
  }

  .faith-full-grid{
    grid-template-columns:1fr !important;
    gap:18px !important;
  }

  .faith-card{
    padding:22px !important;
    border-radius:12px !important;
  }

  .faith-card h3{
    font-size:1.14rem !important;
  }

  .faith-card p{
    font-size:.98rem !important;
  }
}


/* Footer cleanup: prevent mobile menu shell from rendering as page content */
#zonaCleanMenuBackdrop,
#zonaCleanMenuPanel,
.zona-clean-menu-backdrop,
.zona-clean-menu-panel{
  display:none !important;
}
body.zona-clean-menu-open #zonaCleanMenuBackdrop,
body.zona-clean-menu-open #zonaCleanMenuPanel{
  display:block !important;
}


/* === GLOBAL FOOTER CLEANUP === */
/* Prevent stray menu markup from rendering below the footer. */
#zonaCleanMenuBackdrop,
#zonaCleanMenuPanel,
#zonaMenuBtn,
#zonaMenuOverlay,
#zonaMenuPanel,
#zona-fixed-menu-button,
#zona-fixed-menu-backdrop,
#zona-fixed-menu-panel,
.zona-clean-menu-backdrop,
.zona-clean-menu-panel,
.zona-mobile-backdrop,
.zona-mobile-panel,
.mobile-menu-backdrop,
.mobile-menu-panel{
  display:none !important;
  visibility:hidden !important;
  opacity:0 !important;
  pointer-events:none !important;
}


/* Runtime mobile menu button only */
@media(max-width:900px){
  .nav{display:none !important;}
  .mobile-toggle{
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    position:fixed !important;
    top:14px !important;
    right:14px !important;
    width:58px !important;
    height:58px !important;
    border-radius:50% !important;
    border:0 !important;
    background:radial-gradient(circle at 30% 22%,#ffd39b 0%,#ffc17d 48%,#f2a960 100%) !important;
    box-shadow:0 16px 34px rgba(0,0,0,.36),0 0 0 1px rgba(255,255,255,.28) inset !important;
    z-index:999999 !important;
    padding:0 !important;
    margin:0 !important;
    font-size:0 !important;
    color:transparent !important;
  }
  .mobile-toggle::before,
  .mobile-toggle::after,
  .mobile-toggle span{
    content:"" !important;
    position:absolute !important;
    left:50% !important;
    width:23px !important;
    height:2px !important;
    border-radius:999px !important;
    background:#171717 !important;
    transform:translateX(-50%) !important;
    transition:.24s ease !important;
  }
  .mobile-toggle::before{top:20px !important;}
  .mobile-toggle span{top:28px !important;}
  .mobile-toggle::after{top:36px !important;}
  .mobile-toggle.is-open::before{top:28px !important;transform:translateX(-50%) rotate(45deg) !important;}
  .mobile-toggle.is-open span{opacity:0 !important;}
  .mobile-toggle.is-open::after{top:28px !important;transform:translateX(-50%) rotate(-45deg) !important;}
}


/* Nosotros page map showcase */
.zona-map-showcase{
  width:100%;
  margin:30px auto;
}

.zona-map-showcase img{
  width:100%;
  display:block;
  border-radius:24px;
  border:2px solid rgba(212,175,55,.52);
  box-shadow:
    0 24px 70px rgba(43,26,10,.18),
    0 0 42px rgba(212,175,55,.22);
  background:#fff;
  object-fit:cover;
}

@media(max-width:900px){
  .zona-map-showcase{
    margin:24px auto;
  }

  .zona-map-showcase img{
    border-radius:18px;
  }
}


/* Forced Nosotros map showcase */
.nosotros-map-section .container{
  width:min(1500px,96vw);
}

.zona-map-showcase{
  width:100%;
  margin:30px auto;
}

.zona-map-showcase-large{
  max-width:1450px;
}

.zona-map-showcase img{
  width:100%;
  display:block;
  border-radius:28px;
  border:2px solid rgba(212,175,55,.58);
  box-shadow:
    0 30px 90px rgba(43,26,10,.20),
    0 0 50px rgba(212,175,55,.24);
  background:#fff;
  object-fit:cover;
}

@media(max-width:900px){
  .nosotros-map-section .container{
    width:100%;
  }

  .zona-map-showcase{
    margin:24px auto;
  }

  .zona-map-showcase img{
    border-radius:18px;
  }
}


/* Administración de Zona team section */
.admin-team-section{
  background:
    radial-gradient(circle at 15% 0%,rgba(212,175,55,.12),transparent 30%),
    linear-gradient(180deg,#fffaf0,#ffffff);
}

.admin-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:28px;
  margin-top:34px;
}

.admin-card{
  background:#ffffff;
  border:1px solid rgba(212,175,55,.45);
  border-radius:24px;
  overflow:hidden;
  box-shadow:
    0 22px 60px rgba(43,26,10,.13),
    0 0 32px rgba(212,175,55,.12);
  transition:transform .35s ease, box-shadow .35s ease, border-color .35s ease;
}

.admin-card:hover{
  transform:translateY(-8px);
  border-color:rgba(242,214,138,.85);
  box-shadow:
    0 30px 80px rgba(43,26,10,.18),
    0 0 45px rgba(212,175,55,.22);
}

.admin-photo-wrap{
  width:100%;
  aspect-ratio:4/5;
  background:#f6f0df;
  overflow:hidden;
}

.admin-photo-wrap img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}

.admin-content{
  padding:24px;
}

.admin-content h3{
  margin:0 0 12px;
  color:#3d2a16;
  font-size:1.45rem;
  line-height:1.2;
}

.admin-role{
  margin:0 0 5px;
  color:#263548;
  font-weight:800;
  line-height:1.35;
}

.admin-role-gold{
  color:#9a741e;
}

.admin-years{
  display:inline-block;
  margin:12px 0 15px;
  padding:8px 12px;
  border-radius:999px;
  background:linear-gradient(135deg,#fff8df,#f2d68a);
  color:#2b1a0a;
  font-family:Arial,sans-serif;
  font-size:.85rem;
  font-weight:900;
}

.admin-content p{
  color:#4d5968;
  line-height:1.7;
}

@media(max-width:1000px){
  .admin-grid{
    grid-template-columns:1fr;
  }

  .admin-card{
    max-width:680px;
    margin:0 auto;
  }
}


/* Points of Faith music embeds */
.faith-music-intro{
  max-width:920px;
  margin:0 auto 34px;
  padding:24px;
  border-radius:22px;
  border:1px solid rgba(212,175,55,.42);
  background:
    radial-gradient(circle at top left,rgba(242,214,138,.18),transparent 34%),
    linear-gradient(135deg,#fffaf0,#ffffff);
  box-shadow:0 16px 44px rgba(43,26,10,.10),0 0 28px rgba(212,175,55,.12);
  text-align:center;
}

.faith-music-intro h3{
  margin:0 0 10px;
  color:#4a331e;
  font-size:1.55rem;
}

.faith-music-intro p{
  margin:0;
  color:#4d5968;
  line-height:1.75;
}

.faith-song{
  margin-top:22px;
  padding:18px;
  border-radius:18px;
  border:1px solid rgba(212,175,55,.38);
  background:linear-gradient(135deg,rgba(255,248,223,.9),rgba(255,255,255,.96));
  box-shadow:0 10px 30px rgba(0,0,0,.05),0 0 20px rgba(212,175,55,.12);
}

.faith-song h4{
  margin:0 0 10px;
  color:#8a6a17;
  font-size:1.05rem;
}

.song-credit{
  margin:0 0 15px !important;
  line-height:1.65 !important;
  color:#4d5968 !important;
  font-size:.96rem !important;
}

.spotify-faith-embed{
  border-radius:12px;
  border:0;
  display:block;
  width:100%;
}

@media(max-width:900px){
  .faith-music-intro{
    padding:20px;
  }
  .faith-song{
    padding:16px;
  }
}


/* =========================================================
   HOMEPAGE BIENVENIDO HERO BACKGROUND — REAL FIX
   This directly replaces the navy/blue .hero background.
   ========================================================= */
body .hero{
  background:
    linear-gradient(135deg, rgba(7,17,35,.78), rgba(7,17,35,.46)),
    url('/assets/img/midwest-bienvenido-background.jpg?v=real-hero-2026') center center / cover no-repeat !important;
  background-color:#081a31 !important;
  position:relative !important;
}

body .hero::before{
  content:"" !important;
  position:absolute !important;
  inset:0 !important;
  background:
    radial-gradient(circle at 18% 20%, rgba(242,214,138,.24), transparent 32%),
    linear-gradient(to bottom, rgba(0,0,0,.10), rgba(0,0,0,.34)) !important;
  pointer-events:none !important;
  z-index:0 !important;
}

body .hero .inner{
  position:relative !important;
  z-index:1 !important;
}

body .hero h1,
body .hero p,
body .hero .verse{
  text-shadow:0 4px 22px rgba(0,0,0,.62) !important;
}

@media(max-width:900px){
  body .hero{
    background-position:center top !important;
  }
}


/* =========================================================
   CLEAN RESPECTFUL HOMEPAGE HERO
   Goal: show the full wide image on desktop without awkward cropping,
   preserve the real page header/menu, and keep the Bienvenido content clean.
   ========================================================= */

/* Neutralize previous hero image experiments */
.hero-full-image{
  display:none !important;
}

body .hero.zona-wide-image-hero{
  position:relative !important;
  overflow:hidden !important;
  min-height:auto !important;
  height:auto !important;
  aspect-ratio:16 / 9 !important;
  display:flex !important;
  align-items:center !important;
  background:
    linear-gradient(90deg, rgba(4,10,20,.72) 0%, rgba(4,10,20,.48) 42%, rgba(4,10,20,.08) 74%),
    url('/assets/img/zona-midwest-hero-wide.jpg?v=clean-respectful-hero') center center / cover no-repeat !important;
  background-color:#081a31 !important;
}

/* Since the hero has the same wide ratio as the image, cover shows the whole image on desktop. */
body .hero.zona-wide-image-hero::before{
  content:"" !important;
  position:absolute !important;
  inset:0 !important;
  background:
    radial-gradient(circle at 16% 28%, rgba(242,214,138,.18), transparent 30%),
    linear-gradient(to bottom, rgba(0,0,0,.05), rgba(0,0,0,.30)) !important;
  pointer-events:none !important;
  z-index:0 !important;
}

body .hero.zona-wide-image-hero::after{
  content:"" !important;
  position:absolute !important;
  inset:auto 0 0 0 !important;
  height:130px !important;
  background:linear-gradient(to bottom, transparent, rgba(255,255,255,.94)) !important;
  pointer-events:none !important;
  z-index:0 !important;
}

body .hero.zona-wide-image-hero .container{
  position:relative !important;
  z-index:2 !important;
  width:min(1280px,92vw) !important;
}

body .hero.zona-wide-image-hero .inner{
  width:min(560px,100%) !important;
  max-width:560px !important;
  padding:36px 38px !important;
  border-radius:24px !important;
  border:1.5px solid rgba(242,214,138,.52) !important;
  background:rgba(3,10,20,.50) !important;
  backdrop-filter:blur(10px) !important;
  box-shadow:
    0 28px 80px rgba(0,0,0,.34),
    0 0 38px rgba(212,175,55,.16),
    inset 0 0 0 1px rgba(255,255,255,.08) !important;
  transform:none !important;
  position:relative !important;
  left:auto !important;
  top:auto !important;
}

body .hero.zona-wide-image-hero h1{
  color:#ffffff !important;
  font-size:clamp(3rem,5.5vw,5.1rem) !important;
  line-height:.96 !important;
  letter-spacing:.10em !important;
  margin:0 0 16px !important;
  text-shadow:0 5px 24px rgba(0,0,0,.72) !important;
}

body .hero.zona-wide-image-hero h1::after{
  content:"" !important;
  display:block !important;
  width:min(400px,100%) !important;
  height:2px !important;
  margin:18px 0 20px !important;
  background:linear-gradient(90deg,#c8a24a,#f2d68a,transparent) !important;
  box-shadow:0 0 18px rgba(242,214,138,.34) !important;
}

body .hero.zona-wide-image-hero p,
body .hero.zona-wide-image-hero .verse{
  color:#ffffff !important;
  font-size:clamp(1.04rem,1.25vw,1.25rem) !important;
  line-height:1.58 !important;
  text-shadow:0 4px 20px rgba(0,0,0,.74) !important;
}

body .hero.zona-wide-image-hero .actions,
body .hero.zona-wide-image-hero .buttons,
body .hero.zona-wide-image-hero .hero-actions{
  display:flex !important;
  flex-wrap:wrap !important;
  gap:14px !important;
  margin-top:26px !important;
}

body .hero.zona-wide-image-hero .btn{
  min-height:52px !important;
  padding:14px 22px !important;
  border-radius:10px !important;
  font-weight:900 !important;
  letter-spacing:.04em !important;
}

/* Mobile: keep the full image visible at top, then place the readable welcome card below it.
   This prevents distortion, cropping, and tiny unreadable overlays on phones. */
@media(max-width:900px){
  body .hero.zona-wide-image-hero{
    aspect-ratio:auto !important;
    display:block !important;
    padding-top:56.25vw !important; /* keeps full 16:9 image visible */
    background:
      linear-gradient(to bottom, rgba(4,10,20,.08), rgba(4,10,20,.10)),
      url('/assets/img/zona-midwest-hero-wide.jpg?v=clean-respectful-hero') center top / contain no-repeat !important;
    background-color:#081a31 !important;
  }

  body .hero.zona-wide-image-hero::before,
  body .hero.zona-wide-image-hero::after{
    display:none !important;
  }

  body .hero.zona-wide-image-hero .container{
    width:100% !important;
    padding:20px 16px 48px !important;
  }

  body .hero.zona-wide-image-hero .inner{
    width:100% !important;
    max-width:100% !important;
    padding:26px 22px !important;
    border-radius:20px !important;
    background:
      radial-gradient(circle at 12% 0%, rgba(242,214,138,.14), transparent 36%),
      linear-gradient(135deg, rgba(8,26,49,.98), rgba(43,26,10,.96)) !important;
    border:1.5px solid rgba(242,214,138,.50) !important;
  }

  body .hero.zona-wide-image-hero h1{
    font-size:clamp(2.3rem,11vw,3.8rem) !important;
    letter-spacing:.07em !important;
  }

  body .hero.zona-wide-image-hero .btn{
    width:100% !important;
    justify-content:center !important;
  }
}


/* =========================================================
   MOBILE HERO FIX
   Desktop remains unchanged. Mobile gets a clean image-first layout.
   ========================================================= */
@media(max-width:900px){

  body .hero.zona-wide-image-hero{
    display:block !important;
    min-height:auto !important;
    height:auto !important;
    aspect-ratio:auto !important;
    padding-top:62vw !important;
    padding-bottom:0 !important;
    background:
      linear-gradient(to bottom, rgba(4,10,20,.04), rgba(4,10,20,.10)),
      url('/assets/img/zona-midwest-hero-wide.jpg?v=mobile-hero-fixed') center top / contain no-repeat !important;
    background-color:#081a31 !important;
  }

  body .hero.zona-wide-image-hero::before,
  body .hero.zona-wide-image-hero::after{
    display:none !important;
  }

  body .hero.zona-wide-image-hero .container{
    width:100% !important;
    max-width:100% !important;
    padding:18px 14px 44px !important;
    position:relative !important;
    z-index:2 !important;
  }

  body .hero.zona-wide-image-hero .inner{
    width:100% !important;
    max-width:100% !important;
    margin:0 auto !important;
    padding:24px 20px !important;
    border-radius:20px !important;
    position:relative !important;
    left:auto !important;
    right:auto !important;
    top:auto !important;
    bottom:auto !important;
    transform:none !important;
    background:
      radial-gradient(circle at 12% 0%, rgba(242,214,138,.16), transparent 36%),
      linear-gradient(135deg, rgba(8,26,49,.98), rgba(43,26,10,.96)) !important;
    border:1.5px solid rgba(242,214,138,.50) !important;
    box-shadow:
      0 20px 58px rgba(0,0,0,.28),
      0 0 32px rgba(212,175,55,.18) !important;
    backdrop-filter:none !important;
  }

  body .hero.zona-wide-image-hero h1{
    font-size:clamp(2.35rem,11vw,3.8rem) !important;
    line-height:1 !important;
    letter-spacing:.07em !important;
    margin-bottom:14px !important;
  }

  body .hero.zona-wide-image-hero h1::after{
    margin:16px 0 18px !important;
    width:100% !important;
  }

  body .hero.zona-wide-image-hero p,
  body .hero.zona-wide-image-hero .verse{
    font-size:1.02rem !important;
    line-height:1.58 !important;
    max-width:100% !important;
  }

  body .hero.zona-wide-image-hero .actions,
  body .hero.zona-wide-image-hero .buttons,
  body .hero.zona-wide-image-hero .hero-actions{
    display:grid !important;
    grid-template-columns:1fr !important;
    gap:12px !important;
    margin-top:22px !important;
  }

  body .hero.zona-wide-image-hero .btn{
    width:100% !important;
    justify-content:center !important;
    min-height:52px !important;
  }
}

/* Smaller phones: give the image a little more height and keep the card readable */
@media(max-width:480px){
  body .hero.zona-wide-image-hero{
    padding-top:64vw !important;
  }

  body .hero.zona-wide-image-hero .container{
    padding-left:12px !important;
    padding-right:12px !important;
  }

  body .hero.zona-wide-image-hero .inner{
    padding:22px 18px !important;
    border-radius:18px !important;
  }
}


/* =========================================================
   MOBILE HOME CLEANUP
   Keeps one Bienvenido card inside the hero and centers mobile image.
   ========================================================= */

/* Hide duplicate standalone welcome blocks if any survived in markup */
.home-duplicate-welcome,
.duplicate-welcome{
  display:none !important;
}

@media(max-width:900px){
  body .hero.zona-wide-image-hero{
    padding-top:62vw !important;
    background:
      linear-gradient(to bottom, rgba(4,10,20,.02), rgba(4,10,20,.08)),
      url('/assets/img/zona-midwest-hero-wide.jpg?v=mobile-home-cleaned') 52% 0% / contain no-repeat !important;
    background-color:#081a31 !important;
  }

  body .hero.zona-wide-image-hero .container{
    padding:14px 14px 38px !important;
  }

  body .hero.zona-wide-image-hero .inner{
    margin-top:0 !important;
    text-align:center !important;
    padding:22px 18px !important;
  }

  body .hero.zona-wide-image-hero h1{
    font-size:clamp(2.1rem,10vw,3.2rem) !important;
    text-align:center !important;
  }

  body .hero.zona-wide-image-hero h1::after{
    margin-left:auto !important;
    margin-right:auto !important;
  }

  body .hero.zona-wide-image-hero p,
  body .hero.zona-wide-image-hero .verse{
    text-align:center !important;
  }
}

@media(max-width:480px){
  body .hero.zona-wide-image-hero{
    padding-top:63vw !important;
    background-position:52% 0% !important;
  }
}


/* =========================================================
   MOBILE-ONLY BIENVENIDO FIX
   Desktop remains unchanged.
   On mobile: hide the tiny hero welcome card and use the large Bienvenido
   section as the only welcome card, compact and positioned directly under hero.
   ========================================================= */
@media(max-width:900px){

  /* Keep the image hero visible, but remove the tiny overlay card on mobile only */
  body .hero.zona-wide-image-hero .inner{
    display:none !important;
  }

  body .hero.zona-wide-image-hero{
    padding-top:62vw !important;
    padding-bottom:0 !important;
    min-height:auto !important;
    background:
      linear-gradient(to bottom, rgba(4,10,20,.02), rgba(4,10,20,.08)),
      url('/assets/img/zona-midwest-hero-wide.jpg?v=mobile-only-bienvenido-fix') 50% 0% / contain no-repeat !important;
    background-color:#081a31 !important;
  }

  body .hero.zona-wide-image-hero .container{
    padding:0 !important;
  }

  /* Compact the next standalone Bienvenido/welcome card section on mobile only */
  body .hero.zona-wide-image-hero + section,
  body .hero.zona-wide-image-hero + .section{
    margin-top:0 !important;
  }

  /* Target the blue welcome card section/classes commonly used by this build */
  .welcome-section,
  .home-intro,
  .intro-section,
  .hero-secondary{
    margin-top:-1px !important;
    padding:18px 12px 34px !important;
  }

  .welcome-section .container,
  .home-intro .container,
  .intro-section .container,
  .hero-secondary .container{
    padding-left:12px !important;
    padding-right:12px !important;
  }

  .welcome-card,
  .bienvenido-card-large,
  .home-intro .card,
  .intro-section .card,
  .hero-secondary .card,
  .welcome-section .card,
  .welcome-section .logo-panel,
  .home-intro .logo-panel,
  .intro-section .logo-panel,
  .hero-secondary .logo-panel{
    max-width:100% !important;
    margin:0 auto !important;
    padding:22px 18px !important;
    border-radius:20px !important;
    text-align:center !important;
  }

  /* If the large blue block is a two-column layout, make it one compact column */
  .welcome-section .two,
  .home-intro .two,
  .intro-section .two,
  .hero-secondary .two{
    display:block !important;
  }

  .welcome-section img,
  .home-intro img,
  .intro-section img,
  .hero-secondary img{
    max-width:120px !important;
    height:auto !important;
    margin:0 auto 14px !important;
    display:block !important;
  }

  .welcome-section h2,
  .home-intro h2,
  .intro-section h2,
  .hero-secondary h2{
    font-size:clamp(2.25rem,12vw,3.75rem) !important;
    line-height:1 !important;
    margin:8px 0 16px !important;
    text-align:center !important;
  }

  .welcome-section p,
  .home-intro p,
  .intro-section p,
  .hero-secondary p{
    font-size:1.04rem !important;
    line-height:1.58 !important;
    text-align:center !important;
  }

  /* Hide verse inside the mobile welcome block only if it makes the block too tall */
  .welcome-section .verse,
  .home-intro .verse,
  .intro-section .verse,
  .hero-secondary .verse{
    font-size:.95rem !important;
    margin-top:18px !important;
  }
}


/* =========================================================
   FINAL MOBILE HOMEPAGE MOCKUP FIX
   Desktop is unchanged. Mobile only.
   ========================================================= */
@media(max-width:900px){

  html,
  body{
    width:100% !important;
    max-width:100% !important;
    overflow-x:hidden !important;
  }

  /* Center the very top announcement text */
  .topstrip,
  .top-bar,
  .announcement-bar,
  .site-announcement{
    width:100% !important;
    display:flex !important;
    justify-content:center !important;
    align-items:center !important;
    text-align:center !important;
    padding:12px 18px !important;
    font-size:15px !important;
    line-height:1.4 !important;
  }

  .topstrip *,
  .top-bar *,
  .announcement-bar *,
  .site-announcement *{
    width:100% !important;
    text-align:center !important;
    margin-left:auto !important;
    margin-right:auto !important;
  }

  /* Keep header clean and centered like the mockup */
  .header{
    width:100% !important;
    max-width:100% !important;
    overflow:visible !important;
  }

  .navbar{
    width:100% !important;
    max-width:100% !important;
    min-height:110px !important;
    padding:18px 76px 18px 22px !important;
    display:flex !important;
    align-items:center !important;
    justify-content:flex-start !important;
  }

  .logo{
    display:flex !important;
    align-items:center !important;
    gap:14px !important;
    max-width:calc(100vw - 106px) !important;
  }

  .logo img{
    width:74px !important;
    min-width:74px !important;
    height:auto !important;
  }

  .logo-text{
    font-size:1.24rem !important;
    line-height:1.05 !important;
  }

  .logo-text span{
    display:block !important;
    font-size:.82rem !important;
    letter-spacing:.10em !important;
  }

  .mobile-toggle{
    top:calc(45px + env(safe-area-inset-top)) !important;
    right:22px !important;
  }

  /* Full-bleed hero image: remove side gutters */
  body .hero.zona-wide-image-hero{
    width:100vw !important;
    max-width:100vw !important;
    margin-left:calc(50% - 50vw) !important;
    margin-right:calc(50% - 50vw) !important;
    display:block !important;
    min-height:auto !important;
    height:auto !important;
    aspect-ratio:auto !important;
    padding:0 !important;
    background:
      linear-gradient(to bottom, rgba(0,0,0,.00), rgba(0,0,0,.00)),
      url('/assets/img/zona-midwest-hero-wide.jpg?v=final-mobile-mockup') center center / cover no-repeat !important;
    background-color:#081a31 !important;
  }

  body .hero.zona-wide-image-hero::before,
  body .hero.zona-wide-image-hero::after{
    display:none !important;
  }

  /* Create image height and let the content card overlay it, like mockup */
  body .hero.zona-wide-image-hero{
    min-height:620px !important;
    position:relative !important;
  }

  body .hero.zona-wide-image-hero .container{
    width:100% !important;
    max-width:100% !important;
    padding:0 30px 22px !important;
    min-height:620px !important;
    display:flex !important;
    align-items:flex-end !important;
    position:relative !important;
    z-index:2 !important;
  }

  body .hero.zona-wide-image-hero .inner{
    display:block !important;
    width:min(430px,100%) !important;
    max-width:430px !important;
    margin:0 0 0 0 !important;
    padding:24px 22px !important;
    border-radius:18px !important;
    text-align:left !important;
    background:rgba(0,0,0,.58) !important;
    backdrop-filter:blur(8px) !important;
    border:1.5px solid rgba(242,214,138,.62) !important;
    box-shadow:
      0 20px 58px rgba(0,0,0,.34),
      0 0 28px rgba(212,175,55,.18) !important;
    position:relative !important;
    left:auto !important;
    top:auto !important;
    right:auto !important;
    bottom:auto !important;
    transform:none !important;
  }

  body .hero.zona-wide-image-hero h1{
    font-size:clamp(2.45rem,9vw,3.8rem) !important;
    line-height:1 !important;
    letter-spacing:.08em !important;
    text-align:left !important;
    margin:0 0 12px !important;
  }

  body .hero.zona-wide-image-hero h1::after{
    margin:14px 0 16px !important;
    width:100% !important;
  }

  body .hero.zona-wide-image-hero p,
  body .hero.zona-wide-image-hero .verse{
    font-size:1rem !important;
    line-height:1.52 !important;
    max-width:100% !important;
    text-align:left !important;
  }

  body .hero.zona-wide-image-hero .actions,
  body .hero.zona-wide-image-hero .buttons,
  body .hero.zona-wide-image-hero .hero-actions{
    display:grid !important;
    grid-template-columns:1fr 1fr !important;
    gap:12px !important;
    margin-top:18px !important;
  }

  body .hero.zona-wide-image-hero .btn{
    width:100% !important;
    min-height:50px !important;
    padding:12px 10px !important;
    border-radius:8px !important;
    justify-content:center !important;
    font-size:.86rem !important;
  }
}

/* Smaller phones */
@media(max-width:480px){
  body .hero.zona-wide-image-hero{
    min-height:560px !important;
    background-position:center center !important;
  }

  body .hero.zona-wide-image-hero .container{
    min-height:560px !important;
    padding:0 24px 18px !important;
  }

  body .hero.zona-wide-image-hero .inner{
    width:100% !important;
    padding:20px 18px !important;
  }

  body .hero.zona-wide-image-hero h1{
    font-size:2.45rem !important;
  }

  body .hero.zona-wide-image-hero p,
  body .hero.zona-wide-image-hero .verse{
    font-size:.92rem !important;
  }

  body .hero.zona-wide-image-hero .btn{
    font-size:.78rem !important;
  }
}


/* =========================================================
   FINAL MOBILE HERO: IMAGE WITH INSIDE WELCOME CARD
   Desktop unchanged. Mobile only.
   ========================================================= */
@media(max-width:900px){

  html,
  body{
    width:100% !important;
    max-width:100% !important;
    overflow-x:hidden !important;
  }

  /* Center the announcement/top text */
  .topstrip,
  .top-bar,
  .announcement-bar,
  .site-announcement{
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    text-align:center !important;
    width:100% !important;
    padding:12px 16px !important;
    line-height:1.35 !important;
  }

  .topstrip *,
  .top-bar *,
  .announcement-bar *,
  .site-announcement *{
    text-align:center !important;
    margin-left:auto !important;
    margin-right:auto !important;
  }

  /* Hide the standalone blue welcome panel only on mobile */
  .mobile-hide-duplicate-welcome{
    display:none !important;
  }

  /* Restore the real hero overlay card inside the image */
  body .hero.zona-wide-image-hero{
    width:100vw !important;
    max-width:100vw !important;
    margin-left:calc(50% - 50vw) !important;
    margin-right:calc(50% - 50vw) !important;
    min-height:0 !important;
    height:clamp(390px, 74vw, 620px) !important;
    padding:0 !important;
    display:flex !important;
    align-items:flex-end !important;
    position:relative !important;
    overflow:hidden !important;
    background:
      linear-gradient(90deg, rgba(0,0,0,.24) 0%, rgba(0,0,0,.08) 56%, rgba(0,0,0,.10) 100%),
      url('/assets/img/zona-midwest-hero-wide.jpg?v=inside-card-mobile-final') center center / cover no-repeat !important;
    background-color:#081a31 !important;
  }

  body .hero.zona-wide-image-hero::before,
  body .hero.zona-wide-image-hero::after{
    display:none !important;
  }

  body .hero.zona-wide-image-hero .container{
    width:100% !important;
    max-width:100% !important;
    min-height:100% !important;
    padding:0 22px 18px !important;
    display:flex !important;
    align-items:flex-end !important;
    justify-content:flex-start !important;
    position:relative !important;
    z-index:2 !important;
  }

  body .hero.zona-wide-image-hero .inner{
    display:block !important;
    width:min(360px, 66vw) !important;
    max-width:360px !important;
    margin:0 !important;
    padding:16px 16px !important;
    border-radius:14px !important;
    text-align:left !important;
    background:rgba(0,0,0,.58) !important;
    backdrop-filter:blur(7px) !important;
    border:1.25px solid rgba(242,214,138,.62) !important;
    box-shadow:
      0 16px 45px rgba(0,0,0,.34),
      0 0 24px rgba(212,175,55,.16) !important;
    position:relative !important;
    inset:auto !important;
    transform:none !important;
  }

  /* Hide any large logo inside the mobile hero card if present */
  body .hero.zona-wide-image-hero .inner img,
  body .hero.zona-wide-image-hero .inner .logo-panel,
  body .hero.zona-wide-image-hero .inner .brand,
  body .hero.zona-wide-image-hero .inner .hero-logo{
    display:none !important;
  }

  body .hero.zona-wide-image-hero h1{
    font-size:clamp(1.85rem, 7vw, 2.75rem) !important;
    line-height:1 !important;
    letter-spacing:.07em !important;
    text-align:left !important;
    margin:0 0 8px !important;
  }

  body .hero.zona-wide-image-hero h1::after{
    margin:10px 0 12px !important;
    width:100% !important;
    height:1.5px !important;
  }

  body .hero.zona-wide-image-hero p,
  body .hero.zona-wide-image-hero .verse{
    font-size:clamp(.70rem, 2.5vw, .92rem) !important;
    line-height:1.42 !important;
    max-width:100% !important;
    text-align:left !important;
    margin-bottom:0 !important;
  }

  body .hero.zona-wide-image-hero .actions,
  body .hero.zona-wide-image-hero .buttons,
  body .hero.zona-wide-image-hero .hero-actions{
    display:grid !important;
    grid-template-columns:1fr 1fr !important;
    gap:9px !important;
    margin-top:14px !important;
  }

  body .hero.zona-wide-image-hero .btn{
    width:100% !important;
    min-height:39px !important;
    padding:9px 7px !important;
    border-radius:7px !important;
    justify-content:center !important;
    font-size:clamp(.62rem, 2vw, .78rem) !important;
    letter-spacing:.02em !important;
  }

  /* Make sure the next section starts cleanly underneath the hero */
  body .hero.zona-wide-image-hero + section{
    margin-top:0 !important;
  }
}

@media(max-width:480px){
  body .hero.zona-wide-image-hero{
    height:430px !important;
    background-position:center center !important;
  }

  body .hero.zona-wide-image-hero .container{
    padding:0 24px 18px !important;
  }

  body .hero.zona-wide-image-hero .inner{
    width:min(330px, 68vw) !important;
    padding:14px 14px !important;
  }
}

@media(max-width:390px){
  body .hero.zona-wide-image-hero{
    height:405px !important;
  }

  body .hero.zona-wide-image-hero .inner{
    width:70vw !important;
  }
}


/* REMOVE HERO DESKTOP NAV ON MOBILE ONLY */
@media (max-width:900px){

  .hero nav,
  .hero .desktop-nav,
  .hero .hero-nav,
  .hero .nav-links,
  .hero .menu-row,
  .hero .navbar,
  .hero ul,
  .hero .navigation{
    display:none !important;
  }

  body .hero.zona-wide-image-hero{
    background-position:center 35% !important;
  }
}


/* =========================================================
   MOBILE APPROVED MOCKUP APPLICATION
   Desktop is untouched. Mobile gets the approved clean hero look:
   centered top bar, no blue gutters, no desktop nav text in the hero,
   welcome card inside the hero image, and no large duplicate welcome block.
   ========================================================= */
@media(max-width:900px){

  html, body{
    width:100% !important;
    max-width:100% !important;
    overflow-x:hidden !important;
  }

  .topstrip,
  .top-bar,
  .announcement-bar,
  .site-announcement{
    width:100% !important;
    display:flex !important;
    justify-content:center !important;
    align-items:center !important;
    text-align:center !important;
    padding:12px 18px !important;
    line-height:1.35 !important;
  }

  .topstrip *,
  .top-bar *,
  .announcement-bar *,
  .site-announcement *{
    text-align:center !important;
    margin-left:auto !important;
    margin-right:auto !important;
  }

  .mobile-hide-duplicate-welcome{
    display:none !important;
  }

  /* Replace mobile hero with approved cropped mockup image */
  body .hero.zona-wide-image-hero{
    width:100vw !important;
    max-width:100vw !important;
    margin-left:calc(50% - 50vw) !important;
    margin-right:calc(50% - 50vw) !important;
    height:auto !important;
    min-height:0 !important;
    padding:0 !important;
    display:block !important;
    aspect-ratio: 768 / 873 !important;
    background:
      url('/assets/img/mobile-approved-hero.png?v=mobile-mockup-real') center center / cover no-repeat !important;
    background-color:#fff !important;
    overflow:hidden !important;
  }

  body .hero.zona-wide-image-hero::before,
  body .hero.zona-wide-image-hero::after{
    display:none !important;
  }

  /* The approved mobile hero image already contains the welcome card, so hide the live overlay only on mobile */
  body .hero.zona-wide-image-hero .container,
  body .hero.zona-wide-image-hero .inner{
    display:none !important;
  }

  /* Prevent any nav/menu row from rendering over the hero */
  body .hero.zona-wide-image-hero nav,
  body .hero.zona-wide-image-hero .nav,
  body .hero.zona-wide-image-hero .navbar,
  body .hero.zona-wide-image-hero ul,
  body .hero.zona-wide-image-hero .desktop-nav,
  body .hero.zona-wide-image-hero .hero-nav,
  body .hero.zona-wide-image-hero .nav-links,
  body .hero.zona-wide-image-hero .menu-row,
  body .hero.zona-wide-image-hero .navigation{
    display:none !important;
  }

  body .hero.zona-wide-image-hero + section{
    margin-top:0 !important;
  }
}

@media(max-width:480px){
  body .hero.zona-wide-image-hero{
    aspect-ratio: 768 / 873 !important;
  }
}


/* =========================================================
   FINAL DESKTOP HEADER + HERO REBUILD
   Desktop only. Mobile remains untouched.
   ========================================================= */
@media (min-width:901px){

  /* Top desktop header geometry */
  .header{
    background:#ffffff !important;
    overflow:visible !important;
    border-bottom:1px solid rgba(43,26,10,.08) !important;
  }

  .navbar{
    width:min(1520px, 94vw) !important;
    margin:0 auto !important;
    padding:26px 0 !important;
    min-height:104px !important;
    display:grid !important;
    grid-template-columns:360px 1fr !important;
    column-gap:46px !important;
    align-items:center !important;
    overflow:visible !important;
    box-sizing:border-box !important;
  }

  .logo{
    display:flex !important;
    align-items:center !important;
    gap:18px !important;
    min-width:0 !important;
    width:360px !important;
    max-width:360px !important;
    flex:0 0 360px !important;
  }

  .logo img{
    width:82px !important;
    min-width:82px !important;
    height:auto !important;
    object-fit:contain !important;
  }

  .logo-text{
    display:block !important;
    font-size:1.18rem !important;
    line-height:1.02 !important;
    letter-spacing:.01em !important;
    white-space:normal !important;
    color:#2b1a0a !important;
  }

  .logo-text span{
    display:block !important;
    margin-top:4px !important;
    color:#9b7a20 !important;
    font-size:.86rem !important;
    letter-spacing:.12em !important;
    line-height:1.05 !important;
    white-space:normal !important;
  }

  /* Menu: one line, natural widths, no clipping */
  .nav{
    display:flex !important;
    align-items:center !important;
    justify-content:flex-end !important;
    gap:34px !important;
    flex-wrap:nowrap !important;
    overflow:visible !important;
    white-space:nowrap !important;
    min-width:0 !important;
    width:100% !important;
  }

  .nav > a,
  .nav > .dropdown{
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    flex:0 0 auto !important;
    width:auto !important;
    min-width:max-content !important;
    max-width:none !important;
    height:44px !important;
    padding:0 !important;
    margin:0 !important;
    line-height:1 !important;
    white-space:nowrap !important;
    overflow:visible !important;
    text-overflow:clip !important;
    color:#2b1a0a !important;
  }

  .nav > a,
  .nav > .dropdown > a{
    font-size:.90rem !important;
    font-weight:900 !important;
    letter-spacing:.015em !important;
    text-transform:uppercase !important;
    text-decoration:none !important;
    line-height:1 !important;
    white-space:nowrap !important;
    overflow:visible !important;
    text-overflow:clip !important;
  }

  .nav > a.portal-obrero-link,
  .nav > a[href="/obrero/"]{
    font-size:.86rem !important;
  }

  /* Dropdowns: normal overlay, no layout expansion */
  .nav > .dropdown{
    position:relative !important;
  }

  .nav > .dropdown > .dropdown-menu{
    position:absolute !important;
    top:100% !important;
    left:0 !important;
    width:230px !important;
    min-width:230px !important;
    max-width:230px !important;
    height:auto !important;
    min-height:0 !important;
    max-height:none !important;
    padding:8px 0 !important;
    margin:8px 0 0 0 !important;
    display:block !important;
    opacity:0 !important;
    visibility:hidden !important;
    pointer-events:none !important;
    transform:translateY(6px) !important;
    z-index:999999 !important;
    background:#ffffff !important;
    border:1px solid rgba(201,166,70,.25) !important;
    border-top:3px solid #c9a646 !important;
    border-radius:0 0 12px 12px !important;
    box-shadow:0 16px 38px rgba(0,0,0,.16) !important;
  }

  .nav > .dropdown:hover > .dropdown-menu,
  .nav > .dropdown:focus-within > .dropdown-menu{
    opacity:1 !important;
    visibility:visible !important;
    pointer-events:auto !important;
    transform:translateY(0) !important;
  }

  .nav > .dropdown > .dropdown-menu a{
    display:block !important;
    width:100% !important;
    box-sizing:border-box !important;
    padding:11px 15px !important;
    margin:0 !important;
    font-size:.90rem !important;
    font-weight:500 !important;
    line-height:1.25 !important;
    text-align:left !important;
    text-transform:none !important;
    white-space:nowrap !important;
    color:#2b1a0a !important;
    background:transparent !important;
  }

  .nav > .dropdown > .dropdown-menu a:hover{
    background:#f7f1df !important;
    color:#8a6a17 !important;
  }

  .nav > .dropdown:hover{
    z-index:999998 !important;
  }

  /* Exact desktop hero image only */
  body .hero,
  body .hero.zona-wide-image-hero,
  body .hero.hero-clean-midwest,
  body .hero.hero-homepage-midwest-bg{
    min-height:690px !important;
    background:
      linear-gradient(90deg, rgba(4,10,20,.18) 0%, rgba(4,10,20,.08) 42%, rgba(4,10,20,.05) 76%),
      url('/assets/img/desktop-exact-midwest-hero.jpg?v=final-desktop-header-hero') center center / cover no-repeat !important;
    background-color:#081a31 !important;
  }
}

/* Medium desktop: keep all menu labels visible without clipping */
@media (min-width:901px) and (max-width:1280px){
  .navbar{
    width:min(1240px, 96vw) !important;
    grid-template-columns:300px 1fr !important;
    column-gap:28px !important;
  }

  .logo{
    width:300px !important;
    max-width:300px !important;
    flex-basis:300px !important;
    gap:14px !important;
  }

  .logo img{
    width:70px !important;
    min-width:70px !important;
  }

  .logo-text{
    font-size:1.0rem !important;
  }

  .logo-text span{
    font-size:.74rem !important;
  }

  .nav{
    gap:18px !important;
  }

  .nav > a,
  .nav > .dropdown > a{
    font-size:.78rem !important;
  }

  .nav > a.portal-obrero-link,
  .nav > a[href="/obrero/"]{
    font-size:.74rem !important;
  }
}






/* =========================================================
   FULLSCREEN APPLE-GLASS MOBILE MENU
   Replaces blue boxed panel with transparent frosted full-screen menu.
   Mobile only. Desktop unchanged.
   ========================================================= */
@media(max-width:900px){

  #zonaMobileMenuButton{
    display:flex !important;
    visibility:visible !important;
    opacity:1 !important;
    pointer-events:auto !important;
    align-items:center !important;
    justify-content:center !important;
    position:fixed !important;
    top:calc(18px + env(safe-area-inset-top)) !important;
    right:18px !important;
    transform:none !important;
    width:50px !important;
    height:50px !important;
    min-width:50px !important;
    min-height:50px !important;
    padding:0 !important;
    margin:0 !important;
    border-radius:999px !important;
    border:1.5px solid rgba(244,220,138,.86) !important;
    background:
      radial-gradient(circle at 30% 20%, #fff3b2 0%, #f4dc8a 30%, #d4af37 60%, #9d7418 100%) !important;
    box-shadow:
      0 12px 28px rgba(0,0,0,.30),
      0 0 20px rgba(212,175,55,.30),
      inset 0 1px 0 rgba(255,255,255,.55) !important;
    z-index:2147483647 !important;
    appearance:none !important;
    -webkit-appearance:none !important;
    cursor:pointer !important;
    -webkit-tap-highlight-color:transparent !important;
  }

  #zonaMobileMenuButton span{
    position:absolute !important;
    left:50% !important;
    width:25px !important;
    height:3px !important;
    border-radius:999px !important;
    background:#081a31 !important;
    transform:translateX(-50%) !important;
    transition:top .22s ease, transform .22s ease, opacity .16s ease !important;
  }

  #zonaMobileMenuButton span:nth-child(1){ top:15px !important; }
  #zonaMobileMenuButton span:nth-child(2){ top:24px !important; }
  #zonaMobileMenuButton span:nth-child(3){ top:33px !important; }

  body.zona-mobile-menu-open #zonaMobileMenuButton span:nth-child(1){
    top:24px !important;
    transform:translateX(-50%) rotate(45deg) !important;
  }

  body.zona-mobile-menu-open #zonaMobileMenuButton span:nth-child(2){
    opacity:0 !important;
  }

  body.zona-mobile-menu-open #zonaMobileMenuButton span:nth-child(3){
    top:24px !important;
    transform:translateX(-50%) rotate(-45deg) !important;
  }

  #zonaMobileMenuOverlay{
    display:block !important;
    position:fixed !important;
    inset:0 !important;
    background:
      radial-gradient(circle at 18% 4%, rgba(244,220,138,.22), transparent 28%),
      radial-gradient(circle at 82% 16%, rgba(255,255,255,.10), transparent 24%),
      linear-gradient(145deg, rgba(255,255,255,.10), rgba(255,255,255,.04)),
      rgba(7,12,22,.34) !important;
    backdrop-filter:blur(30px) saturate(1.28) brightness(.88) !important;
    -webkit-backdrop-filter:blur(30px) saturate(1.28) brightness(.88) !important;
    opacity:0 !important;
    visibility:hidden !important;
    pointer-events:none !important;
    transition:opacity .32s ease, visibility .32s ease !important;
    z-index:2147483600 !important;
  }

  body.zona-mobile-menu-open #zonaMobileMenuOverlay{
    opacity:1 !important;
    visibility:visible !important;
    pointer-events:auto !important;
  }

  #zonaMobileMenuPanel{
    display:flex !important;
    flex-direction:column !important;
    position:fixed !important;
    inset:0 !important;
    width:100vw !important;
    max-width:100vw !important;
    height:100dvh !important;
    max-height:100dvh !important;
    padding:
      calc(84px + env(safe-area-inset-top))
      20px
      calc(28px + env(safe-area-inset-bottom)) !important;
    margin:0 !important;
    border:0 !important;
    border-radius:0 !important;
    background:transparent !important;
    box-shadow:none !important;
    overflow-y:auto !important;
    -webkit-overflow-scrolling:touch !important;
    opacity:0 !important;
    visibility:hidden !important;
    pointer-events:none !important;
    transform:translateY(-10px) scale(.985) !important;
    transition:opacity .32s ease, transform .32s ease, visibility .32s ease !important;
    z-index:2147483620 !important;
  }

  body.zona-mobile-menu-open #zonaMobileMenuPanel{
    opacity:1 !important;
    visibility:visible !important;
    pointer-events:auto !important;
    transform:translateY(0) scale(1) !important;
  }

  body.zona-mobile-menu-open{
    overflow:hidden !important;
  }

  #zonaMobileMenuPanel::-webkit-scrollbar{
    width:0 !important;
    display:none !important;
  }

  .zona-mobile-menu-title{
    text-align:center !important;
    color:#f4dc8a !important;
    font-family:Georgia,"Times New Roman",serif !important;
    font-size:clamp(2rem, 8vw, 3.25rem) !important;
    letter-spacing:.045em !important;
    line-height:1.05 !important;
    margin:0 auto 24px !important;
    padding:0 0 20px !important;
    width:min(640px, 100%) !important;
    border-bottom:1px solid rgba(244,220,138,.35) !important;
    text-shadow:
      0 3px 18px rgba(0,0,0,.55),
      0 0 22px rgba(212,175,55,.22) !important;
  }

  #zonaMobileMenuPanel > a,
  #zonaMobileMenuPanel .zona-mobile-submenu-toggle{
    min-height:58px !important;
    width:min(640px, 100%) !important;
    box-sizing:border-box !important;
    display:flex !important;
    align-items:center !important;
    justify-content:space-between !important;
    padding:16px 20px !important;
    margin:0 auto 12px !important;
    border-radius:22px !important;
    border:1px solid rgba(255,255,255,.20) !important;
    background:
      linear-gradient(135deg, rgba(255,255,255,.18), rgba(255,255,255,.07)) !important;
    color:#fff8df !important;
    font-family:Arial,sans-serif !important;
    font-size:1rem !important;
    font-weight:900 !important;
    letter-spacing:.045em !important;
    text-transform:uppercase !important;
    text-decoration:none !important;
    box-shadow:
      0 18px 42px rgba(0,0,0,.18),
      inset 0 1px 0 rgba(255,255,255,.22),
      inset 0 -1px 0 rgba(244,220,138,.08) !important;
    backdrop-filter:blur(18px) saturate(1.18) !important;
    -webkit-backdrop-filter:blur(18px) saturate(1.18) !important;
    transition:
      transform .18s ease,
      border-color .18s ease,
      background .18s ease,
      color .18s ease,
      box-shadow .18s ease !important;
    cursor:pointer !important;
  }

  #zonaMobileMenuPanel > a:hover,
  #zonaMobileMenuPanel > a:focus,
  #zonaMobileMenuPanel .zona-mobile-submenu-toggle:hover,
  #zonaMobileMenuPanel .zona-mobile-submenu-toggle:focus,
  #zonaMobileMenuPanel .zona-mobile-submenu-toggle.is-open{
    color:#f4dc8a !important;
    border-color:rgba(244,220,138,.48) !important;
    background:
      linear-gradient(135deg, rgba(244,220,138,.23), rgba(255,255,255,.10)) !important;
    box-shadow:
      0 22px 50px rgba(0,0,0,.25),
      0 0 24px rgba(212,175,55,.18),
      inset 0 1px 0 rgba(255,255,255,.25) !important;
    transform:translateY(-1px) !important;
  }

  #zonaMobileMenuPanel > a::after{
    content:"›" !important;
    color:#f4dc8a !important;
    font-size:1.45rem !important;
    opacity:.95 !important;
  }

  #zonaMobileMenuPanel .zona-mobile-submenu-toggle strong{
    width:32px !important;
    height:32px !important;
    min-width:32px !important;
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    border-radius:50% !important;
    background:rgba(244,220,138,.16) !important;
    border:1px solid rgba(244,220,138,.34) !important;
    color:#f4dc8a !important;
    font-size:1.15rem !important;
    line-height:1 !important;
    box-shadow:inset 0 1px 0 rgba(255,255,255,.18) !important;
  }

  #zonaMobileMenuPanel .zona-mobile-submenu{
    display:block !important;
    width:min(640px, 100%) !important;
    margin:-4px auto 14px !important;
    padding:10px !important;
    border-radius:24px !important;
    border:1px solid rgba(255,255,255,.16) !important;
    background:
      linear-gradient(135deg, rgba(255,255,255,.12), rgba(255,255,255,.045)) !important;
    box-shadow:
      0 18px 38px rgba(0,0,0,.16),
      inset 0 1px 0 rgba(255,255,255,.14) !important;
    backdrop-filter:blur(18px) saturate(1.16) !important;
    -webkit-backdrop-filter:blur(18px) saturate(1.16) !important;
  }

  #zonaMobileMenuPanel .zona-mobile-submenu[hidden]{
    display:none !important;
  }

  #zonaMobileMenuPanel .zona-mobile-submenu a{
    min-height:48px !important;
    display:flex !important;
    align-items:center !important;
    justify-content:space-between !important;
    padding:12px 16px !important;
    margin:0 0 8px !important;
    border-radius:17px !important;
    border:1px solid rgba(255,255,255,.12) !important;
    background:rgba(255,255,255,.075) !important;
    color:#fff8df !important;
    font-family:Arial,sans-serif !important;
    font-size:.96rem !important;
    font-weight:800 !important;
    letter-spacing:.015em !important;
    text-transform:none !important;
    text-decoration:none !important;
    backdrop-filter:blur(12px) !important;
    -webkit-backdrop-filter:blur(12px) !important;
  }

  #zonaMobileMenuPanel .zona-mobile-submenu a:last-child{
    margin-bottom:0 !important;
  }

  #zonaMobileMenuPanel .zona-mobile-submenu a:hover,
  #zonaMobileMenuPanel .zona-mobile-submenu a:focus{
    color:#f4dc8a !important;
    border-color:rgba(244,220,138,.36) !important;
    background:rgba(212,175,55,.16) !important;
  }

  #zonaMobileMenuPanel .zona-mobile-submenu a::after{
    content:"›" !important;
    color:#f4dc8a !important;
    font-size:1.25rem !important;
  }

  .zona-mobile-menu-divider{
    width:min(640px, 100%) !important;
    height:1px !important;
    margin:18px auto !important;
    background:
      linear-gradient(90deg, transparent, rgba(244,220,138,.62), transparent) !important;
    box-shadow:0 0 14px rgba(212,175,55,.24) !important;
  }

  #zonaMobileMenuPanel a[href="/obrero/"]{
    background:
      linear-gradient(135deg, rgba(212,175,55,.36), rgba(255,255,255,.10)) !important;
    border-color:rgba(244,220,138,.58) !important;
    color:#f4dc8a !important;
  }
}

@media(max-width:480px){
  #zonaMobileMenuButton{
    top:calc(16px + env(safe-area-inset-top)) !important;
    right:14px !important;
    width:48px !important;
    height:48px !important;
  }

  #zonaMobileMenuPanel{
    padding:
      calc(78px + env(safe-area-inset-top))
      16px
      calc(24px + env(safe-area-inset-bottom)) !important;
  }

  #zonaMobileMenuPanel > a,
  #zonaMobileMenuPanel .zona-mobile-submenu-toggle{
    min-height:56px !important;
    padding:15px 18px !important;
    border-radius:20px !important;
  }
}




/* =========================================================
   REMOVE BOTTOM WHITE DUPLICATE NAVIGATION SITEWIDE V2
   Removes raw fallback menu after footer on both desktop and mobile.
   ========================================================= */
.mobile-nav-fallback,
.footer-nav-fallback,
.duplicate-navigation,
.bottom-navigation,
.site-links-fallback,
.fallback-nav,
.plain-nav,
.mobile-footer-nav,
.footer-mobile-nav,
.bottom-links,
.bottom-nav,
#mobile-nav-fallback,
#footer-nav-fallback,
#duplicate-navigation,
#bottom-navigation,
#site-links-fallback,
#fallback-nav,
body > .mobile-nav,
body > .footer-nav,
body > .bottom-nav,
body > .plain-nav,
body > .fallback-nav{
  display:none !important;
  visibility:hidden !important;
  height:0 !important;
  max-height:0 !important;
  min-height:0 !important;
  padding:0 !important;
  margin:0 !important;
  overflow:hidden !important;
  pointer-events:none !important;
}

/* Hide accidental nav blocks that appear immediately after the footer */
footer ~ nav:not(#zonaMobileMenuPanel),
footer ~ .nav:not(#zonaMobileMenuPanel),
footer ~ .mobile-nav,
footer ~ .footer-nav,
footer ~ .bottom-nav,
footer ~ .site-nav,
footer ~ .fallback-nav,
footer ~ .plain-nav,
footer ~ .bottom-links{
  display:none !important;
}

/* The real mobile glass menu must remain visible when opened */
#zonaMobileMenuOverlay,
#zonaMobileMenuPanel,
#zonaMobileMenuButton{
  visibility:initial;
}


/* =========================================================
   DESKTOP REMOVE BOTTOM WHITE FALLBACK NAV
   Desktop + mobile safe. Keeps real header, footer, and glass mobile menu intact.
   ========================================================= */
@media (min-width:901px){
  footer ~ nav,
  footer ~ .nav,
  footer ~ .mobile-nav,
  footer ~ .footer-nav,
  footer ~ .bottom-nav,
  footer ~ .site-nav,
  footer ~ .fallback-nav,
  footer ~ .plain-nav,
  footer ~ .bottom-links,
  footer ~ .duplicate-navigation,
  footer ~ .site-links-fallback{
    display:none !important;
    visibility:hidden !important;
    height:0 !important;
    min-height:0 !important;
    max-height:0 !important;
    padding:0 !important;
    margin:0 !important;
    overflow:hidden !important;
    pointer-events:none !important;
  }

  body > nav:not(.nav):last-of-type,
  body > .bottom-nav,
  body > .plain-nav,
  body > .fallback-nav,
  body > .mobile-nav-fallback,
  body > .footer-nav-fallback{
    display:none !important;
  }
}


/* =========================================================
   PORTAL DE OBREROS MOBILE FULLSCREEN
   Mobile only. Removes surrounding box/card and makes portal full-screen.
   Everything else remains untouched.
   ========================================================= */
@media(max-width:900px){

  body[data-page="portal-obrero"]{
    min-height:100dvh !important;
    width:100% !important;
    overflow-x:hidden !important;
    background:
      radial-gradient(circle at 78% 26%, rgba(212,175,55,.34), transparent 30%),
      radial-gradient(circle at 16% 62%, rgba(255,255,255,.13), transparent 30%),
      linear-gradient(135deg, #071323 0%, #0b1f3a 48%, #2b1a0a 100%) !important;
  }

  body[data-page="portal-obrero"] .topstrip,
  body[data-page="portal-obrero"] .header,
body[data-page="portal-obrero"] footer,
body[data-page="portal-obrero"] .footer{
    display:none !important;
  }

  body[data-page="portal-obrero"] main,
  body[data-page="portal-obrero"] #portal-obreros,
  body[data-page="portal-obrero"] .portal-obreros,
  body[data-page="portal-obrero"] .obreros-portal{
    min-height:100dvh !important;
    width:100% !important;
    max-width:100% !important;
    margin:0 !important;
    padding:
      calc(28px + env(safe-area-inset-top))
      22px
      calc(30px + env(safe-area-inset-bottom)) !important;
    box-sizing:border-box !important;
    display:flex !important;
    flex-direction:column !important;
    justify-content:center !important;
    align-items:center !important;
    background:transparent !important;
    overflow:hidden !important;
  }

  body[data-page="portal-obrero"] .portal-card,
  body[data-page="portal-obrero"] .login-card,
  body[data-page="portal-obrero"] .card,
  body[data-page="portal-obrero"] form,
  body[data-page="portal-obrero"] main > div,
  body[data-page="portal-obrero"] main > section{
    width:100% !important;
    max-width:430px !important;
    margin:0 auto !important;
    padding:0 !important;
    border:0 !important;
    border-radius:0 !important;
    background:transparent !important;
    box-shadow:none !important;
    backdrop-filter:none !important;
    -webkit-backdrop-filter:none !important;
    color:#fff !important;
    text-align:center !important;
    box-sizing:border-box !important;
    position:relative !important;
    left:auto !important;
    right:auto !important;
    top:auto !important;
    transform:none !important;
  }

  body[data-page="portal-obrero"] img{
    max-width:136px !important;
    height:auto !important;
    display:block !important;
    margin:0 auto 22px !important;
    filter:
      drop-shadow(0 16px 26px rgba(0,0,0,.28))
      drop-shadow(0 0 16px rgba(212,175,55,.20)) !important;
  }

  body[data-page="portal-obrero"] h1{
    color:#f4dc8a !important;
    font-family:Georgia,"Times New Roman",serif !important;
    font-size:clamp(2.35rem, 10vw, 3.8rem) !important;
    line-height:1.02 !important;
    letter-spacing:.025em !important;
    text-align:center !important;
    margin:0 0 16px !important;
    text-shadow:
      0 4px 18px rgba(0,0,0,.46),
      0 0 22px rgba(212,175,55,.20) !important;
  }

  body[data-page="portal-obrero"] h1::after{
    content:"" !important;
    display:block !important;
    width:100% !important;
    height:1px !important;
    margin:18px auto 0 !important;
    background:linear-gradient(90deg, transparent, rgba(244,220,138,.72), transparent) !important;
    box-shadow:0 0 16px rgba(212,175,55,.24) !important;
  }

  body[data-page="portal-obrero"] p,
  body[data-page="portal-obrero"] .subtitle{
    color:rgba(255,248,223,.92) !important;
    font-family:Arial,sans-serif !important;
    font-size:1.02rem !important;
    line-height:1.55 !important;
    text-align:center !important;
    margin:0 0 26px !important;
    font-weight:600 !important;
    text-shadow:0 3px 12px rgba(0,0,0,.30) !important;
  }

  body[data-page="portal-obrero"] input,
  body[data-page="portal-obrero"] select,
  body[data-page="portal-obrero"] textarea{
    width:100% !important;
    height:56px !important;
    min-height:56px !important;
    margin:0 0 14px !important;
    padding:0 16px !important;
    border-radius:16px !important;
    border:1px solid rgba(244,220,138,.38) !important;
    background:rgba(255,255,255,.105) !important;
    color:#fff8df !important;
    font-family:Arial,sans-serif !important;
    font-size:1rem !important;
    font-weight:600 !important;
    box-shadow:
      0 12px 26px rgba(0,0,0,.16),
      inset 0 1px 0 rgba(255,255,255,.10) !important;
    outline:none !important;
    box-sizing:border-box !important;
    backdrop-filter:blur(12px) saturate(1.10) !important;
    -webkit-backdrop-filter:blur(12px) saturate(1.10) !important;
  }

  body[data-page="portal-obrero"] input::placeholder,
  body[data-page="portal-obrero"] textarea::placeholder{
    color:rgba(255,248,223,.66) !important;
  }

  body[data-page="portal-obrero"] input:focus,
  body[data-page="portal-obrero"] textarea:focus,
  body[data-page="portal-obrero"] select:focus{
    border-color:rgba(244,220,138,.82) !important;
    box-shadow:
      0 0 0 3px rgba(212,175,55,.16),
      0 0 28px rgba(212,175,55,.18),
      inset 0 1px 0 rgba(255,255,255,.12) !important;
  }

  body[data-page="portal-obrero"] button,
  body[data-page="portal-obrero"] .btn,
  body[data-page="portal-obrero"] input[type="submit"]{
    width:100% !important;
    height:56px !important;
    min-height:56px !important;
    margin:8px 0 20px !important;
    border-radius:16px !important;
    border:1.5px solid rgba(244,220,138,.72) !important;
    background:linear-gradient(135deg, #f4dc8a 0%, #d4af37 52%, #9d7418 100%) !important;
    color:#081a31 !important;
    font-family:Arial,sans-serif !important;
    font-size:.94rem !important;
    font-weight:950 !important;
    letter-spacing:.06em !important;
    text-transform:uppercase !important;
    box-shadow:
      0 16px 36px rgba(0,0,0,.30),
      0 0 26px rgba(212,175,55,.26),
      inset 0 1px 0 rgba(255,255,255,.48) !important;
  }

  body[data-page="portal-obrero"] a{
    color:#f4dc8a !important;
    text-decoration:none !important;
    font-size:1rem !important;
    font-weight:700 !important;
  }

  body[data-page="portal-obrero"] #zonaMobileMenuButton{
    display:flex !important;
  }
}

@media(max-width:480px){
  body[data-page="portal-obrero"] main,
  body[data-page="portal-obrero"] #portal-obreros,
  body[data-page="portal-obrero"] .portal-obreros,
  body[data-page="portal-obrero"] .obreros-portal{
    padding-left:20px !important;
    padding-right:20px !important;
  }

  body[data-page="portal-obrero"] img{
    max-width:120px !important;
  }
}


/* =========================================================
   PORTAL DE OBREROS MOBILE TOP-CENTER OVERRIDE
   Mobile only. Moves the full-screen portal content to the top-center.
   ========================================================= */
@media(max-width:900px){

  body[data-page="portal-obrero"] main,
  body[data-page="portal-obrero"] #portal-obreros,
  body[data-page="portal-obrero"] .portal-obreros,
  body[data-page="portal-obrero"] .obreros-portal{
    justify-content:flex-start !important;
    align-items:center !important;
    padding-top:calc(48px + env(safe-area-inset-top)) !important;
    padding-bottom:calc(30px + env(safe-area-inset-bottom)) !important;
  }

  body[data-page="portal-obrero"] .portal-card,
  body[data-page="portal-obrero"] .login-card,
  body[data-page="portal-obrero"] .card,
  body[data-page="portal-obrero"] form,
  body[data-page="portal-obrero"] main > div,
  body[data-page="portal-obrero"] main > section{
    margin-top:0 !important;
    margin-left:auto !important;
    margin-right:auto !important;
    transform:none !important;
  }
}

@media(max-width:480px){
  body[data-page="portal-obrero"] main,
  body[data-page="portal-obrero"] #portal-obreros,
  body[data-page="portal-obrero"] .portal-obreros,
  body[data-page="portal-obrero"] .obreros-portal{
    padding-top:calc(38px + env(safe-area-inset-top)) !important;
  }
}


/* PORTAL OBRERO MOBILE TRUE TOP-CENTER */
@media(max-width:900px){
  body[data-page="portal-obrero"] main,
  body[data-page="portal-obrero"] #portal-obreros,
  body[data-page="portal-obrero"] .portal-obreros,
  body[data-page="portal-obrero"] .obreros-portal{
      justify-content:flex-start !important;
      align-items:center !important;
      min-height:auto !important;
      height:auto !important;
      padding-top:calc(8px + env(safe-area-inset-top)) !important;
      margin-top:0 !important;
  }

  body[data-page="portal-obrero"] img{
      margin-top:0 !important;
      margin-bottom:12px !important;
  }
}


/* PORTAL OBRERO MOBILE FORCE TOP */
@media (max-width:900px){
  body[data-page="portal-obrero"] main,
  body[data-page="portal-obrero"] #portal-obreros,
  body[data-page="portal-obrero"] .portal-obreros,
  body[data-page="portal-obrero"] .obreros-portal{
    justify-content:flex-start !important;
    align-items:center !important;
    min-height:unset !important;
    height:auto !important;
    padding-top:0 !important;
    margin-top:0 !important;
  }

  body[data-page="portal-obrero"] .portal-card,
  body[data-page="portal-obrero"] .login-card,
  body[data-page="portal-obrero"] form{
    margin-top:0 !important;
    padding-top:0 !important;
  }

  body[data-page="portal-obrero"] img{
    margin-top:0 !important;
    margin-bottom:8px !important;
  }
}


/* =========================================================
   PORTAL DE OBREROS — MOBILE ONLY REWRITE
   Scope: /obrero mobile view only.
   Desktop remains unchanged because this section is hidden on desktop.
   ========================================================= */

/* Hidden by default and on desktop */
#portal-obrero-mobile-rewrite{
  display:none;
}

@media(max-width:900px){

  body[data-page="portal-obrero"]{
    min-height:100dvh !important;
    width:100% !important;
    overflow-x:hidden !important;
    background:
      radial-gradient(circle at 78% 22%, rgba(212,175,55,.34), transparent 31%),
      radial-gradient(circle at 18% 62%, rgba(255,255,255,.12), transparent 30%),
      linear-gradient(135deg, #071323 0%, #0b1f3a 50%, #2b1a0a 100%) !important;
  }

  /* Hide all original portal content on mobile only */
  body[data-page="portal-obrero"] > *:not(#portal-obrero-mobile-rewrite):not(#obreroAccessModal):not(#zonaMobileMenuButton):not(#zonaMobileMenuOverlay):not(#zonaMobileMenuPanel):not(script):not(style){
    display:none !important;
  }

  #portal-obrero-mobile-rewrite{
    display:flex !important;
    width:100% !important;
    min-height:100dvh !important;
    box-sizing:border-box !important;
    padding:
      calc(26px + env(safe-area-inset-top))
      24px
      calc(28px + env(safe-area-inset-bottom)) !important;
    align-items:flex-start !important;
    justify-content:center !important;
    background:transparent !important;
    color:#fff8df !important;
    overflow:hidden !important;
  }

  #portal-obrero-mobile-rewrite .pomr-inner{
    width:100% !important;
    max-width:430px !important;
    margin:0 auto !important;
    padding:0 !important;
    text-align:center !important;
    box-sizing:border-box !important;
  }

  #portal-obrero-mobile-rewrite .pomr-logo{
    display:block !important;
    width:132px !important;
    max-width:38vw !important;
    height:auto !important;
    margin:0 auto 16px !important;
    filter:
      drop-shadow(0 14px 22px rgba(0,0,0,.28))
      drop-shadow(0 0 16px rgba(212,175,55,.20)) !important;
  }

  #portal-obrero-mobile-rewrite h1{
    margin:0 !important;
    color:#f4dc8a !important;
    font-family:Georgia, "Times New Roman", serif !important;
    font-weight:400 !important;
    font-size:clamp(3rem, 13vw, 4.45rem) !important;
    line-height:1 !important;
    letter-spacing:.025em !important;
    text-align:center !important;
    text-shadow:
      0 4px 18px rgba(0,0,0,.46),
      0 0 22px rgba(212,175,55,.20) !important;
  }

  #portal-obrero-mobile-rewrite .pomr-rule{
    width:100% !important;
    height:1px !important;
    margin:18px auto 22px !important;
    background:linear-gradient(90deg, transparent, rgba(244,220,138,.70), transparent) !important;
    box-shadow:0 0 16px rgba(212,175,55,.24) !important;
  }

  #portal-obrero-mobile-rewrite p{
    margin:0 0 28px !important;
    color:rgba(255,248,223,.92) !important;
    font-family:Arial, sans-serif !important;
    font-size:1.08rem !important;
    line-height:1.45 !important;
    font-weight:700 !important;
    text-align:center !important;
    text-shadow:0 3px 12px rgba(0,0,0,.30) !important;
  }

  #portal-obrero-mobile-rewrite .pomr-form{
    width:100% !important;
    margin:0 !important;
    padding:0 !important;
    border:0 !important;
    background:transparent !important;
    box-shadow:none !important;
  }

  #portal-obrero-mobile-rewrite input{
    display:block !important;
    width:100% !important;
    height:58px !important;
    min-height:58px !important;
    margin:0 0 16px !important;
    padding:0 18px !important;
    box-sizing:border-box !important;
    border-radius:18px !important;
    border:1px solid rgba(244,220,138,.42) !important;
    background:rgba(255,255,255,.11) !important;
    color:#fff8df !important;
    font-family:Arial, sans-serif !important;
    font-size:1.05rem !important;
    font-weight:700 !important;
    outline:none !important;
    box-shadow:
      0 12px 26px rgba(0,0,0,.16),
      inset 0 1px 0 rgba(255,255,255,.11) !important;
    backdrop-filter:blur(12px) saturate(1.10) !important;
    -webkit-backdrop-filter:blur(12px) saturate(1.10) !important;
  }

  #portal-obrero-mobile-rewrite input::placeholder{
    color:rgba(255,248,223,.68) !important;
  }

  #portal-obrero-mobile-rewrite input:focus{
    border-color:rgba(244,220,138,.86) !important;
    box-shadow:
      0 0 0 3px rgba(212,175,55,.16),
      0 0 28px rgba(212,175,55,.18),
      inset 0 1px 0 rgba(255,255,255,.12) !important;
  }

  #portal-obrero-mobile-rewrite button{
    display:block !important;
    width:100% !important;
    height:58px !important;
    min-height:58px !important;
    margin:10px 0 24px !important;
    border-radius:18px !important;
    border:1.5px solid rgba(244,220,138,.72) !important;
    background:linear-gradient(135deg, #f4dc8a 0%, #d4af37 52%, #9d7418 100%) !important;
    color:#081a31 !important;
    font-family:Arial, sans-serif !important;
    font-size:1rem !important;
    font-weight:950 !important;
    letter-spacing:.06em !important;
    text-transform:uppercase !important;
    box-shadow:
      0 16px 36px rgba(0,0,0,.30),
      0 0 26px rgba(212,175,55,.26),
      inset 0 1px 0 rgba(255,255,255,.48) !important;
  }

  #portal-obrero-mobile-rewrite .pomr-home{
    display:inline-block !important;
    color:#f4dc8a !important;
    font-family:Arial, sans-serif !important;
    font-size:1.08rem !important;
    font-weight:800 !important;
    text-decoration:none !important;
    text-align:center !important;
    text-shadow:0 3px 12px rgba(0,0,0,.30) !important;
  }

  body[data-page="portal-obrero"] #zonaMobileMenuButton{
    display:flex !important;
  }
}

@media(max-width:480px){
  #portal-obrero-mobile-rewrite{
    padding:
      calc(18px + env(safe-area-inset-top))
      22px
      calc(24px + env(safe-area-inset-bottom)) !important;
  }

  #portal-obrero-mobile-rewrite .pomr-logo{
    width:118px !important;
    margin-bottom:14px !important;
  }

  #portal-obrero-mobile-rewrite h1{
    font-size:clamp(2.75rem, 12.4vw, 4rem) !important;
  }
}


/* =========================================================
   OBRERO PORTAL LOGIN FUNCTION + DASHBOARD
   ========================================================= */
.obrero-login-message{
  margin-top:14px;
  min-height:22px;
  font-family:Arial,sans-serif;
  font-weight:800;
  text-align:center;
  color:#f4dc8a;
}
.obrero-login-message[data-type="error"]{color:#ffd6d6;}
.obrero-login-message[data-type="success"]{color:#dfffe3;}

body[data-page="portal-obrero-dashboard"]{
  min-height:100dvh;
  background:
    radial-gradient(circle at 82% 24%, rgba(212,175,55,.32), transparent 30%),
    linear-gradient(135deg,#071323,#0b1f3a 50%,#2b1a0a);
  color:#fff8df;
}
#portal-obrero-dashboard{
  min-height:100dvh;
  padding:34px 20px;
  display:flex;
  align-items:flex-start;
  justify-content:center;
  box-sizing:border-box;
}
.obrero-dashboard-shell{
  width:min(980px,100%);
}
.obrero-dashboard-header{
  text-align:center;
  margin-bottom:24px;
}
.obrero-dashboard-header h1{
  font-family:Georgia,"Times New Roman",serif;
  color:#f4dc8a;
  font-size:clamp(2.2rem,7vw,4rem);
  margin:0 0 10px;
}
.obrero-dashboard-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:18px;
}
.obrero-dashboard-card{
  padding:22px;
  border:1px solid rgba(244,220,138,.42);
  border-radius:22px;
  background:rgba(255,255,255,.10);
  backdrop-filter:blur(16px);
  box-shadow:0 18px 44px rgba(0,0,0,.22);
}
.obrero-dashboard-card h2{
  color:#f4dc8a;
  margin-top:0;
}
.obrero-dashboard-card a{
  display:block;
  margin:10px 0;
  color:#f4dc8a;
  font-weight:900;
  text-decoration:none;
}
.obrero-logout-btn{
  margin:24px auto 0;
  display:block;
  width:min(320px,100%);
  min-height:54px;
  border:0;
  border-radius:16px;
  background:linear-gradient(135deg,#f4dc8a,#d4af37,#9d7418);
  color:#081a31;
  font-weight:950;
  text-transform:uppercase;
}
@media(max-width:900px){
  .obrero-dashboard-grid{grid-template-columns:1fr;}
  #portal-obrero-dashboard{padding-top:24px;}
}


/* =========================================================
   OBRERO PORTAL ACCESS BUTTONS + MODALS
   ========================================================= */
.obrero-password-wrap{
  position:relative !important;
  width:100% !important;
}
.obrero-password-wrap input{
  padding-right:86px !important;
}
.obrero-password-toggle{
  position:absolute !important;
  right:10px !important;
  top:50% !important;
  transform:translateY(-50%) !important;
  width:auto !important;
  min-width:64px !important;
  height:36px !important;
  min-height:36px !important;
  margin:0 !important;
  padding:0 12px !important;
  border-radius:999px !important;
  border:1px solid rgba(244,220,138,.45) !important;
  background:rgba(244,220,138,.16) !important;
  color:#f4dc8a !important;
  font-size:.78rem !important;
  font-weight:900 !important;
  letter-spacing:.04em !important;
  text-transform:uppercase !important;
  box-shadow:none !important;
}

.obrero-access-actions{
  width:100% !important;
  max-width:430px !important;
  margin:16px auto 0 !important;
  display:grid !important;
  grid-template-columns:1fr !important;
  gap:10px !important;
}
.obrero-access-actions button{
  width:100% !important;
  min-height:48px !important;
  border-radius:15px !important;
  border:1px solid rgba(244,220,138,.36) !important;
  background:rgba(255,255,255,.08) !important;
  color:#f4dc8a !important;
  font-weight:900 !important;
  letter-spacing:.035em !important;
  text-transform:uppercase !important;
}

.obrero-access-modal[hidden]{
  display:none !important;
}
.obrero-access-modal{
  position:fixed !important;
  inset:0 !important;
  z-index:2147483646 !important;
  display:flex !important;
  align-items:flex-start !important;
  justify-content:center !important;
  padding:calc(34px + env(safe-area-inset-top)) 18px 24px !important;
  box-sizing:border-box !important;
}
.obrero-access-backdrop{
  position:absolute !important;
  inset:0 !important;
  background:rgba(3,8,18,.72) !important;
  backdrop-filter:blur(22px) saturate(1.2) !important;
  -webkit-backdrop-filter:blur(22px) saturate(1.2) !important;
}
.obrero-access-panel{
  position:relative !important;
  width:min(480px,100%) !important;
  max-height:calc(100dvh - 70px) !important;
  overflow-y:auto !important;
  padding:26px 20px !important;
  border-radius:26px !important;
  border:1.5px solid rgba(244,220,138,.65) !important;
  background:
    radial-gradient(circle at 18% 0%, rgba(244,220,138,.20), transparent 30%),
    linear-gradient(145deg, rgba(8,26,49,.96), rgba(43,26,10,.94)) !important;
  color:#fff8df !important;
  box-shadow:0 34px 86px rgba(0,0,0,.46), 0 0 42px rgba(212,175,55,.20) !important;
}
.obrero-access-close{
  position:absolute !important;
  right:14px !important;
  top:12px !important;
  width:38px !important;
  height:38px !important;
  min-height:38px !important;
  border-radius:50% !important;
  border:1px solid rgba(244,220,138,.38) !important;
  background:rgba(255,255,255,.10) !important;
  color:#f4dc8a !important;
  font-size:1.5rem !important;
  line-height:1 !important;
}
.obrero-access-panel h2{
  margin:8px 42px 10px !important;
  color:#f4dc8a !important;
  font-family:Georgia,"Times New Roman",serif !important;
  text-align:center !important;
  font-size:2rem !important;
}
.obrero-access-panel p{
  color:rgba(255,248,223,.88) !important;
  text-align:center !important;
  line-height:1.55 !important;
}
.obrero-access-panel input{
  width:100% !important;
  min-height:52px !important;
  margin:0 0 12px !important;
  padding:0 15px !important;
  box-sizing:border-box !important;
  border-radius:14px !important;
  border:1px solid rgba(244,220,138,.34) !important;
  background:rgba(255,255,255,.10) !important;
  color:#fff8df !important;
}
.obrero-access-panel button[type="submit"]{
  width:100% !important;
  min-height:54px !important;
  border-radius:15px !important;
  border:1.5px solid rgba(244,220,138,.72) !important;
  background:linear-gradient(135deg,#f4dc8a,#d4af37,#9d7418) !important;
  color:#081a31 !important;
  font-weight:950 !important;
  text-transform:uppercase !important;
}
body.obrero-modal-open{
  overflow:hidden !important;
}


/* =========================================================
   OBRERO PORTAL MOBILE CLEAN LAYOUT
   Fixes password visibility button and secondary access actions.
   Mobile only. Desktop untouched.
   ========================================================= */
@media(max-width:900px){

  #portal-obrero-mobile-rewrite{
    padding:
      calc(16px + env(safe-area-inset-top))
      22px
      calc(24px + env(safe-area-inset-bottom)) !important;
  }

  #portal-obrero-mobile-rewrite .pomr-inner{
    max-width:430px !important;
  }

  #portal-obrero-mobile-rewrite .pomr-logo{
    width:104px !important;
    max-width:30vw !important;
    margin-bottom:10px !important;
  }

  #portal-obrero-mobile-rewrite h1{
    font-size:clamp(2.65rem, 10vw, 3.75rem) !important;
    line-height:1 !important;
    margin-bottom:0 !important;
  }

  #portal-obrero-mobile-rewrite .pomr-rule{
    margin:14px auto 18px !important;
  }

  #portal-obrero-mobile-rewrite p{
    margin-bottom:20px !important;
    font-size:1rem !important;
  }

  #portal-obrero-mobile-rewrite input{
    height:56px !important;
    min-height:56px !important;
    margin-bottom:12px !important;
    border-radius:16px !important;
  }

  /* Make password area clean */
  #portal-obrero-mobile-rewrite .obrero-password-wrap{
    position:relative !important;
    width:100% !important;
    margin:0 0 12px !important;
  }

  #portal-obrero-mobile-rewrite .obrero-password-wrap input{
    margin:0 !important;
    padding-right:86px !important;
  }

  #portal-obrero-mobile-rewrite .obrero-password-toggle{
    position:absolute !important;
    right:10px !important;
    top:50% !important;
    transform:translateY(-50%) !important;
    width:auto !important;
    min-width:58px !important;
    max-width:72px !important;
    height:34px !important;
    min-height:34px !important;
    margin:0 !important;
    padding:0 11px !important;
    border-radius:999px !important;
    border:1px solid rgba(244,220,138,.42) !important;
    background:rgba(244,220,138,.12) !important;
    color:#f4dc8a !important;
    font-size:.72rem !important;
    font-weight:900 !important;
    letter-spacing:.04em !important;
    text-transform:uppercase !important;
    box-shadow:
      inset 0 1px 0 rgba(255,255,255,.12),
      0 6px 14px rgba(0,0,0,.12) !important;
  }

  /* Only ENTRAR stays as the primary gold button */
  #portal-obrero-mobile-rewrite .pomr-form > button[type="submit"],
  #portal-obrero-mobile-rewrite .pomr-form > button:not(.obrero-password-toggle){
    height:56px !important;
    min-height:56px !important;
    margin:10px 0 18px !important;
    border-radius:17px !important;
  }

  .obrero-access-actions{
    width:100% !important;
    max-width:430px !important;
    margin:6px auto 18px !important;
    display:grid !important;
    grid-template-columns:1fr !important;
    gap:11px !important;
  }

  .obrero-access-divider{
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    gap:12px !important;
    margin:4px 0 2px !important;
    color:rgba(244,220,138,.88) !important;
    font-family:Arial,sans-serif !important;
    font-size:.78rem !important;
    font-weight:900 !important;
    letter-spacing:.08em !important;
    text-transform:uppercase !important;
  }

  .obrero-access-divider::before,
  .obrero-access-divider::after{
    content:"" !important;
    height:1px !important;
    flex:1 !important;
    background:linear-gradient(90deg, transparent, rgba(244,220,138,.50)) !important;
  }

  .obrero-access-divider::after{
    background:linear-gradient(90deg, rgba(244,220,138,.50), transparent) !important;
  }

  .obrero-access-actions button{
    width:100% !important;
    min-height:58px !important;
    height:auto !important;
    margin:0 !important;
    padding:11px 16px !important;
    border-radius:17px !important;
    border:1px solid rgba(244,220,138,.34) !important;
    background:
      linear-gradient(135deg, rgba(255,255,255,.115), rgba(255,255,255,.045)) !important;
    color:#fff8df !important;
    box-shadow:
      0 12px 28px rgba(0,0,0,.16),
      inset 0 1px 0 rgba(255,255,255,.10) !important;
    backdrop-filter:blur(12px) saturate(1.10) !important;
    -webkit-backdrop-filter:blur(12px) saturate(1.10) !important;
    text-align:left !important;
    display:flex !important;
    flex-direction:column !important;
    justify-content:center !important;
    gap:3px !important;
  }

  .obrero-access-actions button strong{
    color:#f4dc8a !important;
    font-size:.92rem !important;
    font-weight:950 !important;
    letter-spacing:.055em !important;
    text-transform:uppercase !important;
  }

  .obrero-access-actions button small{
    color:rgba(255,248,223,.72) !important;
    font-size:.76rem !important;
    font-weight:700 !important;
    letter-spacing:.01em !important;
    text-transform:none !important;
  }

  #portal-obrero-mobile-rewrite .pomr-home{
    margin-top:2px !important;
    font-size:1rem !important;
  }
}

@media(max-width:480px){
  #portal-obrero-mobile-rewrite{
    padding:
      calc(10px + env(safe-area-inset-top))
      20px
      calc(22px + env(safe-area-inset-bottom)) !important;
  }

  #portal-obrero-mobile-rewrite .pomr-logo{
    width:94px !important;
  }

  #portal-obrero-mobile-rewrite h1{
    font-size:clamp(2.5rem, 9.8vw, 3.45rem) !important;
  }

  .obrero-access-actions button{
    min-height:56px !important;
  }
}


/* =========================================================
   OBRERO PORTAL DESKTOP ACCESS FUNCTIONS
   Adds desktop styling for Ver, Registrarse, Recuperar Acceso,
   and Restablecer Contraseña. Mobile styling remains unchanged.
   ========================================================= */
@media(min-width:901px){

  body[data-page="portal-obrero"] .obrero-password-wrap{
    position:relative !important;
    width:100% !important;
    margin:0 0 12px !important;
  }

  body[data-page="portal-obrero"] .obrero-password-wrap input{
    padding-right:84px !important;
    margin-bottom:0 !important;
  }

  body[data-page="portal-obrero"] .obrero-password-toggle{
    position:absolute !important;
    right:10px !important;
    top:50% !important;
    transform:translateY(-50%) !important;
    width:auto !important;
    min-width:58px !important;
    height:32px !important;
    min-height:32px !important;
    margin:0 !important;
    padding:0 12px !important;
    border-radius:999px !important;
    border:1px solid rgba(244,220,138,.44) !important;
    background:rgba(244,220,138,.14) !important;
    color:#f4dc8a !important;
    font-size:.72rem !important;
    font-weight:900 !important;
    letter-spacing:.04em !important;
    text-transform:uppercase !important;
    box-shadow:none !important;
  }

  body[data-page="portal-obrero"] .obrero-access-actions{
    width:100% !important;
    max-width:100% !important;
    margin:18px auto 0 !important;
    display:grid !important;
    grid-template-columns:1fr !important;
    gap:10px !important;
  }

  body[data-page="portal-obrero"] .obrero-access-divider{
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    gap:10px !important;
    margin:4px 0 2px !important;
    color:rgba(244,220,138,.86) !important;
    font-family:Arial,sans-serif !important;
    font-size:.72rem !important;
    font-weight:900 !important;
    letter-spacing:.08em !important;
    text-transform:uppercase !important;
  }

  body[data-page="portal-obrero"] .obrero-access-divider::before,
  body[data-page="portal-obrero"] .obrero-access-divider::after{
    content:"" !important;
    height:1px !important;
    flex:1 !important;
    background:linear-gradient(90deg, transparent, rgba(244,220,138,.50)) !important;
  }

  body[data-page="portal-obrero"] .obrero-access-divider::after{
    background:linear-gradient(90deg, rgba(244,220,138,.50), transparent) !important;
  }

  body[data-page="portal-obrero"] .obrero-access-actions button{
    width:100% !important;
    min-height:48px !important;
    height:auto !important;
    margin:0 !important;
    padding:10px 14px !important;
    border-radius:8px !important;
    border:1px solid rgba(244,220,138,.36) !important;
    background:
      linear-gradient(135deg, rgba(255,255,255,.12), rgba(255,255,255,.05)) !important;
    color:#fff8df !important;
    box-shadow:
      0 10px 24px rgba(0,0,0,.16),
      inset 0 1px 0 rgba(255,255,255,.10) !important;
    text-align:left !important;
    display:flex !important;
    flex-direction:column !important;
    justify-content:center !important;
    gap:2px !important;
  }

  body[data-page="portal-obrero"] .obrero-access-actions button strong{
    color:#f4dc8a !important;
    font-size:.82rem !important;
    font-weight:950 !important;
    letter-spacing:.05em !important;
    text-transform:uppercase !important;
  }

  body[data-page="portal-obrero"] .obrero-access-actions button small{
    color:rgba(255,248,223,.72) !important;
    font-size:.70rem !important;
    font-weight:700 !important;
    letter-spacing:.01em !important;
    text-transform:none !important;
  }

  body[data-page="portal-obrero"] .obrero-access-actions button:hover{
    border-color:rgba(244,220,138,.62) !important;
    background:
      linear-gradient(135deg, rgba(212,175,55,.20), rgba(255,255,255,.07)) !important;
    transform:translateY(-1px) !important;
  }

  body[data-page="portal-obrero"] .obrero-access-modal{
    align-items:center !important;
    padding:34px !important;
  }

  body[data-page="portal-obrero"] .obrero-access-panel{
    width:min(520px, 92vw) !important;
    border-radius:14px !important;
    padding:30px 26px !important;
  }
}


/* =========================================================
   OBRERO PORTAL ACCESS FUNCTIONS V2
   Works on desktop and mobile Portal de Obreros.
   ========================================================= */

/* Password field wrapper */
body[data-page="portal-obrero"] .obrero-password-wrap{
  position:relative !important;
  width:100% !important;
  margin:0 0 12px !important;
}

body[data-page="portal-obrero"] .obrero-password-wrap input{
  margin:0 !important;
  padding-right:86px !important;
}

body[data-page="portal-obrero"] .obrero-password-toggle{
  position:absolute !important;
  right:10px !important;
  top:50% !important;
  transform:translateY(-50%) !important;
  width:auto !important;
  min-width:58px !important;
  max-width:76px !important;
  height:34px !important;
  min-height:34px !important;
  margin:0 !important;
  padding:0 11px !important;
  border-radius:999px !important;
  border:1px solid rgba(244,220,138,.44) !important;
  background:rgba(244,220,138,.14) !important;
  color:#f4dc8a !important;
  font-size:.72rem !important;
  font-weight:900 !important;
  letter-spacing:.04em !important;
  text-transform:uppercase !important;
  box-shadow:0 6px 14px rgba(0,0,0,.12), inset 0 1px 0 rgba(255,255,255,.12) !important;
  z-index:3 !important;
}

/* Access actions */
body[data-page="portal-obrero"] .obrero-access-actions{
  width:100% !important;
  max-width:430px !important;
  margin:16px auto 18px !important;
  display:grid !important;
  grid-template-columns:1fr !important;
  gap:10px !important;
}

body[data-page="portal-obrero"] .obrero-access-divider{
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  gap:10px !important;
  margin:4px 0 2px !important;
  color:rgba(244,220,138,.88) !important;
  font-family:Arial,sans-serif !important;
  font-size:.76rem !important;
  font-weight:900 !important;
  letter-spacing:.08em !important;
  text-transform:uppercase !important;
}

body[data-page="portal-obrero"] .obrero-access-divider::before,
body[data-page="portal-obrero"] .obrero-access-divider::after{
  content:"" !important;
  height:1px !important;
  flex:1 !important;
  background:linear-gradient(90deg, transparent, rgba(244,220,138,.50)) !important;
}

body[data-page="portal-obrero"] .obrero-access-divider::after{
  background:linear-gradient(90deg, rgba(244,220,138,.50), transparent) !important;
}

body[data-page="portal-obrero"] .obrero-access-actions button{
  width:100% !important;
  min-height:54px !important;
  height:auto !important;
  margin:0 !important;
  padding:10px 15px !important;
  border-radius:14px !important;
  border:1px solid rgba(244,220,138,.36) !important;
  background:linear-gradient(135deg, rgba(255,255,255,.115), rgba(255,255,255,.045)) !important;
  color:#fff8df !important;
  box-shadow:0 12px 28px rgba(0,0,0,.16), inset 0 1px 0 rgba(255,255,255,.10) !important;
  text-align:left !important;
  display:flex !important;
  flex-direction:column !important;
  justify-content:center !important;
  gap:3px !important;
}

body[data-page="portal-obrero"] .obrero-access-actions button strong{
  color:#f4dc8a !important;
  font-size:.88rem !important;
  font-weight:950 !important;
  letter-spacing:.055em !important;
  text-transform:uppercase !important;
}

body[data-page="portal-obrero"] .obrero-access-actions button small{
  color:rgba(255,248,223,.72) !important;
  font-size:.74rem !important;
  font-weight:700 !important;
  letter-spacing:.01em !important;
  text-transform:none !important;
}

/* Modal */
.obrero-access-modal[hidden]{
  display:none !important;
}

.obrero-access-modal{
  position:fixed !important;
  inset:0 !important;
  z-index:2147483646 !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  padding:24px !important;
  box-sizing:border-box !important;
}

.obrero-access-backdrop{
  position:absolute !important;
  inset:0 !important;
  background:rgba(3,8,18,.72) !important;
  backdrop-filter:blur(22px) saturate(1.2) !important;
  -webkit-backdrop-filter:blur(22px) saturate(1.2) !important;
}

.obrero-access-panel{
  position:relative !important;
  width:min(520px, 100%) !important;
  max-height:calc(100dvh - 54px) !important;
  overflow-y:auto !important;
  padding:28px 22px !important;
  border-radius:22px !important;
  border:1.5px solid rgba(244,220,138,.65) !important;
  background:radial-gradient(circle at 18% 0%, rgba(244,220,138,.20), transparent 30%),
             linear-gradient(145deg, rgba(8,26,49,.96), rgba(43,26,10,.94)) !important;
  color:#fff8df !important;
  box-shadow:0 34px 86px rgba(0,0,0,.46), 0 0 42px rgba(212,175,55,.20) !important;
}

.obrero-access-close{
  position:absolute !important;
  right:14px !important;
  top:12px !important;
  width:38px !important;
  height:38px !important;
  min-height:38px !important;
  border-radius:50% !important;
  border:1px solid rgba(244,220,138,.38) !important;
  background:rgba(255,255,255,.10) !important;
  color:#f4dc8a !important;
  font-size:1.5rem !important;
  line-height:1 !important;
}

.obrero-access-panel h2{
  margin:8px 42px 10px !important;
  color:#f4dc8a !important;
  font-family:Georgia,"Times New Roman",serif !important;
  text-align:center !important;
  font-size:2rem !important;
}

.obrero-access-panel p{
  color:rgba(255,248,223,.88) !important;
  text-align:center !important;
  line-height:1.55 !important;
}

.obrero-access-panel input{
  width:100% !important;
  min-height:52px !important;
  margin:0 0 12px !important;
  padding:0 15px !important;
  box-sizing:border-box !important;
  border-radius:14px !important;
  border:1px solid rgba(244,220,138,.34) !important;
  background:rgba(255,255,255,.10) !important;
  color:#fff8df !important;
}

.obrero-access-panel button[type="submit"]{
  width:100% !important;
  min-height:54px !important;
  border-radius:15px !important;
  border:1.5px solid rgba(244,220,138,.72) !important;
  background:linear-gradient(135deg,#f4dc8a,#d4af37,#9d7418) !important;
  color:#081a31 !important;
  font-weight:950 !important;
  text-transform:uppercase !important;
}

body.obrero-modal-open{
  overflow:hidden !important;
}

.obrero-login-message{
  margin-top:12px !important;
  min-height:22px !important;
  font-family:Arial,sans-serif !important;
  font-weight:800 !important;
  text-align:center !important;
  color:#f4dc8a !important;
}

.obrero-login-message[data-type="error"]{color:#ffd6d6 !important;}
.obrero-login-message[data-type="success"]{color:#dfffe3 !important;}


/* =========================================================
   DESKTOP OBRERO PORTAL HARDCODED ACCESS CONTROLS
   ========================================================= */
@media(min-width:901px){
  body[data-page="portal-obrero"] .desktop-obrero-password-wrap,
  body[data-page="portal-obrero"] .obrero-password-wrap{
    position:relative !important;
    width:100% !important;
    margin:0 0 14px !important;
  }

  body[data-page="portal-obrero"] .desktop-obrero-password-wrap input,
  body[data-page="portal-obrero"] .obrero-password-wrap input{
    width:100% !important;
    padding-right:86px !important;
    margin:0 !important;
    box-sizing:border-box !important;
  }

  body[data-page="portal-obrero"] .obrero-password-toggle{
    position:absolute !important;
    right:9px !important;
    top:50% !important;
    transform:translateY(-50%) !important;
    width:62px !important;
    height:30px !important;
    min-height:30px !important;
    margin:0 !important;
    padding:0 !important;
    border-radius:999px !important;
    border:1px solid rgba(244,220,138,.45) !important;
    background:rgba(244,220,138,.16) !important;
    color:#f4dc8a !important;
    font-size:.70rem !important;
    font-weight:900 !important;
    letter-spacing:.04em !important;
    text-transform:uppercase !important;
    box-shadow:none !important;
    z-index:5 !important;
  }

  body[data-page="portal-obrero"] .desktop-obrero-access-actions,
  body[data-page="portal-obrero"] .obrero-access-actions{
    display:grid !important;
    grid-template-columns:1fr !important;
    gap:9px !important;
    width:100% !important;
    margin:16px 0 0 !important;
  }

  body[data-page="portal-obrero"] .obrero-access-divider{
    display:flex !important;
    align-items:center !important;
    gap:10px !important;
    color:rgba(244,220,138,.9) !important;
    font-size:.68rem !important;
    font-weight:900 !important;
    letter-spacing:.08em !important;
    text-transform:uppercase !important;
    margin:0 0 2px !important;
  }

  body[data-page="portal-obrero"] .obrero-access-divider:before,
  body[data-page="portal-obrero"] .obrero-access-divider:after{
    content:"" !important;
    flex:1 !important;
    height:1px !important;
    background:rgba(244,220,138,.40) !important;
  }

  body[data-page="portal-obrero"] .desktop-obrero-access-actions button,
  body[data-page="portal-obrero"] .obrero-access-actions button{
    display:flex !important;
    flex-direction:column !important;
    justify-content:center !important;
    align-items:flex-start !important;
    width:100% !important;
    min-height:46px !important;
    height:auto !important;
    margin:0 !important;
    padding:9px 13px !important;
    border-radius:7px !important;
    border:1px solid rgba(244,220,138,.36) !important;
    background:linear-gradient(135deg, rgba(255,255,255,.11), rgba(255,255,255,.045)) !important;
    color:#fff8df !important;
    text-align:left !important;
    box-shadow:0 8px 18px rgba(0,0,0,.14) !important;
  }

  body[data-page="portal-obrero"] .desktop-obrero-access-actions button strong,
  body[data-page="portal-obrero"] .obrero-access-actions button strong{
    color:#f4dc8a !important;
    font-size:.76rem !important;
    font-weight:950 !important;
    letter-spacing:.05em !important;
    text-transform:uppercase !important;
  }

  body[data-page="portal-obrero"] .desktop-obrero-access-actions button small,
  body[data-page="portal-obrero"] .obrero-access-actions button small{
    color:rgba(255,248,223,.72) !important;
    font-size:.66rem !important;
    font-weight:700 !important;
  }
}

.obrero-access-modal[hidden]{display:none !important;}
.obrero-access-modal{position:fixed !important; inset:0 !important; z-index:2147483646 !important; display:flex !important; align-items:center !important; justify-content:center !important; padding:24px !important;}
.obrero-access-backdrop{position:absolute !important; inset:0 !important; background:rgba(3,8,18,.72) !important; backdrop-filter:blur(22px) !important;}
.obrero-access-panel{position:relative !important; width:min(520px,100%) !important; max-height:calc(100dvh - 54px) !important; overflow-y:auto !important; padding:28px 22px !important; border-radius:18px !important; border:1.5px solid rgba(244,220,138,.65) !important; background:linear-gradient(145deg, rgba(8,26,49,.96), rgba(43,26,10,.94)) !important; color:#fff8df !important; box-shadow:0 34px 86px rgba(0,0,0,.46) !important;}
.obrero-access-close{position:absolute !important; right:14px !important; top:12px !important; width:38px !important; height:38px !important; border-radius:50% !important; border:1px solid rgba(244,220,138,.38) !important; background:rgba(255,255,255,.10) !important; color:#f4dc8a !important; font-size:1.5rem !important;}
.obrero-access-panel h2{margin:8px 42px 10px !important; color:#f4dc8a !important; font-family:Georgia,"Times New Roman",serif !important; text-align:center !important; font-size:2rem !important;}
.obrero-access-panel p{text-align:center !important; color:rgba(255,248,223,.88) !important;}
.obrero-access-panel input{width:100% !important; min-height:52px !important; margin:0 0 12px !important; padding:0 15px !important; box-sizing:border-box !important; border-radius:14px !important; border:1px solid rgba(244,220,138,.34) !important; background:rgba(255,255,255,.10) !important; color:#fff8df !important;}
.obrero-access-panel button[type="submit"]{width:100% !important; min-height:54px !important; border-radius:15px !important; border:1.5px solid rgba(244,220,138,.72) !important; background:linear-gradient(135deg,#f4dc8a,#d4af37,#9d7418) !important; color:#081a31 !important; font-weight:950 !important; text-transform:uppercase !important;}
.obrero-login-message{margin-top:12px !important; min-height:22px !important; font-family:Arial,sans-serif !important; font-weight:800 !important; text-align:center !important; color:#f4dc8a !important;}
.obrero-login-message[data-type="error"]{color:#ffd6d6 !important;}
.obrero-login-message[data-type="success"]{color:#dfffe3 !important;}


/* =========================================================
   OBRERO PORTAL DESKTOP REBUILT ACCESS PAGE
   Desktop-only rebuild. Mobile rewrite stays separate.
   ========================================================= */
#portal-obrero-desktop-rebuild{display:none;}
@media(min-width:901px){
  body[data-page="portal-obrero"]{min-height:100vh!important;overflow-x:hidden!important;background:radial-gradient(circle at 78% 38%,rgba(212,175,55,.30),transparent 30%),radial-gradient(circle at 18% 60%,rgba(255,255,255,.10),transparent 28%),linear-gradient(135deg,#071323 0%,#0b1f3a 48%,#2b1a0a 100%)!important;}
  body[data-page="portal-obrero"] #portal-obrero-mobile-rewrite{display:none!important;}
  body[data-page="portal-obrero"] #portal-obrero-desktop-rebuild{display:flex!important;min-height:100vh!important;align-items:center!important;justify-content:center!important;padding:44px 24px!important;box-sizing:border-box!important;}
  body[data-page="portal-obrero"] .pod-card{width:460px!important;max-width:460px!important;padding:34px 30px 28px!important;border-radius:9px!important;border:1px solid rgba(244,220,138,.62)!important;background:rgba(255,255,255,.13)!important;box-shadow:0 34px 78px rgba(0,0,0,.34),inset 0 1px 0 rgba(255,255,255,.12)!important;backdrop-filter:blur(13px) saturate(1.08)!important;-webkit-backdrop-filter:blur(13px) saturate(1.08)!important;text-align:center!important;box-sizing:border-box!important;}
  body[data-page="portal-obrero"] .pod-logo{display:block!important;width:128px!important;height:auto!important;margin:0 auto 16px!important;}
  body[data-page="portal-obrero"] .pod-card h1{color:#0b1f3a!important;font-family:Georgia,"Times New Roman",serif!important;font-size:2.05rem!important;font-weight:600!important;line-height:1.05!important;margin:0 0 18px!important;text-shadow:none!important;}
  body[data-page="portal-obrero"] .pod-card p{color:#fff8df!important;font-family:Arial,sans-serif!important;font-size:1rem!important;font-weight:800!important;margin:0 0 20px!important;}
  body[data-page="portal-obrero"] .pod-form{margin:0!important;padding:0!important;border:0!important;background:transparent!important;box-shadow:none!important;}
  body[data-page="portal-obrero"] .pod-form input{width:100%!important;height:48px!important;min-height:48px!important;margin:0 0 13px!important;padding:0 14px!important;box-sizing:border-box!important;border-radius:0!important;border:1px solid rgba(255,255,255,.72)!important;background:rgba(255,255,255,.12)!important;color:#fff!important;font-size:.95rem!important;font-weight:700!important;outline:none!important;}
  body[data-page="portal-obrero"] .pod-form input::placeholder{color:rgba(255,255,255,.82)!important;}
  body[data-page="portal-obrero"] .obrero-password-wrap{position:relative!important;width:100%!important;margin:0 0 13px!important;}
  body[data-page="portal-obrero"] .obrero-password-wrap input{margin:0!important;padding-right:78px!important;}
  body[data-page="portal-obrero"] .obrero-password-toggle{position:absolute!important;right:8px!important;top:50%!important;transform:translateY(-50%)!important;width:58px!important;height:30px!important;min-height:30px!important;margin:0!important;padding:0!important;border-radius:999px!important;border:1px solid rgba(244,220,138,.45)!important;background:rgba(244,220,138,.18)!important;color:#f4dc8a!important;font-size:.70rem!important;font-weight:900!important;text-transform:uppercase!important;box-shadow:none!important;}
  body[data-page="portal-obrero"] .pod-submit{width:100%!important;height:48px!important;min-height:48px!important;margin:2px 0 16px!important;border:0!important;border-radius:4px!important;background:linear-gradient(90deg,#f4dc8a,#d4af37,#f4dc8a)!important;color:#2b1a0a!important;font-weight:950!important;letter-spacing:.04em!important;text-transform:uppercase!important;}
  body[data-page="portal-obrero"] .obrero-access-actions{width:100%!important;display:grid!important;grid-template-columns:1fr!important;gap:9px!important;margin:14px 0 18px!important;}
  body[data-page="portal-obrero"] .obrero-access-divider{display:flex!important;align-items:center!important;justify-content:center!important;gap:10px!important;color:rgba(244,220,138,.92)!important;font-size:.70rem!important;font-weight:900!important;letter-spacing:.08em!important;text-transform:uppercase!important;}
  body[data-page="portal-obrero"] .obrero-access-divider:before,body[data-page="portal-obrero"] .obrero-access-divider:after{content:""!important;flex:1!important;height:1px!important;background:rgba(244,220,138,.42)!important;}
  body[data-page="portal-obrero"] .obrero-access-actions button{width:100%!important;min-height:48px!important;margin:0!important;padding:9px 13px!important;border-radius:7px!important;border:1px solid rgba(244,220,138,.35)!important;background:linear-gradient(135deg,rgba(255,255,255,.10),rgba(255,255,255,.04))!important;color:#fff8df!important;text-align:left!important;display:flex!important;flex-direction:column!important;justify-content:center!important;gap:2px!important;box-shadow:0 8px 20px rgba(0,0,0,.14)!important;}
  body[data-page="portal-obrero"] .obrero-access-actions button strong{color:#f4dc8a!important;font-size:.78rem!important;font-weight:950!important;letter-spacing:.05em!important;text-transform:uppercase!important;}
  body[data-page="portal-obrero"] .obrero-access-actions button small{color:rgba(255,248,223,.74)!important;font-size:.68rem!important;font-weight:700!important;}
  body[data-page="portal-obrero"] .pod-home{color:#f4dc8a!important;font-size:1rem!important;font-weight:900!important;text-decoration:none!important;}
}
.obrero-access-modal[hidden]{display:none!important;}
.obrero-access-modal{position:fixed!important;inset:0!important;z-index:2147483646!important;display:flex!important;align-items:center!important;justify-content:center!important;padding:24px!important;}
.obrero-access-backdrop{position:absolute!important;inset:0!important;background:rgba(3,8,18,.72)!important;backdrop-filter:blur(22px)!important;-webkit-backdrop-filter:blur(22px)!important;}
.obrero-access-panel{position:relative!important;width:min(520px,100%)!important;max-height:calc(100dvh - 54px)!important;overflow-y:auto!important;padding:28px 22px!important;border-radius:18px!important;border:1.5px solid rgba(244,220,138,.65)!important;background:linear-gradient(145deg,rgba(8,26,49,.96),rgba(43,26,10,.94))!important;color:#fff8df!important;box-shadow:0 34px 86px rgba(0,0,0,.46)!important;}
.obrero-access-close{position:absolute!important;right:14px!important;top:12px!important;width:38px!important;height:38px!important;border-radius:50%!important;border:1px solid rgba(244,220,138,.38)!important;background:rgba(255,255,255,.10)!important;color:#f4dc8a!important;font-size:1.5rem!important;}
.obrero-access-panel h2{margin:8px 42px 10px!important;color:#f4dc8a!important;font-family:Georgia,"Times New Roman",serif!important;text-align:center!important;font-size:2rem!important;}
.obrero-access-panel p{text-align:center!important;color:rgba(255,248,223,.88)!important;}
.obrero-access-panel input{width:100%!important;min-height:52px!important;margin:0 0 12px!important;padding:0 15px!important;box-sizing:border-box!important;border-radius:14px!important;border:1px solid rgba(244,220,138,.34)!important;background:rgba(255,255,255,.10)!important;color:#fff8df!important;}
.obrero-access-panel button[type="submit"]{width:100%!important;min-height:54px!important;border-radius:15px!important;border:1.5px solid rgba(244,220,138,.72)!important;background:linear-gradient(135deg,#f4dc8a,#d4af37,#9d7418)!important;color:#081a31!important;font-weight:950!important;text-transform:uppercase!important;}
.obrero-login-message{margin:10px 0!important;min-height:20px!important;color:#f4dc8a!important;font-weight:800!important;text-align:center!important;}
.obrero-login-message[data-type="error"]{color:#ffd6d6!important;}
.obrero-login-message[data-type="success"]{color:#dfffe3!important;}


/* =========================================================
   OBRERO PORTAL VISIBILITY REPAIR
   Ensures mobile portal is visible on mobile and desktop portal is visible on desktop.
   ========================================================= */

/* Default safety */
body[data-page="portal-obrero"] #portal-obrero-mobile-rewrite{
  display:none !important;
}
body[data-page="portal-obrero"] #portal-obrero-desktop-rebuild{
  display:none !important;
}

/* MOBILE VIEW */
@media(max-width:900px){
  body[data-page="portal-obrero"]{
    min-height:100dvh !important;
    background:
      radial-gradient(circle at 78% 22%, rgba(212,175,55,.34), transparent 31%),
      radial-gradient(circle at 18% 62%, rgba(255,255,255,.12), transparent 30%),
      linear-gradient(135deg, #071323 0%, #0b1f3a 50%, #2b1a0a 100%) !important;
    overflow-x:hidden !important;
  }

  body[data-page="portal-obrero"] #portal-obrero-desktop-rebuild{
    display:none !important;
  }

  body[data-page="portal-obrero"] #portal-obrero-mobile-rewrite{
    display:flex !important;
    width:100% !important;
    min-height:100dvh !important;
    box-sizing:border-box !important;
    padding:
      calc(10px + env(safe-area-inset-top))
      20px
      calc(24px + env(safe-area-inset-bottom)) !important;
    align-items:flex-start !important;
    justify-content:center !important;
    background:transparent !important;
    color:#fff8df !important;
    overflow:hidden !important;
  }

  body[data-page="portal-obrero"] #portal-obrero-mobile-rewrite .pomr-inner{
    width:100% !important;
    max-width:430px !important;
    margin:0 auto !important;
    text-align:center !important;
  }

  body[data-page="portal-obrero"] #portal-obrero-mobile-rewrite .pomr-logo{
    display:block !important;
    width:94px !important;
    max-width:30vw !important;
    height:auto !important;
    margin:0 auto 10px !important;
  }

  body[data-page="portal-obrero"] #portal-obrero-mobile-rewrite h1{
    color:#f4dc8a !important;
    font-family:Georgia,"Times New Roman",serif !important;
    font-weight:400 !important;
    font-size:clamp(2.5rem, 9.8vw, 3.45rem) !important;
    line-height:1 !important;
    margin:0 !important;
    text-align:center !important;
  }

  body[data-page="portal-obrero"] #portal-obrero-mobile-rewrite .pomr-rule{
    width:100% !important;
    height:1px !important;
    margin:14px auto 18px !important;
    background:linear-gradient(90deg, transparent, rgba(244,220,138,.70), transparent) !important;
  }

  body[data-page="portal-obrero"] #portal-obrero-mobile-rewrite p{
    color:rgba(255,248,223,.92) !important;
    font-family:Arial,sans-serif !important;
    font-size:1rem !important;
    font-weight:700 !important;
    text-align:center !important;
    margin:0 0 20px !important;
  }

  body[data-page="portal-obrero"] #portal-obrero-mobile-rewrite input{
    width:100% !important;
    height:56px !important;
    min-height:56px !important;
    margin:0 0 12px !important;
    padding:0 18px !important;
    box-sizing:border-box !important;
    border-radius:16px !important;
    border:1px solid rgba(244,220,138,.42) !important;
    background:rgba(255,255,255,.11) !important;
    color:#fff8df !important;
    font-size:1.05rem !important;
    font-weight:700 !important;
  }

  body[data-page="portal-obrero"] #portal-obrero-mobile-rewrite .pomr-form > button[type="submit"]{
    width:100% !important;
    height:56px !important;
    min-height:56px !important;
    margin:10px 0 18px !important;
    border-radius:17px !important;
    border:1.5px solid rgba(244,220,138,.72) !important;
    background:linear-gradient(135deg,#f4dc8a,#d4af37,#9d7418) !important;
    color:#081a31 !important;
    font-weight:950 !important;
    text-transform:uppercase !important;
    letter-spacing:.06em !important;
  }

  body[data-page="portal-obrero"] #portal-obrero-mobile-rewrite .pomr-home{
    color:#f4dc8a !important;
    font-weight:800 !important;
    text-decoration:none !important;
  }
}

/* DESKTOP VIEW */
@media(min-width:901px){
  body[data-page="portal-obrero"]{
    min-height:100vh !important;
    overflow-x:hidden !important;
    background:
      radial-gradient(circle at 78% 38%,rgba(212,175,55,.30),transparent 30%),
      radial-gradient(circle at 18% 60%,rgba(255,255,255,.10),transparent 28%),
      linear-gradient(135deg,#071323 0%,#0b1f3a 48%,#2b1a0a 100%) !important;
  }

  body[data-page="portal-obrero"] #portal-obrero-mobile-rewrite{
    display:none !important;
  }

  body[data-page="portal-obrero"] #portal-obrero-desktop-rebuild{
    display:flex !important;
    min-height:100vh !important;
    align-items:center !important;
    justify-content:center !important;
    padding:44px 24px !important;
    box-sizing:border-box !important;
  }

  body[data-page="portal-obrero"] .pod-card{
    width:460px !important;
    max-width:460px !important;
    padding:34px 30px 28px !important;
    border-radius:9px !important;
    border:1px solid rgba(244,220,138,.62) !important;
    background:rgba(255,255,255,.13) !important;
    box-shadow:0 34px 78px rgba(0,0,0,.34), inset 0 1px 0 rgba(255,255,255,.12) !important;
    backdrop-filter:blur(13px) saturate(1.08) !important;
    -webkit-backdrop-filter:blur(13px) saturate(1.08) !important;
    text-align:center !important;
    box-sizing:border-box !important;
  }

  body[data-page="portal-obrero"] .pod-logo{
    display:block !important;
    width:128px !important;
    height:auto !important;
    margin:0 auto 16px !important;
  }

  body[data-page="portal-obrero"] .pod-card h1{
    color:#0b1f3a !important;
    font-family:Georgia,"Times New Roman",serif !important;
    font-size:2.05rem !important;
    font-weight:600 !important;
    margin:0 0 18px !important;
  }

  body[data-page="portal-obrero"] .pod-card p{
    color:#fff8df !important;
    font-family:Arial,sans-serif !important;
    font-size:1rem !important;
    font-weight:800 !important;
    margin:0 0 20px !important;
  }

  body[data-page="portal-obrero"] .pod-form input{
    width:100% !important;
    height:48px !important;
    min-height:48px !important;
    margin:0 0 13px !important;
    padding:0 14px !important;
    box-sizing:border-box !important;
    border-radius:0 !important;
    border:1px solid rgba(255,255,255,.72) !important;
    background:rgba(255,255,255,.12) !important;
    color:#fff !important;
    font-size:.95rem !important;
    font-weight:700 !important;
  }

  body[data-page="portal-obrero"] .obrero-password-wrap{
    position:relative !important;
    width:100% !important;
    margin:0 0 13px !important;
  }

  body[data-page="portal-obrero"] .obrero-password-wrap input{
    margin:0 !important;
    padding-right:78px !important;
  }

  body[data-page="portal-obrero"] .obrero-password-toggle{
    position:absolute !important;
    right:8px !important;
    top:50% !important;
    transform:translateY(-50%) !important;
    width:58px !important;
    height:30px !important;
    min-height:30px !important;
    margin:0 !important;
    border-radius:999px !important;
    border:1px solid rgba(244,220,138,.45) !important;
    background:rgba(244,220,138,.18) !important;
    color:#f4dc8a !important;
    font-size:.70rem !important;
    font-weight:900 !important;
    text-transform:uppercase !important;
  }

  body[data-page="portal-obrero"] .pod-submit{
    width:100% !important;
    height:48px !important;
    min-height:48px !important;
    margin:2px 0 16px !important;
    border:0 !important;
    border-radius:4px !important;
    background:linear-gradient(90deg,#f4dc8a,#d4af37,#f4dc8a) !important;
    color:#2b1a0a !important;
    font-weight:950 !important;
    letter-spacing:.04em !important;
    text-transform:uppercase !important;
  }

  body[data-page="portal-obrero"] .obrero-access-actions{
    width:100% !important;
    display:grid !important;
    grid-template-columns:1fr !important;
    gap:9px !important;
    margin:14px 0 18px !important;
  }

  body[data-page="portal-obrero"] .obrero-access-divider{
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    gap:10px !important;
    color:rgba(244,220,138,.92) !important;
    font-size:.70rem !important;
    font-weight:900 !important;
    letter-spacing:.08em !important;
    text-transform:uppercase !important;
  }

  body[data-page="portal-obrero"] .obrero-access-divider:before,
  body[data-page="portal-obrero"] .obrero-access-divider:after{
    content:"" !important;
    flex:1 !important;
    height:1px !important;
    background:rgba(244,220,138,.42) !important;
  }

  body[data-page="portal-obrero"] .obrero-access-actions button{
    width:100% !important;
    min-height:48px !important;
    margin:0 !important;
    padding:9px 13px !important;
    border-radius:7px !important;
    border:1px solid rgba(244,220,138,.35) !important;
    background:linear-gradient(135deg,rgba(255,255,255,.10),rgba(255,255,255,.04)) !important;
    color:#fff8df !important;
    text-align:left !important;
    display:flex !important;
    flex-direction:column !important;
    justify-content:center !important;
    gap:2px !important;
    box-shadow:0 8px 20px rgba(0,0,0,.14) !important;
  }

  body[data-page="portal-obrero"] .obrero-access-actions button strong{
    color:#f4dc8a !important;
    font-size:.78rem !important;
    font-weight:950 !important;
    letter-spacing:.05em !important;
    text-transform:uppercase !important;
  }

  body[data-page="portal-obrero"] .obrero-access-actions button small{
    color:rgba(255,248,223,.74) !important;
    font-size:.68rem !important;
    font-weight:700 !important;
  }

  body[data-page="portal-obrero"] .pod-home{
    color:#f4dc8a !important;
    font-size:1rem !important;
    font-weight:900 !important;
    text-decoration:none !important;
  }
}


/* =========================================================
   OBRERO PORTAL MOBILE FULL ACCESS MATCH
   Makes mobile portal show the same full functions as desktop.
   ========================================================= */
@media(max-width:900px){

  body[data-page="portal-obrero"] #portal-obrero-mobile-rewrite{
    display:flex !important;
    width:100% !important;
    min-height:100dvh !important;
    box-sizing:border-box !important;
    padding:
      calc(10px + env(safe-area-inset-top))
      20px
      calc(24px + env(safe-area-inset-bottom)) !important;
    align-items:flex-start !important;
    justify-content:center !important;
    background:transparent !important;
    color:#fff8df !important;
    overflow:hidden !important;
  }

  body[data-page="portal-obrero"] #portal-obrero-mobile-rewrite .pomr-inner{
    width:100% !important;
    max-width:430px !important;
    margin:0 auto !important;
    text-align:center !important;
  }

  body[data-page="portal-obrero"] #portal-obrero-mobile-rewrite .pomr-logo{
    display:block !important;
    width:94px !important;
    max-width:30vw !important;
    height:auto !important;
    margin:0 auto 10px !important;
  }

  body[data-page="portal-obrero"] #portal-obrero-mobile-rewrite h1{
    color:#f4dc8a !important;
    font-family:Georgia,"Times New Roman",serif !important;
    font-weight:400 !important;
    font-size:clamp(2.5rem, 9.8vw, 3.45rem) !important;
    line-height:1 !important;
    margin:0 !important;
    text-align:center !important;
  }

  body[data-page="portal-obrero"] #portal-obrero-mobile-rewrite .pomr-rule{
    width:100% !important;
    height:1px !important;
    margin:14px auto 18px !important;
    background:linear-gradient(90deg, transparent, rgba(244,220,138,.70), transparent) !important;
  }

  body[data-page="portal-obrero"] #portal-obrero-mobile-rewrite p{
    color:rgba(255,248,223,.92) !important;
    font-family:Arial,sans-serif !important;
    font-size:1rem !important;
    font-weight:700 !important;
    text-align:center !important;
    margin:0 0 20px !important;
  }

  body[data-page="portal-obrero"] #portal-obrero-mobile-rewrite .pomr-form{
    width:100% !important;
    margin:0 !important;
    padding:0 !important;
    background:transparent !important;
    border:0 !important;
    box-shadow:none !important;
  }

  body[data-page="portal-obrero"] #portal-obrero-mobile-rewrite input{
    width:100% !important;
    height:56px !important;
    min-height:56px !important;
    margin:0 0 12px !important;
    padding:0 18px !important;
    box-sizing:border-box !important;
    border-radius:16px !important;
    border:1px solid rgba(244,220,138,.42) !important;
    background:rgba(255,255,255,.11) !important;
    color:#fff8df !important;
    font-size:1.05rem !important;
    font-weight:700 !important;
  }

  body[data-page="portal-obrero"] #portal-obrero-mobile-rewrite .obrero-password-wrap{
    position:relative !important;
    width:100% !important;
    margin:0 0 12px !important;
  }

  body[data-page="portal-obrero"] #portal-obrero-mobile-rewrite .obrero-password-wrap input{
    margin:0 !important;
    padding-right:86px !important;
  }

  body[data-page="portal-obrero"] #portal-obrero-mobile-rewrite .obrero-password-toggle{
    position:absolute !important;
    right:10px !important;
    top:50% !important;
    transform:translateY(-50%) !important;
    width:62px !important;
    height:34px !important;
    min-height:34px !important;
    margin:0 !important;
    padding:0 !important;
    border-radius:999px !important;
    border:1px solid rgba(244,220,138,.45) !important;
    background:rgba(244,220,138,.16) !important;
    color:#f4dc8a !important;
    font-size:.72rem !important;
    font-weight:900 !important;
    letter-spacing:.04em !important;
    text-transform:uppercase !important;
    box-shadow:0 6px 14px rgba(0,0,0,.12), inset 0 1px 0 rgba(255,255,255,.12) !important;
    z-index:4 !important;
  }

  body[data-page="portal-obrero"] #portal-obrero-mobile-rewrite .pomr-submit{
    width:100% !important;
    height:56px !important;
    min-height:56px !important;
    margin:10px 0 14px !important;
    border-radius:17px !important;
    border:1.5px solid rgba(244,220,138,.72) !important;
    background:linear-gradient(135deg,#f4dc8a,#d4af37,#9d7418) !important;
    color:#081a31 !important;
    font-weight:950 !important;
    text-transform:uppercase !important;
    letter-spacing:.06em !important;
  }

  body[data-page="portal-obrero"] #portal-obrero-mobile-rewrite .obrero-access-actions{
    width:100% !important;
    display:grid !important;
    grid-template-columns:1fr !important;
    gap:11px !important;
    margin:8px auto 18px !important;
  }

  body[data-page="portal-obrero"] #portal-obrero-mobile-rewrite .obrero-access-divider{
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    gap:12px !important;
    margin:4px 0 2px !important;
    color:rgba(244,220,138,.88) !important;
    font-family:Arial,sans-serif !important;
    font-size:.78rem !important;
    font-weight:900 !important;
    letter-spacing:.08em !important;
    text-transform:uppercase !important;
  }

  body[data-page="portal-obrero"] #portal-obrero-mobile-rewrite .obrero-access-divider::before,
  body[data-page="portal-obrero"] #portal-obrero-mobile-rewrite .obrero-access-divider::after{
    content:"" !important;
    height:1px !important;
    flex:1 !important;
    background:linear-gradient(90deg, transparent, rgba(244,220,138,.50)) !important;
  }

  body[data-page="portal-obrero"] #portal-obrero-mobile-rewrite .obrero-access-divider::after{
    background:linear-gradient(90deg, rgba(244,220,138,.50), transparent) !important;
  }

  body[data-page="portal-obrero"] #portal-obrero-mobile-rewrite .obrero-access-actions button{
    width:100% !important;
    min-height:58px !important;
    height:auto !important;
    margin:0 !important;
    padding:11px 16px !important;
    border-radius:17px !important;
    border:1px solid rgba(244,220,138,.34) !important;
    background:linear-gradient(135deg, rgba(255,255,255,.115), rgba(255,255,255,.045)) !important;
    color:#fff8df !important;
    box-shadow:0 12px 28px rgba(0,0,0,.16), inset 0 1px 0 rgba(255,255,255,.10) !important;
    backdrop-filter:blur(12px) saturate(1.10) !important;
    -webkit-backdrop-filter:blur(12px) saturate(1.10) !important;
    text-align:left !important;
    display:flex !important;
    flex-direction:column !important;
    justify-content:center !important;
    gap:3px !important;
  }

  body[data-page="portal-obrero"] #portal-obrero-mobile-rewrite .obrero-access-actions button strong{
    color:#f4dc8a !important;
    font-size:.92rem !important;
    font-weight:950 !important;
    letter-spacing:.055em !important;
    text-transform:uppercase !important;
  }

  body[data-page="portal-obrero"] #portal-obrero-mobile-rewrite .obrero-access-actions button small{
    color:rgba(255,248,223,.72) !important;
    font-size:.76rem !important;
    font-weight:700 !important;
    letter-spacing:.01em !important;
    text-transform:none !important;
  }

  body[data-page="portal-obrero"] #portal-obrero-mobile-rewrite .pomr-home{
    color:#f4dc8a !important;
    font-weight:800 !important;
    text-decoration:none !important;
    font-size:1rem !important;
  }
}


/* OBRERO MOBILE BUTTONS REBUILT FUNCTION SAFETY */
@media(max-width:900px){
  #mobilePasswordToggle,
  #mobileRegisterBtn,
  #mobileRecoverBtn,
  #mobileResetBtn{
    pointer-events:auto !important;
    touch-action:manipulation !important;
    position:relative !important;
    z-index:20 !important;
  }
}


/* MOBILE OBRERO ACCESS BUTTON LINK FIX ONLY */
@media(max-width:900px){
  body[data-page="portal-obrero"] #portal-obrero-mobile-rewrite [data-mobile-obrero-action],
  body[data-page="portal-obrero"] #portal-obrero-mobile-rewrite [data-obrero-open],
  body[data-page="portal-obrero"] #mobileRegisterBtn,
  body[data-page="portal-obrero"] #mobileRecoverBtn,
  body[data-page="portal-obrero"] #mobileResetBtn{
    pointer-events:auto !important;
    touch-action:manipulation !important;
    cursor:pointer !important;
    position:relative !important;
    z-index:30 !important;
  }

  body[data-page="portal-obrero"] .obrero-access-modal{
    z-index:2147483646 !important;
  }

  body[data-page="portal-obrero"] .obrero-access-panel{
    z-index:2147483647 !important;
  }
}


/* OBRERO MOBILE BUTTONS FORCE BIND — no layout changes */
@media(max-width:900px){
  #portal-obrero-mobile-rewrite button,
  #portal-obrero-mobile-rewrite [data-force-bound="true"]{
    pointer-events:auto !important;
    touch-action:manipulation !important;
  }

  #obreroAccessModalForce{
    position:fixed !important;
    inset:0 !important;
    z-index:2147483646 !important;
    align-items:center !important;
    justify-content:center !important;
    padding:24px !important;
    box-sizing:border-box !important;
  }

  #obreroAccessModalForce[hidden]{
    display:none !important;
  }

  #obreroAccessModalForce .obrero-access-backdrop{
    position:absolute !important;
    inset:0 !important;
    background:rgba(3,8,18,.72) !important;
    backdrop-filter:blur(22px) !important;
    -webkit-backdrop-filter:blur(22px) !important;
  }

  #obreroAccessModalForce .obrero-access-panel{
    position:relative !important;
    z-index:2147483647 !important;
  }
}


/* QUIENES SOMOS GROUP PHOTO UPDATE */
.quienes-somos-photo{
  width:100% !important;
  max-width:760px !important;
  height:auto !important;
  display:block !important;
  margin:auto !important;
  border-radius:24px !important;
  object-fit:cover !important;
  border:1px solid rgba(201,166,70,.45) !important;
  box-shadow:
    0 20px 60px rgba(0,0,0,.35),
    0 0 30px rgba(201,166,70,.12) !important;
}

/* =========================================================
   PORTAL DE OBREROS PERSONAL HOME
   ========================================================= */
body[data-page="portal-obrero-dashboard"]{
  min-height:100vh !important;
  margin:0 !important;
  background:
    radial-gradient(circle at 18% 0%, rgba(244,220,138,.16), transparent 24%),
    radial-gradient(circle at 84% 16%, rgba(212,175,55,.18), transparent 28%),
    linear-gradient(145deg,#04101f 0%,#0b1f3a 54%,#171005 100%) !important;
  color:#fff8df !important;
  font-family:Arial,sans-serif !important;
}

body[data-page="portal-obrero-dashboard"] *{
  box-sizing:border-box !important;
}

.obrero-home-shell{
  width:min(1240px, calc(100% - 40px)) !important;
  margin:0 auto !important;
  padding:38px 0 48px !important;
}

.obrero-home-hero{
  display:flex !important;
  align-items:center !important;
  justify-content:space-between !important;
  gap:28px !important;
  min-height:238px !important;
  padding:34px 42px !important;
  border:1px solid rgba(244,220,138,.38) !important;
  border-radius:14px !important;
  background:
    linear-gradient(120deg, rgba(255,255,255,.11), rgba(255,255,255,.045)),
    radial-gradient(circle at 84% 12%, rgba(244,220,138,.16), transparent 34%) !important;
  box-shadow:0 30px 80px rgba(0,0,0,.30), inset 0 1px 0 rgba(255,255,255,.12) !important;
  backdrop-filter:blur(12px) saturate(1.08) !important;
  -webkit-backdrop-filter:blur(12px) saturate(1.08) !important;
}

.obrero-home-profile{
  display:flex !important;
  align-items:center !important;
  gap:20px !important;
  min-width:0 !important;
}

.obrero-avatar-wrap{
  position:relative !important;
  width:154px !important;
  height:154px !important;
  flex:0 0 154px !important;
  display:grid !important;
  place-items:center !important;
  overflow:hidden !important;
  border-radius:50% !important;
  border:3px solid rgba(244,220,138,.76) !important;
  background:
    linear-gradient(135deg,rgba(244,220,138,.30),rgba(255,255,255,.08)),
    #13243a !important;
  box-shadow:0 20px 42px rgba(0,0,0,.32), 0 0 0 9px rgba(244,220,138,.08) !important;
  cursor:pointer !important;
  isolation:isolate !important;
}

.obrero-avatar-wrap:focus-visible{
  outline:3px solid #f4dc8a !important;
  outline-offset:6px !important;
}

.obrero-avatar-wrap img{
  width:100% !important;
  height:100% !important;
  object-fit:cover !important;
  display:block !important;
}

.obrero-avatar-wrap img[hidden],
.obrero-avatar-wrap span[hidden]{
  display:none !important;
}

.obrero-avatar-wrap span{
  color:#f4dc8a !important;
  font-family:Georgia,"Times New Roman",serif !important;
  font-size:3rem !important;
  line-height:1 !important;
}

.obrero-avatar-action{
  position:absolute !important;
  left:0 !important;
  right:0 !important;
  bottom:0 !important;
  z-index:3 !important;
  min-height:38px !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  padding:8px 10px !important;
  background:linear-gradient(180deg, rgba(5,12,22,0), rgba(5,12,22,.86)) !important;
  color:#fff8df !important;
  font-family:Arial,sans-serif !important;
  font-size:.72rem !important;
  font-weight:950 !important;
  letter-spacing:.05em !important;
  text-transform:uppercase !important;
  opacity:0 !important;
  transition:opacity .18s ease !important;
}

.obrero-avatar-wrap:hover .obrero-avatar-action,
.obrero-avatar-wrap:focus-visible .obrero-avatar-action{
  opacity:1 !important;
}

.obrero-kicker{
  margin:0 0 6px !important;
  color:#f4dc8a !important;
  font-size:.78rem !important;
  font-weight:900 !important;
  letter-spacing:.12em !important;
  text-transform:uppercase !important;
}

.obrero-home-hero h1{
  margin:0 !important;
  color:#fff8df !important;
  font-family:Georgia,"Times New Roman",serif !important;
  font-size:clamp(2.35rem,4.8vw,4.35rem) !important;
  line-height:1.05 !important;
  font-weight:500 !important;
}

.obrero-home-subtitle{
  max-width:620px !important;
  margin:10px 0 0 !important;
  color:rgba(255,248,223,.78) !important;
  font-weight:700 !important;
  line-height:1.5 !important;
}

.obrero-home-actions{
  display:flex !important;
  align-items:center !important;
  flex-direction:column !important;
  gap:10px !important;
  justify-content:center !important;
  width:min(330px, 100%) !important;
}

.obrero-logout-btn,
.obrero-secondary-btn,
.obrero-edit-panel button[type="submit"]{
  min-height:46px !important;
  width:100% !important;
  padding:0 18px !important;
  border:1px solid rgba(244,220,138,.68) !important;
  border-radius:6px !important;
  background:linear-gradient(135deg,#f4dc8a,#d4af37) !important;
  color:#071323 !important;
  cursor:pointer !important;
  font-weight:950 !important;
  text-transform:uppercase !important;
}

.obrero-secondary-btn{
  background:rgba(255,255,255,.10) !important;
  color:#f4dc8a !important;
}

.obrero-secondary-btn:hover,
.obrero-logout-btn:hover,
.obrero-edit-panel button[type="submit"]:hover{
  transform:translateY(-1px) !important;
  box-shadow:0 14px 26px rgba(0,0,0,.20) !important;
}

.obrero-summary-grid{
  display:grid !important;
  grid-template-columns:repeat(4,minmax(0,1fr)) !important;
  gap:16px !important;
  margin:26px 0 18px !important;
}

.obrero-summary-grid article,
.obrero-home-panel{
  border:1px solid rgba(244,220,138,.25) !important;
  border-radius:12px !important;
  background:linear-gradient(145deg,rgba(255,255,255,.085),rgba(255,255,255,.04)) !important;
  box-shadow:0 18px 42px rgba(0,0,0,.20), inset 0 1px 0 rgba(255,255,255,.08) !important;
}

.obrero-summary-grid article{
  min-height:112px !important;
  padding:18px 20px !important;
}

.obrero-summary-grid span{
  display:block !important;
  margin-bottom:8px !important;
  color:rgba(244,220,138,.88) !important;
  font-size:.72rem !important;
  font-weight:900 !important;
  letter-spacing:.08em !important;
  text-transform:uppercase !important;
}

.obrero-summary-grid strong{
  color:#fff8df !important;
  font-size:1.15rem !important;
  line-height:1.25 !important;
}

.obrero-home-grid{
  display:grid !important;
  grid-template-columns:1fr !important;
  gap:18px !important;
  align-items:start !important;
}

.obrero-home-grid.is-editing{
  grid-template-columns:minmax(320px,.7fr) minmax(420px,1.3fr) !important;
}

.obrero-home-panel{
  padding:28px !important;
}

.obrero-home-panel h2{
  margin:0 0 18px !important;
  color:#f4dc8a !important;
  font-family:Georgia,"Times New Roman",serif !important;
  font-size:1.65rem !important;
  font-weight:500 !important;
}

.obrero-info-list{
  margin:0 !important;
}

.obrero-info-list div{
  display:grid !important;
  grid-template-columns:150px 1fr !important;
  gap:16px !important;
  padding:13px 0 !important;
  border-bottom:1px solid rgba(244,220,138,.18) !important;
}

.obrero-info-list div:last-child{
  border-bottom:0 !important;
}

.obrero-info-list dt{
  color:rgba(244,220,138,.82) !important;
  font-weight:900 !important;
}

.obrero-info-list dd{
  margin:0 !important;
  color:#fff8df !important;
  overflow-wrap:anywhere !important;
}

.obrero-edit-panel form{
  display:grid !important;
  grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  gap:14px !important;
  margin:0 !important;
}

.obrero-edit-panel[hidden]{
  display:none !important;
}

.obrero-edit-heading{
  display:flex !important;
  align-items:center !important;
  justify-content:space-between !important;
  gap:16px !important;
  margin-bottom:18px !important;
}

.obrero-edit-heading h2{
  margin:0 !important;
}

.obrero-panel-close{
  width:38px !important;
  height:38px !important;
  min-height:38px !important;
  border-radius:50% !important;
  border:1px solid rgba(244,220,138,.42) !important;
  background:rgba(255,255,255,.08) !important;
  color:#f4dc8a !important;
  cursor:pointer !important;
  font-weight:950 !important;
  text-transform:uppercase !important;
}

.obrero-edit-panel label{
  display:flex !important;
  flex-direction:column !important;
  gap:7px !important;
  color:rgba(244,220,138,.86) !important;
  font-size:.82rem !important;
  font-weight:900 !important;
  letter-spacing:.04em !important;
  text-transform:uppercase !important;
}

.obrero-edit-panel input,
.obrero-edit-panel select,
.obrero-access-panel select{
  width:100% !important;
  min-height:50px !important;
  padding:0 13px !important;
  border:1px solid rgba(244,220,138,.34) !important;
  border-radius:6px !important;
  background:rgba(255,255,255,.10) !important;
  color:#fff8df !important;
  font:inherit !important;
  font-weight:800 !important;
}

.obrero-edit-panel input[type="file"]{
  padding:12px !important;
}

.obrero-edit-panel button[type="submit"]{
  grid-column:1 / -1 !important;
  width:100% !important;
  margin-top:4px !important;
}

@media(max-width:900px){
  .obrero-home-shell{
    width:min(100% - 24px, 640px) !important;
    padding:18px 0 32px !important;
  }

  .obrero-home-hero,
  .obrero-home-profile{
    align-items:flex-start !important;
    flex-direction:column !important;
  }

  .obrero-home-hero{
    padding:20px !important;
  }

  .obrero-avatar-wrap{
    width:96px !important;
    height:96px !important;
    flex-basis:96px !important;
  }

  .obrero-home-actions,
  .obrero-logout-btn,
  .obrero-secondary-btn{
    width:100% !important;
  }

  .obrero-summary-grid,
  .obrero-home-grid,
  .obrero-edit-panel form{
    grid-template-columns:1fr !important;
  }

  .obrero-info-list div{
    grid-template-columns:1fr !important;
    gap:5px !important;
  }
}

/* =========================================================
   PORTAL DE OBREROS MODERN HOMEPAGE GUIDE
   ========================================================= */
body[data-page="portal-obrero-dashboard"] .obrero-modern-home{
  position:relative !important;
  width:100% !important;
  max-width:none !important;
  min-height:100vh !important;
  padding:22px 16px 42px !important;
  overflow:hidden !important;
  background:
    radial-gradient(circle at 18% 0%, rgba(232,201,120,.12), transparent 22%),
    radial-gradient(circle at 86% 10%, rgba(232,201,120,.08), transparent 24%),
    linear-gradient(180deg, #06172f 0%, #08234b 48%, #0d2d5f 100%) !important;
}

.obrero-grid-overlay{
  position:absolute !important;
  inset:0 !important;
  pointer-events:none !important;
  opacity:.06 !important;
  background:
    linear-gradient(rgba(255,255,255,.08) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,.08) 1px, transparent 1px) !important;
  background-size:32px 32px !important;
}

.obrero-modern-home > *:not(.obrero-grid-overlay){
  position:relative !important;
  z-index:2 !important;
  max-width:1080px !important;
  margin-left:auto !important;
  margin-right:auto !important;
}

.obrero-topbar{
  width:100% !important;
  display:flex !important;
  justify-content:space-between !important;
  align-items:center !important;
  margin-bottom:12px !important;
}

.obrero-profile-chip{
  display:inline-flex !important;
  align-items:center !important;
  gap:10px !important;
  min-height:48px !important;
  padding:7px 13px 7px 7px !important;
  border-radius:999px !important;
  border:1px solid rgba(232,201,120,.40) !important;
  background:
    linear-gradient(135deg, rgba(255,255,255,.12), rgba(255,255,255,.04)),
    linear-gradient(135deg, rgba(169,120,31,.22), rgba(243,215,154,.10)) !important;
  color:#fff7ec !important;
  box-shadow:0 12px 28px rgba(0,0,0,.22), inset 0 1px 0 rgba(255,255,255,.12) !important;
  cursor:pointer !important;
  transition:transform .22s ease, box-shadow .22s ease !important;
}

.obrero-profile-chip:hover{
  transform:translateY(-2px) !important;
  box-shadow:0 18px 38px rgba(0,0,0,.30), 0 0 22px rgba(213,177,90,.16) !important;
}

.obrero-chip-avatar{
  width:34px !important;
  height:34px !important;
  flex:0 0 34px !important;
  display:grid !important;
  place-items:center !important;
  overflow:hidden !important;
  border-radius:50% !important;
  background:linear-gradient(135deg,#a9781f,#f3d79a,#bf8c2f) !important;
  color:#041e42 !important;
  font-size:13px !important;
  font-weight:900 !important;
}

.obrero-chip-avatar img{
  width:100% !important;
  height:100% !important;
  object-fit:cover !important;
  display:block !important;
}

.obrero-chip-avatar img[hidden],
.obrero-chip-avatar span[hidden]{
  display:none !important;
}

.obrero-chip-text{
  display:flex !important;
  flex-direction:column !important;
  line-height:1.05 !important;
  text-align:left !important;
}

.obrero-chip-label{
  color:rgba(255,255,255,.72) !important;
  font-size:10px !important;
  font-weight:800 !important;
  letter-spacing:.12em !important;
  text-transform:uppercase !important;
}

.obrero-chip-name{
  margin-top:3px !important;
  color:#fff !important;
  font-size:12px !important;
  font-weight:900 !important;
}

body[data-page="portal-obrero-dashboard"] .obrero-home-hero{
  display:block !important;
  min-height:0 !important;
  margin-bottom:16px !important;
  padding:30px 28px 28px !important;
  text-align:center !important;
  border-radius:18px !important;
  border:1px solid rgba(213,177,90,.28) !important;
  background:
    linear-gradient(180deg, rgba(255,255,255,.075), rgba(255,255,255,.028)),
    linear-gradient(135deg, rgba(232,201,120,.07), transparent 45%) !important;
  box-shadow:0 20px 52px rgba(0,0,0,.25), inset 0 1px 0 rgba(255,255,255,.09) !important;
}

.obrero-hero-logo{
  display:block !important;
  width:min(100%,190px) !important;
  height:auto !important;
  margin:0 auto 16px !important;
  filter:drop-shadow(0 10px 24px rgba(0,0,0,.28)) !important;
}

body[data-page="portal-obrero-dashboard"] .obrero-kicker{
  display:inline-flex !important;
  align-items:center !important;
  gap:10px !important;
  margin:0 0 14px !important;
  color:#f3d79a !important;
  font-size:12px !important;
  font-weight:800 !important;
  letter-spacing:.16em !important;
  text-transform:uppercase !important;
}

body[data-page="portal-obrero-dashboard"] .obrero-kicker:before{
  content:"" !important;
  width:34px !important;
  height:2px !important;
  border-radius:999px !important;
  background:linear-gradient(90deg,#a9781f,#f3d79a) !important;
}

body[data-page="portal-obrero-dashboard"] .obrero-home-hero h1{
  margin:0 !important;
  color:#fff !important;
  font-family:Arial,Helvetica,sans-serif !important;
  font-size:clamp(32px,5.2vw,56px) !important;
  line-height:1.02 !important;
  letter-spacing:.025em !important;
  text-transform:uppercase !important;
  font-weight:900 !important;
  text-shadow:0 3px 18px rgba(0,0,0,.25) !important;
}

.obrero-verse{
  max-width:760px !important;
  margin:12px auto 0 !important;
  color:#e8c978 !important;
  font-size:14px !important;
  line-height:1.65 !important;
  font-style:italic !important;
}

.obrero-verse span{
  display:block !important;
  margin-top:6px !important;
  color:#e8c978 !important;
  font-size:13px !important;
  font-weight:700 !important;
  font-style:normal !important;
}

body[data-page="portal-obrero-dashboard"] .obrero-home-subtitle{
  max-width:760px !important;
  margin:14px auto 0 !important;
  color:#eadfce !important;
  font-size:15px !important;
  line-height:1.8 !important;
}

.obrero-gold-rule{
  width:120px !important;
  height:3px !important;
  margin:16px auto 0 !important;
  border-radius:999px !important;
  background:linear-gradient(90deg, rgba(0,0,0,0), #d5b15a, #f3d79a, rgba(0,0,0,0)) !important;
}

.obrero-profile-panel{
  display:grid !important;
  grid-template-columns:1fr auto !important;
  align-items:center !important;
  gap:20px !important;
  margin-bottom:18px !important;
  padding:20px !important;
  border-radius:16px !important;
  border:1px solid rgba(213,177,90,.28) !important;
  background:linear-gradient(180deg, rgba(255,255,255,.072), rgba(255,255,255,.035)) !important;
  box-shadow:0 16px 40px rgba(0,0,0,.20), inset 0 1px 0 rgba(255,255,255,.09) !important;
}

.obrero-profile-preview{
  display:flex !important;
  align-items:center !important;
  gap:15px !important;
  min-width:0 !important;
}

.obrero-profile-preview h2{
  margin:0 0 4px !important;
  color:#fff !important;
  font-size:clamp(22px,3vw,34px) !important;
  font-weight:900 !important;
  line-height:1.08 !important;
}

.obrero-profile-preview p{
  margin:0 !important;
  color:rgba(255,255,255,.76) !important;
  font-size:13px !important;
  line-height:1.45 !important;
}

body[data-page="portal-obrero-dashboard"] .obrero-avatar-wrap{
  width:88px !important;
  height:88px !important;
  flex:0 0 88px !important;
  border-radius:50% !important;
  border:2px solid rgba(243,215,154,.62) !important;
  box-shadow:0 14px 28px rgba(0,0,0,.26), 0 0 0 6px rgba(243,215,154,.08) !important;
}

body[data-page="portal-obrero-dashboard"] .obrero-home-actions{
  width:min(260px,100%) !important;
  gap:9px !important;
}

body[data-page="portal-obrero-dashboard"] .obrero-secondary-btn,
body[data-page="portal-obrero-dashboard"] .obrero-logout-btn{
  min-height:44px !important;
  border-radius:12px !important;
  letter-spacing:.03em !important;
}

body[data-page="portal-obrero-dashboard"] .obrero-summary-grid{
  grid-template-columns:repeat(4,minmax(0,1fr)) !important;
  gap:16px !important;
}

body[data-page="portal-obrero-dashboard"] .obrero-summary-grid article,
body[data-page="portal-obrero-dashboard"] .obrero-home-panel{
  border-radius:16px !important;
  border:1px solid rgba(213,177,90,.30) !important;
  background:linear-gradient(180deg, rgba(255,255,255,.075), rgba(255,255,255,.03)) !important;
  box-shadow:0 14px 34px rgba(0,0,0,.20), inset 0 1px 0 rgba(255,255,255,.08) !important;
}

body[data-page="portal-obrero-dashboard"] .obrero-summary-grid article{
  min-height:102px !important;
}

.obrero-section-head{
  display:flex !important;
  justify-content:space-between !important;
  gap:16px !important;
  margin-bottom:14px !important;
  padding-bottom:12px !important;
  border-bottom:1px solid rgba(240,214,147,.14) !important;
}

.obrero-section-head h2{
  margin:0 !important;
  color:#fff8ee !important;
  font-family:Arial,Helvetica,sans-serif !important;
  font-size:clamp(24px,4vw,40px) !important;
  line-height:1.06 !important;
  font-weight:900 !important;
  letter-spacing:.06em !important;
  text-transform:uppercase !important;
}

.obrero-section-head p{
  max-width:760px !important;
  margin:8px 0 0 !important;
  color:#eadfce !important;
  font-size:14px !important;
  line-height:1.7 !important;
}

body[data-page="portal-obrero-dashboard"] .obrero-edit-panel{
  border-radius:18px !important;
}

@media(max-width:900px){
  body[data-page="portal-obrero-dashboard"] .obrero-modern-home{
    padding:14px 10px 30px !important;
  }

  body[data-page="portal-obrero-dashboard"] .obrero-home-hero{
    padding:24px 18px 22px !important;
    border-radius:16px !important;
  }

  .obrero-profile-panel{
    grid-template-columns:1fr !important;
  }

  body[data-page="portal-obrero-dashboard"] .obrero-home-actions{
    width:100% !important;
  }

  body[data-page="portal-obrero-dashboard"] .obrero-summary-grid,
  body[data-page="portal-obrero-dashboard"] .obrero-home-grid.is-editing{
    grid-template-columns:1fr !important;
  }
}

@media(min-width:641px) and (max-width:900px){
  body[data-page="portal-obrero-dashboard"] .obrero-summary-grid{
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  }
}

@media(max-width:640px){
  body[data-page="portal-obrero-dashboard"] .obrero-modern-home{
    padding:12px 10px 28px !important;
  }

  .obrero-topbar{
    margin-bottom:10px !important;
  }

  .obrero-profile-chip{
    width:100% !important;
  }

  body[data-page="portal-obrero-dashboard"] .obrero-home-hero h1{
    font-size:clamp(29px,11vw,42px) !important;
  }

  .obrero-hero-logo{
    width:min(100%,150px) !important;
  }

  .obrero-verse{
    font-size:13px !important;
  }

  .obrero-profile-panel{
    padding:16px !important;
  }

  .obrero-profile-preview{
    align-items:flex-start !important;
  }

  body[data-page="portal-obrero-dashboard"] .obrero-avatar-wrap{
    width:76px !important;
    height:76px !important;
    flex-basis:76px !important;
  }

  .obrero-profile-preview h2{
    font-size:22px !important;
  }

  body[data-page="portal-obrero-dashboard"] .obrero-home-panel{
    padding:20px !important;
  }

  .obrero-section-head h2{
    font-size:24px !important;
  }

  body[data-page="portal-obrero-dashboard"] .obrero-edit-panel form{
    grid-template-columns:1fr !important;
  }
}

/* PORTAL DE OBREROS APPLE GLASS FINISH */
body[data-page="portal-obrero-dashboard"]{
  background:
    linear-gradient(135deg, rgba(7,22,46,.96) 0%, rgba(8,35,75,.94) 48%, rgba(16,34,60,.98) 100%) !important;
}

body[data-page="portal-obrero-dashboard"] .obrero-modern-home{
  background:
    linear-gradient(180deg, rgba(255,255,255,.045), rgba(255,255,255,0) 26%),
    linear-gradient(145deg, #05172f 0%, #08244e 52%, #0f315e 100%) !important;
}

body[data-page="portal-obrero-dashboard"] .obrero-home-hero,
body[data-page="portal-obrero-dashboard"] .obrero-profile-panel,
body[data-page="portal-obrero-dashboard"] .obrero-summary-grid article,
body[data-page="portal-obrero-dashboard"] .obrero-home-panel,
body[data-page="portal-obrero-dashboard"] .obrero-profile-chip{
  position:relative !important;
  overflow:hidden !important;
  border:1px solid rgba(255,255,255,.20) !important;
  background:
    linear-gradient(135deg, rgba(255,255,255,.20), rgba(255,255,255,.070) 42%, rgba(255,255,255,.045)),
    linear-gradient(180deg, rgba(241,212,143,.12), rgba(7,22,46,.16)) !important;
  box-shadow:
    0 26px 70px rgba(0,0,0,.28),
    0 1px 0 rgba(255,255,255,.16) inset,
    0 -1px 0 rgba(255,255,255,.055) inset !important;
  backdrop-filter:blur(28px) saturate(1.22) !important;
  -webkit-backdrop-filter:blur(28px) saturate(1.22) !important;
}

body[data-page="portal-obrero-dashboard"] .obrero-home-hero:before,
body[data-page="portal-obrero-dashboard"] .obrero-profile-panel:before,
body[data-page="portal-obrero-dashboard"] .obrero-summary-grid article:before,
body[data-page="portal-obrero-dashboard"] .obrero-home-panel:before,
body[data-page="portal-obrero-dashboard"] .obrero-profile-chip:before{
  content:"" !important;
  position:absolute !important;
  inset:0 !important;
  pointer-events:none !important;
  background:
    linear-gradient(120deg, rgba(255,255,255,.34), rgba(255,255,255,.08) 34%, rgba(255,255,255,0) 58%),
    linear-gradient(180deg, rgba(255,255,255,.10), rgba(255,255,255,0) 38%) !important;
  opacity:.55 !important;
  z-index:0 !important;
}

body[data-page="portal-obrero-dashboard"] .obrero-home-hero > *,
body[data-page="portal-obrero-dashboard"] .obrero-profile-panel > *,
body[data-page="portal-obrero-dashboard"] .obrero-summary-grid article > *,
body[data-page="portal-obrero-dashboard"] .obrero-home-panel > *,
body[data-page="portal-obrero-dashboard"] .obrero-profile-chip > *{
  position:relative !important;
  z-index:1 !important;
}

body[data-page="portal-obrero-dashboard"] .obrero-home-hero,
body[data-page="portal-obrero-dashboard"] .obrero-edit-panel{
  border-radius:24px !important;
}

body[data-page="portal-obrero-dashboard"] .obrero-profile-panel,
body[data-page="portal-obrero-dashboard"] .obrero-home-panel,
body[data-page="portal-obrero-dashboard"] .obrero-summary-grid article{
  border-radius:20px !important;
}

body[data-page="portal-obrero-dashboard"] .obrero-profile-chip{
  border-radius:999px !important;
  box-shadow:
    0 18px 42px rgba(0,0,0,.24),
    0 1px 0 rgba(255,255,255,.18) inset !important;
}

body[data-page="portal-obrero-dashboard"] .obrero-profile-chip:hover{
  box-shadow:
    0 24px 54px rgba(0,0,0,.30),
    0 0 0 1px rgba(241,212,143,.22),
    0 1px 0 rgba(255,255,255,.20) inset !important;
}

body[data-page="portal-obrero-dashboard"] .obrero-chip-avatar,
body[data-page="portal-obrero-dashboard"] .obrero-avatar-wrap{
  border-color:rgba(255,255,255,.36) !important;
  background:
    linear-gradient(135deg, rgba(255,255,255,.24), rgba(255,255,255,.08)),
    linear-gradient(135deg, rgba(232,201,120,.42), rgba(11,32,66,.58)) !important;
  box-shadow:
    0 18px 38px rgba(0,0,0,.30),
    0 0 0 7px rgba(255,255,255,.075),
    0 1px 0 rgba(255,255,255,.28) inset !important;
  backdrop-filter:blur(18px) saturate(1.16) !important;
  -webkit-backdrop-filter:blur(18px) saturate(1.16) !important;
}

body[data-page="portal-obrero-dashboard"] .obrero-admin-subtitle{
  margin:4px 0 0 !important;
  max-width:760px !important;
  color:rgba(255,248,223,.82) !important;
  font-family:Inter, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif !important;
  font-size:clamp(12px,2.4vw,14px) !important;
  font-weight:500 !important;
  line-height:1.45 !important;
  letter-spacing:0 !important;
}

body[data-page="portal-obrero-dashboard"] .obrero-admin-subtitle[hidden],
body[data-page="portal-obrero-dashboard"] [data-obrero-admin-info][hidden]{
  display:none !important;
}

body[data-page="portal-obrero-dashboard"] .obrero-edit-panel .obrero-profile-wide{
  grid-column:1 / -1 !important;
}

body[data-page="portal-obrero-dashboard"] .obrero-secondary-btn,
body[data-page="portal-obrero-dashboard"] .obrero-panel-close,
body[data-page="portal-obrero-dashboard"] .obrero-edit-panel input,
body[data-page="portal-obrero-dashboard"] .obrero-edit-panel select{
  border:1px solid rgba(255,255,255,.22) !important;
  background:
    linear-gradient(135deg, rgba(255,255,255,.16), rgba(255,255,255,.055)),
    rgba(9,25,51,.34) !important;
  color:#fff8df !important;
  box-shadow:
    0 12px 28px rgba(0,0,0,.15),
    0 1px 0 rgba(255,255,255,.14) inset !important;
  backdrop-filter:blur(18px) saturate(1.16) !important;
  -webkit-backdrop-filter:blur(18px) saturate(1.16) !important;
}

body[data-page="portal-obrero-dashboard"] .obrero-secondary-btn:hover,
body[data-page="portal-obrero-dashboard"] .obrero-panel-close:hover{
  border-color:rgba(241,212,143,.46) !important;
  background:
    linear-gradient(135deg, rgba(255,255,255,.22), rgba(255,255,255,.075)),
    rgba(17,44,86,.44) !important;
}

body[data-page="portal-obrero-dashboard"] .obrero-logout-btn,
body[data-page="portal-obrero-dashboard"] .obrero-edit-panel button[type="submit"]{
  border:1px solid rgba(255,255,255,.34) !important;
  background:
    linear-gradient(135deg, rgba(255,255,255,.58), rgba(255,255,255,.18) 22%, rgba(232,201,120,.92) 48%, rgba(184,132,42,.94)) !important;
  color:#06172f !important;
  box-shadow:
    0 18px 36px rgba(0,0,0,.22),
    0 1px 0 rgba(255,255,255,.48) inset !important;
}

body[data-page="portal-obrero-dashboard"] .obrero-info-list div,
body[data-page="portal-obrero-dashboard"] .obrero-section-head{
  border-color:rgba(255,255,255,.14) !important;
}

body[data-page="portal-obrero-dashboard"] .obrero-summary-grid span,
body[data-page="portal-obrero-dashboard"] .obrero-edit-panel label,
body[data-page="portal-obrero-dashboard"] .obrero-info-list dt{
  color:rgba(246,222,159,.92) !important;
}

body[data-page="portal-obrero-dashboard"] .obrero-edit-panel input:focus,
body[data-page="portal-obrero-dashboard"] .obrero-edit-panel select:focus{
  outline:0 !important;
  border-color:rgba(246,222,159,.72) !important;
  box-shadow:
    0 0 0 4px rgba(246,222,159,.14),
    0 14px 34px rgba(0,0,0,.18),
    0 1px 0 rgba(255,255,255,.18) inset !important;
}

/* PORTAL DE OBREROS NAVIGATION START */
body[data-page="portal-obrero-dashboard"] .obrero-nav-start{
  margin:18px auto !important;
}

body[data-page="portal-obrero-dashboard"] .obrero-nav-grid{
  display:grid !important;
  grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  gap:14px !important;
}

body[data-page="portal-obrero-dashboard"] .obrero-nav-card{
  position:relative !important;
  overflow:hidden !important;
  display:flex !important;
  align-items:center !important;
  gap:14px !important;
  min-height:108px !important;
  padding:16px !important;
  border-radius:20px !important;
  border:1px solid rgba(255,255,255,.20) !important;
  background:
    linear-gradient(135deg, rgba(255,255,255,.20), rgba(255,255,255,.070) 42%, rgba(255,255,255,.045)),
    linear-gradient(180deg, rgba(241,212,143,.12), rgba(7,22,46,.16)) !important;
  color:#fff8df !important;
  text-decoration:none !important;
  box-shadow:
    0 24px 62px rgba(0,0,0,.26),
    0 1px 0 rgba(255,255,255,.16) inset,
    0 -1px 0 rgba(255,255,255,.055) inset !important;
  backdrop-filter:blur(26px) saturate(1.20) !important;
  -webkit-backdrop-filter:blur(26px) saturate(1.20) !important;
  opacity:0 !important;
  transform:translateY(22px) scale(.985) !important;
  transition:
    opacity .62s ease,
    transform .62s cubic-bezier(.2,.8,.2,1),
    border-color .22s ease,
    box-shadow .22s ease,
    background .22s ease !important;
}

body[data-page="portal-obrero-dashboard"] .obrero-nav-card:before{
  content:"" !important;
  position:absolute !important;
  inset:0 !important;
  z-index:0 !important;
  pointer-events:none !important;
  background:
    linear-gradient(120deg, rgba(255,255,255,.34), rgba(255,255,255,.08) 34%, rgba(255,255,255,0) 58%),
    linear-gradient(180deg, rgba(255,255,255,.10), rgba(255,255,255,0) 38%) !important;
  opacity:.52 !important;
}

body[data-page="portal-obrero-dashboard"] .obrero-nav-card > *{
  position:relative !important;
  z-index:1 !important;
}

body[data-page="portal-obrero-dashboard"] .obrero-nav-card:hover,
body[data-page="portal-obrero-dashboard"] .obrero-nav-card:focus-visible{
  transform:translateY(-5px) scale(1.01) !important;
  border-color:rgba(246,222,159,.62) !important;
  background:
    linear-gradient(135deg, rgba(255,255,255,.26), rgba(255,255,255,.090) 42%, rgba(255,255,255,.055)),
    linear-gradient(180deg, rgba(241,212,143,.18), rgba(7,22,46,.16)) !important;
  box-shadow:
    0 30px 76px rgba(0,0,0,.34),
    0 0 0 1px rgba(241,212,143,.24),
    0 0 28px rgba(241,212,143,.12),
    0 1px 0 rgba(255,255,255,.20) inset !important;
}

body[data-page="portal-obrero-dashboard"] .obrero-nav-card.is-visible{
  opacity:1 !important;
  transform:translateY(0) scale(1) !important;
}

body[data-page="portal-obrero-dashboard"] .obrero-nav-card.is-visible:hover,
body[data-page="portal-obrero-dashboard"] .obrero-nav-card.is-visible:focus-visible{
  transform:translateY(-5px) scale(1.01) !important;
}

body[data-page="portal-obrero-dashboard"] .obrero-nav-card:nth-child(2){transition-delay:.04s !important;}
body[data-page="portal-obrero-dashboard"] .obrero-nav-card:nth-child(3){transition-delay:.08s !important;}
body[data-page="portal-obrero-dashboard"] .obrero-nav-card:nth-child(4){transition-delay:.12s !important;}
body[data-page="portal-obrero-dashboard"] .obrero-nav-card:nth-child(5){transition-delay:.16s !important;}
body[data-page="portal-obrero-dashboard"] .obrero-nav-card:nth-child(6){transition-delay:.20s !important;}
body[data-page="portal-obrero-dashboard"] .obrero-nav-card:nth-child(7){transition-delay:.24s !important;}
body[data-page="portal-obrero-dashboard"] .obrero-nav-card:nth-child(8){transition-delay:.28s !important;}
body[data-page="portal-obrero-dashboard"] .obrero-nav-card:nth-child(9){transition-delay:.32s !important;}
body[data-page="portal-obrero-dashboard"] .obrero-nav-card:nth-child(10){transition-delay:.36s !important;}
body[data-page="portal-obrero-dashboard"] .obrero-nav-card:nth-child(11){transition-delay:.40s !important;}
body[data-page="portal-obrero-dashboard"] .obrero-nav-card:nth-child(12){transition-delay:.44s !important;}

body[data-page="portal-obrero-dashboard"] .obrero-nav-card:focus-visible{
  outline:3px solid rgba(246,222,159,.34) !important;
  outline-offset:3px !important;
}

body[data-page="portal-obrero-dashboard"] .obrero-nav-icon{
  width:54px !important;
  height:54px !important;
  flex:0 0 54px !important;
  display:grid !important;
  place-items:center !important;
  border-radius:16px !important;
  border:1px solid rgba(255,255,255,.24) !important;
  background:
    linear-gradient(135deg, rgba(255,255,255,.34), rgba(255,255,255,.08)),
    linear-gradient(135deg, rgba(232,201,120,.70), rgba(169,120,31,.72)) !important;
  color:#06172f !important;
  font-family:Arial,Helvetica,sans-serif !important;
  font-size:25px !important;
  font-weight:950 !important;
  box-shadow:
    0 16px 32px rgba(0,0,0,.24),
    0 1px 0 rgba(255,255,255,.32) inset !important;
}

body[data-page="portal-obrero-dashboard"] .obrero-nav-card:hover .obrero-nav-icon,
body[data-page="portal-obrero-dashboard"] .obrero-nav-card:focus-visible .obrero-nav-icon{
  transform:translateY(-1px) scale(1.06) !important;
  box-shadow:
    0 20px 38px rgba(0,0,0,.28),
    0 0 22px rgba(241,212,143,.24),
    0 1px 0 rgba(255,255,255,.36) inset !important;
}

body[data-page="portal-obrero-dashboard"] .obrero-nav-icon,
body[data-page="portal-obrero-dashboard"] .obrero-nav-arrow{
  transition:transform .22s ease, opacity .22s ease, box-shadow .22s ease !important;
}

body[data-page="portal-obrero-dashboard"] .obrero-nav-card:hover .obrero-nav-arrow,
body[data-page="portal-obrero-dashboard"] .obrero-nav-card:focus-visible .obrero-nav-arrow{
  transform:translateX(4px) !important;
  opacity:1 !important;
}

body[data-page="portal-obrero-dashboard"] .obrero-nav-copy{
  flex:1 1 auto !important;
  min-width:0 !important;
  display:flex !important;
  flex-direction:column !important;
  gap:5px !important;
}

body[data-page="portal-obrero-dashboard"] .obrero-nav-copy strong{
  color:#fff !important;
  font-size:clamp(17px,2vw,21px) !important;
  line-height:1.12 !important;
  font-weight:900 !important;
}

body[data-page="portal-obrero-dashboard"] .obrero-nav-copy small{
  color:rgba(255,248,223,.76) !important;
  font-size:13px !important;
  line-height:1.42 !important;
  font-weight:700 !important;
}

body[data-page="portal-obrero-dashboard"] .obrero-nav-arrow{
  flex:0 0 auto !important;
  color:#f4dc8a !important;
  font-size:24px !important;
  font-weight:900 !important;
  line-height:1 !important;
  opacity:.88 !important;
}

@media(max-width:640px){
  body[data-page="portal-obrero-dashboard"] .obrero-home-hero,
  body[data-page="portal-obrero-dashboard"] .obrero-profile-panel,
  body[data-page="portal-obrero-dashboard"] .obrero-home-panel,
  body[data-page="portal-obrero-dashboard"] .obrero-summary-grid article{
    border-radius:18px !important;
    backdrop-filter:blur(22px) saturate(1.18) !important;
    -webkit-backdrop-filter:blur(22px) saturate(1.18) !important;
    box-shadow:
      0 18px 46px rgba(0,0,0,.24),
      0 1px 0 rgba(255,255,255,.15) inset !important;
  }
}

@media(max-width:900px){
  body[data-page="portal-obrero-dashboard"] .obrero-nav-grid{
    grid-template-columns:1fr !important;
  }
}

@media(max-width:640px){
  body[data-page="portal-obrero-dashboard"] .obrero-nav-card{
    min-height:96px !important;
    padding:14px !important;
    gap:12px !important;
  }

  body[data-page="portal-obrero-dashboard"] .obrero-nav-icon{
    width:48px !important;
    height:48px !important;
    flex-basis:48px !important;
    border-radius:14px !important;
    font-size:22px !important;
  }
}

@media(prefers-reduced-motion:reduce){
  body[data-page="portal-obrero-dashboard"] .obrero-nav-card{
    opacity:1 !important;
    transform:none !important;
    transition:none !important;
  }

  body[data-page="portal-obrero-dashboard"] .obrero-nav-card:hover,
  body[data-page="portal-obrero-dashboard"] .obrero-nav-card:focus-visible{
    transform:none !important;
  }
}

/* PORTAL DE OBREROS SECURE CHAT */
body[data-page="portal-obrero-dashboard"] .obrero-chat-panel{
  margin:18px auto !important;
  isolation:isolate !important;
}

body[data-page="portal-obrero-dashboard"] .obrero-chat-panel:after{
  content:"" !important;
  position:absolute !important;
  inset:-28% !important;
  z-index:0 !important;
  pointer-events:none !important;
  opacity:.65 !important;
  background:
    radial-gradient(ellipse at 18% 26%, rgba(244,220,138,.62), transparent 34%),
    radial-gradient(ellipse at 76% 20%, rgba(255,255,255,.48), transparent 30%),
    radial-gradient(ellipse at 68% 78%, rgba(8,35,75,.78), transparent 34%),
    radial-gradient(ellipse at 24% 86%, rgba(212,175,55,.44), transparent 31%),
    linear-gradient(135deg, rgba(5,23,47,.62), rgba(255,255,255,.08), rgba(212,175,55,.28)) !important;
  filter:blur(32px) saturate(1.25) !important;
  transform:translate3d(0,0,0) rotate(0deg) scale(1.02) !important;
  animation:obreroChatLava 18s ease-in-out infinite alternate !important;
}

body[data-page="portal-obrero-dashboard"] .obrero-chat-panel > *{
  position:relative !important;
  z-index:1 !important;
}

@keyframes obreroChatLava{
  0%{transform:translate3d(-3%,-2%,0) rotate(0deg) scale(1.02);}
  35%{transform:translate3d(4%,2%,0) rotate(8deg) scale(1.10);}
  70%{transform:translate3d(-1%,5%,0) rotate(-6deg) scale(1.06);}
  100%{transform:translate3d(3%,-4%,0) rotate(5deg) scale(1.12);}
}

body[data-page="portal-obrero-dashboard"] .obrero-chat-status{
  min-height:22px !important;
  margin:-4px 0 12px !important;
  color:rgba(246,222,159,.92) !important;
  font-size:13px !important;
  font-weight:800 !important;
}

body[data-page="portal-obrero-dashboard"] .obrero-chat-status[data-type="error"]{
  color:#ffd6d6 !important;
}

body[data-page="portal-obrero-dashboard"] .obrero-chat-status[data-type="success"]{
  color:#dfffe3 !important;
}

body[data-page="portal-obrero-dashboard"] .obrero-chat-roombar{
  display:grid !important;
  grid-template-columns:minmax(180px,1fr) repeat(4,auto) !important;
  gap:10px !important;
  align-items:end !important;
  margin:0 0 12px !important;
}

body[data-page="portal-obrero-dashboard"] .obrero-chat-roombar label{
  display:flex !important;
  flex-direction:column !important;
  gap:6px !important;
  color:rgba(246,222,159,.92) !important;
  font-size:12px !important;
  font-weight:900 !important;
  letter-spacing:.08em !important;
  text-transform:uppercase !important;
}

body[data-page="portal-obrero-dashboard"] .obrero-chat-roombar select,
body[data-page="portal-obrero-dashboard"] .obrero-chat-roombar button,
body[data-page="portal-obrero-dashboard"] .obrero-chat-pinned-item{
  min-height:40px !important;
  border-radius:13px !important;
  border:1px solid rgba(255,255,255,.22) !important;
  background:
    linear-gradient(135deg, rgba(255,255,255,.18), rgba(255,255,255,.060)),
    rgba(9,25,51,.34) !important;
  color:#fff8df !important;
  font-weight:900 !important;
  cursor:pointer !important;
  box-shadow:0 12px 26px rgba(0,0,0,.16), inset 0 1px 0 rgba(255,255,255,.14) !important;
}

body[data-page="portal-obrero-dashboard"] .obrero-chat-roombar select{
  width:100% !important;
  padding:0 12px !important;
}

body[data-page="portal-obrero-dashboard"] .obrero-chat-roombar button{
  padding:0 12px !important;
  font-size:11px !important;
  text-transform:uppercase !important;
}

body[data-page="portal-obrero-dashboard"] .obrero-chat-roombar button:hover,
body[data-page="portal-obrero-dashboard"] .obrero-chat-pinned-item:hover{
  transform:translateY(-2px) scale(1.02) !important;
  border-color:rgba(246,222,159,.58) !important;
  box-shadow:0 20px 42px rgba(0,0,0,.26), 0 0 20px rgba(246,222,159,.16) !important;
}

body[data-page="portal-obrero-dashboard"] .obrero-chat-pinned{
  display:grid !important;
  gap:8px !important;
  margin:0 0 12px !important;
}

body[data-page="portal-obrero-dashboard"] .obrero-chat-pinned[hidden]{
  display:none !important;
}

body[data-page="portal-obrero-dashboard"] .obrero-chat-pinned-item{
  width:100% !important;
  padding:0 14px !important;
  text-align:left !important;
  color:#f4dc8a !important;
}

body[data-page="portal-obrero-dashboard"] .obrero-chat-messages{
  height:min(520px,62vh) !important;
  min-height:320px !important;
  overflow-y:auto !important;
  display:flex !important;
  flex-direction:column !important;
  gap:12px !important;
  padding:14px !important;
  border-radius:20px !important;
  border:1px solid rgba(255,255,255,.18) !important;
  background:
    linear-gradient(135deg, rgba(255,255,255,.12), rgba(255,255,255,.035)),
    rgba(5,18,39,.28) !important;
  box-shadow:
    0 18px 40px rgba(0,0,0,.18),
    0 1px 0 rgba(255,255,255,.12) inset !important;
  -webkit-overflow-scrolling:touch !important;
  box-shadow:
    0 0 0 1px rgba(246,222,159,.16),
    0 0 34px rgba(246,222,159,.16),
    0 24px 58px rgba(0,0,0,.24),
    0 1px 0 rgba(255,255,255,.12) inset !important;
}

body[data-page="portal-obrero-dashboard"] .obrero-chat-empty{
  margin:auto !important;
  max-width:420px !important;
  color:rgba(255,248,223,.72) !important;
  text-align:center !important;
  font-weight:800 !important;
  line-height:1.5 !important;
}

body[data-page="portal-obrero-dashboard"] .obrero-chat-message{
  width:min(82%,720px) !important;
  align-self:flex-start !important;
  padding:13px 14px !important;
  border-radius:18px 18px 18px 6px !important;
  border:1px solid rgba(255,255,255,.18) !important;
  background:
    linear-gradient(135deg, rgba(255,255,255,.18), rgba(255,255,255,.055)),
    rgba(9,28,58,.46) !important;
  color:#fff8df !important;
  box-shadow:
    0 16px 34px rgba(0,0,0,.20),
    0 1px 0 rgba(255,255,255,.14) inset !important;
  backdrop-filter:blur(18px) saturate(1.16) !important;
  -webkit-backdrop-filter:blur(18px) saturate(1.16) !important;
  transition:transform .22s ease, border-color .22s ease, box-shadow .22s ease, background .22s ease !important;
}

body[data-page="portal-obrero-dashboard"] .obrero-chat-message:hover{
  transform:translateY(-5px) scale(1.015) !important;
  border-color:rgba(246,222,159,.58) !important;
  background:
    linear-gradient(135deg, rgba(255,255,255,.26), rgba(255,255,255,.075)),
    rgba(9,28,58,.58) !important;
  box-shadow:
    0 28px 70px rgba(0,0,0,.34),
    0 0 28px rgba(246,222,159,.18),
    0 1px 0 rgba(255,255,255,.20) inset !important;
}

body[data-page="portal-obrero-dashboard"] .obrero-chat-message.is-pending{
  opacity:.76 !important;
  border-style:dashed !important;
  box-shadow:
    0 14px 34px rgba(0,0,0,.18),
    0 0 22px rgba(246,222,159,.18),
    0 1px 0 rgba(255,255,255,.14) inset !important;
}

body[data-page="portal-obrero-dashboard"] .obrero-chat-message.is-pinned{
  border-color:rgba(244,220,138,.70) !important;
  box-shadow:
    0 24px 60px rgba(0,0,0,.28),
    0 0 0 1px rgba(244,220,138,.28),
    0 0 28px rgba(244,220,138,.20) !important;
}

body[data-page="portal-obrero-dashboard"] .obrero-chat-message.is-mine{
  align-self:flex-end !important;
  border-radius:18px 18px 6px 18px !important;
  background:
    linear-gradient(135deg, rgba(244,220,138,.30), rgba(255,255,255,.08)),
    rgba(31,54,86,.56) !important;
  border-color:rgba(246,222,159,.34) !important;
}

body[data-page="portal-obrero-dashboard"] .obrero-chat-meta{
  display:grid !important;
  grid-template-columns:minmax(0,1fr) auto !important;
  align-items:center !important;
  gap:3px 12px !important;
  margin-bottom:7px !important;
}

body[data-page="portal-obrero-dashboard"] .obrero-chat-sender{
  display:flex !important;
  align-items:center !important;
  gap:9px !important;
  min-width:0 !important;
}

body[data-page="portal-obrero-dashboard"] .obrero-chat-avatar{
  width:34px !important;
  height:34px !important;
  flex:0 0 34px !important;
  border-radius:999px !important;
  overflow:hidden !important;
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  border:1px solid rgba(246,222,159,.46) !important;
  background:
    linear-gradient(135deg, rgba(255,255,255,.22), rgba(255,255,255,.07)),
    rgba(9,28,58,.62) !important;
  color:#f4dc8a !important;
  font-size:11px !important;
  font-weight:950 !important;
  box-shadow:0 8px 18px rgba(0,0,0,.24), 0 1px 0 rgba(255,255,255,.18) inset !important;
}

body[data-page="portal-obrero-dashboard"] .obrero-chat-avatar img{
  width:100% !important;
  height:100% !important;
  object-fit:cover !important;
  display:block !important;
}

body[data-page="portal-obrero-dashboard"] .obrero-chat-meta strong{
  color:#f4dc8a !important;
  font-size:13px !important;
  line-height:1.2 !important;
  font-weight:950 !important;
}

body[data-page="portal-obrero-dashboard"] .obrero-chat-meta span{
  color:rgba(255,248,223,.58) !important;
  font-size:11px !important;
  white-space:nowrap !important;
}

body[data-page="portal-obrero-dashboard"] .obrero-chat-admin-subtitle{
  grid-column:1 / -1 !important;
  color:rgba(255,248,223,.70) !important;
  font-size:11px !important;
  font-weight:650 !important;
  line-height:1.35 !important;
  letter-spacing:0 !important;
}

body[data-page="portal-obrero-dashboard"] .obrero-chat-text{
  margin:0 !important;
  color:#fff !important;
  font-size:15px !important;
  line-height:1.55 !important;
  white-space:pre-wrap !important;
  overflow-wrap:anywhere !important;
}

body[data-page="portal-obrero-dashboard"] .obrero-chat-attachment{
  display:flex !important;
  align-items:center !important;
  gap:10px !important;
  margin-top:10px !important;
  padding:10px !important;
  border-radius:14px !important;
  border:1px solid rgba(246,222,159,.28) !important;
  background:rgba(255,255,255,.075) !important;
  color:#f4dc8a !important;
  text-decoration:none !important;
  font-size:13px !important;
  font-weight:850 !important;
}

body[data-page="portal-obrero-dashboard"] .obrero-chat-attachment:hover{
  border-color:rgba(246,222,159,.58) !important;
  background:rgba(255,255,255,.11) !important;
}

body[data-page="portal-obrero-dashboard"] .obrero-chat-attachment img{
  width:78px !important;
  height:58px !important;
  border-radius:10px !important;
  object-fit:cover !important;
  flex:0 0 auto !important;
}

body[data-page="portal-obrero-dashboard"] .obrero-chat-link-preview{
  display:flex !important;
  gap:10px !important;
  margin-top:10px !important;
  padding:10px !important;
  border-radius:14px !important;
  border:1px solid rgba(255,255,255,.18) !important;
  background:rgba(255,255,255,.085) !important;
  color:#fff8df !important;
  text-decoration:none !important;
}

body[data-page="portal-obrero-dashboard"] .obrero-chat-link-preview:hover{
  border-color:rgba(246,222,159,.58) !important;
  transform:translateY(-2px) !important;
}

body[data-page="portal-obrero-dashboard"] .obrero-chat-link-preview img{
  width:84px !important;
  height:64px !important;
  object-fit:cover !important;
  border-radius:10px !important;
  flex:0 0 auto !important;
}

body[data-page="portal-obrero-dashboard"] .obrero-chat-link-preview span{
  display:flex !important;
  flex-direction:column !important;
  gap:4px !important;
  min-width:0 !important;
}

body[data-page="portal-obrero-dashboard"] .obrero-chat-link-preview strong{
  color:#f4dc8a !important;
  font-size:13px !important;
  overflow:hidden !important;
  text-overflow:ellipsis !important;
  white-space:nowrap !important;
}

body[data-page="portal-obrero-dashboard"] .obrero-chat-link-preview small{
  color:rgba(255,248,223,.72) !important;
  font-size:12px !important;
  line-height:1.35 !important;
}

body[data-page="portal-obrero-dashboard"] .obrero-chat-reactions{
  display:flex !important;
  flex-wrap:wrap !important;
  gap:8px !important;
  margin-top:10px !important;
  padding:8px !important;
  border-radius:16px !important;
  background:rgba(5,18,39,.24) !important;
  border:1px solid rgba(255,255,255,.10) !important;
}

body[data-page="portal-obrero-dashboard"] .obrero-chat-reaction,
body[data-page="portal-obrero-dashboard"] .obrero-chat-reaction-add,
body[data-page="portal-obrero-dashboard"] .obrero-chat-emoji-choice,
body[data-page="portal-obrero-dashboard"] .obrero-chat-pin{
  min-height:30px !important;
  min-width:34px !important;
  padding:0 8px !important;
  border-radius:999px !important;
  border:1px solid rgba(255,255,255,.18) !important;
  background:rgba(255,255,255,.09) !important;
  color:#fff8df !important;
  cursor:pointer !important;
  font-size:17px !important;
  font-weight:900 !important;
  line-height:1 !important;
  touch-action:manipulation !important;
}

body[data-page="portal-obrero-dashboard"] .obrero-chat-reaction-add{
  padding:0 13px !important;
  font-size:12px !important;
  letter-spacing:0 !important;
}

body[data-page="portal-obrero-dashboard"] .obrero-chat-emoji-picker{
  display:flex !important;
  flex-wrap:wrap !important;
  gap:9px !important;
  width:100% !important;
  margin-top:2px !important;
  padding:10px !important;
  border-radius:16px !important;
  border:1px solid rgba(255,255,255,.16) !important;
  background:
    linear-gradient(135deg, rgba(255,255,255,.16), rgba(255,255,255,.055)),
    rgba(3,14,31,.48) !important;
  box-shadow:0 18px 42px rgba(0,0,0,.24), 0 1px 0 rgba(255,255,255,.12) inset !important;
}

body[data-page="portal-obrero-dashboard"] .obrero-chat-emoji-picker[hidden]{
  display:none !important;
}

body[data-page="portal-obrero-dashboard"] .obrero-chat-emoji-choice{
  min-width:38px !important;
  min-height:36px !important;
  font-size:20px !important;
  background:rgba(255,255,255,.12) !important;
}

body[data-page="portal-obrero-dashboard"] .obrero-chat-reaction:hover,
body[data-page="portal-obrero-dashboard"] .obrero-chat-reaction-add:hover,
body[data-page="portal-obrero-dashboard"] .obrero-chat-emoji-choice:hover,
body[data-page="portal-obrero-dashboard"] .obrero-chat-pin:hover{
  transform:translateY(-2px) scale(1.05) !important;
  border-color:rgba(246,222,159,.58) !important;
  box-shadow:0 12px 24px rgba(0,0,0,.22), 0 0 16px rgba(246,222,159,.14) !important;
}

body[data-page="portal-obrero-dashboard"] .obrero-chat-reaction.is-reacted,
body[data-page="portal-obrero-dashboard"] .obrero-chat-emoji-choice.is-reacted{
  background:rgba(244,220,138,.22) !important;
  border-color:rgba(244,220,138,.54) !important;
  color:#f4dc8a !important;
}

body[data-page="portal-obrero-dashboard"] .obrero-chat-actions{
  display:flex !important;
  justify-content:flex-end !important;
  margin-top:10px !important;
}

body[data-page="portal-obrero-dashboard"] .obrero-chat-delete{
  min-height:30px !important;
  padding:0 11px !important;
  border-radius:999px !important;
  border:1px solid rgba(255,214,214,.34) !important;
  background:rgba(135,30,30,.20) !important;
  color:#ffd6d6 !important;
  cursor:pointer !important;
  font-size:11px !important;
  font-weight:900 !important;
  letter-spacing:.04em !important;
  text-transform:uppercase !important;
}

body[data-page="portal-obrero-dashboard"] .obrero-chat-delete:hover,
body[data-page="portal-obrero-dashboard"] .obrero-chat-delete:focus-visible{
  border-color:rgba(255,214,214,.62) !important;
  background:rgba(135,30,30,.32) !important;
  outline:0 !important;
}

body[data-page="portal-obrero-dashboard"] .obrero-chat-form{
  margin:14px 0 0 !important;
  display:grid !important;
  gap:10px !important;
}

body[data-page="portal-obrero-dashboard"] .obrero-chat-label{
  color:rgba(246,222,159,.92) !important;
  font-size:12px !important;
  font-weight:900 !important;
  letter-spacing:.08em !important;
  text-transform:uppercase !important;
}

body[data-page="portal-obrero-dashboard"] .obrero-chat-form textarea{
  width:100% !important;
  min-height:86px !important;
  resize:vertical !important;
  padding:14px 15px !important;
  border-radius:18px !important;
  border:1px solid rgba(255,255,255,.22) !important;
  background:
    linear-gradient(135deg, rgba(255,255,255,.16), rgba(255,255,255,.055)),
    rgba(9,25,51,.34) !important;
  color:#fff8df !important;
  font:inherit !important;
  font-size:16px !important;
  line-height:1.45 !important;
  outline:none !important;
  box-shadow:
    0 12px 28px rgba(0,0,0,.15),
    0 1px 0 rgba(255,255,255,.14) inset !important;
  backdrop-filter:blur(18px) saturate(1.16) !important;
  -webkit-backdrop-filter:blur(18px) saturate(1.16) !important;
}

body[data-page="portal-obrero-dashboard"] .obrero-chat-form textarea::placeholder{
  color:rgba(255,248,223,.58) !important;
}

body[data-page="portal-obrero-dashboard"] .obrero-chat-form textarea:focus{
  border-color:rgba(246,222,159,.72) !important;
  box-shadow:
    0 0 0 4px rgba(246,222,159,.14),
    0 14px 34px rgba(0,0,0,.18),
    0 1px 0 rgba(255,255,255,.18) inset !important;
}

body[data-page="portal-obrero-dashboard"] .obrero-chat-tools{
  display:grid !important;
  grid-template-columns:auto 1fr auto !important;
  align-items:center !important;
  gap:10px !important;
}

body[data-page="portal-obrero-dashboard"] .obrero-chat-file-btn,
body[data-page="portal-obrero-dashboard"] .obrero-chat-send{
  min-height:44px !important;
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  padding:0 16px !important;
  border-radius:14px !important;
  border:1px solid rgba(255,255,255,.24) !important;
  cursor:pointer !important;
  font-size:13px !important;
  font-weight:950 !important;
  text-transform:uppercase !important;
  letter-spacing:.03em !important;
}

body[data-page="portal-obrero-dashboard"] .obrero-chat-file-btn{
  background:
    linear-gradient(135deg, rgba(255,255,255,.16), rgba(255,255,255,.055)),
    rgba(9,25,51,.34) !important;
  color:#fff8df !important;
}

body[data-page="portal-obrero-dashboard"] .obrero-chat-file-btn input{
  display:none !important;
}

body[data-page="portal-obrero-dashboard"] .obrero-chat-file-name{
  color:rgba(255,248,223,.68) !important;
  font-size:13px !important;
  font-weight:750 !important;
  overflow:hidden !important;
  text-overflow:ellipsis !important;
  white-space:nowrap !important;
}

body[data-page="portal-obrero-dashboard"] .obrero-chat-send{
  background:
    linear-gradient(135deg, rgba(255,255,255,.58), rgba(255,255,255,.18) 22%, rgba(232,201,120,.92) 48%, rgba(184,132,42,.94)) !important;
  color:#06172f !important;
  box-shadow:
    0 18px 36px rgba(0,0,0,.22),
    0 1px 0 rgba(255,255,255,.48) inset !important;
}

body[data-page="portal-obrero-dashboard"] .obrero-chat-send:disabled{
  opacity:.62 !important;
  cursor:not-allowed !important;
}

body[data-page="portal-obrero-dashboard"] .obrero-chat-search{
  display:flex !important;
  flex-direction:column !important;
  gap:8px !important;
  margin-top:12px !important;
  position:relative !important;
}

body[data-page="portal-obrero-dashboard"] .obrero-chat-search label{
  color:rgba(246,222,159,.92) !important;
  font-size:12px !important;
  font-weight:950 !important;
  text-transform:uppercase !important;
}

body[data-page="portal-obrero-dashboard"] .obrero-chat-search input{
  width:100% !important;
  min-height:44px !important;
  border-radius:14px !important;
  border:1px solid rgba(255,255,255,.20) !important;
  background:
    linear-gradient(135deg, rgba(255,255,255,.14), rgba(255,255,255,.05)),
    rgba(5,18,39,.36) !important;
  color:#fff8df !important;
  padding:0 14px !important;
  font-size:15px !important;
  font-weight:750 !important;
  outline:0 !important;
}

body[data-page="portal-obrero-dashboard"] .obrero-chat-search input:focus{
  border-color:rgba(246,222,159,.62) !important;
  box-shadow:0 0 0 4px rgba(246,222,159,.12), 0 16px 34px rgba(0,0,0,.20) !important;
}

body[data-page="portal-obrero-dashboard"] .obrero-chat-search-results{
  display:grid !important;
  gap:8px !important;
  max-height:280px !important;
  overflow:auto !important;
  padding:10px !important;
  border-radius:16px !important;
  border:1px solid rgba(246,222,159,.24) !important;
  background:
    linear-gradient(135deg, rgba(255,255,255,.16), rgba(255,255,255,.055)),
    rgba(4,16,35,.72) !important;
  box-shadow:0 22px 54px rgba(0,0,0,.30), 0 0 24px rgba(246,222,159,.10) !important;
  backdrop-filter:blur(18px) saturate(1.16) !important;
  -webkit-backdrop-filter:blur(18px) saturate(1.16) !important;
}

body[data-page="portal-obrero-dashboard"] .obrero-chat-search-results[hidden]{
  display:none !important;
}

body[data-page="portal-obrero-dashboard"] .obrero-chat-search-result{
  display:grid !important;
  grid-template-columns:minmax(0,1fr) auto !important;
  gap:3px 10px !important;
  width:100% !important;
  border-radius:12px !important;
  border:1px solid rgba(255,255,255,.13) !important;
  background:rgba(255,255,255,.08) !important;
  color:#fff8df !important;
  padding:10px 12px !important;
  text-align:left !important;
  cursor:pointer !important;
}

body[data-page="portal-obrero-dashboard"] .obrero-chat-search-result:hover{
  border-color:rgba(246,222,159,.56) !important;
  transform:translateY(-1px) !important;
}

body[data-page="portal-obrero-dashboard"] .obrero-chat-search-result strong{
  color:#f4dc8a !important;
  font-size:13px !important;
}

body[data-page="portal-obrero-dashboard"] .obrero-chat-search-result span{
  color:rgba(255,248,223,.62) !important;
  font-size:11px !important;
  white-space:nowrap !important;
}

body[data-page="portal-obrero-dashboard"] .obrero-chat-search-result small{
  grid-column:1 / -1 !important;
  color:rgba(255,248,223,.78) !important;
  font-size:12px !important;
  line-height:1.35 !important;
}

body[data-page="portal-obrero-dashboard"] .obrero-chat-search-empty{
  color:rgba(255,248,223,.70) !important;
  font-size:13px !important;
  font-weight:800 !important;
  padding:6px !important;
}

body[data-page="portal-obrero-dashboard"] .obrero-chat-message.is-search-target{
  border-color:rgba(255,241,166,.92) !important;
  box-shadow:
    0 0 0 2px rgba(255,241,166,.30),
    0 0 34px rgba(255,241,166,.34),
    0 20px 48px rgba(0,0,0,.28) !important;
}

.obrero-message-info-menu{
  position:fixed !important;
  z-index:100000 !important;
  width:min(250px, calc(100vw - 24px)) !important;
  padding:8px !important;
  border-radius:14px !important;
  border:1px solid rgba(255,255,255,.18) !important;
  background:rgba(7,12,22,.92) !important;
  box-shadow:0 24px 60px rgba(0,0,0,.36), 0 1px 0 rgba(255,255,255,.10) inset !important;
  backdrop-filter:blur(18px) saturate(1.16) !important;
  -webkit-backdrop-filter:blur(18px) saturate(1.16) !important;
}

.obrero-message-info-menu button{
  width:100% !important;
  min-height:42px !important;
  border:0 !important;
  border-radius:10px !important;
  background:rgba(255,255,255,.10) !important;
  color:#fff8df !important;
  font-weight:900 !important;
  text-align:left !important;
  padding:0 12px !important;
  cursor:pointer !important;
}

.obrero-message-info-panel{
  position:fixed !important;
  inset:0 !important;
  z-index:100001 !important;
  display:grid !important;
  place-items:center !important;
  padding:18px !important;
  background:rgba(0,0,0,.58) !important;
}

.obrero-message-info-card{
  width:min(620px, 100%) !important;
  max-height:min(78vh, 680px) !important;
  overflow:auto !important;
  border-radius:18px !important;
  border:1px solid rgba(255,255,255,.20) !important;
  background:
    linear-gradient(135deg, rgba(255,255,255,.14), rgba(255,255,255,.04)),
    rgba(11,13,18,.94) !important;
  box-shadow:0 28px 84px rgba(0,0,0,.44), 0 0 28px rgba(246,222,159,.12) !important;
  padding:18px !important;
  color:#fff8df !important;
  position:relative !important;
}

.obrero-message-info-card h3{
  margin:0 42px 14px 0 !important;
  color:#f4dc8a !important;
  font-size:20px !important;
}

.obrero-message-info-close{
  position:absolute !important;
  right:12px !important;
  top:12px !important;
  width:34px !important;
  height:34px !important;
  border-radius:999px !important;
  border:1px solid rgba(255,255,255,.18) !important;
  background:rgba(255,255,255,.08) !important;
  color:#fff8df !important;
  font-size:22px !important;
  cursor:pointer !important;
}

.obrero-message-info-section{
  border-top:1px solid rgba(255,255,255,.12) !important;
  padding:14px 0 8px !important;
}

.obrero-message-info-head,
.obrero-message-info-row{
  display:grid !important;
  grid-template-columns:auto minmax(0,1fr) auto !important;
  gap:12px !important;
  align-items:center !important;
}

.obrero-message-info-head strong{
  font-size:18px !important;
  color:#fff !important;
}

.obrero-message-info-check{
  color:rgba(255,255,255,.46) !important;
  font-size:24px !important;
  font-weight:950 !important;
}

.obrero-message-info-check.is-read{
  color:#55c7ff !important;
}

.obrero-message-info-row{
  grid-template-columns:minmax(0,1fr) auto !important;
  margin:10px 0 0 36px !important;
  color:rgba(255,248,223,.86) !important;
}

.obrero-message-info-row time{
  color:rgba(255,248,223,.62) !important;
  white-space:nowrap !important;
}

.obrero-message-info-empty,
.obrero-message-info-loading{
  color:rgba(255,248,223,.66) !important;
  margin:10px 0 0 36px !important;
  font-weight:750 !important;
}

@media(max-width:700px){
  body[data-page="portal-obrero-dashboard"] .obrero-chat-roombar{
    grid-template-columns:1fr 1fr !important;
  }

  body[data-page="portal-obrero-dashboard"] .obrero-chat-roombar label{
    grid-column:1 / -1 !important;
  }

  body[data-page="portal-obrero-dashboard"] .obrero-chat-messages{
    height:460px !important;
    min-height:300px !important;
    padding:10px !important;
  }

  body[data-page="portal-obrero-dashboard"] .obrero-chat-message{
    width:92% !important;
  }

  body[data-page="portal-obrero-dashboard"] .obrero-chat-tools{
    grid-template-columns:1fr !important;
  }

  body[data-page="portal-obrero-dashboard"] .obrero-chat-file-name{
    white-space:normal !important;
  }
}

/* PORTAL DE OBREROS FULL-SCREEN HOMEPAGE + MOBILE CHAT EXPANSION */
body[data-page="portal-obrero-dashboard"]{
  width:100% !important;
  min-width:0 !important;
  min-height:100svh !important;
  margin:0 !important;
  overflow-x:hidden !important;
}

body[data-page="portal-obrero-dashboard"] #portal-obrero-dashboard{
  width:100% !important;
  max-width:none !important;
  min-height:100svh !important;
  margin:0 !important;
  padding:0 !important;
}

body[data-page="portal-obrero-dashboard"] .obrero-modern-home{
  width:100% !important;
  max-width:none !important;
  margin:0 !important;
  padding:18px clamp(12px, 2vw, 30px) 42px !important;
}

body[data-page="portal-obrero-dashboard"] .obrero-modern-home > *:not(.obrero-grid-overlay){
  width:100% !important;
  max-width:none !important;
  margin-left:0 !important;
  margin-right:0 !important;
}

body[data-page="portal-obrero-dashboard"] .obrero-chat-panel{
  width:100% !important;
  max-width:none !important;
}

body[data-page="portal-obrero-dashboard"] .obrero-chat-messages{
  height:min(680px, 68vh) !important;
  min-height:420px !important;
}

body[data-page="portal-obrero-dashboard"] .obrero-chat-message[data-obrero-message-info]{
  cursor:pointer !important;
}

body[data-page="portal-obrero-dashboard"] .obrero-chat-message[data-obrero-message-info]:hover{
  border-color:rgba(85,199,255,.46) !important;
}

body[data-page="portal-obrero-dashboard"] button.obrero-nav-card{
  width:100% !important;
  font:inherit !important;
  text-align:left !important;
  cursor:pointer !important;
}

body[data-page="portal-obrero-dashboard"] .obrero-ai-nav-card{
  border-color:rgba(247,231,167,.46) !important;
  background:
    radial-gradient(circle at 12% 0%, rgba(247,231,167,.18), transparent 34%),
    linear-gradient(135deg, rgba(255,255,255,.13), rgba(255,255,255,.055)) !important;
  box-shadow:0 18px 44px rgba(0,0,0,.20), 0 0 30px rgba(191,161,74,.12) !important;
}

body[data-page="portal-obrero-dashboard"] .obrero-ai-nav-card .obrero-nav-icon{
  color:#f7e7a7 !important;
  text-shadow:0 0 18px rgba(247,231,167,.42) !important;
}

body[data-page="portal-obrero-dashboard"] .obrero-pascua{
  width:100vw !important;
  max-width:none !important;
  min-height:100svh !important;
  margin:22px 0 22px calc(50% - 50vw) !important;
  padding:0 !important;
  border:0 !important;
  border-radius:0 !important;
  background:#16080d !important;
  color:#fff8df !important;
  overflow:hidden !important;
}

body[data-page="portal-obrero-dashboard"] .obrero-pascua[hidden]{
  display:none !important;
}

body[data-page="portal-obrero-dashboard"] .obrero-pascua-header{
  position:sticky !important;
  top:0 !important;
  z-index:20 !important;
  display:flex !important;
  align-items:center !important;
  justify-content:space-between !important;
  gap:16px !important;
  padding:18px clamp(16px, 4vw, 42px) !important;
  border-bottom:1px solid rgba(243,223,176,.20) !important;
  background:linear-gradient(135deg, rgba(36,8,16,.96), rgba(79,18,35,.94)) !important;
  box-shadow:0 16px 36px rgba(0,0,0,.26) !important;
  backdrop-filter:blur(18px) saturate(1.12) !important;
  -webkit-backdrop-filter:blur(18px) saturate(1.12) !important;
}

body[data-page="portal-obrero-dashboard"] .obrero-pascua-header p{
  margin:0 0 5px !important;
  color:#f3dfb0 !important;
  font-size:12px !important;
  font-weight:950 !important;
  letter-spacing:.14em !important;
  text-transform:uppercase !important;
}

body[data-page="portal-obrero-dashboard"] .obrero-pascua-header h2{
  margin:0 !important;
  color:#fff !important;
  font-size:clamp(28px, 5vw, 56px) !important;
  line-height:1 !important;
  font-weight:950 !important;
}

body[data-page="portal-obrero-dashboard"] .obrero-pascua-header button{
  flex:0 0 auto !important;
  width:46px !important;
  height:46px !important;
  border:1px solid rgba(243,223,176,.32) !important;
  border-radius:999px !important;
  background:rgba(255,255,255,.08) !important;
  color:#f3dfb0 !important;
  font-size:24px !important;
  font-weight:900 !important;
  cursor:pointer !important;
}

body[data-page="portal-obrero-dashboard"] .obrero-pascua-body{
  width:100% !important;
}

body[data-page="portal-obrero-dashboard"] .obrero-pascua #idi-pascua-luxury-smooth{
  min-height:100svh !important;
}

body[data-page="portal-obrero-dashboard"] .obrero-pascua #idi-pascua-luxury-smooth .particles{
  position:absolute !important;
}

body[data-page="portal-obrero-dashboard"] .obrero-pascua #idi-pascua-luxury-smooth .wrap{
  max-width:1180px !important;
  padding-left:clamp(12px, 2.5vw, 28px) !important;
  padding-right:clamp(12px, 2.5vw, 28px) !important;
}

body[data-page="portal-obrero-dashboard"] .obrero-peticiones-grey{
  width:100vw !important;
  max-width:none !important;
  min-height:100svh !important;
  margin:22px 0 22px calc(50% - 50vw) !important;
  padding:clamp(14px,2.4vw,34px) !important;
  border-radius:0 !important;
  border:0 !important;
  background:
    radial-gradient(circle at 12% 0%, rgba(255,255,255,.20), transparent 28%),
    radial-gradient(circle at 86% 10%, rgba(191,161,74,.25), transparent 30%),
    linear-gradient(135deg, #061323 0%, #102d52 48%, #171717 100%) !important;
  color:#fff8df !important;
}

body[data-page="portal-obrero-dashboard"] .obrero-peticiones-grey[hidden]{
  display:none !important;
}

body[data-page="portal-obrero-dashboard"] .obrero-peticiones-grey[hidden]:target{
  display:block !important;
}

body[data-page="portal-obrero-dashboard"] .obrero-peticiones-grey-shell{
  width:min(1180px,100%) !important;
  margin:0 auto !important;
}

body[data-page="portal-obrero-dashboard"] .obrero-peticiones-grey-header{
  display:flex !important;
  align-items:center !important;
  justify-content:space-between !important;
  gap:16px !important;
  margin-bottom:18px !important;
  padding:18px !important;
  border-radius:28px !important;
  border:1px solid rgba(255,255,255,.24) !important;
  background:
    linear-gradient(135deg, rgba(255,255,255,.18), rgba(255,255,255,.06)),
    rgba(255,255,255,.08) !important;
  box-shadow:0 22px 62px rgba(0,0,0,.32), 0 1px 0 rgba(255,255,255,.18) inset !important;
  backdrop-filter:blur(20px) saturate(1.14) !important;
  -webkit-backdrop-filter:blur(20px) saturate(1.14) !important;
}

body[data-page="portal-obrero-dashboard"] .obrero-peticiones-grey-header p{
  margin:0 0 6px !important;
  color:#f7e7a7 !important;
  font-size:13px !important;
  font-weight:950 !important;
  letter-spacing:.12em !important;
  text-transform:uppercase !important;
}

body[data-page="portal-obrero-dashboard"] .obrero-peticiones-grey-header h2{
  margin:0 !important;
  color:#fff !important;
  font-size:clamp(28px,4.6vw,54px) !important;
  line-height:1 !important;
  font-weight:950 !important;
  letter-spacing:0 !important;
}

body[data-page="portal-obrero-dashboard"] .obrero-peticiones-grey-header button{
  width:44px !important;
  height:44px !important;
  border-radius:999px !important;
  border:1px solid rgba(255,255,255,.28) !important;
  background:rgba(255,255,255,.12) !important;
  color:#fff !important;
  font-size:24px !important;
  cursor:pointer !important;
  flex:0 0 auto !important;
}

body[data-page="portal-obrero-dashboard"] .obrero-peticiones-grey-frame{
  width:100% !important;
  min-height:80svh !important;
  overflow:hidden !important;
  border-radius:24px !important;
  border:1px solid rgba(255,255,255,.30) !important;
  background:
    linear-gradient(135deg, rgba(255,255,255,.16), rgba(255,255,255,.06)),
    rgba(255,255,255,.08) !important;
  box-shadow:0 24px 70px rgba(0,0,0,.30), inset 0 0 0 3px rgba(191,161,74,.18) !important;
  backdrop-filter:blur(18px) saturate(1.12) !important;
  -webkit-backdrop-filter:blur(18px) saturate(1.12) !important;
}

body[data-page="portal-obrero-dashboard"] .obrero-peticiones-grey-frame iframe{
  width:100% !important;
  max-width:100% !important;
  height:80svh !important;
  min-height:720px !important;
  border:0 !important;
  display:block !important;
  border-radius:1rem !important;
  background:transparent !important;
}

body[data-page="portal-obrero-dashboard"] .obrero-salida{
  width:100vw !important;
  max-width:none !important;
  min-height:100svh !important;
  margin:22px 0 22px calc(50% - 50vw) !important;
  padding:clamp(14px,2.4vw,34px) !important;
  border-radius:0 !important;
  border:0 !important;
  background:
    radial-gradient(circle at 12% 0%, rgba(255,255,255,.20), transparent 28%),
    radial-gradient(circle at 86% 10%, rgba(191,161,74,.25), transparent 30%),
    linear-gradient(135deg, #061323 0%, #102d52 48%, #171717 100%) !important;
  color:#fff8df !important;
}

body[data-page="portal-obrero-dashboard"] .obrero-salida[hidden]{
  display:none !important;
}

body[data-page="portal-obrero-dashboard"] .obrero-salida[hidden]:target{
  display:block !important;
}

body[data-page="portal-obrero-dashboard"] .obrero-salida-shell{
  width:min(1100px,100%) !important;
  margin:0 auto !important;
}

body[data-page="portal-obrero-dashboard"] .obrero-salida-header{
  display:flex !important;
  align-items:center !important;
  justify-content:space-between !important;
  gap:16px !important;
  margin-bottom:18px !important;
  padding:18px !important;
  border-radius:28px !important;
  border:1px solid rgba(255,255,255,.24) !important;
  background:
    linear-gradient(135deg, rgba(255,255,255,.18), rgba(255,255,255,.06)),
    rgba(255,255,255,.08) !important;
  box-shadow:0 22px 62px rgba(0,0,0,.32), 0 1px 0 rgba(255,255,255,.18) inset !important;
  backdrop-filter:blur(20px) saturate(1.14) !important;
  -webkit-backdrop-filter:blur(20px) saturate(1.14) !important;
}

body[data-page="portal-obrero-dashboard"] .obrero-salida-header p{
  margin:0 0 6px !important;
  color:#f7e7a7 !important;
  font-size:13px !important;
  font-weight:950 !important;
  letter-spacing:.12em !important;
  text-transform:uppercase !important;
}

body[data-page="portal-obrero-dashboard"] .obrero-salida-header h2{
  margin:0 !important;
  color:#fff !important;
  font-size:clamp(28px,4.6vw,54px) !important;
  line-height:1 !important;
  font-weight:950 !important;
  letter-spacing:0 !important;
}

body[data-page="portal-obrero-dashboard"] .obrero-salida-header button{
  width:44px !important;
  height:44px !important;
  border-radius:999px !important;
  border:1px solid rgba(255,255,255,.28) !important;
  background:rgba(255,255,255,.12) !important;
  color:#fff !important;
  font-size:24px !important;
  cursor:pointer !important;
  flex:0 0 auto !important;
}

body[data-page="portal-obrero-dashboard"] .obrero-salida .tap-wrap{
  width:100% !important;
  max-width:100% !important;
}

body[data-page="portal-obrero-dashboard"] .obrero-salida .tap-form{
  width:100% !important;
  max-width:100% !important;
  font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif !important;
  color:#000 !important;
  padding:18px !important;
  border-radius:20px !important;
  border:1px solid rgba(255,255,255,.42) !important;
  background:rgba(255,255,255,.88) !important;
  box-shadow:0 14px 40px rgba(191,161,74,.30), 0 24px 70px rgba(0,0,0,.25) !important;
  animation:obreroSalidaFadeIn .45s ease-out both !important;
  overflow:hidden !important;
  backdrop-filter:blur(18px) saturate(1.12) !important;
  -webkit-backdrop-filter:blur(18px) saturate(1.12) !important;
}

@keyframes obreroSalidaFadeIn{
  from{opacity:0;transform:translateY(8px)}
  to{opacity:1;transform:none}
}

body[data-page="portal-obrero-dashboard"] .obrero-salida .tap-form.fade-out{
  opacity:.18 !important;
  transform:scale(.992) !important;
  transition:opacity .35s ease, transform .35s ease !important;
  pointer-events:none !important;
}

body[data-page="portal-obrero-dashboard"] .obrero-salida .tap-form h2{
  margin:0 0 .75rem !important;
  color:#000 !important;
  position:relative !important;
  display:block !important;
  font-size:1.1rem !important;
  line-height:1.2 !important;
  font-weight:950 !important;
}

body[data-page="portal-obrero-dashboard"] .obrero-salida .tap-form h2:after{
  content:"" !important;
  display:block !important;
  height:3px !important;
  background:#bfa14a !important;
  margin-top:6px !important;
  border-radius:2px !important;
}

body[data-page="portal-obrero-dashboard"] .obrero-salida .tap-grid{
  display:grid !important;
  gap:.8rem !important;
}

body[data-page="portal-obrero-dashboard"] .obrero-salida .cols-2{
  grid-template-columns:1fr 1fr !important;
}

body[data-page="portal-obrero-dashboard"] .obrero-salida .tap-section{
  margin-top:.85rem !important;
}

body[data-page="portal-obrero-dashboard"] .obrero-salida label{
  color:#000 !important;
  display:block !important;
  margin-bottom:6px !important;
  font-weight:850 !important;
}

body[data-page="portal-obrero-dashboard"] .obrero-salida input,
body[data-page="portal-obrero-dashboard"] .obrero-salida textarea,
body[data-page="portal-obrero-dashboard"] .obrero-salida select{
  width:100% !important;
  max-width:100% !important;
  margin-top:6px !important;
  padding:.72rem .8rem !important;
  border:1px solid #000 !important;
  border-radius:10px !important;
  background:transparent !important;
  color:#000 !important;
  font-size:16px !important;
  line-height:1.2 !important;
  outline:0 !important;
}

body[data-page="portal-obrero-dashboard"] .obrero-salida textarea{
  min-height:92px !important;
  resize:vertical !important;
}

body[data-page="portal-obrero-dashboard"] .obrero-salida input:focus,
body[data-page="portal-obrero-dashboard"] .obrero-salida textarea:focus,
body[data-page="portal-obrero-dashboard"] .obrero-salida select:focus{
  border-color:#bfa14a !important;
  box-shadow:0 0 0 3px rgba(191,161,74,.25) !important;
}

body[data-page="portal-obrero-dashboard"] .obrero-salida input[readonly]{
  background:rgba(0,0,0,.04) !important;
  font-weight:850 !important;
  cursor:not-allowed !important;
}

body[data-page="portal-obrero-dashboard"] .obrero-salida .tap-actions{
  display:flex !important;
  margin-top:1rem !important;
}

body[data-page="portal-obrero-dashboard"] .obrero-salida .tap-btn{
  width:100% !important;
  min-height:52px !important;
  padding:.95rem 1rem !important;
  border:2px solid #000 !important;
  border-radius:12px !important;
  background:#000 !important;
  color:#fff !important;
  font-size:1rem !important;
  font-weight:950 !important;
  cursor:pointer !important;
}

body[data-page="portal-obrero-dashboard"] .obrero-salida .sending-wrap{
  display:none !important;
  margin-top:16px !important;
  text-align:center !important;
  animation:obreroSalidaFadeIn .35s ease-out both !important;
}

body[data-page="portal-obrero-dashboard"] .obrero-salida .sending-wrap.show{
  display:block !important;
}

body[data-page="portal-obrero-dashboard"] .obrero-salida .sending-title{
  margin-bottom:8px !important;
  color:#000 !important;
  font-size:1rem !important;
  font-weight:950 !important;
}

body[data-page="portal-obrero-dashboard"] .obrero-salida .sending-percent{
  margin-bottom:10px !important;
  color:#bfa14a !important;
  font-size:2rem !important;
  font-weight:950 !important;
  line-height:1 !important;
}

body[data-page="portal-obrero-dashboard"] .obrero-salida .sending-bar{
  width:100% !important;
  height:12px !important;
  overflow:hidden !important;
  border-radius:999px !important;
  background:rgba(0,0,0,.1) !important;
}

body[data-page="portal-obrero-dashboard"] .obrero-salida .sending-bar-fill{
  width:0% !important;
  height:100% !important;
  border-radius:999px !important;
  background:linear-gradient(90deg,#b8932f 0%,#d8bb66 50%,#b8932f 100%) !important;
  transition:width .18s linear !important;
}

body[data-page="portal-obrero-dashboard"] .obrero-salida .sending-note{
  margin-top:10px !important;
  color:#444 !important;
  font-size:.92rem !important;
  font-weight:850 !important;
}

body[data-page="portal-obrero-dashboard"] .obrero-salida .success-message{
  display:none !important;
  margin-top:18px !important;
  color:#f7e7a7 !important;
  text-align:center !important;
  font-size:1.12rem !important;
  font-weight:950 !important;
  opacity:0 !important;
  transform:translateY(12px) !important;
  transition:opacity .8s ease, transform .8s ease !important;
}

body[data-page="portal-obrero-dashboard"] .obrero-salida .success-message.show{
  display:block !important;
  opacity:1 !important;
  transform:none !important;
}

body[data-page="portal-obrero-dashboard"] .obrero-salida .small-note{
  margin-top:8px !important;
  color:rgba(255,248,223,.84) !important;
  font-size:.92rem !important;
  font-weight:850 !important;
}

body[data-page="portal-obrero-dashboard"] .obrero-salida .success-message a{
  display:inline-block !important;
  margin-top:12px !important;
  padding:.72rem 1rem !important;
  border:2px solid #bfa14a !important;
  border-radius:12px !important;
  color:#f7e7a7 !important;
  text-decoration:none !important;
  font-weight:950 !important;
}

body[data-page="portal-obrero-dashboard"] .obrero-salida .success-message a[hidden]{
  display:none !important;
}

body[data-page="portal-obrero-dashboard"] .obrero-encargados{
  width:100vw !important;
  max-width:none !important;
  min-height:100svh !important;
  margin:22px 0 22px calc(50% - 50vw) !important;
  padding:clamp(14px,2.4vw,34px) !important;
  border-radius:0 !important;
  border:0 !important;
  background:
    radial-gradient(circle at 12% 0%, rgba(255,255,255,.20), transparent 28%),
    radial-gradient(circle at 86% 10%, rgba(191,161,74,.25), transparent 30%),
    linear-gradient(135deg, #061323 0%, #102d52 48%, #171717 100%) !important;
  color:#fff8df !important;
}

body[data-page="portal-obrero-dashboard"] .obrero-encargados[hidden]{
  display:none !important;
}

body[data-page="portal-obrero-dashboard"] .obrero-encargados[hidden]:target{
  display:block !important;
}

body[data-page="portal-obrero-dashboard"] .obrero-encargados-shell{
  width:min(1100px,100%) !important;
  margin:0 auto !important;
}

body[data-page="portal-obrero-dashboard"] .obrero-encargados-header{
  display:flex !important;
  align-items:center !important;
  justify-content:space-between !important;
  gap:16px !important;
  margin-bottom:18px !important;
  padding:18px !important;
  border-radius:28px !important;
  border:1px solid rgba(255,255,255,.24) !important;
  background:
    linear-gradient(135deg, rgba(255,255,255,.18), rgba(255,255,255,.06)),
    rgba(255,255,255,.08) !important;
  box-shadow:0 22px 62px rgba(0,0,0,.32), 0 1px 0 rgba(255,255,255,.18) inset !important;
  backdrop-filter:blur(20px) saturate(1.14) !important;
  -webkit-backdrop-filter:blur(20px) saturate(1.14) !important;
}

body[data-page="portal-obrero-dashboard"] .obrero-encargados-header p{
  margin:0 0 6px !important;
  color:#f7e7a7 !important;
  font-size:13px !important;
  font-weight:950 !important;
  letter-spacing:.12em !important;
  text-transform:uppercase !important;
}

body[data-page="portal-obrero-dashboard"] .obrero-encargados-header h2{
  margin:0 !important;
  color:#fff !important;
  font-size:clamp(28px,4.6vw,54px) !important;
  line-height:1 !important;
  font-weight:950 !important;
  letter-spacing:0 !important;
}

body[data-page="portal-obrero-dashboard"] .obrero-encargados-header button{
  width:44px !important;
  height:44px !important;
  border-radius:999px !important;
  border:1px solid rgba(255,255,255,.28) !important;
  background:rgba(255,255,255,.12) !important;
  color:#fff !important;
  font-size:24px !important;
  cursor:pointer !important;
  flex:0 0 auto !important;
}

body[data-page="portal-obrero-dashboard"] .obrero-encargados .tap-wrap{
  width:100% !important;
  max-width:100% !important;
}

body[data-page="portal-obrero-dashboard"] .obrero-encargados .tap-form{
  width:100% !important;
  max-width:100% !important;
  font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif !important;
  color:#000 !important;
  padding:18px !important;
  border-radius:20px !important;
  border:1px solid rgba(255,255,255,.42) !important;
  background:rgba(255,255,255,.88) !important;
  box-shadow:0 14px 40px rgba(191,161,74,.30), 0 24px 70px rgba(0,0,0,.25) !important;
  animation:obreroEncargadosFadeIn .45s ease-out both !important;
  overflow:hidden !important;
  backdrop-filter:blur(18px) saturate(1.12) !important;
  -webkit-backdrop-filter:blur(18px) saturate(1.12) !important;
}

@keyframes obreroEncargadosFadeIn{
  from{opacity:0;transform:translateY(8px)}
  to{opacity:1;transform:none}
}

body[data-page="portal-obrero-dashboard"] .obrero-encargados .tap-form.fade-out{
  opacity:0 !important;
  transform:scale(.985) !important;
  transition:opacity .6s ease, transform .6s ease !important;
}

body[data-page="portal-obrero-dashboard"] .obrero-encargados .tap-form h2{
  margin:0 0 .75rem !important;
  color:#000 !important;
  position:relative !important;
  display:block !important;
  font-size:1.1rem !important;
  line-height:1.2 !important;
  font-weight:950 !important;
}

body[data-page="portal-obrero-dashboard"] .obrero-encargados .tap-form h2:after{
  content:"" !important;
  display:block !important;
  height:3px !important;
  background:#bfa14a !important;
  margin-top:6px !important;
  border-radius:2px !important;
}

body[data-page="portal-obrero-dashboard"] .obrero-encargados .tap-grid{
  display:grid !important;
  gap:.8rem !important;
}

body[data-page="portal-obrero-dashboard"] .obrero-encargados .cols-2{
  grid-template-columns:1fr 1fr !important;
}

body[data-page="portal-obrero-dashboard"] .obrero-encargados .tap-full{
  grid-column:1 / -1 !important;
}

body[data-page="portal-obrero-dashboard"] .obrero-encargados .tap-section{
  margin-top:.9rem !important;
}

body[data-page="portal-obrero-dashboard"] .obrero-encargados .section-title{
  margin:.2rem 0 .1rem !important;
  color:#000 !important;
  font-weight:950 !important;
  letter-spacing:0 !important;
}

body[data-page="portal-obrero-dashboard"] .obrero-encargados label{
  color:#000 !important;
  display:block !important;
  font-weight:850 !important;
}

body[data-page="portal-obrero-dashboard"] .obrero-encargados input[type="text"],
body[data-page="portal-obrero-dashboard"] .obrero-encargados input[type="email"],
body[data-page="portal-obrero-dashboard"] .obrero-encargados input[type="date"],
body[data-page="portal-obrero-dashboard"] .obrero-encargados textarea,
body[data-page="portal-obrero-dashboard"] .obrero-encargados select{
  width:100% !important;
  max-width:100% !important;
  margin-top:6px !important;
  padding:.72rem .8rem !important;
  border:1px solid #000 !important;
  border-radius:10px !important;
  background:transparent !important;
  color:#000 !important;
  font-size:16px !important;
  line-height:1.2 !important;
  outline:0 !important;
}

body[data-page="portal-obrero-dashboard"] .obrero-encargados input[readonly]{
  background:rgba(255,255,255,.35) !important;
  font-weight:950 !important;
}

body[data-page="portal-obrero-dashboard"] .obrero-encargados textarea{
  min-height:84px !important;
  resize:vertical !important;
}

body[data-page="portal-obrero-dashboard"] .obrero-encargados .opt{
  display:flex !important;
  align-items:flex-start !important;
  gap:.65rem !important;
  padding:.55rem .6rem !important;
  border:1px solid rgba(0,0,0,.20) !important;
  border-radius:10px !important;
  background:rgba(255,255,255,.12) !important;
}

body[data-page="portal-obrero-dashboard"] .obrero-encargados .opt input[type="checkbox"],
body[data-page="portal-obrero-dashboard"] .obrero-encargados .opt input[type="radio"]{
  width:20px !important;
  height:20px !important;
  margin:2px 0 0 !important;
  flex:0 0 auto !important;
  accent-color:#bfa14a !important;
}

body[data-page="portal-obrero-dashboard"] .obrero-encargados .opt span{
  font-weight:850 !important;
  line-height:1.25 !important;
}

body[data-page="portal-obrero-dashboard"] .obrero-encargados .opt-otro{
  flex-direction:column !important;
  align-items:stretch !important;
}

body[data-page="portal-obrero-dashboard"] .obrero-encargados .opt-otro .row{
  display:flex !important;
  align-items:flex-start !important;
  gap:.65rem !important;
}

body[data-page="portal-obrero-dashboard"] .obrero-encargados .tap-actions{
  display:flex !important;
  margin-top:1rem !important;
}

body[data-page="portal-obrero-dashboard"] .obrero-encargados .tap-btn{
  width:100% !important;
  min-height:52px !important;
  padding:.9rem 1rem !important;
  border:2px solid #000 !important;
  border-radius:12px !important;
  background:#000 !important;
  color:#fff !important;
  font-size:1rem !important;
  font-weight:950 !important;
  cursor:pointer !important;
}

body[data-page="portal-obrero-dashboard"] .obrero-encargados .success-message,
body[data-page="portal-obrero-dashboard"] .obrero-encargados .loading-message{
  display:none !important;
  margin-top:18px !important;
  color:#f7e7a7 !important;
  text-align:center !important;
  font-size:1.12rem !important;
  font-weight:950 !important;
  opacity:0 !important;
  transform:translateY(12px) !important;
  transition:opacity .35s ease, transform .35s ease !important;
}

body[data-page="portal-obrero-dashboard"] .obrero-encargados .success-message.show,
body[data-page="portal-obrero-dashboard"] .obrero-encargados .loading-message.show{
  display:block !important;
  opacity:1 !important;
  transform:none !important;
}

body[data-page="portal-obrero-dashboard"] .obrero-encargados .small-note{
  margin-top:8px !important;
  color:rgba(255,248,223,.84) !important;
  font-size:.92rem !important;
  font-weight:850 !important;
}

body[data-page="portal-obrero-dashboard"] .obrero-encargados .success-message a{
  display:inline-block !important;
  margin-top:12px !important;
  padding:.72rem 1rem !important;
  border:2px solid #bfa14a !important;
  border-radius:12px !important;
  color:#f7e7a7 !important;
  text-decoration:none !important;
  font-weight:950 !important;
}

body[data-page="portal-obrero-dashboard"] .obrero-encargados .success-message a[hidden]{
  display:none !important;
}

body[data-page="portal-obrero-dashboard"] .obrero-encargados .loading-percent{
  margin-top:10px !important;
  font-size:2rem !important;
  font-weight:950 !important;
  line-height:1 !important;
}

body[data-page="portal-obrero-dashboard"] .obrero-encargados .loading-bar-wrap{
  width:100% !important;
  max-width:360px !important;
  height:12px !important;
  margin:14px auto 0 !important;
  overflow:hidden !important;
  border:1px solid rgba(191,161,74,.45) !important;
  border-radius:999px !important;
  background:rgba(255,255,255,.18) !important;
}

body[data-page="portal-obrero-dashboard"] .obrero-encargados .loading-bar{
  width:0% !important;
  height:100% !important;
  border-radius:999px !important;
  background:linear-gradient(90deg,#bfa14a 0%,#e6cf84 100%) !important;
  transition:width .18s linear !important;
}

body[data-page="portal-obrero-dashboard"] .obrero-encargados .loading-subtext{
  margin-top:10px !important;
  color:rgba(255,248,223,.82) !important;
  font-size:.95rem !important;
  font-weight:850 !important;
}

body[data-page="portal-obrero-dashboard"] .obrero-rol{
  width:100vw !important;
  max-width:none !important;
  min-height:100svh !important;
  margin:22px 0 22px calc(50% - 50vw) !important;
  padding:clamp(14px,2.4vw,34px) !important;
  border-radius:0 !important;
  border:0 !important;
  background:
    radial-gradient(circle at 12% 0%, rgba(255,255,255,.20), transparent 28%),
    radial-gradient(circle at 86% 10%, rgba(212,175,55,.22), transparent 30%),
    linear-gradient(135deg, #061323 0%, #102d52 48%, #171717 100%) !important;
  color:#fff8df !important;
}

body[data-page="portal-obrero-dashboard"] .obrero-rol[hidden]{
  display:none !important;
}

body[data-page="portal-obrero-dashboard"] .obrero-rol[hidden]:target{
  display:block !important;
}

body[data-page="portal-obrero-dashboard"] .obrero-rol-header{
  display:flex !important;
  align-items:center !important;
  justify-content:space-between !important;
  gap:16px !important;
  margin-bottom:18px !important;
  padding:18px !important;
  border-radius:28px !important;
  border:1px solid rgba(255,255,255,.24) !important;
  background:
    linear-gradient(135deg, rgba(255,255,255,.18), rgba(255,255,255,.06)),
    rgba(255,255,255,.08) !important;
  box-shadow:0 22px 62px rgba(0,0,0,.32), 0 1px 0 rgba(255,255,255,.18) inset !important;
  backdrop-filter:blur(20px) saturate(1.14) !important;
  -webkit-backdrop-filter:blur(20px) saturate(1.14) !important;
}

body[data-page="portal-obrero-dashboard"] .obrero-rol-header p{
  margin:0 0 6px !important;
  color:#f7e7a7 !important;
  font-size:13px !important;
  font-weight:950 !important;
  letter-spacing:.12em !important;
  text-transform:uppercase !important;
}

body[data-page="portal-obrero-dashboard"] .obrero-rol-header h2{
  margin:0 !important;
  color:#fff !important;
  font-size:clamp(32px,5vw,58px) !important;
  line-height:1 !important;
  font-weight:950 !important;
  letter-spacing:0 !important;
}

body[data-page="portal-obrero-dashboard"] .obrero-rol-header button{
  width:44px !important;
  height:44px !important;
  border-radius:999px !important;
  border:1px solid rgba(255,255,255,.28) !important;
  background:rgba(255,255,255,.12) !important;
  color:#fff !important;
  font-size:24px !important;
  cursor:pointer !important;
  flex:0 0 auto !important;
}

body[data-page="portal-obrero-dashboard"] .obrero-rol-card{
  margin:18px 0 !important;
  padding:18px !important;
  border-radius:16px !important;
  border:1px solid #e5e5e5 !important;
  background:#fff !important;
  box-shadow:0 6px 18px rgba(0,0,0,.10) !important;
  color:#05070b !important;
}

body[data-page="portal-obrero-dashboard"] .obrero-rol-title{
  margin-bottom:6px !important;
  color:#05070b !important;
  font-size:18px !important;
  line-height:1.18 !important;
  font-weight:950 !important;
}

body[data-page="portal-obrero-dashboard"] .obrero-rol-title span{
  color:#d4af37 !important;
}

body[data-page="portal-obrero-dashboard"] .obrero-rol-sub{
  margin-bottom:14px !important;
  color:#05070b !important;
  font-size:13px !important;
  font-weight:950 !important;
  text-transform:none !important;
  letter-spacing:0 !important;
}

body[data-page="portal-obrero-dashboard"] .obrero-rol-table-wrap{
  width:100% !important;
  overflow-x:auto !important;
  border-radius:0 !important;
  border:0 !important;
  background:#fff !important;
  box-shadow:none !important;
}

body[data-page="portal-obrero-dashboard"] .obrero-rol table{
  width:100% !important;
  min-width:760px !important;
  border-collapse:collapse !important;
  background:#fff !important;
}

body[data-page="portal-obrero-dashboard"] .obrero-rol th,
body[data-page="portal-obrero-dashboard"] .obrero-rol td{
  border:1px solid #e5e5e5 !important;
  padding:10px 8px !important;
  color:#05070b !important;
  text-align:center !important;
  font-size:13px !important;
  line-height:1.25 !important;
  font-weight:750 !important;
  white-space:nowrap !important;
}

body[data-page="portal-obrero-dashboard"] .obrero-rol th{
  background:#f7f7f7 !important;
  font-weight:950 !important;
}

body[data-page="portal-obrero-dashboard"] .obrero-rol td:first-child{
  background:#fafafa !important;
  text-align:left !important;
  font-weight:950 !important;
  position:sticky !important;
  left:0 !important;
  z-index:1 !important;
}

body[data-page="portal-obrero-dashboard"] .obrero-rol-pascua td:nth-child(2){
  text-align:left !important;
  font-weight:850 !important;
}

body[data-page="portal-obrero-dashboard"] .obrero-rol-pascua td:nth-child(3){
  color:#b98a22 !important;
  text-align:left !important;
  font-weight:950 !important;
}

body[data-page="portal-obrero-dashboard"] .obrero-rol-minister-title{
  margin:16px 0 10px !important;
}

body[data-page="portal-obrero-dashboard"] .obrero-rol-ministers{
  display:flex !important;
  flex-wrap:wrap !important;
  gap:8px !important;
}

body[data-page="portal-obrero-dashboard"] .obrero-rol-ministers span{
  display:inline-flex !important;
  align-items:center !important;
  min-height:38px !important;
  padding:8px 12px !important;
  border-radius:999px !important;
  border:1px solid #e5e5e5 !important;
  background:#fff !important;
  color:#05070b !important;
  font-size:13px !important;
  font-weight:850 !important;
}

body[data-page="portal-obrero-dashboard"] .obrero-inscripcion{
  width:100vw !important;
  max-width:none !important;
  min-height:100svh !important;
  margin:22px 0 22px calc(50% - 50vw) !important;
  padding:clamp(14px,2.4vw,34px) !important;
  border-radius:0 !important;
  border:0 !important;
  background:
    radial-gradient(circle at 12% 0%, rgba(255,255,255,.20), transparent 28%),
    radial-gradient(circle at 88% 8%, rgba(212,175,55,.22), transparent 30%),
    linear-gradient(135deg, #061323 0%, #102d52 46%, #171717 100%) !important;
  color:#fff8df !important;
}

body[data-page="portal-obrero-dashboard"] .obrero-inscripcion[hidden]{
  display:none !important;
}

body[data-page="portal-obrero-dashboard"] .obrero-inscripcion-card{
  width:100% !important;
  min-height:calc(100svh - 68px) !important;
  overflow:hidden !important;
  border-radius:28px !important;
  border:1px solid rgba(255,255,255,.24) !important;
  background:
    linear-gradient(135deg, rgba(255,255,255,.18), rgba(255,255,255,.06)),
    rgba(255,255,255,.08) !important;
  box-shadow:0 24px 70px rgba(0,0,0,.36), 0 1px 0 rgba(255,255,255,.18) inset !important;
  backdrop-filter:blur(20px) saturate(1.14) !important;
  -webkit-backdrop-filter:blur(20px) saturate(1.14) !important;
}

body[data-page="portal-obrero-dashboard"] .obrero-inscripcion-topbar{
  display:flex !important;
  align-items:center !important;
  justify-content:space-between !important;
  gap:14px !important;
  padding:14px 16px !important;
  background:linear-gradient(135deg,#0b0b0b,#1a1406,#0b0b0b) !important;
  color:#fff !important;
}

body[data-page="portal-obrero-dashboard"] .obrero-inscripcion-window-title,
body[data-page="portal-obrero-dashboard"] .obrero-inscripcion-actions{
  display:flex !important;
  align-items:center !important;
  gap:10px !important;
}

body[data-page="portal-obrero-dashboard"] .obrero-inscripcion-window-title strong{
  font-weight:900 !important;
  letter-spacing:0 !important;
}

body[data-page="portal-obrero-dashboard"] .obrero-inscripcion-dots{
  display:flex !important;
  align-items:center !important;
  gap:7px !important;
}

body[data-page="portal-obrero-dashboard"] .obrero-inscripcion-dots span{
  width:10px !important;
  height:10px !important;
  border-radius:999px !important;
  display:inline-block !important;
}

body[data-page="portal-obrero-dashboard"] .obrero-inscripcion-dots span:nth-child(1){background:#ff5f57 !important}
body[data-page="portal-obrero-dashboard"] .obrero-inscripcion-dots span:nth-child(2){background:#febc2e !important}
body[data-page="portal-obrero-dashboard"] .obrero-inscripcion-dots span:nth-child(3){background:#28c840 !important}

body[data-page="portal-obrero-dashboard"] .obrero-inscripcion-actions a{
  min-height:40px !important;
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  padding:0 14px !important;
  border-radius:999px !important;
  border:1px solid rgba(0,0,0,.15) !important;
  background:linear-gradient(135deg,#d4af37,#f7e7a7,#d4af37) !important;
  color:#0b0b0b !important;
  text-decoration:none !important;
  font-weight:950 !important;
  box-shadow:0 10px 22px rgba(0,0,0,.25) !important;
  white-space:nowrap !important;
}

body[data-page="portal-obrero-dashboard"] .obrero-inscripcion-actions button{
  width:40px !important;
  height:40px !important;
  border-radius:999px !important;
  border:1px solid rgba(255,255,255,.28) !important;
  background:rgba(255,255,255,.12) !important;
  color:#fff !important;
  font-size:22px !important;
  cursor:pointer !important;
}

body[data-page="portal-obrero-dashboard"] .obrero-inscripcion-heading{
  padding:18px 18px 12px !important;
  color:#fff8df !important;
}

body[data-page="portal-obrero-dashboard"] .obrero-inscripcion-heading h2{
  margin:0 !important;
  color:#f7e7a7 !important;
  font-size:clamp(24px,3.4vw,40px) !important;
  line-height:1.08 !important;
  font-weight:950 !important;
}

body[data-page="portal-obrero-dashboard"] .obrero-inscripcion-heading p{
  margin:7px 0 0 !important;
  max-width:720px !important;
  color:rgba(255,248,223,.76) !important;
  font-size:15px !important;
  line-height:1.45 !important;
  font-weight:650 !important;
}

body[data-page="portal-obrero-dashboard"] .obrero-inscripcion-frame-wrap{
  position:relative !important;
  width:calc(100% - 28px) !important;
  height:76svh !important;
  min-height:680px !important;
  margin:0 14px 14px !important;
  overflow:hidden !important;
  border-radius:22px !important;
  border:1px solid rgba(255,255,255,.30) !important;
  box-shadow:inset 0 0 0 3px rgba(212,175,55,.22), 0 18px 44px rgba(0,0,0,.24) !important;
  background:linear-gradient(135deg,rgba(255,255,255,.16),rgba(255,255,255,.06)) !important;
}

body[data-page="portal-obrero-dashboard"] .obrero-inscripcion-frame-wrap iframe{
  position:absolute !important;
  inset:0 !important;
  width:100% !important;
  height:100% !important;
  border:0 !important;
  background:#fff !important;
}

body[data-page="portal-obrero-dashboard"] .obrero-inscripcion-note{
  margin:0 !important;
  padding:0 18px 18px !important;
  color:rgba(255,248,223,.72) !important;
  font-size:13px !important;
  line-height:1.4 !important;
}

body[data-page="portal-obrero-dashboard"] .obrero-general-docs{
  width:100vw !important;
  max-width:none !important;
  min-height:100svh !important;
  margin:22px 0 22px calc(50% - 50vw) !important;
  padding:clamp(14px,2.4vw,34px) !important;
  border-radius:0 !important;
  border:0 !important;
  background:
    radial-gradient(circle at 10% 0%, rgba(255,255,255,.18), transparent 28%),
    radial-gradient(circle at 88% 8%, rgba(185,138,34,.22), transparent 30%),
    linear-gradient(135deg, #061323 0%, #173444 48%, #253544 100%) !important;
  color:#fff8df !important;
}

body[data-page="portal-obrero-dashboard"] .obrero-general-docs[hidden]{
  display:none !important;
}

body[data-page="portal-obrero-dashboard"] .obrero-general-docs-header{
  width:100% !important;
  display:grid !important;
  grid-template-columns:auto minmax(0,1fr) auto !important;
  align-items:center !important;
  gap:18px !important;
  padding:18px !important;
  border-radius:28px !important;
  border:4px solid #b98a22 !important;
  background:
    linear-gradient(135deg, rgba(255,255,255,.14), rgba(255,255,255,.04)),
    #173444 !important;
  box-shadow:0 18px 42px rgba(0,0,0,.28), 0 1px 0 rgba(255,255,255,.16) inset !important;
  backdrop-filter:blur(18px) saturate(1.14) !important;
  -webkit-backdrop-filter:blur(18px) saturate(1.14) !important;
}

body[data-page="portal-obrero-dashboard"] .obrero-general-docs-icon,
body[data-page="portal-obrero-dashboard"] .obrero-general-docs-item-icon{
  width:76px !important;
  height:76px !important;
  border-radius:16px !important;
  display:flex !important;
  flex-direction:column !important;
  align-items:center !important;
  justify-content:center !important;
  gap:6px !important;
  background:#fff !important;
  flex:0 0 auto !important;
  box-shadow:0 12px 20px rgba(0,0,0,.25) !important;
}

body[data-page="portal-obrero-dashboard"] .obrero-general-docs-icon span,
body[data-page="portal-obrero-dashboard"] .obrero-general-docs-item-icon span{
  width:44px !important;
  height:7px !important;
  border-radius:999px !important;
  background:#173444 !important;
}

body[data-page="portal-obrero-dashboard"] .obrero-general-docs-header h2{
  margin:0 !important;
  color:#fff !important;
  font-size:clamp(24px,4vw,42px) !important;
  line-height:1.08 !important;
  font-weight:800 !important;
  letter-spacing:0 !important;
  text-align:center !important;
}

body[data-page="portal-obrero-dashboard"] .obrero-general-docs-header p{
  margin:8px 0 0 !important;
  color:rgba(255,255,255,.68) !important;
  font-size:clamp(17px,2.4vw,26px) !important;
  font-weight:650 !important;
  text-align:center !important;
}

body[data-page="portal-obrero-dashboard"] .obrero-general-docs-close{
  width:42px !important;
  height:42px !important;
  border-radius:999px !important;
  border:1px solid rgba(255,255,255,.28) !important;
  background:rgba(255,255,255,.12) !important;
  color:#fff !important;
  font-size:24px !important;
  cursor:pointer !important;
}

body[data-page="portal-obrero-dashboard"] .obrero-general-docs-body{
  width:100% !important;
  margin-top:18px !important;
  padding:16px !important;
  border-radius:24px !important;
  border:1px solid rgba(255,255,255,.26) !important;
  background:
    linear-gradient(135deg, rgba(180,215,255,.24), rgba(245,250,255,.14)),
    repeating-linear-gradient(135deg, rgba(255,255,255,.13) 0 22px, rgba(255,255,255,.05) 22px 44px),
    rgba(255,255,255,.08) !important;
  box-shadow:0 18px 46px rgba(0,0,0,.24), 0 1px 0 rgba(255,255,255,.16) inset !important;
  backdrop-filter:blur(18px) saturate(1.12) !important;
  -webkit-backdrop-filter:blur(18px) saturate(1.12) !important;
}

body[data-page="portal-obrero-dashboard"] .obrero-general-docs-menu{
  display:grid !important;
  grid-template-columns:repeat(auto-fit,minmax(310px,1fr)) !important;
  gap:16px !important;
}

body[data-page="portal-obrero-dashboard"] .obrero-general-docs-item{
  width:100% !important;
  min-height:96px !important;
  display:flex !important;
  align-items:center !important;
  gap:14px !important;
  padding:14px 16px !important;
  border-radius:28px !important;
  border:4px solid #b98a22 !important;
  background:#173444 !important;
  color:#fff !important;
  cursor:pointer !important;
  font:inherit !important;
  text-align:left !important;
  box-shadow:0 12px 24px rgba(0,0,0,.22) !important;
  transition:transform .16s ease, border-color .16s ease, box-shadow .16s ease, background .16s ease !important;
}

body[data-page="portal-obrero-dashboard"] .obrero-general-docs-item:hover,
body[data-page="portal-obrero-dashboard"] .obrero-general-docs-item:focus-visible,
body[data-page="portal-obrero-dashboard"] .obrero-general-docs-item.is-active{
  outline:0 !important;
  transform:translateY(-2px) scale(1.01) !important;
  border-color:#e0b84a !important;
  background:#1e4358 !important;
  box-shadow:0 18px 34px rgba(0,0,0,.30), 0 0 22px rgba(224,184,74,.20) !important;
}

body[data-page="portal-obrero-dashboard"] .obrero-general-docs-item-icon{
  width:56px !important;
  height:56px !important;
  border-radius:18px !important;
  gap:5px !important;
}

body[data-page="portal-obrero-dashboard"] .obrero-general-docs-item-icon span{
  width:34px !important;
}

body[data-page="portal-obrero-dashboard"] .obrero-general-docs-item-copy{
  min-width:0 !important;
  display:flex !important;
  flex-direction:column !important;
  gap:6px !important;
}

body[data-page="portal-obrero-dashboard"] .obrero-general-docs-item-copy strong{
  color:#fff !important;
  font-size:17px !important;
  line-height:1.18 !important;
  font-weight:750 !important;
}

body[data-page="portal-obrero-dashboard"] .obrero-general-docs-item-copy small{
  color:rgba(255,255,255,.62) !important;
  font-size:13px !important;
  font-weight:650 !important;
}

body[data-page="portal-obrero-dashboard"] .obrero-general-docs-toolbar{
  display:flex !important;
  justify-content:space-between !important;
  align-items:center !important;
  gap:14px !important;
  margin:20px 0 10px !important;
}

body[data-page="portal-obrero-dashboard"] .obrero-general-docs-toolbar strong{
  color:#fff8df !important;
  font-size:18px !important;
  font-weight:950 !important;
}

body[data-page="portal-obrero-dashboard"] .obrero-general-docs-toolbar a{
  min-height:40px !important;
  display:inline-flex !important;
  align-items:center !important;
  padding:0 16px !important;
  border-radius:12px !important;
  border:2px solid rgba(255,255,255,.72) !important;
  background:#fff !important;
  color:#111 !important;
  text-decoration:none !important;
  font-weight:900 !important;
}

body[data-page="portal-obrero-dashboard"] .obrero-general-docs-viewer{
  width:100% !important;
  overflow:hidden !important;
  border-radius:22px !important;
  border:3px solid #b98a22 !important;
  background:#fff !important;
  box-shadow:0 14px 34px rgba(0,0,0,.22) !important;
}

body[data-page="portal-obrero-dashboard"] .obrero-general-docs-viewer iframe{
  width:100% !important;
  height:78vh !important;
  min-height:620px !important;
  border:0 !important;
  display:block !important;
}

body[data-page="portal-obrero-dashboard"] .obrero-zona-docs{
  width:100vw !important;
  max-width:none !important;
  min-height:100svh !important;
  margin:22px 0 22px calc(50% - 50vw) !important;
  padding:clamp(14px,2.4vw,34px) !important;
  border-radius:0 !important;
  border:0 !important;
  background:
    radial-gradient(circle at 12% 0%, rgba(225,184,74,.18), transparent 28%),
    radial-gradient(circle at 88% 8%, rgba(255,255,255,.12), transparent 28%),
    linear-gradient(135deg, #07172f 0%, #102d52 45%, #162033 100%) !important;
  box-shadow:none !important;
  color:#fff8df !important;
}

body[data-page="portal-obrero-dashboard"] .obrero-zona-docs[hidden]{
  display:none !important;
}

body[data-page="portal-obrero-dashboard"] .obrero-zona-docs-header{
  width:100% !important;
  display:grid !important;
  grid-template-columns:auto minmax(0,1fr) auto !important;
  align-items:center !important;
  gap:18px !important;
  padding:18px !important;
  border-radius:28px !important;
  border:4px solid #b98a22 !important;
  background:
    linear-gradient(135deg, rgba(255,255,255,.08), rgba(255,255,255,.02)),
    #6a1d16 !important;
  box-shadow:0 18px 38px rgba(0,0,0,.28), 0 1px 0 rgba(255,255,255,.16) inset !important;
}

body[data-page="portal-obrero-dashboard"] .obrero-zona-docs-icon,
body[data-page="portal-obrero-dashboard"] .obrero-zona-docs-item-icon{
  width:76px !important;
  height:76px !important;
  border-radius:16px !important;
  display:flex !important;
  flex-direction:column !important;
  align-items:center !important;
  justify-content:center !important;
  gap:6px !important;
  background:#fff !important;
  flex:0 0 auto !important;
  box-shadow:0 12px 20px rgba(0,0,0,.25) !important;
}

body[data-page="portal-obrero-dashboard"] .obrero-zona-docs-icon span,
body[data-page="portal-obrero-dashboard"] .obrero-zona-docs-item-icon span{
  width:44px !important;
  height:7px !important;
  border-radius:999px !important;
  background:#6a1d16 !important;
}

body[data-page="portal-obrero-dashboard"] .obrero-zona-docs-header h2{
  margin:0 !important;
  color:#fff !important;
  font-size:clamp(24px,4vw,42px) !important;
  line-height:1.08 !important;
  font-weight:800 !important;
  letter-spacing:0 !important;
  text-align:center !important;
}

body[data-page="portal-obrero-dashboard"] .obrero-zona-docs-header p{
  margin:8px 0 0 !important;
  color:rgba(255,255,255,.64) !important;
  font-size:clamp(17px,2.4vw,26px) !important;
  font-weight:650 !important;
  text-align:center !important;
}

body[data-page="portal-obrero-dashboard"] .obrero-zona-docs-close{
  width:42px !important;
  height:42px !important;
  border-radius:999px !important;
  border:1px solid rgba(255,255,255,.28) !important;
  background:rgba(255,255,255,.12) !important;
  color:#fff !important;
  font-size:24px !important;
  cursor:pointer !important;
}

body[data-page="portal-obrero-dashboard"] .obrero-zona-docs-body{
  width:100% !important;
  margin-top:18px !important;
  padding:16px !important;
  border-radius:24px !important;
  border:1px solid rgba(255,255,255,.26) !important;
  background:
    linear-gradient(135deg, rgba(180,215,255,.24), rgba(245,250,255,.14)),
    repeating-linear-gradient(135deg, rgba(255,255,255,.13) 0 22px, rgba(255,255,255,.05) 22px 44px),
    rgba(255,255,255,.08) !important;
  box-shadow:0 18px 46px rgba(0,0,0,.24), 0 1px 0 rgba(255,255,255,.16) inset !important;
  backdrop-filter:blur(18px) saturate(1.12) !important;
  -webkit-backdrop-filter:blur(18px) saturate(1.12) !important;
}

body[data-page="portal-obrero-dashboard"] .obrero-zona-docs-menu{
  display:grid !important;
  grid-template-columns:repeat(auto-fit,minmax(310px,1fr)) !important;
  gap:16px !important;
}

body[data-page="portal-obrero-dashboard"] .obrero-zona-docs-item{
  width:100% !important;
  min-height:96px !important;
  display:flex !important;
  align-items:center !important;
  gap:14px !important;
  padding:14px 16px !important;
  border-radius:28px !important;
  border:4px solid #b98a22 !important;
  background:#6a1d16 !important;
  color:#fff !important;
  cursor:pointer !important;
  font:inherit !important;
  text-align:left !important;
  box-shadow:0 12px 24px rgba(0,0,0,.22) !important;
  transition:transform .16s ease, border-color .16s ease, box-shadow .16s ease !important;
}

body[data-page="portal-obrero-dashboard"] .obrero-zona-docs-item:hover,
body[data-page="portal-obrero-dashboard"] .obrero-zona-docs-item:focus-visible,
body[data-page="portal-obrero-dashboard"] .obrero-zona-docs-item.is-active{
  outline:0 !important;
  transform:translateY(-2px) scale(1.01) !important;
  border-color:#e0b84a !important;
  box-shadow:0 18px 34px rgba(0,0,0,.30), 0 0 22px rgba(224,184,74,.18) !important;
}

body[data-page="portal-obrero-dashboard"] .obrero-zona-docs-item-icon{
  width:56px !important;
  height:56px !important;
  border-radius:18px !important;
  gap:5px !important;
}

body[data-page="portal-obrero-dashboard"] .obrero-zona-docs-item-icon span{
  width:34px !important;
}

body[data-page="portal-obrero-dashboard"] .obrero-zona-docs-item-copy{
  min-width:0 !important;
  display:flex !important;
  flex-direction:column !important;
  gap:6px !important;
}

body[data-page="portal-obrero-dashboard"] .obrero-zona-docs-item-copy strong{
  color:#fff !important;
  font-size:17px !important;
  line-height:1.18 !important;
  font-weight:750 !important;
}

body[data-page="portal-obrero-dashboard"] .obrero-zona-docs-item-copy small{
  color:rgba(255,255,255,.62) !important;
  font-size:13px !important;
  font-weight:650 !important;
}

body[data-page="portal-obrero-dashboard"] .obrero-zona-docs-toolbar{
  display:flex !important;
  justify-content:space-between !important;
  align-items:center !important;
  gap:14px !important;
  margin:20px 0 10px !important;
}

body[data-page="portal-obrero-dashboard"] .obrero-zona-docs-toolbar strong{
  color:#fff8df !important;
  font-size:18px !important;
  font-weight:950 !important;
}

body[data-page="portal-obrero-dashboard"] .obrero-zona-docs-toolbar a{
  min-height:40px !important;
  display:inline-flex !important;
  align-items:center !important;
  padding:0 16px !important;
  border-radius:12px !important;
  border:2px solid rgba(255,255,255,.72) !important;
  background:#fff !important;
  color:#111 !important;
  text-decoration:none !important;
  font-weight:900 !important;
}

body[data-page="portal-obrero-dashboard"] .obrero-zona-docs-viewer{
  width:100% !important;
  overflow:hidden !important;
  border-radius:22px !important;
  border:3px solid #b98a22 !important;
  background:#fff !important;
  box-shadow:0 14px 34px rgba(0,0,0,.22) !important;
}

body[data-page="portal-obrero-dashboard"] .obrero-zona-docs-viewer iframe{
  width:100% !important;
  height:78vh !important;
  min-height:620px !important;
  border:0 !important;
  display:block !important;
}

body[data-page="portal-obrero-dashboard"] .obrero-subadmin-docs{
  width:100vw !important;
  max-width:none !important;
  min-height:100svh !important;
  margin:22px 0 22px calc(50% - 50vw) !important;
  padding:clamp(14px,2.4vw,34px) !important;
  border-radius:0 !important;
  border:0 !important;
  background:
    radial-gradient(circle at 14% 0%, rgba(236,236,203,.26), transparent 30%),
    radial-gradient(circle at 86% 8%, rgba(185,138,34,.16), transparent 28%),
    linear-gradient(135deg, #07172f 0%, #173444 48%, #1a2d38 100%) !important;
  color:#1a2d38 !important;
}

body[data-page="portal-obrero-dashboard"] .obrero-subadmin-docs[hidden]{
  display:none !important;
}

body[data-page="portal-obrero-dashboard"] .obrero-subadmin-docs-header{
  width:100% !important;
  display:grid !important;
  grid-template-columns:auto minmax(0,1fr) auto !important;
  align-items:center !important;
  gap:16px !important;
  padding:18px !important;
  border-radius:28px !important;
  border:5px solid #b98a22 !important;
  background:#ececcb !important;
  box-shadow:0 14px 28px rgba(0,0,0,.20) !important;
}

body[data-page="portal-obrero-dashboard"] .obrero-subadmin-docs-icon,
body[data-page="portal-obrero-dashboard"] .obrero-subadmin-docs-item-icon{
  width:78px !important;
  height:78px !important;
  display:flex !important;
  flex-direction:column !important;
  align-items:center !important;
  justify-content:center !important;
  gap:5px !important;
  border-radius:12px !important;
  background:#173444 !important;
  box-shadow:0 10px 18px rgba(0,0,0,.20) !important;
  flex:0 0 auto !important;
}

body[data-page="portal-obrero-dashboard"] .obrero-subadmin-docs-icon span{
  width:44px !important;
  height:6px !important;
  border-radius:999px !important;
  background:#ececcb !important;
}

body[data-page="portal-obrero-dashboard"] .obrero-subadmin-docs-header h2{
  margin:0 !important;
  color:#1a2d38 !important;
  font-size:clamp(25px,4vw,42px) !important;
  line-height:1.05 !important;
  font-weight:650 !important;
  letter-spacing:0 !important;
  text-align:center !important;
}

body[data-page="portal-obrero-dashboard"] .obrero-subadmin-docs-header p{
  margin:10px 0 0 !important;
  color:rgba(26,45,56,.55) !important;
  font-size:clamp(18px,2.6vw,30px) !important;
  font-weight:550 !important;
  text-align:center !important;
}

body[data-page="portal-obrero-dashboard"] .obrero-subadmin-docs-close{
  width:42px !important;
  height:42px !important;
  border-radius:999px !important;
  border:1px solid rgba(26,45,56,.18) !important;
  background:rgba(26,45,56,.08) !important;
  color:#1a2d38 !important;
  font-size:24px !important;
  cursor:pointer !important;
}

body[data-page="portal-obrero-dashboard"] .obrero-subadmin-docs-body{
  width:100% !important;
  margin-top:18px !important;
  padding:16px !important;
  border-radius:20px !important;
  background:
    linear-gradient(135deg, rgba(180,215,255,.50), rgba(245,250,255,.88)),
    repeating-linear-gradient(135deg, rgba(255,255,255,.40) 0 22px, rgba(255,255,255,.12) 22px 44px) !important;
  box-shadow:0 18px 46px rgba(0,0,0,.20) !important;
}

body[data-page="portal-obrero-dashboard"] .obrero-subadmin-docs-menu{
  display:grid !important;
  grid-template-columns:repeat(auto-fit,minmax(310px,1fr)) !important;
  gap:16px !important;
}

body[data-page="portal-obrero-dashboard"] .obrero-subadmin-docs-item{
  width:100% !important;
  min-height:94px !important;
  display:flex !important;
  align-items:center !important;
  gap:14px !important;
  padding:14px 16px !important;
  border-radius:28px !important;
  border:5px solid #b98a22 !important;
  background:rgba(236,236,203,.90) !important;
  color:#1a2d38 !important;
  cursor:pointer !important;
  font:inherit !important;
  text-align:left !important;
  box-shadow:0 12px 22px rgba(0,0,0,.16) !important;
  transition:transform .16s ease, border-color .16s ease, box-shadow .16s ease, background .16s ease !important;
}

body[data-page="portal-obrero-dashboard"] .obrero-subadmin-docs-item:hover,
body[data-page="portal-obrero-dashboard"] .obrero-subadmin-docs-item:focus-visible,
body[data-page="portal-obrero-dashboard"] .obrero-subadmin-docs-item.is-active{
  outline:0 !important;
  transform:translateY(-2px) scale(1.01) !important;
  border-color:#e0b84a !important;
  background:rgba(255,248,215,.98) !important;
  box-shadow:0 16px 30px rgba(0,0,0,.22) !important;
}

body[data-page="portal-obrero-dashboard"] .obrero-subadmin-docs-item-icon{
  width:58px !important;
  height:58px !important;
  border-radius:12px !important;
  position:relative !important;
}

body[data-page="portal-obrero-dashboard"] .obrero-subadmin-docs-item-icon span:first-child{
  width:28px !important;
  height:34px !important;
  border:3px solid #ececcb !important;
  border-radius:6px !important;
  position:relative !important;
}

body[data-page="portal-obrero-dashboard"] .obrero-subadmin-docs-item-icon span:first-child:before,
body[data-page="portal-obrero-dashboard"] .obrero-subadmin-docs-item-icon span:first-child:after{
  content:"" !important;
  position:absolute !important;
  left:4px !important;
  height:4px !important;
  border-radius:999px !important;
  background:#ececcb !important;
}

body[data-page="portal-obrero-dashboard"] .obrero-subadmin-docs-item-icon span:first-child:before{
  top:8px !important;
  right:4px !important;
}

body[data-page="portal-obrero-dashboard"] .obrero-subadmin-docs-item-icon span:first-child:after{
  top:18px !important;
  right:8px !important;
  opacity:.75 !important;
}

body[data-page="portal-obrero-dashboard"] .obrero-subadmin-docs-item-icon span:not(:first-child){
  display:none !important;
}

body[data-page="portal-obrero-dashboard"] .obrero-subadmin-docs-item-copy{
  min-width:0 !important;
  display:flex !important;
  flex-direction:column !important;
  gap:6px !important;
}

body[data-page="portal-obrero-dashboard"] .obrero-subadmin-docs-item-copy strong{
  color:#1a2d38 !important;
  font-size:20px !important;
  line-height:1.12 !important;
  font-weight:650 !important;
}

body[data-page="portal-obrero-dashboard"] .obrero-subadmin-docs-item-copy small{
  color:rgba(26,45,56,.55) !important;
  font-size:14px !important;
  font-weight:550 !important;
}

body[data-page="portal-obrero-dashboard"] .obrero-subadmin-docs-toolbar{
  display:flex !important;
  justify-content:space-between !important;
  align-items:center !important;
  gap:14px !important;
  margin:18px 0 10px !important;
}

body[data-page="portal-obrero-dashboard"] .obrero-subadmin-docs-toolbar strong{
  color:#000 !important;
  font-size:18px !important;
  font-weight:950 !important;
}

body[data-page="portal-obrero-dashboard"] .obrero-subadmin-docs-toolbar a{
  min-height:42px !important;
  display:inline-flex !important;
  align-items:center !important;
  padding:0 14px !important;
  border-radius:12px !important;
  border:2px solid #000 !important;
  background:rgba(255,255,255,.72) !important;
  color:#000 !important;
  text-decoration:none !important;
  font-weight:950 !important;
}

body[data-page="portal-obrero-dashboard"] .obrero-subadmin-docs-viewer{
  width:100% !important;
  overflow:hidden !important;
  border-radius:22px !important;
  border:3px solid #b98a22 !important;
  background:rgba(255,255,255,.55) !important;
  box-shadow:0 12px 32px rgba(0,0,0,.14) !important;
}

body[data-page="portal-obrero-dashboard"] .obrero-subadmin-docs-viewer iframe{
  width:100% !important;
  height:78vh !important;
  min-height:620px !important;
  border:0 !important;
  display:block !important;
}

body[data-page="portal-obrero-dashboard"] .obrero-presence{
  display:inline-flex !important;
  align-items:center !important;
  gap:6px !important;
  color:rgba(255,248,223,.72) !important;
  font-size:11px !important;
  font-weight:850 !important;
  line-height:1.2 !important;
  white-space:nowrap !important;
}

body[data-page="portal-obrero-dashboard"] .obrero-presence span{
  width:9px !important;
  height:9px !important;
  flex:0 0 9px !important;
  border-radius:999px !important;
  background:#8d96a5 !important;
  box-shadow:0 0 0 3px rgba(141,150,165,.16) !important;
}

body[data-page="portal-obrero-dashboard"] .obrero-presence.is-online{
  color:#dfffe3 !important;
}

body[data-page="portal-obrero-dashboard"] .obrero-presence.is-online span{
  background:#20d66b !important;
  box-shadow:0 0 0 3px rgba(32,214,107,.16), 0 0 14px rgba(32,214,107,.55) !important;
}

body[data-page="portal-obrero-dashboard"] .obrero-presence.is-offline span{
  background:#8d96a5 !important;
}

body[data-page="portal-obrero-dashboard"] .obrero-chip-text .obrero-presence{
  margin-top:4px !important;
}

body[data-page="portal-obrero-dashboard"] .obrero-chat-presence{
  margin-left:2px !important;
  font-size:10px !important;
}

body[data-page="portal-obrero-dashboard"] .obrero-directory-panel{
  margin:18px 0 !important;
}

body[data-page="portal-obrero-dashboard"] .obrero-directory-panel[hidden]{
  display:none !important;
}

body[data-page="portal-obrero-dashboard"] .obrero-directory-toggle-wrap{
  width:100% !important;
  display:flex !important;
  justify-content:flex-end !important;
  margin:18px 0 0 !important;
}

body[data-page="portal-obrero-dashboard"] .obrero-directory-toggle{
  width:auto !important;
  min-width:min(100%, 300px) !important;
}

body[data-page="portal-obrero-dashboard"] .obrero-directory-grid{
  display:grid !important;
  grid-template-columns:repeat(auto-fit,minmax(260px,1fr)) !important;
  gap:12px !important;
}

body[data-page="portal-obrero-dashboard"] .obrero-directory-card{
  display:flex !important;
  gap:12px !important;
  width:100% !important;
  min-width:0 !important;
  padding:14px !important;
  border-radius:16px !important;
  border:1px solid rgba(255,255,255,.16) !important;
  background:
    linear-gradient(135deg, rgba(255,255,255,.14), rgba(255,255,255,.045)),
    rgba(5,18,39,.24) !important;
  color:inherit !important;
  font:inherit !important;
  text-align:left !important;
  cursor:pointer !important;
  box-shadow:0 16px 34px rgba(0,0,0,.18), 0 1px 0 rgba(255,255,255,.10) inset !important;
}

body[data-page="portal-obrero-dashboard"] .obrero-directory-card:hover,
body[data-page="portal-obrero-dashboard"] .obrero-directory-card:focus-visible{
  outline:0 !important;
  transform:translateY(-2px) !important;
  border-color:rgba(246,222,159,.52) !important;
  box-shadow:0 22px 46px rgba(0,0,0,.24), 0 0 20px rgba(246,222,159,.12) !important;
}

body[data-page="portal-obrero-dashboard"] .obrero-directory-avatar{
  width:48px !important;
  height:48px !important;
  flex:0 0 48px !important;
  display:grid !important;
  place-items:center !important;
  overflow:hidden !important;
  border-radius:999px !important;
  border:1px solid rgba(246,222,159,.42) !important;
  background:rgba(9,28,58,.62) !important;
  color:#f4dc8a !important;
  font-size:14px !important;
  font-weight:950 !important;
}

body[data-page="portal-obrero-dashboard"] .obrero-directory-avatar img{
  width:100% !important;
  height:100% !important;
  object-fit:cover !important;
  display:block !important;
}

body[data-page="portal-obrero-dashboard"] .obrero-directory-body{
  min-width:0 !important;
  flex:1 !important;
}

body[data-page="portal-obrero-dashboard"] .obrero-directory-head{
  display:flex !important;
  align-items:center !important;
  justify-content:space-between !important;
  gap:10px !important;
}

body[data-page="portal-obrero-dashboard"] .obrero-directory-head strong{
  min-width:0 !important;
  color:#fff8df !important;
  font-size:14px !important;
  font-weight:950 !important;
  overflow:hidden !important;
  text-overflow:ellipsis !important;
  white-space:nowrap !important;
}

body[data-page="portal-obrero-dashboard"] .obrero-directory-card p{
  margin:5px 0 2px !important;
  color:rgba(255,248,223,.78) !important;
  font-size:12px !important;
  line-height:1.35 !important;
}

body[data-page="portal-obrero-dashboard"] .obrero-directory-card small{
  color:rgba(255,248,223,.56) !important;
  font-size:11px !important;
}

.obrero-message-info-menu{
  display:grid !important;
  gap:6px !important;
}

.obrero-directory-user-menu{
  position:fixed !important;
  z-index:100000 !important;
  display:grid !important;
  gap:6px !important;
  width:min(250px, calc(100vw - 24px)) !important;
  padding:8px !important;
  border-radius:14px !important;
  border:1px solid rgba(255,255,255,.18) !important;
  background:rgba(7,12,22,.92) !important;
  box-shadow:0 24px 60px rgba(0,0,0,.36), 0 1px 0 rgba(255,255,255,.10) inset !important;
  backdrop-filter:blur(18px) saturate(1.16) !important;
  -webkit-backdrop-filter:blur(18px) saturate(1.16) !important;
}

.obrero-directory-user-menu button{
  width:100% !important;
  min-height:42px !important;
  border:0 !important;
  border-radius:10px !important;
  background:rgba(255,255,255,.10) !important;
  color:#fff8df !important;
  font-weight:900 !important;
  text-align:left !important;
  padding:0 12px !important;
  cursor:pointer !important;
}

@media(max-width:700px){
  body[data-page="portal-obrero-dashboard"] .obrero-peticiones-grey{
    margin-left:calc(50% - 50vw) !important;
    padding:10px 8px 18px !important;
  }

  body[data-page="portal-obrero-dashboard"] .obrero-peticiones-grey-header{
    align-items:flex-start !important;
    padding:14px !important;
    border-radius:20px !important;
  }

  body[data-page="portal-obrero-dashboard"] .obrero-peticiones-grey-header h2{
    font-size:clamp(28px,9vw,42px) !important;
  }

  body[data-page="portal-obrero-dashboard"] .obrero-peticiones-grey-frame{
    min-height:78svh !important;
    border-radius:18px !important;
  }

  body[data-page="portal-obrero-dashboard"] .obrero-peticiones-grey-frame iframe{
    height:78svh !important;
    min-height:640px !important;
    border-radius:14px !important;
  }

  body[data-page="portal-obrero-dashboard"] .obrero-salida{
    margin-left:calc(50% - 50vw) !important;
    padding:10px 8px 18px !important;
  }

  body[data-page="portal-obrero-dashboard"] .obrero-salida-header{
    align-items:flex-start !important;
    padding:14px !important;
    border-radius:20px !important;
  }

  body[data-page="portal-obrero-dashboard"] .obrero-salida-header h2{
    font-size:clamp(28px,9vw,42px) !important;
  }

  body[data-page="portal-obrero-dashboard"] .obrero-salida .tap-form{
    padding:14px !important;
    border-radius:18px !important;
  }

  body[data-page="portal-obrero-dashboard"] .obrero-salida .cols-2{
    grid-template-columns:1fr !important;
  }

  body[data-page="portal-obrero-dashboard"] .obrero-salida input,
  body[data-page="portal-obrero-dashboard"] .obrero-salida textarea,
  body[data-page="portal-obrero-dashboard"] .obrero-salida select{
    min-height:46px !important;
  }

  body[data-page="portal-obrero-dashboard"] .obrero-salida .tap-btn{
    min-height:54px !important;
  }

  body[data-page="portal-obrero-dashboard"] .obrero-encargados{
    margin-left:calc(50% - 50vw) !important;
    padding:10px 8px 18px !important;
  }

  body[data-page="portal-obrero-dashboard"] .obrero-encargados-header{
    align-items:flex-start !important;
    padding:14px !important;
    border-radius:20px !important;
  }

  body[data-page="portal-obrero-dashboard"] .obrero-encargados-header h2{
    font-size:clamp(28px,9vw,42px) !important;
  }

  body[data-page="portal-obrero-dashboard"] .obrero-encargados .tap-form{
    padding:14px !important;
    border-radius:18px !important;
  }

  body[data-page="portal-obrero-dashboard"] .obrero-encargados .cols-2{
    grid-template-columns:1fr !important;
  }

  body[data-page="portal-obrero-dashboard"] .obrero-encargados .tap-full{
    grid-column:auto !important;
  }

  body[data-page="portal-obrero-dashboard"] .obrero-encargados input[type="text"],
  body[data-page="portal-obrero-dashboard"] .obrero-encargados input[type="email"],
  body[data-page="portal-obrero-dashboard"] .obrero-encargados input[type="date"],
  body[data-page="portal-obrero-dashboard"] .obrero-encargados textarea,
  body[data-page="portal-obrero-dashboard"] .obrero-encargados select{
    min-height:46px !important;
  }

  body[data-page="portal-obrero-dashboard"] .obrero-encargados .tap-btn{
    min-height:54px !important;
  }

  body[data-page="portal-obrero-dashboard"] .obrero-rol{
    margin-left:calc(50% - 50vw) !important;
    padding:10px 8px 18px !important;
  }

  body[data-page="portal-obrero-dashboard"] .obrero-rol-header{
    align-items:flex-start !important;
    padding:14px !important;
    border-radius:20px !important;
  }

  body[data-page="portal-obrero-dashboard"] .obrero-rol-header h2{
    font-size:clamp(30px,10vw,44px) !important;
  }

  body[data-page="portal-obrero-dashboard"] .obrero-rol-card{
    margin:12px 0 !important;
    padding:12px !important;
    border-radius:18px !important;
  }

  body[data-page="portal-obrero-dashboard"] .obrero-rol-title{
    font-size:18px !important;
  }

  body[data-page="portal-obrero-dashboard"] .obrero-rol-table-wrap{
    border-radius:14px !important;
  }

  body[data-page="portal-obrero-dashboard"] .obrero-rol table{
    min-width:720px !important;
  }

  body[data-page="portal-obrero-dashboard"] .obrero-rol th,
  body[data-page="portal-obrero-dashboard"] .obrero-rol td{
    padding:9px 7px !important;
    font-size:12px !important;
  }

  body[data-page="portal-obrero-dashboard"] .obrero-rol-ministers span{
    width:100% !important;
    justify-content:center !important;
  }

  body[data-page="portal-obrero-dashboard"] .obrero-inscripcion{
    margin-left:calc(50% - 50vw) !important;
    padding:10px 8px 18px !important;
  }

  body[data-page="portal-obrero-dashboard"] .obrero-inscripcion-card{
    min-height:calc(100svh - 28px) !important;
    border-radius:20px !important;
  }

  body[data-page="portal-obrero-dashboard"] .obrero-inscripcion-topbar{
    padding:12px !important;
    gap:10px !important;
  }

  body[data-page="portal-obrero-dashboard"] .obrero-inscripcion-actions a{
    min-height:38px !important;
    padding:0 12px !important;
  }

  body[data-page="portal-obrero-dashboard"] .obrero-inscripcion-actions button{
    width:38px !important;
    height:38px !important;
  }

  body[data-page="portal-obrero-dashboard"] .obrero-inscripcion-heading{
    padding:16px 14px 10px !important;
  }

  body[data-page="portal-obrero-dashboard"] .obrero-inscripcion-frame-wrap{
    width:calc(100% - 16px) !important;
    height:78svh !important;
    min-height:620px !important;
    margin:0 8px 12px !important;
    border-radius:18px !important;
  }

  body[data-page="portal-obrero-dashboard"] .obrero-inscripcion-note{
    padding:0 14px 16px !important;
  }

  body[data-page="portal-obrero-dashboard"] .obrero-general-docs{
    margin-left:calc(50% - 50vw) !important;
    padding:10px 8px 18px !important;
  }

  body[data-page="portal-obrero-dashboard"] .obrero-general-docs-header{
    grid-template-columns:1fr auto !important;
    gap:12px !important;
    padding:14px !important;
    border-radius:20px !important;
  }

  body[data-page="portal-obrero-dashboard"] .obrero-general-docs-icon{
    display:none !important;
  }

  body[data-page="portal-obrero-dashboard"] .obrero-general-docs-header h2,
  body[data-page="portal-obrero-dashboard"] .obrero-general-docs-header p{
    text-align:left !important;
  }

  body[data-page="portal-obrero-dashboard"] .obrero-general-docs-body{
    padding:10px !important;
    border-radius:18px !important;
  }

  body[data-page="portal-obrero-dashboard"] .obrero-general-docs-menu{
    grid-template-columns:1fr !important;
    gap:10px !important;
  }

  body[data-page="portal-obrero-dashboard"] .obrero-general-docs-item{
    min-height:82px !important;
    padding:12px !important;
    border-width:3px !important;
    border-radius:20px !important;
  }

  body[data-page="portal-obrero-dashboard"] .obrero-general-docs-toolbar{
    align-items:flex-start !important;
    flex-direction:column !important;
  }

  body[data-page="portal-obrero-dashboard"] .obrero-general-docs-toolbar a{
    width:100% !important;
    justify-content:center !important;
  }

  body[data-page="portal-obrero-dashboard"] .obrero-general-docs-viewer iframe{
    height:72svh !important;
    min-height:520px !important;
  }

  body[data-page="portal-obrero-dashboard"] .obrero-zona-docs{
    margin-left:calc(50% - 50vw) !important;
    padding:10px 8px 18px !important;
  }

  body[data-page="portal-obrero-dashboard"] .obrero-zona-docs-header{
    grid-template-columns:1fr auto !important;
    gap:12px !important;
    padding:14px !important;
    border-radius:20px !important;
  }

  body[data-page="portal-obrero-dashboard"] .obrero-zona-docs-icon{
    display:none !important;
  }

  body[data-page="portal-obrero-dashboard"] .obrero-zona-docs-header h2,
  body[data-page="portal-obrero-dashboard"] .obrero-zona-docs-header p{
    text-align:left !important;
  }

  body[data-page="portal-obrero-dashboard"] .obrero-zona-docs-body{
    padding:10px !important;
    border-radius:18px !important;
  }

  body[data-page="portal-obrero-dashboard"] .obrero-zona-docs-menu{
    grid-template-columns:1fr !important;
    gap:10px !important;
  }

  body[data-page="portal-obrero-dashboard"] .obrero-zona-docs-item{
    min-height:82px !important;
    padding:12px !important;
    border-width:3px !important;
    border-radius:20px !important;
  }

  body[data-page="portal-obrero-dashboard"] .obrero-zona-docs-toolbar{
    align-items:flex-start !important;
    flex-direction:column !important;
  }

  body[data-page="portal-obrero-dashboard"] .obrero-zona-docs-toolbar a{
    width:100% !important;
    justify-content:center !important;
  }

  body[data-page="portal-obrero-dashboard"] .obrero-zona-docs-viewer iframe{
    height:72svh !important;
    min-height:520px !important;
  }

  body[data-page="portal-obrero-dashboard"] .obrero-subadmin-docs{
    margin-left:calc(50% - 50vw) !important;
    padding:10px 8px 18px !important;
  }

  body[data-page="portal-obrero-dashboard"] .obrero-subadmin-docs-header{
    grid-template-columns:1fr auto !important;
    gap:12px !important;
    padding:14px !important;
    border-radius:20px !important;
  }

  body[data-page="portal-obrero-dashboard"] .obrero-subadmin-docs-icon{
    display:none !important;
  }

  body[data-page="portal-obrero-dashboard"] .obrero-subadmin-docs-header h2,
  body[data-page="portal-obrero-dashboard"] .obrero-subadmin-docs-header p{
    text-align:left !important;
  }

  body[data-page="portal-obrero-dashboard"] .obrero-subadmin-docs-body{
    padding:10px !important;
    border-radius:18px !important;
  }

  body[data-page="portal-obrero-dashboard"] .obrero-subadmin-docs-menu{
    grid-template-columns:1fr !important;
    gap:10px !important;
  }

  body[data-page="portal-obrero-dashboard"] .obrero-subadmin-docs-item{
    min-height:82px !important;
    padding:12px !important;
    border-width:3px !important;
    border-radius:20px !important;
  }

  body[data-page="portal-obrero-dashboard"] .obrero-subadmin-docs-toolbar{
    align-items:flex-start !important;
    flex-direction:column !important;
  }

  body[data-page="portal-obrero-dashboard"] .obrero-subadmin-docs-toolbar a{
    width:100% !important;
    justify-content:center !important;
  }

  body[data-page="portal-obrero-dashboard"] .obrero-subadmin-docs-viewer iframe{
    height:72svh !important;
    min-height:520px !important;
  }

  body[data-page="portal-obrero-dashboard"] .obrero-modern-home{
    padding:10px 8px 22px !important;
  }

  body[data-page="portal-obrero-dashboard"] .obrero-home-hero,
  body[data-page="portal-obrero-dashboard"] .obrero-profile-panel,
  body[data-page="portal-obrero-dashboard"] .obrero-home-panel,
  body[data-page="portal-obrero-dashboard"] .obrero-summary-grid article{
    border-radius:16px !important;
  }

  body[data-page="portal-obrero-dashboard"] .obrero-chat-panel{
    padding:16px 10px !important;
  }

  body[data-page="portal-obrero-dashboard"] .obrero-chat-messages{
    height:64svh !important;
    min-height:540px !important;
    padding:10px 8px !important;
    border-radius:16px !important;
  }

  body[data-page="portal-obrero-dashboard"] .obrero-chat-message{
    width:96% !important;
    max-width:none !important;
    padding:12px !important;
  }

  body[data-page="portal-obrero-dashboard"] .obrero-chat-message.is-mine{
    width:94% !important;
  }

  .obrero-message-info-panel{
    padding:12px !important;
  }

  .obrero-message-info-card{
    width:100% !important;
    max-height:84svh !important;
    border-radius:16px !important;
  }
}

/* PORTAL DE OBREROS ACCESS PAGE APPLE GLASS */
body[data-page="portal-obrero"]{
  background:
    linear-gradient(180deg, rgba(255,255,255,.055), rgba(255,255,255,0) 24%),
    linear-gradient(135deg, #06172f 0%, #0a284e 50%, #24313d 100%) !important;
}

body[data-page="portal-obrero"] #portal-obrero-mobile-rewrite,
body[data-page="portal-obrero"] #portal-obrero-desktop-rebuild{
  background:
    linear-gradient(135deg, rgba(255,255,255,.050), rgba(255,255,255,0) 42%),
    linear-gradient(180deg, rgba(6,23,47,.10), rgba(6,23,47,.30)) !important;
}

body[data-page="portal-obrero"] #portal-obrero-mobile-rewrite .pomr-inner,
body[data-page="portal-obrero"] .pod-card{
  position:relative !important;
  overflow:hidden !important;
  border-radius:28px !important;
  border:1px solid rgba(255,255,255,.24) !important;
  background:
    linear-gradient(135deg, rgba(255,255,255,.22), rgba(255,255,255,.070) 42%, rgba(255,255,255,.045)),
    linear-gradient(180deg, rgba(244,220,138,.12), rgba(6,23,47,.20)) !important;
  box-shadow:
    0 32px 86px rgba(0,0,0,.32),
    0 1px 0 rgba(255,255,255,.18) inset,
    0 -1px 0 rgba(255,255,255,.060) inset !important;
  backdrop-filter:blur(30px) saturate(1.24) !important;
  -webkit-backdrop-filter:blur(30px) saturate(1.24) !important;
}

body[data-page="portal-obrero"] #portal-obrero-mobile-rewrite .pomr-inner:before,
body[data-page="portal-obrero"] .pod-card:before{
  content:"" !important;
  position:absolute !important;
  inset:0 !important;
  z-index:0 !important;
  pointer-events:none !important;
  background:
    linear-gradient(120deg, rgba(255,255,255,.36), rgba(255,255,255,.10) 34%, rgba(255,255,255,0) 60%),
    linear-gradient(180deg, rgba(255,255,255,.12), rgba(255,255,255,0) 40%) !important;
  opacity:.54 !important;
}

body[data-page="portal-obrero"] #portal-obrero-mobile-rewrite .pomr-inner > *,
body[data-page="portal-obrero"] .pod-card > *{
  position:relative !important;
  z-index:1 !important;
}

body[data-page="portal-obrero"] #portal-obrero-mobile-rewrite h1,
body[data-page="portal-obrero"] .pod-card h1{
  color:#f4dc8a !important;
  background:linear-gradient(180deg, #fff2bd 0%, #f4dc8a 42%, #d4af37 78%, #a87519 100%) !important;
  -webkit-background-clip:text !important;
  background-clip:text !important;
  -webkit-text-fill-color:transparent !important;
  text-shadow:0 12px 30px rgba(0,0,0,.20) !important;
}

body[data-page="portal-obrero"] #portal-obrero-mobile-rewrite input,
body[data-page="portal-obrero"] .pod-form input,
body[data-page="portal-obrero"] .obrero-access-actions button,
body[data-page="portal-obrero"] .obrero-password-toggle,
body[data-page="portal-obrero"] .obrero-access-panel,
body[data-page="portal-obrero"] .obrero-access-panel input{
  border:1px solid rgba(255,255,255,.24) !important;
  background:
    linear-gradient(135deg, rgba(255,255,255,.17), rgba(255,255,255,.055)),
    rgba(8,28,58,.34) !important;
  box-shadow:
    0 14px 34px rgba(0,0,0,.18),
    0 1px 0 rgba(255,255,255,.15) inset !important;
  backdrop-filter:blur(18px) saturate(1.18) !important;
  -webkit-backdrop-filter:blur(18px) saturate(1.18) !important;
}

body[data-page="portal-obrero"] #portal-obrero-mobile-rewrite input:focus,
body[data-page="portal-obrero"] .pod-form input:focus,
body[data-page="portal-obrero"] .obrero-access-panel input:focus{
  outline:0 !important;
  border-color:rgba(244,220,138,.72) !important;
  box-shadow:
    0 0 0 4px rgba(244,220,138,.14),
    0 16px 38px rgba(0,0,0,.20),
    0 1px 0 rgba(255,255,255,.18) inset !important;
}

body[data-page="portal-obrero"] #portal-obrero-mobile-rewrite .pomr-submit,
body[data-page="portal-obrero"] .pod-submit,
body[data-page="portal-obrero"] .obrero-access-panel button[type="submit"]{
  border:1px solid rgba(255,255,255,.34) !important;
  background:
    linear-gradient(135deg, rgba(255,255,255,.62), rgba(255,255,255,.20) 22%, rgba(244,220,138,.94) 48%, rgba(180,126,31,.96)) !important;
  color:#06172f !important;
  box-shadow:
    0 18px 40px rgba(0,0,0,.24),
    0 1px 0 rgba(255,255,255,.52) inset !important;
}

body[data-page="portal-obrero"] .obrero-access-divider:before,
body[data-page="portal-obrero"] .obrero-access-divider:after,
body[data-page="portal-obrero"] #portal-obrero-mobile-rewrite .obrero-access-divider:before,
body[data-page="portal-obrero"] #portal-obrero-mobile-rewrite .obrero-access-divider:after{
  background:linear-gradient(90deg, transparent, rgba(244,220,138,.62), transparent) !important;
}

body[data-page="portal-obrero"] .obrero-access-backdrop{
  background:rgba(3,10,22,.54) !important;
  backdrop-filter:blur(30px) saturate(1.18) !important;
  -webkit-backdrop-filter:blur(30px) saturate(1.18) !important;
}

body[data-page="portal-obrero"] .obrero-access-panel{
  border-radius:24px !important;
  color:#fff8df !important;
}

@media(max-width:900px){
  body[data-page="portal-obrero"] #portal-obrero-mobile-rewrite{
    padding:
      calc(18px + env(safe-area-inset-top))
      20px
      calc(26px + env(safe-area-inset-bottom)) !important;
    overflow-y:auto !important;
  }

  body[data-page="portal-obrero"] #portal-obrero-mobile-rewrite .pomr-inner{
    padding:30px 24px 28px !important;
    max-width:430px !important;
  }
}

/* OBRERO ACCESS BUTTON HARD CLICK REPAIR */
body[data-page="portal-obrero"] .obrero-access-actions,
body[data-page="portal-obrero"] .mobile-obrero-access-actions,
body[data-page="portal-obrero"] .desktop-obrero-access-actions{
  position:relative !important;
  z-index:214748300 !important;
  pointer-events:auto !important;
  isolation:isolate !important;
}

body[data-page="portal-obrero"] .obrero-access-actions button,
body[data-page="portal-obrero"] [data-obrero-open],
body[data-page="portal-obrero"] [data-mobile-obrero-action],
body[data-page="portal-obrero"] #mobileRegisterBtn,
body[data-page="portal-obrero"] #mobileRecoverBtn,
body[data-page="portal-obrero"] #mobileResetBtn{
  position:relative !important;
  z-index:214748301 !important;
  pointer-events:auto !important;
  touch-action:manipulation !important;
  cursor:pointer !important;
  -webkit-user-select:none !important;
  user-select:none !important;
}

body[data-page="portal-obrero"] #portal-obrero-mobile-rewrite,
body[data-page="portal-obrero"] #portal-obrero-desktop-rebuild,
body[data-page="portal-obrero"] #portal-obrero-mobile-rewrite .pomr-inner,
body[data-page="portal-obrero"] .pod-card{
  pointer-events:auto !important;
}

body[data-page="portal-obrero"] #portal-obrero-mobile-rewrite .pomr-inner:before,
body[data-page="portal-obrero"] .pod-card:before{
  pointer-events:none !important;
}

/* FINAL MOBILE ACCESS MODAL VISIBILITY REPAIR */
@media(max-width:900px){
  body[data-page="portal-obrero"]{
    overflow-y:auto !important;
    -webkit-overflow-scrolling:touch !important;
  }

  body[data-page="portal-obrero"] #portal-obrero-mobile-rewrite{
    overflow-y:auto !important;
    -webkit-overflow-scrolling:touch !important;
  }

  body[data-page="portal-obrero"] #obreroAccessModal:not([hidden]){
    display:flex !important;
    visibility:visible !important;
    opacity:1 !important;
    pointer-events:auto !important;
    position:fixed !important;
    inset:0 !important;
    z-index:2147483646 !important;
  }

  body[data-page="portal-obrero"] #obreroAccessModal:not([hidden]) .obrero-access-backdrop,
  body[data-page="portal-obrero"] #obreroAccessModal:not([hidden]) .obrero-access-panel{
    display:block !important;
    visibility:visible !important;
    opacity:1 !important;
    pointer-events:auto !important;
  }

  body[data-page="portal-obrero"] #obreroAccessModal:not([hidden]) .obrero-access-panel{
    z-index:2147483647 !important;
  }
}

/* FORMAL FULLSCREEN MOBILE ACCESS FORMS */
@media(max-width:900px){
  body[data-page="portal-obrero"] #obreroAccessModal:not([hidden]){
    align-items:stretch !important;
    justify-content:stretch !important;
    padding:0 !important;
    background:
      linear-gradient(180deg, rgba(255,255,255,.08), rgba(255,255,255,0) 28%),
      radial-gradient(circle at 78% 18%, rgba(244,220,138,.18), transparent 34%),
      linear-gradient(135deg, #06172f 0%, #0b1f3a 48%, #1d2430 100%) !important;
  }

  body[data-page="portal-obrero"] #obreroAccessModal:not([hidden]) .obrero-access-backdrop{
    display:none !important;
  }

  body[data-page="portal-obrero"] #obreroAccessModal:not([hidden]) .obrero-access-panel{
    width:100vw !important;
    max-width:none !important;
    min-height:100svh !important;
    max-height:none !important;
    height:auto !important;
    margin:0 !important;
    padding:
      calc(72px + env(safe-area-inset-top))
      22px
      calc(30px + env(safe-area-inset-bottom)) !important;
    border:0 !important;
    border-radius:0 !important;
    box-shadow:none !important;
    background:
      linear-gradient(180deg, rgba(255,255,255,.10), rgba(255,255,255,.035)),
      linear-gradient(135deg, rgba(6,23,47,.98), rgba(10,31,58,.98) 58%, rgba(43,26,10,.94)) !important;
    overflow-y:auto !important;
    -webkit-overflow-scrolling:touch !important;
  }

  body[data-page="portal-obrero"] #obreroAccessModal:not([hidden]) .obrero-access-close{
    position:fixed !important;
    right:16px !important;
    top:calc(14px + env(safe-area-inset-top)) !important;
    width:46px !important;
    height:46px !important;
    border:0 !important;
    border-radius:999px !important;
    background:rgba(255,255,255,.12) !important;
    color:#fff8df !important;
    box-shadow:0 12px 28px rgba(0,0,0,.22) !important;
    font-size:1.65rem !important;
    line-height:1 !important;
  }

  body[data-page="portal-obrero"] #obreroAccessModal:not([hidden]) .obrero-access-panel h2{
    margin:0 54px 12px 0 !important;
    text-align:left !important;
    color:#f4dc8a !important;
    font-size:clamp(2rem, 9vw, 2.85rem) !important;
    line-height:1.04 !important;
  }

  body[data-page="portal-obrero"] #obreroAccessModal:not([hidden]) .obrero-access-panel p{
    text-align:left !important;
    margin:0 0 24px !important;
    color:rgba(255,248,223,.82) !important;
    font-size:1rem !important;
    line-height:1.55 !important;
  }

  body[data-page="portal-obrero"] #obreroAccessModal:not([hidden]) #obreroAccessForm{
    display:grid !important;
    gap:13px !important;
    width:100% !important;
  }

  body[data-page="portal-obrero"] #obreroAccessModal:not([hidden]) .obrero-access-panel input,
  body[data-page="portal-obrero"] #obreroAccessModal:not([hidden]) .obrero-access-panel select{
    min-height:56px !important;
    margin:0 !important;
    padding:0 16px !important;
    border:1px solid rgba(255,255,255,.22) !important;
    border-radius:14px !important;
    background:rgba(255,255,255,.10) !important;
    color:#fff8df !important;
    font-size:1rem !important;
    font-weight:760 !important;
    box-shadow:0 1px 0 rgba(255,255,255,.12) inset !important;
  }

  body[data-page="portal-obrero"] #obreroAccessModal:not([hidden]) .obrero-access-panel input::placeholder{
    color:rgba(255,248,223,.64) !important;
  }

  body[data-page="portal-obrero"] #obreroAccessModal:not([hidden]) .obrero-access-panel button[type="submit"]{
    min-height:58px !important;
    margin-top:6px !important;
    border:0 !important;
    border-radius:14px !important;
    background:linear-gradient(135deg, #fff1b0, #d4af37 54%, #9d7418) !important;
    color:#06172f !important;
    font-size:1rem !important;
    font-weight:950 !important;
    letter-spacing:.035em !important;
    box-shadow:0 18px 36px rgba(0,0,0,.26) !important;
  }

  body[data-page="portal-obrero"] #obreroAccessModal:not([hidden]) #obreroAccessMessage{
    text-align:left !important;
    margin:16px 0 0 !important;
  }
}

/* Biblioteca Ministerial — acceso desde Portal de Obreros */
.obrero-library-nav-card{border-color:rgba(215,186,98,.58)!important;background:linear-gradient(135deg,rgba(112,83,24,.3),rgba(20,20,20,.96))!important;box-shadow:inset 0 1px 0 rgba(255,255,255,.05),0 14px 34px rgba(0,0,0,.16)}
.obrero-library-nav-card .obrero-nav-icon{color:#efd47f}

/* Departamento Juvenil — full-width content loader */
#juvenilPageContent{width:100%;margin:0;padding:0;background:#efefef}
.juvenil-page-loading{min-height:48vh;display:grid;place-items:center;padding:48px 20px;color:#17283e;font-weight:800;text-align:center;background:linear-gradient(180deg,#efefef,#f7f4ef)}
.juvenil-page-loading.is-error{color:#8b2929}

/* Departamento Educativo — full-width content loader */
#educativoPageContent{width:100%;margin:0;padding:0;background:#061225}
.educativo-page-loading{min-height:48vh;display:grid;place-items:center;padding:48px 20px;color:#eaf4ff;font-weight:800;text-align:center;background:linear-gradient(180deg,#07111f,#0a1b36)}
.educativo-page-loading.is-error{color:#ffb5b5}

/* Departamento Femenil — full-width content loader */
#femenilPageContent{width:100%;margin:0;padding:0;background:#fff8fc}
.femenil-page-loading{min-height:48vh;display:grid;place-items:center;padding:48px 20px;color:#472d45;font-weight:800;text-align:center;background:linear-gradient(180deg,#fff8fc,#fff1f7)}
.femenil-page-loading.is-error{color:#8b294c}

/* Departamento Infantil — full-width content loader */
#infantilPageContent{width:100%;margin:0;padding:0;background:#fff8ee}
.infantil-page-loading{min-height:48vh;display:grid;place-items:center;padding:48px 20px;color:#6a433c;font-weight:900;text-align:center;background:linear-gradient(180deg,#fffdf9,#fff6e8)}
.infantil-page-loading.is-error{color:#a51f27}

/* Social footer — final cache-safe sizing and theme */
.footer .footer-social-section{display:block!important;width:min(820px,92vw)!important;margin:38px auto 0!important;padding:28px 20px 10px!important;border-top:1px solid rgba(242,214,138,.3)!important;text-align:center!important}.footer .footer-social-section h4{margin:0 0 20px!important;color:#fff!important}.footer .footer-social-links{display:flex!important;flex-flow:row wrap!important;justify-content:center!important;align-items:stretch!important;gap:14px!important}.footer .footer-social-links>a{display:inline-flex!important;align-items:center!important;gap:12px!important;width:auto!important;min-width:170px!important;min-height:58px!important;margin:0!important;padding:9px 18px 9px 10px!important;border:1px solid rgba(242,214,138,.4)!important;border-radius:7px!important;background:linear-gradient(145deg,rgba(255,255,255,.055),rgba(200,162,74,.035))!important;box-shadow:0 5px 16px rgba(0,0,0,.14)!important;color:#e8dcc4!important;font-family:Arial,sans-serif!important;font-size:.86rem!important;font-weight:800!important;letter-spacing:.02em!important;line-height:1.2!important}.footer .footer-social-icon{display:grid!important;place-items:center!important;flex:0 0 38px!important;width:38px!important;height:38px!important;min-width:38px!important;min-height:38px!important;max-width:38px!important;max-height:38px!important;margin:0!important;padding:0!important;overflow:hidden!important;border:1px solid rgba(242,214,138,.62)!important;border-radius:50%!important;background:#3a240f!important;box-shadow:inset 0 0 0 3px rgba(200,162,74,.07)!important}.footer .footer-social-icon img{display:block!important;width:20px!important;height:20px!important;min-width:0!important;max-width:20px!important;min-height:0!important;max-height:20px!important;margin:0!important;padding:0!important;object-fit:contain!important;filter:brightness(0) saturate(100%) invert(88%) sepia(28%) saturate(811%) hue-rotate(351deg) brightness(103%) contrast(90%)!important}.footer .footer-social-icon.youtube img{width:21px!important;max-width:21px!important}.footer .footer-social-icon.facebook img{width:17px!important;max-width:17px!important}.footer .footer-social-icon.instagram img{width:20px!important;max-width:20px!important}.footer .footer-social-links>a:hover,.footer .footer-social-links>a:focus-visible{border-color:var(--gold2)!important;background:rgba(242,214,138,.12)!important;box-shadow:0 8px 20px rgba(0,0,0,.2)!important;color:#fff!important;transform:translateY(-2px)!important}@media(max-width:560px){.footer .footer-social-section{padding-inline:0!important}.footer .footer-social-links{display:grid!important;grid-template-columns:1fr!important;max-width:280px!important;margin:auto!important}.footer .footer-social-links>a{width:100%!important}}
