:root{--bg:#08090c;--panel:#11141a;--panel2:#171b23;--line:#2b313d;--text:#f5f7fb;--muted:#99a2b2;--gold:#d9aa45;--gold2:#f0c96c;--green:#39c781;--red:#ef5b63;--radius:16px;--shadow:0 18px 50px rgba(0,0,0,.35)}
*{box-sizing:border-box}html,body{margin:0;min-height:100%;font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,sans-serif;background:var(--bg);color:var(--text)}button,input,textarea,select{font:inherit}button{cursor:pointer}.hidden{display:none!important}
.auth{min-height:100vh;display:grid;place-items:center;padding:24px;background:radial-gradient(circle at top,#252015 0,#0b0c10 36%,#050608 100%)}
.auth-card{width:min(440px,100%);padding:34px;border:1px solid var(--line);border-radius:22px;background:rgba(17,20,26,.96);box-shadow:var(--shadow)}.brand-mark{display:block;color:var(--gold2);font-weight:900;letter-spacing:.13em;margin-bottom:16px}.auth-card h1{margin:0 0 8px}.auth-card p{color:var(--muted);line-height:1.55}.auth-card label,.form-grid label{display:grid;gap:7px;color:#dce1ea;font-weight:650}.auth-card label{margin:16px 0}
input,textarea,select{width:100%;border:1px solid var(--line);border-radius:11px;background:#0d1015;color:var(--text);padding:11px 12px;outline:none}input:focus,textarea:focus,select:focus{border-color:var(--gold);box-shadow:0 0 0 3px rgba(217,170,69,.13)}textarea{min-height:110px;resize:vertical}
button{border:1px solid var(--line);border-radius:10px;background:#202631;color:var(--text);padding:10px 14px;font-weight:750}button:hover{filter:brightness(1.1)}button.primary{background:linear-gradient(135deg,var(--gold2),var(--gold));color:#151109;border-color:transparent}button.ok{background:rgba(57,199,129,.13);border-color:rgba(57,199,129,.4);color:#79e8ac}button.bad{background:rgba(239,91,99,.12);border-color:rgba(239,91,99,.4);color:#ff8c93}button.ghost{background:transparent}.smallbtn{padding:8px 11px;font-size:.86rem}.icon-btn{width:38px;height:38px;padding:0;font-size:24px}
.shell{min-height:100vh;display:grid;grid-template-columns:265px 1fr}.shell aside{position:sticky;top:0;height:100vh;padding:22px 16px;border-right:1px solid var(--line);background:#0c0e13;display:flex;flex-direction:column;z-index:20}.logo{padding:8px 10px 24px;color:var(--gold2);font-weight:900;letter-spacing:.08em}.logo small{display:block;color:var(--muted);font-size:.68rem;margin-top:3px}.shell nav{display:grid;gap:6px;overflow:auto;padding-right:3px}.navbtn{width:100%;text-align:left;background:transparent;border-color:transparent;color:#abb4c2}.navbtn:hover,.navbtn.active{background:#1c212b;color:#fff;border-color:#303744}.navbtn.active{box-shadow:inset 3px 0 0 var(--gold)}.logout{margin-top:auto;background:transparent;color:#ff9298;border-color:#48272b}
main{min-width:0}header{height:82px;display:flex;align-items:center;gap:14px;padding:0 26px;border-bottom:1px solid var(--line);background:rgba(8,9,12,.88);backdrop-filter:blur(14px);position:sticky;top:0;z-index:10}.header-title{flex:1}.header-title small{color:var(--muted)}.header-title h2{margin:2px 0 0;font-size:1.4rem}.menu-btn{display:none}.live{font-size:.78rem;color:#77e8aa;background:rgba(57,199,129,.1);border:1px solid rgba(57,199,129,.25);padding:8px 10px;border-radius:999px}.content{padding:24px;max-width:1500px;margin:auto}
.cards{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}.stat,.panel,.item-card{border:1px solid var(--line);background:linear-gradient(180deg,var(--panel2),var(--panel));border-radius:var(--radius);box-shadow:0 10px 30px rgba(0,0,0,.15)}.stat{padding:20px;color:var(--muted)}.stat b{display:block;color:var(--text);font-size:2rem;margin-top:8px}.panel{padding:20px}.panel h3{margin:0 0 14px}.grid2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.grid3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.toolbar{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-bottom:16px}.toolbar h3{margin:0}.toolbar-actions{display:flex;gap:8px;flex-wrap:wrap}.note{color:var(--muted);line-height:1.55}.empty{padding:34px;text-align:center;color:var(--muted);border:1px dashed var(--line);border-radius:13px}
.table-wrap{overflow:auto;border:1px solid var(--line);border-radius:12px}.table{width:100%;border-collapse:collapse;min-width:760px}.table th,.table td{padding:13px 14px;text-align:left;border-bottom:1px solid var(--line);vertical-align:top}.table th{font-size:.78rem;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);background:#0f1218}.table tr:last-child td{border-bottom:0}.actions{display:flex;gap:7px;flex-wrap:wrap}.pill{display:inline-flex;padding:5px 9px;border-radius:999px;background:#252b36;color:#d9dfeb;font-size:.78rem}.pill.active,.pill.approved{background:rgba(57,199,129,.13);color:#7be8ad}.pill.pending{background:rgba(217,170,69,.14);color:#f0ca72}.pill.suspended,.pill.rejected{background:rgba(239,91,99,.12);color:#ff8f96}
.item-card{padding:17px}.item-card h4{margin:0 0 7px}.item-card p{margin:5px 0;color:var(--muted)}.item-meta{display:grid;gap:5px;margin:12px 0;color:#d8deea}.item-actions{display:flex;gap:8px;margin-top:14px;flex-wrap:wrap}.image-thumb{width:100%;aspect-ratio:16/9;object-fit:cover;border-radius:11px;border:1px solid var(--line);background:#0b0d11}.featured{outline:2px solid rgba(217,170,69,.6)}
.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px}.form-grid .full{grid-column:1/-1}.check-row{display:flex!important;align-items:center;gap:9px}.check-row input{width:auto}.modal{position:fixed;inset:0;background:rgba(0,0,0,.72);display:grid;place-items:center;padding:20px;z-index:100}.modal-card{width:min(760px,100%);max-height:90vh;overflow:auto;background:#11151c;border:1px solid var(--line);border-radius:18px;padding:20px;box-shadow:var(--shadow)}.modal-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.modal-head h3{margin:0}.toast-stack{position:fixed;right:18px;bottom:18px;z-index:200;display:grid;gap:8px}.toast{background:#191e27;border:1px solid #373f4d;border-left:4px solid var(--gold);padding:12px 15px;border-radius:10px;box-shadow:var(--shadow)}
.setting-row{display:grid;grid-template-columns:1fr 1fr;gap:15px}.divider{height:1px;background:var(--line);margin:18px 0}.warning{border-color:#5a3e19;background:rgba(217,170,69,.07)}
@media(max-width:1050px){.cards{grid-template-columns:repeat(2,1fr)}.grid3{grid-template-columns:repeat(2,1fr)}}
@media(max-width:820px){.shell{grid-template-columns:1fr}.shell aside{position:fixed;left:-285px;width:265px;transition:.25s}.shell aside.open{left:0;box-shadow:20px 0 50px rgba(0,0,0,.5)}.menu-btn{display:inline-flex}.live{display:none}.content{padding:16px}.grid2,.grid3,.setting-row{grid-template-columns:1fr}.form-grid{grid-template-columns:1fr}.form-grid .full{grid-column:auto}}
@media(max-width:520px){.cards{grid-template-columns:1fr}header{padding:0 14px}.toolbar{align-items:flex-start;flex-direction:column}.toolbar-actions{width:100%}.toolbar-actions button{flex:1}.auth-card{padding:24px}.content{padding:12px}}

.nav-group{display:grid;gap:4px}.nav-parent{width:100%;display:flex;align-items:center;justify-content:space-between;text-align:left;background:transparent;border-color:transparent;color:#abb4c2}.nav-parent i{font-style:normal;font-size:1rem;transition:.2s}.nav-parent.expanded i{transform:rotate(180deg)}.nav-parent:hover,.nav-parent.active{background:#171b23;color:#fff}.nav-submenu{display:none;padding:2px 0 4px 12px}.nav-submenu.open{display:grid;gap:3px}.nav-submenu .navbtn{padding:9px 10px;font-size:.9rem}.nav-dot{color:#8e7846;margin-right:7px}.stack{display:grid;gap:18px}

/* Ajustes v3 */
.inline-form{display:flex;gap:12px;align-items:end;flex-wrap:wrap;margin:18px 0}.inline-form label{min-width:260px;flex:1}.admin-vote{height:10px;background:#2b2b2b;border-radius:99px;overflow:hidden;margin-top:14px}.admin-vote span{display:block;height:100%;background:linear-gradient(90deg,#c9962f,#ffe08a)}.vote-meta{display:flex;justify-content:space-between;margin-top:8px}.modal-preview{display:block;width:180px;height:110px;object-fit:cover;border-radius:10px;margin-top:10px}.receipt-link{display:inline-block;color:#f2c86b;text-decoration:none;font-weight:700}.credential-summary{display:grid;gap:8px;margin:12px 0}.credential-summary>div{padding:10px;border:1px solid #333;border-radius:10px}.credential-summary small{display:block;margin-top:3px}.draw-screen{min-height:230px;display:grid;place-content:center;text-align:center;border:1px solid #3c3425;border-radius:18px;background:radial-gradient(circle,#2b2418,#121212);margin:20px 0}.draw-screen small{display:block;color:#bcb09a;text-transform:uppercase;letter-spacing:.15em}.draw-screen strong{display:block;font-size:clamp(28px,5vw,58px);color:#f6cf75;margin-top:10px}.live-draw{max-width:900px}.form-grid input[type=file]{padding:12px;background:#151515;border:1px dashed #655637}

.receipt-thumb{width:78px;height:54px;padding:0;border:1px solid #555;border-radius:8px;overflow:hidden;background:#111;cursor:pointer}.receipt-thumb img{width:100%;height:100%;object-fit:cover;display:block}.receipt-link{cursor:pointer}.image-viewer-card{position:relative;max-width:min(760px,92vw);max-height:88vh;background:#111;border:1px solid #555;border-radius:14px;padding:14px}.image-viewer-card img{display:block;max-width:100%;max-height:80vh;object-fit:contain;border-radius:8px}.modal-x{position:absolute;right:8px;top:8px;z-index:2;border-radius:50%;width:36px;height:36px}

.image-viewer-card{width:min(760px,95vw)}.image-viewer-img{display:block;max-width:100%;max-height:72vh;margin:16px auto 0;border-radius:14px;object-fit:contain;background:#0b0b0b}.receipt-thumb{border:0;background:transparent;padding:0}.receipt-thumb img{width:82px;height:62px;object-fit:cover;border-radius:9px;border:1px solid #444}
.bundle-services-grid{display:grid;gap:14px}.service-editor{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;padding:14px;border:1px solid rgba(255,255,255,.1);border-radius:14px;background:rgba(255,255,255,.025)}.service-editor>b{grid-column:1/-1;color:#e5c45b}.service-editor label{margin:0}@media(max-width:700px){.service-editor{grid-template-columns:1fr}}

/* Asignaciones individuales de beneficios */
.service-fieldset{border:1px solid rgba(255,255,255,.12);border-radius:14px;padding:14px;margin:0;background:rgba(255,255,255,.025)}
.service-fieldset legend{padding:0 8px;font-weight:800;color:#f2c96d}
.assignment-head{display:grid;gap:12px}
.actions{display:flex;gap:7px;flex-wrap:wrap}

/* V12: motivos y controles de estado */
.reject-reason{display:block;margin-top:6px;max-width:220px;color:#ff9aa3;font-size:12px;line-height:1.35}
.table td.actions{min-width:220px}

.achievement-admin-list{display:flex;flex-wrap:wrap;gap:7px;margin:12px 0}.achievement-admin-list .pill{white-space:normal}
.achievement-leader-row,.achievement-progress-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 0;border-bottom:1px solid rgba(255,255,255,.09)}
.achievement-leader-row:last-child,.achievement-progress-row:last-child{border-bottom:0}
.achievement-leader-row span,.achievement-progress-row span:first-child{display:flex;flex-direction:column;gap:3px;min-width:0}
.achievement-leader-row small,.achievement-progress-row small{opacity:.72;font-weight:400}
.achievement-leader-row strong{white-space:nowrap}
.achievement-admin-list.detailed{display:block}

/* Logros por miembro: listado desplegable y compacto */
.member-achievements-accordion{display:grid;gap:10px}
.member-achievement-item{border:1px solid rgba(255,255,255,.1);border-radius:16px;background:rgba(255,255,255,.025);overflow:hidden}
.member-achievement-item summary{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:16px 18px;cursor:pointer;list-style:none;user-select:none}
.member-achievement-item summary::-webkit-details-marker{display:none}
.member-achievement-item summary>span:first-child{display:flex;flex-direction:column;gap:4px;min-width:0}
.member-achievement-item summary small{opacity:.7;font-weight:400}
.member-achievement-summary{display:flex;align-items:center;gap:10px;flex-shrink:0}
.accordion-arrow{font-size:20px;line-height:1;transition:transform .2s ease}
.member-achievement-item[open] .accordion-arrow{transform:rotate(180deg)}
.member-achievement-content{padding:0 18px 18px;border-top:1px solid rgba(255,255,255,.08)}
.member-achievement-content .achievement-admin-list{margin-top:8px}
@media(max-width:640px){.member-achievement-item summary{align-items:flex-start;padding:14px}.member-achievement-summary{gap:6px}.member-achievement-content{padding:0 14px 14px}}

/* v20: beneficios compactos y precios/ofertas */
.bundle-accordion{display:grid;gap:12px}.bundle-accordion-item{border:1px solid var(--line);border-radius:16px;background:rgba(255,255,255,.02);overflow:hidden}.bundle-accordion-item summary{cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:16px 18px;list-style:none}.bundle-accordion-item summary::-webkit-details-marker{display:none}.bundle-accordion-item summary>span:first-child{display:grid;gap:4px}.bundle-accordion-item summary small{color:var(--muted);font-weight:500}.bundle-accordion-content{padding:0 18px 18px;border-top:1px solid var(--line)}.bundle-accordion-item[open] .accordion-arrow{transform:rotate(180deg)}.plan-admin-prices{display:grid!important;gap:7px}.plan-admin-prices s{opacity:.6;margin-right:6px}.plan-admin-prices strong{color:var(--gold)}

.cashier-editor textarea{min-height:110px;resize:vertical}
.cashier-config-grid{align-items:start}
.cashier-custom-section{margin-top:24px;padding-top:20px;border-top:1px solid var(--line)}
.cashier-field-row{display:grid;grid-template-columns:1.5fr 1fr .8fr 1.5fr auto auto auto;gap:10px;align-items:end;padding:14px;border:1px solid var(--line);border-radius:14px;margin:10px 0;background:rgba(255,255,255,.02)}
.cashier-field-row textarea{min-height:72px}
.cashier-extra-detail details{min-width:170px}
.cashier-extra-detail p{display:flex;justify-content:space-between;gap:12px;margin:7px 0;font-size:12px}
.cashier-extra-detail span{color:var(--muted)}
@media(max-width:1100px){.cashier-field-row{grid-template-columns:1fr 1fr}.cashier-field-row button{grid-column:1/-1}}

/* Club VIP v1.1.5 — optimización final de fluidez */
html{scroll-behavior:auto}
button,a,input,select,textarea{
  transition-duration:.12s!important;
}
img{
  content-visibility:auto;
}
.item-card,.card,.panel,.history,.notification{
  contain:layout style paint;
}
.view:not(.active){
  content-visibility:hidden;
}
@media(prefers-reduced-motion:reduce){
  *,*::before,*::after{
    animation-duration:.01ms!important;
    animation-iteration-count:1!important;
    transition-duration:.01ms!important;
    scroll-behavior:auto!important;
  }
}

/* Club VIP v1.1.9 — comprobantes de membresía */
.receipt-thumb.receipt-error{
  min-width:120px;
  min-height:54px;
  display:grid;
  place-items:center;
  border:1px dashed rgba(239,190,75,.45);
  color:#f0c85a;
}
.receipt-thumb.receipt-error span{
  font-size:13px;
  font-weight:700;
}

/* Club VIP v1.1.27 — navegación estable */
.nav-submenu{
  overflow:hidden;
}
.nav-submenu:not(.open){
  display:none!important;
}
.nav-submenu.open{
  display:block!important;
}
