*,*::before,*::after{margin:0;padding:0;box-sizing:border-box;}
:root{
  --bg:#080a0b;--bg2:#0d1012;--bg3:#121618;
  --gold:#c8a84b;--red:#c0392b;--silver:#a0a8b0;
  --text:#e8e0d0;--muted:#6a6458;
  --border:rgba(200,168,75,0.18);
  --mono:'Share Tech Mono',monospace;
  --title:'Oswald',sans-serif;
  --body:'Rajdhani',sans-serif;
  --green:#4caf50;
  --directiva:#9b59b6;
}

body{
  background-color:#080a0b;
  background-image:url("data:image/svg+xml;charset=utf-8,<svg xmlns='http://www.w3.org/2000/svg' width='30' height='52'><polygon points='15,1 29,9 29,25 15,33 1,25 1,9' fill='none' stroke='%23c8a84b' stroke-opacity='0.18' stroke-width='0.7'/><polygon points='0,27 14,35 14,51 0,59 -14,51 -14,35' fill='none' stroke='%23c8a84b' stroke-opacity='0.18' stroke-width='0.7'/><polygon points='30,27 44,35 44,51 30,59 16,51 16,35' fill='none' stroke='%23c8a84b' stroke-opacity='0.18' stroke-width='0.7'/></svg>");
  background-size:30px 52px;
  background-attachment:fixed;
  color:var(--text);font-family:var(--body);font-size:16px;line-height:1.6;overflow-x:hidden;cursor:none;
}

#cursor{position:fixed;width:24px;height:24px;pointer-events:none;z-index:9999;left:-100px;top:-100px;transform:translate(-50%,-50%);transition:transform 0.12s ease;}
#cursor::before{content:'';position:absolute;inset:0;border:2px solid var(--gold);transform:rotate(45deg);box-shadow:0 0 8px rgba(200,168,75,0.7);}
#cursor::after{content:'';position:absolute;top:50%;left:50%;width:6px;height:6px;background:var(--red);transform:translate(-50%,-50%) rotate(45deg);}
#cursor-trail{position:fixed;width:46px;height:46px;pointer-events:none;z-index:9998;left:-100px;top:-100px;transform:translate(-50%,-50%);border:1px solid rgba(200,168,75,0.3);transition:transform 0.15s ease;}

nav{position:fixed;top:0;left:0;right:0;background:rgba(8,10,7,0.97);border-bottom:1px solid var(--border);z-index:100;display:flex;align-items:center;justify-content:space-between;padding:0 1.5rem;height:56px;gap:1rem;}
.nav-logo{display:flex;align-items:center;gap:10px;flex-shrink:0;}
.nav-logo img{width:34px;height:34px;object-fit:contain;}
.nav-name{font-family:var(--title);font-size:1rem;font-weight:700;color:var(--text);letter-spacing:3px;text-transform:uppercase;line-height:1;}
.nav-name span{display:block;font-size:0.55rem;color:var(--gold);letter-spacing:4px;font-weight:400;}
.nav-links{display:flex;gap:0.9rem;flex-wrap:wrap;}
.nav-links a{font-family:var(--mono);font-size:0.68rem;color:var(--muted);text-decoration:none;letter-spacing:1.5px;text-transform:uppercase;cursor:none;padding:4px 0;border-bottom:1px solid transparent;transition:color 0.2s,border-color 0.2s;white-space:nowrap;}
.nav-links a:hover,.nav-links a.active{color:var(--gold);border-bottom-color:var(--gold);}
.nav-auth{display:flex;align-items:center;gap:0.75rem;flex-shrink:0;}
#nav-user-info{display:flex;align-items:center;gap:0.5rem;}
#nav-callsign{font-family:var(--mono);font-size:0.6rem;color:var(--gold);letter-spacing:2px;text-transform:uppercase;}
.btn-login,.btn-logout{font-family:var(--mono);font-size:0.58rem;letter-spacing:2px;text-transform:uppercase;padding:5px 12px;border:1px solid var(--border);background:transparent;color:var(--muted);cursor:none;transition:all 0.2s;}
.btn-login:hover{border-color:var(--gold);color:var(--gold);}
.btn-logout{border-color:var(--red);color:var(--red);}
.btn-logout:hover{background:var(--red);color:var(--bg);}

.page{display:none;padding-top:56px;min-height:100vh;}
.page.active{display:block;}

.hero{position:relative;height:calc(100vh - 56px);min-height:580px;display:flex;flex-direction:column;align-items:center;justify-content:center;overflow:hidden;}
.hero-bg{position:absolute;inset:0;z-index:1;background-size:cover;background-position:center;}
.hero-vignette{position:absolute;inset:0;z-index:2;background:radial-gradient(ellipse 75% 75% at center,rgba(8,10,7,0.45) 0%,rgba(8,10,7,0.93) 100%);}
.hero-content{position:relative;text-align:center;padding:1rem;z-index:5;width:100%;max-width:920px;}
.hero-change-bg{position:absolute;bottom:1rem;right:1rem;z-index:10;font-family:var(--mono);font-size:0.55rem;letter-spacing:1px;color:var(--muted);border:1px solid var(--border);background:rgba(8,10,7,0.85);padding:5px 10px;cursor:none;transition:all 0.2s;display:none;}
.hero-change-bg:hover{border-color:var(--gold);color:var(--gold);}

.emblem-wrap{position:relative;width:clamp(100px,13vw,155px);height:clamp(100px,13vw,155px);margin:0 auto 0.75rem;animation:emblemEnter 1s cubic-bezier(0.175,0.885,0.32,1.275) 0.3s forwards;}
@keyframes emblemEnter{from{transform:scale(0) rotate(-180deg);opacity:0;}to{transform:scale(1) rotate(0deg);opacity:1;}}
.emblem-wrap img{width:100%;height:100%;object-fit:contain;filter:drop-shadow(0 0 20px rgba(200,168,75,0.6));animation:emblemPulse 4s ease-in-out infinite;}
@keyframes emblemPulse{0%,100%{filter:drop-shadow(0 0 20px rgba(200,168,75,0.5));}50%{filter:drop-shadow(0 0 38px rgba(200,168,75,0.9));}}
.emblem-ring{position:absolute;inset:-8px;border:1px solid rgba(200,168,75,0.4);transform:rotate(45deg);animation:ringRotate 8s linear infinite;}
.emblem-ring2{position:absolute;inset:-18px;border:1px solid rgba(200,168,75,0.15);transform:rotate(45deg);animation:ringRotate 14s linear infinite reverse;}
@keyframes ringRotate{to{transform:rotate(405deg);}}

.hero-eyebrow{font-family:var(--mono);font-size:clamp(0.45rem,1.2vw,0.6rem);letter-spacing:5px;color:var(--red);text-transform:uppercase;margin-bottom:0.3rem;animation:fadeInUp 0.6s ease 0.8s forwards;opacity:0;}
.hero-title{font-family:var(--title);font-weight:700;line-height:0.9;text-transform:uppercase;margin-bottom:0.3rem;}
.hero-title .line1{font-size:clamp(1.6rem,4.5vw,3.2rem);color:var(--silver);display:block;font-weight:700;animation:fadeInUp 0.6s ease 0.9s forwards;opacity:0;letter-spacing:clamp(0.6rem,2.2vw,2.4rem);text-align:center;}
.glitch-wrap{display:block;animation:fadeInUp 0.6s ease 1s forwards;opacity:0;}
.glitch{font-size:clamp(2.8rem,7.5vw,5.5rem);color:var(--text);display:inline-block;position:relative;text-shadow:0 0 30px rgba(200,168,75,0.3);letter-spacing:2px;}
.glitch::before,.glitch::after{content:attr(data-text);position:absolute;top:0;left:0;width:100%;height:100%;}
.glitch::before{color:#ff003c;animation:glitch1 5s infinite;clip-path:polygon(0 0,100% 0,100% 35%,0 35%);}
.glitch::after{color:#00ffff;animation:glitch2 5s infinite;clip-path:polygon(0 65%,100% 65%,100% 100%,0 100%);}
@keyframes glitch1{0%,88%,100%{transform:translate(0);}90%{transform:translate(-4px,1px);}92%{transform:translate(4px,-1px);}94%{transform:translate(-2px,2px);}96%{transform:translate(2px,-2px);}}
@keyframes glitch2{0%,88%,100%{transform:translate(0);}91%{transform:translate(4px,1px);}93%{transform:translate(-4px,-1px);}95%{transform:translate(2px,2px);}97%{transform:translate(-2px,-2px);}}
.hero-tagline{font-family:var(--mono);font-size:clamp(0.52rem,1.3vw,0.65rem);color:var(--muted);letter-spacing:4px;text-transform:uppercase;margin:0.6rem 0 1rem;animation:fadeInUp 0.6s ease 1.1s forwards;opacity:0;}
.hero-divider{display:flex;align-items:center;justify-content:center;gap:10px;margin-bottom:1rem;animation:fadeInUp 0.6s ease 1.2s forwards;opacity:0;}
.div-line{width:40px;height:1px;background:var(--border);}
.div-diamond{width:6px;height:6px;background:var(--gold);transform:rotate(45deg);animation:diamondSpin 3s linear infinite;}
@keyframes diamondSpin{to{transform:rotate(405deg);}}
.hero-stats{display:flex;gap:2.5rem;justify-content:center;margin-bottom:1rem;animation:fadeInUp 0.6s ease 1.3s forwards;opacity:0;}
.stat{text-align:center;}
.stat-num{font-family:var(--title);font-size:clamp(1.5rem,3.5vw,2.2rem);font-weight:700;color:var(--gold);display:block;line-height:1;}
.stat-label{font-family:var(--mono);font-size:clamp(0.44rem,1vw,0.56rem);color:var(--muted);letter-spacing:2px;text-transform:uppercase;margin-top:3px;}
.hero-btns{display:flex;gap:0.75rem;justify-content:center;flex-wrap:wrap;animation:fadeInUp 0.6s ease 1.4s forwards;opacity:0;}
.btn-primary{font-family:var(--mono);font-size:clamp(0.56rem,1.3vw,0.66rem);letter-spacing:3px;text-transform:uppercase;padding:0.7rem 1.5rem;border:1px solid var(--gold);color:var(--gold);background:transparent;cursor:none;transition:all 0.2s;position:relative;overflow:hidden;}
.btn-primary::before{content:'';position:absolute;inset:0;background:var(--gold);transform:scaleX(0);transform-origin:left;transition:transform 0.3s;}
.btn-primary:hover::before{transform:scaleX(1);}
.btn-primary span{position:relative;z-index:1;transition:color 0.3s;}
.btn-primary:hover span{color:var(--bg);}
.btn-secondary{font-family:var(--mono);font-size:clamp(0.56rem,1.3vw,0.66rem);letter-spacing:3px;text-transform:uppercase;padding:0.7rem 1.5rem;border:1px solid var(--border);color:var(--muted);background:transparent;cursor:none;transition:all 0.2s;}
.btn-secondary:hover{border-color:var(--silver);color:var(--silver);}
@keyframes fadeInUp{from{opacity:0;transform:translateY(20px);}to{opacity:1;transform:translateY(0);}}
.hero-social{display:flex;gap:0.75rem;justify-content:center;margin-top:0.75rem;animation:fadeInUp 0.6s ease 1.5s forwards;opacity:0;}
.social-btn{display:flex;align-items:center;gap:5px;font-family:var(--mono);font-size:clamp(0.5rem,1.2vw,0.58rem);color:var(--muted);text-decoration:none;letter-spacing:2px;border:1px solid var(--border);padding:5px 12px;transition:all 0.2s;cursor:none;}
.social-btn:hover{border-color:var(--gold);color:var(--gold);}
.social-btn-sm{font-family:var(--mono);font-size:0.58rem;color:var(--muted);text-decoration:none;letter-spacing:2px;transition:color 0.2s;cursor:none;}
.social-btn-sm:hover{color:var(--gold);}
.footer-social{display:flex;gap:1.5rem;justify-content:center;margin-bottom:0.75rem;}

.section{padding:4rem 2rem;max-width:1100px;margin:0 auto;}
.sec-head{display:flex;align-items:center;gap:1rem;margin-bottom:2.5rem;}
.sec-tag{font-family:var(--mono);font-size:0.58rem;color:var(--red);letter-spacing:3px;white-space:nowrap;}
.sec-title{font-family:var(--title);font-size:1.8rem;font-weight:700;color:var(--text);letter-spacing:3px;text-transform:uppercase;white-space:nowrap;}
.sec-line{flex:1;height:1px;background:var(--border);}
.reveal{opacity:0;transform:translateY(30px);transition:opacity 0.7s ease,transform 0.7s ease;}
.reveal.visible{opacity:1;transform:translateY(0);}
.loading-msg{font-family:var(--mono);font-size:0.65rem;color:var(--muted);letter-spacing:2px;padding:2rem;text-align:center;}

.legal-info{background:rgba(13,16,18,0.92);border:1px solid var(--border);border-left:3px solid var(--red);padding:1.25rem;margin-bottom:2rem;font-family:var(--mono);font-size:0.65rem;color:var(--muted);letter-spacing:1px;line-height:2;}
.legal-info strong{color:var(--gold);}
.mission-vision-grid{display:grid;grid-template-columns:1fr 1fr;gap:1.25rem;}
.mv-card{background:rgba(13,16,18,0.92);border:1px solid var(--border);border-left:3px solid var(--gold);padding:1.5rem;}
.mv-label{font-family:var(--title);font-size:0.9rem;font-weight:700;color:var(--gold);letter-spacing:2px;text-transform:uppercase;margin-bottom:0.75rem;}
.mv-card p{color:var(--muted);font-size:0.92rem;line-height:1.8;}
.info-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:1px;background:var(--border);border:1px solid var(--border);}
.info-card{background:rgba(13,16,18,0.92);padding:1.5rem;position:relative;overflow:hidden;}
.info-card::before{content:'';position:absolute;top:0;left:0;width:100%;height:2px;background:var(--gold);transform:scaleX(0);transition:transform 0.4s;transform-origin:left;}
.info-card:hover::before{transform:scaleX(1);}
.ic-icon{font-size:1.3rem;margin-bottom:0.6rem;}
.ic-title{font-family:var(--title);font-size:0.95rem;font-weight:600;color:var(--gold);letter-spacing:2px;text-transform:uppercase;margin-bottom:0.3rem;}
.ic-text{color:var(--muted);font-size:0.9rem;}
.directiva-title{font-family:var(--title);font-size:1.1rem;font-weight:700;color:var(--gold);letter-spacing:3px;text-transform:uppercase;margin-bottom:1.25rem;display:flex;align-items:center;gap:0.75rem;}
.directiva-title::after{content:'';flex:1;height:1px;background:var(--border);}
.fps-table{width:100%;border-collapse:collapse;font-family:var(--mono);font-size:0.72rem;}
.fps-table th{background:var(--bg3);color:var(--gold);letter-spacing:2px;text-transform:uppercase;padding:0.75rem 1rem;border:1px solid var(--border);text-align:left;}
.fps-table td{padding:0.65rem 1rem;border:1px solid var(--border);color:var(--text);background:rgba(13,16,18,0.92);}
.fps-table tr:hover td{background:var(--bg3);}
.map-wrap{border:1px solid var(--border);overflow:hidden;}
.map-label{font-family:var(--mono);font-size:0.62rem;color:var(--muted);letter-spacing:2px;padding:0.6rem 1rem;background:rgba(13,16,18,0.92);border-top:1px solid var(--border);}

.btn-admin-action{font-family:var(--mono);font-size:0.58rem;letter-spacing:2px;text-transform:uppercase;padding:5px 12px;border:1px solid var(--gold);background:transparent;color:var(--gold);cursor:none;transition:all 0.2s;white-space:nowrap;flex-shrink:0;}
.btn-admin-action:hover{background:var(--gold);color:var(--bg);}
.members-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:1.25rem;}
.member-card-wrap{display:flex;flex-direction:column;gap:0;}
.member-card-actions{display:flex;gap:0.5rem;padding:0.5rem;background:rgba(13,16,18,0.92);border:1px solid var(--border);border-top:none;}
.member-card-actions .member-edit-btn{position:static;flex:1;text-align:center;padding:5px 8px;}
.member-card-actions .member-toggle-btn{position:static;flex:1;text-align:center;padding:5px 8px;}
/* ── CARD FLIP ── */
.member-card{
  cursor:none;position:relative;height:220px;
  perspective:1000px;background:transparent;border:none;
}
.member-card-inner{
  position: relative;
  width: 100%;
  height: 100%;
  min-height: 220px;
  transition: transform 0.6s cubic-bezier(0.4,0.2,0.2,1);
  transform-style: preserve-3d;
  border: 1px solid var(--border);
}
.member-card:hover .member-card-inner{
  transform: rotateY(180deg);
}
.member-card-front,
.member-card-back{
  position: absolute;
  inset: 0;
  backface-visibility: hidden;
  -webkit-backface-visibility: hidden;
  background: rgba(13,16,18,0.92);
  overflow: hidden;
}
.member-card-back{
  transform: rotateY(180deg);
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 0.75rem;
  padding: 1rem;
  border: 1px solid var(--gold);
  background: rgba(8,10,7,0.96);
}
.member-patch{
  width: 120px;
  height: 120px;
  object-fit: contain;
  filter: drop-shadow(0 0 12px rgba(200,168,75,0.5));
}
.member-patch-placeholder{
  width: 120px;
  height: 120px;
  object-fit: contain;
  opacity: 0.35;
  filter: drop-shadow(0 0 8px rgba(200,168,75,0.3));
}
.member-back-callsign{
  font-family: var(--title);
  font-size: 1rem;
  font-weight: 700;
  color: var(--gold);
  letter-spacing: 3px;
  text-transform: uppercase;
}
.member-back-upload{
  font-family: var(--mono);
  font-size: 0.65rem;
  letter-spacing: 1px;
  color: var(--muted);
  border: 1px solid var(--border);
  padding: 3px 8px;
  cursor: none;
  transition: all 0.2s;
  background: transparent;
}
.member-back-upload:hover{
  border-color: var(--gold);
  color: var(--gold);
}

.member-top{height:160px;background:var(--bg3);display:flex;align-items:center;justify-content:center;position:relative;overflow:hidden;}
.member-top img{width:100%;height:100%;object-fit:cover;}
.member-top-placeholder{font-size:3.5rem;}
.rank-badge{position:absolute;top:10px;right:10px;font-family:var(--mono);font-size:0.62rem;color:var(--gold);background:rgba(8,10,7,0.92);border:1px solid var(--gold);padding:3px 7px;letter-spacing:2px;}
.directiva-badge{border-color:var(--directiva);color:var(--directiva);}
.admin-badge{border-color:var(--red);color:var(--red);}
.member-body{padding:1rem;}
.m-callsign{font-family:var(--title);font-size:1.1rem;font-weight:700;color:var(--text);letter-spacing:1px;text-transform:uppercase;}
.m-role{font-family:var(--mono);font-size:0.58rem;color:var(--red);letter-spacing:2px;text-transform:uppercase;margin-bottom:0.3rem;}
.m-realname{font-family:var(--body);font-size:0.82rem;color:var(--muted);}
.member-edit-btn{font-family:var(--mono);font-size:0.65rem;letter-spacing:1px;color:var(--muted);background:transparent;border:1px solid var(--border);padding:3px 8px;cursor:none;transition:all 0.2s;}
.member-edit-btn:hover{border-color:var(--gold);color:var(--gold);}

/* Tarjeta modo institucional (directiva) — sin flip, altura fija sin botones internos */
.member-card-institutional{
  height:auto;
  min-height:220px;
  border:1px solid var(--border);
  background:rgba(13,16,18,0.92);
  cursor:none;
  transition:border-color 0.2s;
  position:relative;
  perspective:none;
}
.member-card-institutional:hover{border-color:var(--gold);}

.gallery-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:3px;}
.gallery-item{position:relative;overflow:hidden;cursor:none;aspect-ratio:4/3;background:var(--bg3);}
.gallery-item img{width:100%;height:100%;object-fit:cover;transition:transform 0.4s ease;}
.gallery-item:hover img{transform:scale(1.06);}
.gi-overlay{position:absolute;inset:0;background:rgba(8,10,7,0.78);display:flex;flex-direction:column;align-items:center;justify-content:center;opacity:0;transition:opacity 0.3s;}
.gallery-item:hover .gi-overlay{opacity:1;}
.gi-scan{position:absolute;top:-100%;left:0;right:0;height:2px;background:rgba(200,168,75,0.5);transition:top 0.4s ease;}
.gallery-item:hover .gi-scan{top:110%;}
.gi-title{font-family:var(--title);font-size:1rem;font-weight:700;color:var(--text);letter-spacing:2px;text-transform:uppercase;}
.gi-date{font-family:var(--mono);font-size:0.6rem;color:var(--gold);letter-spacing:2px;margin-top:4px;}
.gi-tag{font-family:var(--mono);font-size:0.55rem;color:var(--red);border:1px solid var(--red);padding:3px 8px;letter-spacing:1px;margin-top:8px;}
.gi-delete{position:absolute;top:8px;right:8px;background:rgba(192,57,43,0.9);border:none;color:#fff;font-size:0.7rem;padding:4px 8px;cursor:none;display:none;font-family:var(--mono);}
.gallery-item:hover .gi-delete{display:block;}

.eventos-list{display:flex;flex-direction:column;gap:1px;background:var(--border);border:1px solid var(--border);}
.evento-item{background:rgba(13,16,18,0.92);padding:1.5rem;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:1.5rem;transition:background 0.2s,padding-left 0.3s;}
.evento-item:hover{background:var(--bg3);padding-left:2rem;}
.ev-date-box{text-align:center;background:var(--bg3);border:1px solid var(--border);padding:0.75rem 1rem;min-width:70px;}
.ev-day{font-family:var(--title);font-size:1.8rem;font-weight:700;color:var(--gold);line-height:1;display:block;}
.ev-month{font-family:var(--mono);font-size:0.55rem;color:var(--muted);letter-spacing:2px;text-transform:uppercase;}
.ev-title{font-family:var(--title);font-size:1.1rem;font-weight:600;color:var(--text);letter-spacing:1px;text-transform:uppercase;margin-bottom:3px;}
.ev-info{font-family:var(--mono);font-size:0.62rem;color:var(--muted);letter-spacing:1px;}
.ev-status{font-family:var(--mono);font-size:0.58rem;letter-spacing:2px;text-transform:uppercase;padding:5px 10px;border:1px solid;white-space:nowrap;}
.ev-open{color:var(--green);border-color:var(--green);animation:blink 2s ease-in-out infinite;}
.ev-soon{color:var(--gold);border-color:var(--gold);}
.ev-full{color:var(--red);border-color:var(--red);}
.ev-edit-btn{background:transparent;border:1px solid var(--gold);color:var(--gold);font-size:0.7rem;padding:4px 8px;cursor:none;transition:all 0.2s;font-family:var(--mono);}
.ev-edit-btn:hover{background:var(--gold);color:var(--bg);}
.ev-del-btn{background:transparent;border:1px solid var(--red);color:var(--red);font-size:0.7rem;padding:4px 8px;cursor:none;transition:all 0.2s;font-family:var(--mono);}
.ev-del-btn:hover{background:var(--red);color:var(--bg);}
@keyframes blink{0%,100%{opacity:1;}50%{opacity:0.4;}}

.recruit-layout{display:grid;grid-template-columns:1fr 1fr;gap:2rem;align-items:start;}
.recruit-info{display:flex;flex-direction:column;gap:1rem;}
.req-item{background:rgba(13,16,18,0.92);border:1px solid var(--border);border-left:2px solid var(--gold);padding:1rem 1.25rem;display:flex;align-items:flex-start;gap:0.75rem;transition:transform 0.2s,border-color 0.2s;}
.req-item:hover{transform:translateX(6px);border-left-color:var(--red);}
.req-icon{font-size:1.1rem;flex-shrink:0;margin-top:2px;}
.req-title{font-family:var(--title);font-size:0.9rem;font-weight:600;color:var(--gold);letter-spacing:1px;text-transform:uppercase;}
.req-desc{font-family:var(--body);font-size:0.88rem;color:var(--muted);}
.cuotas-block{background:rgba(13,16,18,0.92);border:1px solid var(--border);padding:1.5rem;}
.cuota-row{display:flex;justify-content:space-between;align-items:center;padding:0.6rem 0;border-bottom:1px solid var(--border);font-family:var(--mono);font-size:0.68rem;}
.cuota-row:last-child{border-bottom:none;}
.cuota-label{color:var(--muted);letter-spacing:1px;}
.cuota-val{color:var(--gold);font-weight:700;}
.recruit-form{background:rgba(13,16,18,0.92);border:1px solid var(--border);padding:1.75rem;}
.form-title{font-family:var(--title);font-size:1.1rem;font-weight:600;color:var(--gold);letter-spacing:3px;text-transform:uppercase;margin-bottom:1.25rem;padding-bottom:0.75rem;border-bottom:1px solid var(--border);}
.form-group{margin-bottom:1rem;}
.form-label{font-family:var(--mono);font-size:0.6rem;color:var(--muted);letter-spacing:2px;text-transform:uppercase;display:block;margin-bottom:5px;}
.form-input{width:100%;background:var(--bg3);border:1px solid var(--border);color:var(--text);padding:0.65rem 0.9rem;font-family:var(--body);font-size:0.95rem;outline:none;transition:border-color 0.2s;cursor:none;}
.form-input:focus{border-color:var(--gold);}
.form-input::placeholder{color:var(--muted);}
select.form-input option{background:var(--bg3);}
textarea.form-input{resize:vertical;min-height:90px;}
.form-submit{width:100%;background:transparent;border:1px solid var(--gold);color:var(--gold);font-family:var(--mono);font-size:0.72rem;letter-spacing:3px;text-transform:uppercase;padding:0.9rem;cursor:none;transition:all 0.2s;position:relative;overflow:hidden;}
.form-submit::before{content:'';position:absolute;inset:0;background:var(--gold);transform:scaleX(0);transform-origin:left;transition:transform 0.3s;}
.form-submit:hover::before{transform:scaleX(1);}
.form-submit span{position:relative;z-index:1;transition:color 0.3s;}
.form-submit:hover span{color:var(--bg);}
.form-success{display:none;background:rgba(76,175,80,0.1);border:1px solid var(--green);padding:1.25rem;text-align:center;font-family:var(--mono);font-size:0.7rem;color:var(--green);letter-spacing:2px;text-transform:uppercase;}

.auth-modal{max-width:400px;padding:2rem;}
.auth-logo{width:60px;height:60px;margin:0 auto 1rem;display:flex;align-items:center;justify-content:center;}
.auth-logo img{width:100%;object-fit:contain;}
.auth-error{font-family:var(--mono);font-size:0.62rem;color:var(--red);letter-spacing:1px;margin-bottom:0.75rem;min-height:1.2em;}
.auth-hint{font-family:var(--mono);font-size:0.58rem;color:var(--muted);letter-spacing:1px;text-align:center;margin-top:1rem;}
.overlay{display:none;position:fixed;inset:0;background:rgba(0,0,0,0.93);z-index:200;align-items:center;justify-content:center;padding:1rem;}
.overlay.open{display:flex;}
.modal{background:rgba(13,16,18,0.98);border:1px solid var(--gold);max-width:560px;width:100%;position:relative;max-height:90vh;overflow-y:auto;padding:1.5rem;}
.close-x{position:absolute;top:0.9rem;right:0.9rem;background:transparent;border:none;color:var(--muted);font-size:1rem;cursor:none;font-family:var(--mono);transition:color 0.2s;}
.close-x:hover{color:var(--gold);}
.player-modal{max-width:460px;padding:0;overflow:hidden;}
.pm-header{background:var(--bg3);padding:1.25rem;display:flex;gap:1rem;align-items:center;border-bottom:1px solid var(--border);}
.pm-avatar{width:80px;height:80px;border:2px solid var(--gold);border-radius:8px;overflow:hidden;flex-shrink:0;background:var(--bg2);display:flex;align-items:center;justify-content:center;font-size:2.2rem;}
.pm-avatar img{width:100%;height:100%;object-fit:cover;}
.pm-header-info{flex:1;}
.modal-nm{font-family:var(--title);font-size:1.4rem;font-weight:700;color:var(--text);letter-spacing:2px;text-transform:uppercase;}
.pm-nombre{font-family:var(--body);font-size:0.9rem;color:var(--muted);margin-top:2px;}
.pm-cargo-badge{display:inline-block;margin-top:6px;font-family:var(--mono);font-size:0.52rem;padding:2px 8px;border:1px solid var(--gold);color:var(--gold);letter-spacing:2px;text-transform:uppercase;}
.pm-body{display:grid;grid-template-columns:1fr 1fr;}
.pm-patch-section{padding:1.25rem;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;border-right:1px solid var(--border);}
.pm-patch-frame{width:110px;height:110px;border-radius:50%;border:2px solid var(--gold);background:var(--bg3);display:flex;align-items:center;justify-content:center;font-size:3rem;overflow:hidden;}
.pm-patch-frame img{width:100%;height:100%;object-fit:contain;}
.pm-patch-label{font-family:var(--mono);font-size:0.5rem;color:var(--muted);letter-spacing:3px;text-transform:uppercase;}
.pm-info-section{padding:1.25rem;display:flex;flex-direction:column;gap:12px;justify-content:center;}
.pm-info-row{display:flex;flex-direction:column;gap:2px;}
.pm-info-label{font-family:var(--mono);font-size:0.5rem;color:var(--muted);letter-spacing:2px;text-transform:uppercase;}
.pm-info-val{font-family:var(--body);font-size:0.95rem;color:var(--text);font-weight:600;}
.pm-lema-section{padding:1rem 1.5rem;border-top:1px solid var(--border);background:var(--bg3);}
.pm-lema{font-family:var(--body);font-size:0.9rem;color:var(--muted);font-style:italic;text-align:center;line-height:1.7;}
.pm-lema::before{content:'"';color:var(--gold);}
.pm-lema::after{content:'"';color:var(--gold);}
.edit-modal{max-width:600px;}
.edit-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 1rem;}
.edit-avatar-wrap{display:flex;flex-direction:column;align-items:center;gap:0.75rem;margin-bottom:1.25rem;}
.edit-avatar-preview{width:80px;height:80px;border:2px solid var(--border);background:var(--bg3);display:flex;align-items:center;justify-content:center;font-size:2rem;overflow:hidden;}
.edit-avatar-preview img{width:100%;height:100%;object-fit:cover;}
.upload-btn{font-family:var(--mono);font-size:0.58rem;letter-spacing:2px;color:var(--muted);border:1px solid var(--border);padding:5px 12px;cursor:none;transition:all 0.2s;}
.upload-btn:hover{border-color:var(--gold);color:var(--gold);}
.btn-delete{background:transparent;border:1px solid var(--red);color:var(--red);font-family:var(--mono);font-size:0.65rem;letter-spacing:2px;padding:0.9rem 1.25rem;cursor:none;transition:all 0.2s;}
.btn-delete:hover{background:var(--red);color:var(--bg);}
.gallery-drop-zone{border:2px dashed var(--border);padding:2rem;text-align:center;cursor:none;transition:border-color 0.2s;margin-bottom:0.5rem;}
.gallery-drop-zone:hover{border-color:var(--gold);}
.drop-icon{font-size:2rem;margin-bottom:0.5rem;}
.gallery-drop-zone p{font-family:var(--mono);font-size:0.65rem;color:var(--muted);letter-spacing:1px;}
.gallery-preview-thumb{width:60px;height:60px;object-fit:cover;border:1px solid var(--border);}

.crop-overlay{display:none;position:fixed;inset:0;background:rgba(0,0,0,0.95);z-index:300;align-items:center;justify-content:center;flex-direction:column;gap:1rem;}
.crop-overlay.open{display:flex;}
.crop-container{position:relative;width:300px;height:300px;overflow:hidden;border:2px solid var(--gold);background:#000;cursor:move;}
.crop-image{position:absolute;cursor:move;user-select:none;-webkit-user-drag:none;transform-origin:0 0;max-width:none;max-height:none;}
.crop-frame{position:absolute;inset:0;border:2px dashed rgba(200,168,75,0.8);pointer-events:none;z-index:2;}
.crop-frame::before,.crop-frame::after{content:'';position:absolute;background:rgba(200,168,75,0.5);}
.crop-frame::before{top:50%;left:0;right:0;height:1px;}
.crop-frame::after{left:50%;top:0;bottom:0;width:1px;}
.crop-controls{display:flex;gap:1rem;align-items:center;}
.crop-controls label{font-family:var(--mono);font-size:0.6rem;color:var(--muted);letter-spacing:2px;}
.crop-controls input[type=range]{width:140px;accent-color:var(--gold);}
.crop-btns{display:flex;gap:1rem;}
.crop-btn{font-family:var(--mono);font-size:0.65rem;letter-spacing:2px;padding:0.6rem 1.2rem;cursor:none;border:1px solid var(--border);background:transparent;color:var(--muted);transition:all 0.2s;}
.crop-btn:hover{border-color:var(--gold);color:var(--gold);}
.crop-btn-confirm{border-color:var(--gold);color:var(--gold);}
.crop-btn-confirm:hover{background:var(--gold);color:var(--bg);}

.footer-banner{width:100%;max-height:220px;overflow:hidden;position:relative;border-top:1px solid var(--border);border-bottom:1px solid var(--border);}
.footer-banner img{width:100%;max-height:220px;object-fit:cover;opacity:0.75;}
.footer-banner-placeholder{width:100%;height:80px;background:rgba(13,16,18,0.95);display:flex;align-items:center;justify-content:center;font-family:var(--mono);font-size:0.65rem;color:var(--muted);letter-spacing:3px;}
.footer-banner-upload{position:absolute;bottom:0.5rem;right:0.5rem;font-family:var(--mono);font-size:0.55rem;letter-spacing:1px;color:var(--muted);border:1px solid var(--border);background:rgba(8,10,7,0.88);padding:4px 10px;cursor:none;transition:all 0.2s;}
.footer-banner-upload:hover{border-color:var(--gold);color:var(--gold);}
footer{border-top:1px solid var(--border);padding:2rem;text-align:center;}
.footer-logo{width:50px;height:50px;margin:0 auto 0.75rem;}
.footer-logo img{width:100%;height:100%;object-fit:contain;opacity:0.5;}
.footer-links{display:flex;gap:1.5rem;justify-content:center;margin-bottom:1rem;flex-wrap:wrap;}
.footer-links a{font-family:var(--mono);font-size:0.6rem;color:var(--muted);text-decoration:none;letter-spacing:2px;cursor:none;transition:color 0.2s;}
.footer-links a:hover{color:var(--gold);}
footer p{font-family:var(--mono);font-size:0.58rem;color:var(--muted);letter-spacing:2px;}

@media(pointer:coarse){
  body{background-attachment:scroll;}
}

@media(max-width:768px){
  nav{padding:0 1rem;}
  .nav-name span{display:none;}
  .nav-links{gap:0.4rem;}
  .nav-links a{font-size:0.55rem;letter-spacing:0.5px;}
  .hero-stats{gap:1.5rem;}
  .hero-btns{flex-direction:column;align-items:center;}
  .btn-primary,.btn-secondary{width:200px;text-align:center;}
  .recruit-layout{grid-template-columns:1fr;}
  .evento-item{grid-template-columns:auto 1fr;}
  .ev-status{display:none;}
  .edit-grid{grid-template-columns:1fr;}
  .mission-vision-grid{grid-template-columns:1fr;}
  .members-grid{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));}
}

/* ── DISPOSITIVOS TÁCTILES ── */
/* Oculta el cursor personalizado y restaura el cursor nativo en touch */
@media(pointer:coarse){
  body{cursor:auto;}
  #cursor,#cursor-trail{display:none;}
  /* Botones y links recuperan cursor pointer estándar */
  a,button,label,[onclick]{cursor:pointer;}
  .form-input{cursor:text;}
  /* Cards en táctil: sin flip automático, tap directo al modal */
  .member-card:hover .member-card-inner{transform:none;}
  .member-card-back{display:none;}
  /* Botones de la carpeta siempre visibles en móvil (no dependen del hover) */
  .carpeta-del-btn{display:block;}
  .gi-delete{display:block;}
}

/* ── INACTIVE PLAYER ── */
.member-inactive{opacity:0.45;filter:grayscale(0.7);}
.member-inactive:hover{opacity:0.65;}
.inactive-badge{position:absolute;bottom:10px;left:10px;font-family:var(--mono);font-size:0.6rem;color:#fff;background:rgba(192,57,43,0.9);border:1px solid var(--red);padding:2px 6px;letter-spacing:2px;text-transform:uppercase;}
.member-toggle-btn{font-family:var(--mono);font-size:0.6rem;letter-spacing:1px;padding:3px 7px;border:1px solid;background:transparent;cursor:none;transition:all 0.2s;}
.btn-deactivate{color:var(--red);border-color:var(--red);}
.btn-deactivate:hover{background:var(--red);color:var(--bg);}
.btn-activate{color:var(--green);border-color:var(--green);}
.btn-activate:hover{background:var(--green);color:var(--bg);}

/* ── GALERÍA CARPETAS ── */
.carpetas-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:1rem;}
.carpeta-card{background:rgba(13,16,18,0.92);border:1px solid var(--border);border-radius:8px;overflow:hidden;cursor:none;transition:border-color 0.3s,transform 0.2s;}
.carpeta-card:hover{border-color:var(--gold);transform:translateY(-3px);}
.carpeta-cover{height:130px;background:var(--bg3);position:relative;overflow:hidden;}
.fc-grid{display:grid;grid-template-columns:1fr 1fr;grid-template-rows:1fr 1fr;width:100%;height:100%;gap:1px;}
.fc-thumb{background:var(--bg3);background-size:cover;background-position:center;}
.fc-thumb-empty{width:100%;height:100%;}
.carpeta-del-btn{position:absolute;top:6px;right:6px;background:rgba(192,57,43,0.9);border:none;color:#fff;font-size:0.65rem;padding:3px 7px;cursor:none;font-family:var(--mono);display:none;}
.carpeta-card:hover .carpeta-del-btn{display:block;}
.carpeta-info{padding:0.75rem 1rem;}
.carpeta-nombre{font-family:var(--title);font-size:1rem;font-weight:700;color:var(--text);letter-spacing:1px;text-transform:uppercase;margin-bottom:4px;}
.carpeta-meta{display:flex;justify-content:space-between;align-items:center;margin-bottom:2px;}
.carpeta-fecha{font-family:var(--mono);font-size:0.58rem;color:var(--muted);letter-spacing:1px;}
.carpeta-count{font-family:var(--mono);font-size:0.55rem;color:var(--gold);border:1px solid rgba(200,168,75,0.3);padding:2px 6px;}
.carpeta-size{font-family:var(--mono);font-size:0.65rem;color:var(--muted);letter-spacing:1px;}
.carpeta-detail-head{display:flex;align-items:center;gap:1rem;margin-bottom:1.5rem;flex-wrap:wrap;}
.carpeta-back-btn{font-family:var(--mono);font-size:0.6rem;letter-spacing:1px;color:var(--muted);border:1px solid var(--border);background:transparent;padding:5px 12px;cursor:none;transition:all 0.2s;}
.carpeta-back-btn:hover{border-color:var(--gold);color:var(--gold);}
.carpeta-detail-title{font-family:var(--title);font-size:1.2rem;font-weight:700;color:var(--text);letter-spacing:2px;text-transform:uppercase;}
.carpeta-detail-meta{font-family:var(--mono);font-size:0.58rem;color:var(--muted);letter-spacing:1px;margin-left:auto;}

/* ── STORAGE INDICATOR ── */
.storage-wrap{background:rgba(13,16,18,0.92);border:1px solid var(--border);padding:1rem 1.25rem;}
.storage-label{display:flex;justify-content:space-between;align-items:center;margin-bottom:0.6rem;}
.storage-title{font-family:var(--mono);font-size:0.62rem;color:var(--muted);letter-spacing:2px;text-transform:uppercase;}
.storage-vals{font-family:var(--mono);font-size:0.62rem;color:var(--text);font-weight:700;}
.storage-bar-bg{width:100%;height:8px;background:var(--bg3);border:1px solid var(--border);margin-bottom:0.4rem;}
.storage-bar-fill{height:100%;transition:width 0.8s ease;}
.storage-sub{display:flex;justify-content:space-between;font-family:var(--mono);font-size:0.58rem;color:var(--muted);}

/* ── VER CONTRASEÑA ── */
.pass-wrap{position:relative;display:flex;align-items:center;}
.pass-wrap .form-input{padding-right:2.5rem;flex:1;}
.pass-toggle{position:absolute;right:0.6rem;background:transparent;border:none;color:var(--muted);font-size:1rem;cursor:none;padding:0;line-height:1;transition:color 0.2s;}
.pass-toggle:hover{color:var(--gold);}
@media(pointer:coarse){.pass-toggle{cursor:pointer;}}

/* ── GALLERY TABS ── */
.gallery-tabs{display:flex;gap:0;margin-bottom:1rem;border:1px solid var(--border);overflow:hidden;}
.gallery-tab{flex:1;font-family:var(--mono);font-size:0.6rem;letter-spacing:1.5px;text-transform:uppercase;padding:0.6rem 0.5rem;background:transparent;border:none;color:var(--muted);cursor:none;transition:all 0.2s;border-right:1px solid var(--border);}
.gallery-tab:last-child{border-right:none;}
.gallery-tab.active{background:rgba(200,168,75,0.1);color:var(--gold);}
.gallery-tab:hover:not(.active){color:var(--text);}
@media(pointer:coarse){.gallery-tab{cursor:pointer;}}

/* ── YOUTUBE MODAL ── */
.yt-modal{max-width:780px;width:100%;padding:1.25rem;}
.yt-iframe-wrap{position:relative;width:100%;padding-top:56.25%;background:#000;}
.yt-iframe-wrap iframe{position:absolute;inset:0;width:100%;height:100%;}

/* ── YOUTUBE ITEM EN GALERÍA ── */
.gallery-item-yt{position:relative;overflow:hidden;cursor:none;aspect-ratio:4/3;background:var(--bg3);}
.yt-thumb{width:100%;height:100%;object-fit:cover;transition:transform 0.4s ease;}
.gallery-item-yt:hover .yt-thumb{transform:scale(1.06);}
.yt-play-btn{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;background:rgba(8,10,7,0.45);transition:background 0.2s;}
.gallery-item-yt:hover .yt-play-btn{background:rgba(8,10,7,0.2);}
.yt-play-icon{width:54px;height:54px;background:rgba(200,168,75,0.9);border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:1.4rem;transition:transform 0.2s;}
.gallery-item-yt:hover .yt-play-icon{transform:scale(1.1);}
.yt-overlay{position:absolute;inset:0;background:rgba(8,10,7,0.78);display:flex;flex-direction:column;align-items:center;justify-content:center;opacity:0;transition:opacity 0.3s;}
.gallery-item-yt:hover .yt-overlay{opacity:1;}
@media(pointer:coarse){.gallery-item-yt{cursor:pointer;}.gallery-item-yt .yt-overlay{opacity:1;background:rgba(8,10,7,0.5);}}

/* ── TOUCH TARGETS MÍNIMOS 44px ── */
@media(pointer:coarse){
  .member-edit-btn,.member-toggle-btn,.btn-activate,.btn-deactivate{
    min-height:44px;min-width:44px;
    display:flex;align-items:center;justify-content:center;
    padding:8px 12px;
  }
  .carpeta-del-btn,.gi-delete{
    min-height:44px;min-width:44px;
    display:flex;align-items:center;justify-content:center;
  }
  .close-x{
    min-height:44px;min-width:44px;
    display:flex;align-items:center;justify-content:center;
  }
  .nav-links a{padding:10px 6px;}
  .gallery-tab{padding:0.85rem 0.5rem;}
}

/* ── HAMBURGER NAV ── */
.nav-hamburger{
  display:none;background:transparent;border:none;
  color:var(--gold);font-size:1.4rem;cursor:none;
  padding:8px;min-width:44px;min-height:44px;
  align-items:center;justify-content:center;
}
@media(pointer:coarse){.nav-hamburger{cursor:pointer;}}
@media(max-width:768px){
  .nav-hamburger{display:flex;}
  #nav-links-menu{
    display:none;
    position:fixed;top:56px;left:0;right:0;
    background:rgba(8,10,7,0.98);
    flex-direction:column;
    padding:1rem 1.5rem;
    border-bottom:1px solid var(--border);
    z-index:99;gap:0;
  }
  #nav-links-menu.nav-open{display:flex;}
  #nav-links-menu a{
    padding:0.75rem 0;border-bottom:1px solid var(--border);
    font-size:0.75rem;letter-spacing:2px;
  }
  #nav-links-menu a:last-child{border-bottom:none;}
}

/* ── GALERÍA MÓVIL 2 COLUMNAS ── */
@media(max-width:600px){
  .gallery-grid{grid-template-columns:repeat(2,1fr);gap:2px;}
  .carpetas-grid{grid-template-columns:repeat(2,minmax(0,1fr));}
}
/* ── IMAGE LIGHTBOX ── */
.img-lightbox{
  display:none;position:fixed;inset:0;
  background:rgba(0,0,0,0.95);
  z-index:500;
  align-items:center;justify-content:center;
  padding:1rem;
  animation:lbFadeIn 0.2s ease;
}
.img-lightbox.open{display:flex;}
@keyframes lbFadeIn{from{opacity:0;}to{opacity:1;}}
.img-lb-content{
  display:flex;flex-direction:column;align-items:center;
  gap:1rem;max-width:90vw;max-height:90vh;
  animation:lbZoomIn 0.25s cubic-bezier(0.34,1.56,0.64,1);
}
@keyframes lbZoomIn{from{transform:scale(0.8);opacity:0;}to{transform:scale(1);opacity:1;}}
.img-lb-photo{
  max-width:min(85vw,600px);
  max-height:min(80vh,600px);
  object-fit:contain;
  border:2px solid var(--gold);
  display:block;
}
.img-lb-caption{
  font-family:var(--mono);
  font-size:0.65rem;
  color:var(--gold);
  letter-spacing:3px;
  text-transform:uppercase;
  text-align:center;
}
.img-lb-close{
  position:fixed;top:1rem;right:1rem;
  background:rgba(200,168,75,0.15);
  border:1px solid var(--gold);
  color:var(--gold);
  font-family:var(--mono);font-size:1rem;
  width:40px;height:40px;
  cursor:none;
  display:flex;align-items:center;justify-content:center;
  transition:background 0.2s;z-index:501;
}
.img-lb-close:hover{background:rgba(200,168,75,0.35);}
@media(pointer:coarse){.img-lb-close{cursor:pointer;}}

/* Cursor pointer en fotos clickeables del modal */
.pm-avatar img.lb-clickable,
.pm-patch-frame img.lb-clickable{
  cursor:pointer;
  transition:transform 0.2s ease, filter 0.2s ease;
}
.pm-avatar img.lb-clickable:hover{
  transform:scale(1.05);
  filter:brightness(1.1);
}
.pm-patch-frame img.lb-clickable:hover{
  transform:scale(1.08);
  filter:drop-shadow(0 0 18px rgba(200,168,75,0.8));
}

/* ── POSTULACIONES ── */
.post-filters{display:flex;gap:0.5rem;flex-wrap:wrap;margin-bottom:1rem;}
.post-filter-btn{font-family:var(--mono);font-size:0.58rem;letter-spacing:1px;padding:5px 12px;border:1px solid var(--border);background:transparent;color:var(--muted);cursor:none;transition:all 0.2s;}
.post-filter-btn.active,.post-filter-btn:hover{border-color:var(--gold);color:var(--gold);}
@media(pointer:coarse){.post-filter-btn{cursor:pointer;}}
.post-row{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:0.9rem 1rem;background:rgba(13,16,18,0.92);border:1px solid var(--border);border-top:none;cursor:none;transition:background 0.2s;}
.post-row:first-of-type{border-top:1px solid var(--border);}
.post-row:hover{background:var(--bg3);border-color:var(--gold);}
@media(pointer:coarse){.post-row{cursor:pointer;}}
.post-callsign{font-family:var(--title);font-size:1rem;font-weight:700;color:var(--text);letter-spacing:1px;text-transform:uppercase;}
.post-meta{font-family:var(--mono);font-size:0.58rem;color:var(--muted);letter-spacing:1px;margin-top:2px;}
.post-badge{font-family:var(--mono);font-size:0.55rem;letter-spacing:2px;text-transform:uppercase;padding:3px 10px;border:1px solid;white-space:nowrap;}
.post-pendiente{color:var(--gold);border-color:var(--gold);}
.post-aceptado{color:var(--green);border-color:var(--green);}
.post-rechazado{color:var(--red);border-color:var(--red);}
.post-detalle-grid{display:grid;grid-template-columns:1fr 1fr;gap:0;}
.pd-row{padding:0.65rem 0;border-bottom:1px solid var(--border);display:flex;flex-direction:column;gap:2px;}
.pd-label{font-family:var(--mono);font-size:0.55rem;color:var(--muted);letter-spacing:2px;text-transform:uppercase;}
.pd-val{font-family:var(--body);font-size:0.95rem;color:var(--text);}
.pd-mensaje{margin-top:1rem;padding:1rem;background:rgba(200,168,75,0.06);border:1px solid var(--border);border-left:3px solid var(--gold);font-family:var(--body);font-size:0.9rem;color:var(--muted);line-height:1.7;}

/* ── DOCUMENTOS ── */
.docs-grid{display:flex;flex-direction:column;gap:1px;background:var(--border);}
.doc-card{background:rgba(13,16,18,0.92);padding:1.25rem;display:flex;gap:1rem;align-items:flex-start;position:relative;transition:background 0.2s;}
.doc-card:hover{background:var(--bg3);}
.doc-icon{font-size:2rem;flex-shrink:0;line-height:1;}
.doc-body{flex:1;}
.doc-nombre{font-family:var(--title);font-size:1rem;font-weight:700;color:var(--text);letter-spacing:1px;text-transform:uppercase;margin-bottom:3px;}
.doc-desc{font-family:var(--body);font-size:0.85rem;color:var(--muted);margin-bottom:4px;}
.doc-meta{font-family:var(--mono);font-size:0.55rem;color:var(--muted);letter-spacing:1px;margin-bottom:0.75rem;}
.doc-actions{display:flex;gap:0.5rem;flex-wrap:wrap;align-items:center;}
.doc-btn-download,.doc-btn-preview{font-family:var(--mono);font-size:0.58rem;letter-spacing:1px;color:var(--gold);border:1px solid var(--border);padding:4px 10px;text-decoration:none;transition:all 0.2s;}
.doc-btn-download:hover,.doc-btn-preview:hover{border-color:var(--gold);background:rgba(200,168,75,0.1);}
.doc-vis-tag{font-family:var(--mono);font-size:0.52rem;letter-spacing:1px;padding:3px 8px;border:1px solid;cursor:none;transition:all 0.2s;}
.doc-vis-on{color:var(--green);border-color:var(--green);}
.doc-vis-off{color:var(--muted);border-color:var(--border);}
.doc-vis-tag:hover{opacity:0.75;}
@media(pointer:coarse){.doc-vis-tag{cursor:pointer;}}
.doc-del-btn{position:absolute;top:0.75rem;right:0.75rem;background:rgba(192,57,43,0.85);border:none;color:#fff;font-size:0.7rem;padding:4px 8px;cursor:none;font-family:var(--mono);transition:opacity 0.2s;opacity:0;}
.doc-card:hover .doc-del-btn{opacity:1;}
@media(pointer:coarse){.doc-del-btn{opacity:1;cursor:pointer;}}

/* ── TABS DOCUMENTOS ── */
.doc-tabs{display:flex;gap:0;margin-bottom:1.5rem;border-bottom:1px solid var(--border);}
.doc-tab{font-family:var(--mono);font-size:0.62rem;letter-spacing:2px;text-transform:uppercase;padding:0.6rem 1.25rem;background:transparent;border:none;color:var(--muted);cursor:none;border-bottom:2px solid transparent;margin-bottom:-1px;transition:all 0.2s;display:inline-flex;align-items:center;gap:6px;}
.doc-tab.active{color:var(--gold);border-bottom-color:var(--gold);}
.doc-tab:hover:not(.active){color:var(--text);}
@media(pointer:coarse){.doc-tab{cursor:pointer;}}

/* ── TABLA MIEMBROS ── */
.miembros-toolbar{display:flex;gap:0.75rem;align-items:center;flex-wrap:wrap;margin-bottom:1.25rem;}
.miembros-tabla-scroll{overflow-x:auto;border:1px solid var(--border);width:100%;}
.miembros-tabla{width:100%;border-collapse:collapse;font-family:var(--mono);font-size:0.65rem;min-width:900px;table-layout:auto;}
.miembros-tabla thead th{background:var(--bg3);color:var(--gold);letter-spacing:1px;text-transform:uppercase;padding:0.65rem 0.75rem;border-bottom:1px solid var(--border);text-align:left;white-space:nowrap;}
.miembros-tabla tbody td{padding:0.6rem 0.75rem;border-bottom:1px solid var(--border);color:var(--text);background:rgba(13,16,18,0.92);vertical-align:middle;}
.mt-row:hover td{background:var(--bg3);}
.mt-row.mt-atrasado td:first-child{border-left:3px solid var(--red);}
.mt-row.mt-debe-1 td:first-child{border-left:3px solid var(--gold);}
.mt-row.mt-al-dia td:first-child{border-left:3px solid var(--green);}
.mt-callsign{font-family:var(--title);font-size:0.85rem;font-weight:700;letter-spacing:1px;text-transform:uppercase;}
.mt-small{font-size:0.6rem;color:var(--muted);max-width:180px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.mt-estado{font-family:var(--mono);font-size:0.6rem;white-space:nowrap;}
.mt-rol{font-family:var(--mono);font-size:0.52rem;letter-spacing:1px;text-transform:uppercase;padding:2px 7px;border:1px solid var(--border);}
.mt-rol-admin{border-color:var(--red);color:var(--red);}
.mt-rol-directiva{border-color:var(--directiva);color:var(--directiva);}
.mt-rol-operativo{border-color:var(--muted);color:var(--muted);}
.mt-btn-pagos{font-family:var(--mono);font-size:0.55rem;letter-spacing:1px;padding:4px 10px;border:1px solid var(--border);background:transparent;color:var(--gold);cursor:none;transition:all 0.2s;white-space:nowrap;}
.mt-btn-pagos:hover{border-color:var(--gold);background:rgba(200,168,75,0.1);}
@media(pointer:coarse){.mt-btn-pagos{cursor:pointer;}}

/* ── MODAL PAGOS ── */
.pagos-info-row{display:flex;gap:1.5rem;flex-wrap:wrap;font-family:var(--mono);font-size:0.62rem;color:var(--muted);padding:0.75rem 0;border-bottom:1px solid var(--border);margin-bottom:1rem;}
.pagos-grid-label{font-family:var(--mono);font-size:0.55rem;color:var(--muted);letter-spacing:2px;text-transform:uppercase;margin-bottom:0.75rem;}
.pagos-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:6px;margin-bottom:1rem;}
@media(max-width:600px){.pagos-grid{grid-template-columns:repeat(4,1fr);}}
.pago-mes-card{background:var(--bg3);border:1px solid var(--border);padding:0.6rem;text-align:center;position:relative;}
.pago-mes-card.pago-ok{border-color:var(--green);background:rgba(76,175,80,0.08);}
.pago-mes-nombre{font-family:var(--title);font-size:0.75rem;font-weight:700;color:var(--text);text-transform:uppercase;}
.pago-mes-anio{font-family:var(--mono);font-size:0.48rem;color:var(--muted);margin-bottom:4px;}
.pago-monto{font-family:var(--mono);font-size:0.55rem;color:var(--green);}
.pago-check{font-size:1rem;color:var(--green);}
.pago-pendiente-txt{font-family:var(--mono);font-size:0.5rem;color:var(--muted);margin-top:4px;}
.pago-del-btn{position:absolute;top:2px;right:2px;background:rgba(192,57,43,0.8);border:none;color:#fff;font-size:0.5rem;padding:1px 4px;cursor:none;opacity:0;transition:opacity 0.2s;}
.pago-mes-card:hover .pago-del-btn{opacity:1;}
@media(pointer:coarse){.pago-del-btn{opacity:1;cursor:pointer;}}
.pagos-resumen{font-family:var(--mono);font-size:0.6rem;color:var(--muted);display:flex;flex-direction:column;gap:4px;padding:0.75rem;background:rgba(200,168,75,0.05);border:1px solid var(--border);margin-bottom:1rem;}
.pagos-resumen strong{color:var(--gold);}
.pagos-registrar{border-top:1px solid var(--border);padding-top:1rem;}

/* ── TABS PAGO SIMPLE / BLOQUE ── */
.pago-tabs{display:flex;gap:0;margin-top:0.75rem;border:1px solid var(--border);overflow:hidden;}
.pago-tab{flex:1;font-family:var(--mono);font-size:0.58rem;letter-spacing:1.5px;text-transform:uppercase;padding:0.55rem;background:transparent;border:none;color:var(--muted);cursor:none;transition:all 0.2s;border-right:1px solid var(--border);}
.pago-tab:last-child{border-right:none;}
.pago-tab.active{background:rgba(200,168,75,0.12);color:var(--gold);}
.pago-tab:hover:not(.active){color:var(--text);}
@media(pointer:coarse){.pago-tab{cursor:pointer;}}

/* ── GRID PAGO EN BLOQUE ── */
.bloque-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:5px;margin:0.75rem 0;}
@media(max-width:500px){.bloque-grid{grid-template-columns:repeat(4,1fr);}}
.bloque-mes-card{background:var(--bg3);border:1px solid var(--border);padding:0.5rem 0.25rem;text-align:center;cursor:none;transition:all 0.15s;position:relative;}
.bloque-mes-card:not(.bloque-pagado):hover{border-color:var(--gold);}
@media(pointer:coarse){.bloque-mes-card:not(.bloque-pagado){cursor:pointer;}}
.bloque-mes-card.bloque-sel{border-color:var(--gold);background:rgba(200,168,75,0.12);}
.bloque-mes-card.bloque-pagado{border-color:var(--green);background:rgba(76,175,80,0.08);cursor:default;}
.bloque-mes-nom{font-family:var(--title);font-size:0.72rem;font-weight:700;color:var(--text);text-transform:uppercase;}
.bloque-mes-anio{font-family:var(--mono);font-size:0.45rem;color:var(--muted);margin-bottom:2px;}
.bloque-pagado-txt{font-family:var(--mono);font-size:0.6rem;color:var(--green);}
.bloque-sel-txt{font-family:var(--mono);font-size:0.6rem;color:var(--gold);}
.bloque-resumen{display:flex;gap:1rem;flex-wrap:wrap;padding:0.6rem 0.9rem;background:rgba(200,168,75,0.07);border:1px solid var(--border);margin-bottom:0.75rem;font-family:var(--mono);font-size:0.6rem;color:var(--gold);letter-spacing:1px;}

/* ── INSCRIPCIÓN ── */
.inscripcion-section{display:flex;align-items:center;gap:1rem;flex-wrap:wrap;padding:0.75rem 1rem;background:rgba(13,16,18,0.92);border:1px solid var(--border);margin-bottom:1rem;}
.inscripcion-label{font-family:var(--mono);font-size:0.6rem;color:var(--muted);letter-spacing:2px;text-transform:uppercase;white-space:nowrap;}
.inscripcion-ok{font-family:var(--mono);font-size:0.65rem;color:var(--green);letter-spacing:1px;}
.inscripcion-pendiente{font-family:var(--mono);font-size:0.65rem;color:var(--red);letter-spacing:1px;}
.inscripcion-btn{font-family:var(--mono);font-size:0.55rem;letter-spacing:1px;padding:4px 12px;border:1px solid;background:transparent;cursor:none;transition:all 0.2s;}
.inscripcion-btn-add{color:var(--green);border-color:var(--green);}
.inscripcion-btn-add:hover{background:var(--green);color:var(--bg);}
.inscripcion-btn-remove{color:var(--red);border-color:var(--red);}
.inscripcion-btn-remove:hover{background:var(--red);color:var(--bg);}
@media(pointer:coarse){.inscripcion-btn{cursor:pointer;}}
.mt-insc-ok{font-family:var(--mono);font-size:0.6rem;color:var(--green);}
.mt-insc-no{font-family:var(--mono);font-size:0.6rem;color:var(--red);}

/* ── TOOLBAR BLOQUE ── */
.bloque-toolbar{display:flex;align-items:center;gap:0.75rem;flex-wrap:wrap;margin-top:0.75rem;margin-bottom:0.5rem;}
.bloque-futuro{opacity:0.2;cursor:default !important;pointer-events:none;}
.bloque-futuro-sel{border-color:rgba(200,168,75,0.4);opacity:0.75;}
.bloque-futuro-sel:hover{border-color:var(--gold);}

/* ── DOCUMENTOS GOOGLE DRIVE MODAL ── */
.doc-drive-hint{display:flex;gap:1rem;align-items:flex-start;padding:1rem;background:rgba(200,168,75,0.06);border:1px solid var(--border);border-left:3px solid var(--gold);margin-bottom:1rem;}
.doc-drive-hint-icon{font-size:1.8rem;flex-shrink:0;line-height:1;}

/* ── DRIVE HELP MODAL ── */
.doc-help-btn{font-family:var(--mono);font-size:0.55rem;letter-spacing:1px;padding:4px 10px;border:1px solid var(--gold);background:transparent;color:var(--gold);cursor:none;transition:all 0.2s;white-space:nowrap;flex-shrink:0;}
.doc-help-btn:hover{background:rgba(200,168,75,0.15);}
@media(pointer:coarse){.doc-help-btn{cursor:pointer;}}
.drive-help-steps{display:flex;flex-direction:column;gap:0;margin:1rem 0;}
.dhs-step{display:flex;gap:1rem;padding:0.9rem 0;border-bottom:1px solid var(--border);align-items:flex-start;}
.dhs-step:last-of-type{border-bottom:none;}
.dhs-num{font-family:var(--title);font-size:1.1rem;font-weight:700;color:var(--gold);opacity:0.5;min-width:28px;line-height:1.2;}
.dhs-body{flex:1;}
.dhs-title{font-family:var(--title);font-size:0.9rem;font-weight:700;color:var(--text);letter-spacing:1px;text-transform:uppercase;margin-bottom:4px;}
.dhs-desc{font-family:var(--body);font-size:0.85rem;color:var(--muted);line-height:1.7;}
.dhs-link{color:var(--gold);font-family:var(--mono);font-size:0.75rem;}
.dhs-code{font-family:var(--mono);font-size:0.65rem;color:var(--silver);background:rgba(255,255,255,0.06);padding:2px 6px;border-radius:3px;word-break:break-all;}
.dhs-btn-sim{font-family:var(--mono);font-size:0.65rem;color:var(--bg);background:var(--silver);padding:1px 7px;border-radius:3px;}
.dhs-tip{display:flex;gap:0.75rem;align-items:flex-start;padding:0.75rem 1rem;background:rgba(200,168,75,0.07);border:1px solid var(--border);border-left:3px solid var(--gold);font-family:var(--mono);font-size:0.6rem;color:var(--muted);line-height:1.8;margin-top:0.5rem;border-radius:0;}
.dhs-tip-icon{font-size:1rem;flex-shrink:0;}

/* ── ALERTA CUOTAS ── */
.cuota-alert{display:none;align-items:center;gap:0.75rem;flex-wrap:wrap;padding:0.6rem 1.25rem;background:rgba(192,57,43,0.92);border-bottom:1px solid var(--red);font-family:var(--mono);font-size:0.62rem;color:#fff;letter-spacing:1px;position:fixed;top:56px;left:0;right:0;z-index:99;transition:opacity 0.5s;}
.cuota-alert-close{background:transparent;border:1px solid rgba(255,255,255,0.4);color:#fff;font-size:0.7rem;padding:2px 8px;cursor:none;margin-left:auto;}
.cuota-alert-ver{background:rgba(255,255,255,0.15);border:1px solid rgba(255,255,255,0.6);color:#fff;font-family:var(--mono);font-size:0.6rem;letter-spacing:1px;padding:3px 10px;cursor:none;white-space:nowrap;}
@media(pointer:coarse){.cuota-alert-close,.cuota-alert-ver{cursor:pointer;}}

/* ── MI ESTADO ── */
.me-resumen{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:1rem;margin-bottom:2rem;}
.me-estado-card{background:rgba(13,16,18,0.92);border:1px solid var(--border);padding:1.25rem;text-align:center;transition:border-color 0.2s;}
.me-estado-card.me-insc-ok{border-color:var(--green);}
.me-estado-card.me-insc-no{border-color:var(--red);}
.me-estado-icon{font-size:1.5rem;margin-bottom:6px;line-height:1;}
.me-estado-txt{font-family:var(--title);font-size:1rem;font-weight:700;color:var(--text);letter-spacing:1px;text-transform:uppercase;margin-bottom:4px;}
.me-estado-sub{font-family:var(--mono);font-size:0.55rem;color:var(--muted);letter-spacing:2px;text-transform:uppercase;}
.me-section-title{font-family:var(--mono);font-size:0.58rem;color:var(--muted);letter-spacing:3px;text-transform:uppercase;margin-bottom:0.75rem;}
.me-pagos-grid{grid-template-columns:repeat(6,1fr) !important;}
@media(max-width:600px){.me-pagos-grid{grid-template-columns:repeat(4,1fr) !important;}}
.me-aviso{display:flex;gap:0.75rem;align-items:flex-start;padding:1rem 1.25rem;border:1px solid var(--red);border-left:3px solid var(--red);background:rgba(192,57,43,0.08);font-family:var(--body);font-size:0.9rem;color:var(--muted);line-height:1.7;margin-top:1.5rem;}
.me-aviso.me-aviso-ok{border-color:var(--green);background:rgba(76,175,80,0.08);}
.me-aviso strong{color:var(--text);}
.nav-mi-estado-link{color:var(--gold) !important;}
