*,*::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;
}

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);}

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;}
.member-card{cursor:none;position:relative;transition:none;height:220px;}
/* ── CARD FLIP ── */
.member-card{
  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.5rem;
  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.5rem;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:#9b59b6;color:#9b59b6;}
.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{position:absolute;bottom:0.75rem;right:0.75rem;font-family:var(--mono);font-size:0.5rem;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);}

.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,.gallery-item video{width:100%;height:100%;object-fit:cover;transition:transform 0.4s ease;}
.gallery-item:hover img,.gallery-item:hover video{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(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));}
}

/* ── 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.48rem;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{position:absolute;bottom:0.75rem;left:0.75rem;font-family:var(--mono);font-size:0.48rem;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.52rem;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);}
