:root { --blue:#061b53; --blue2:#093b9c; --yellow:#ffc908; --gold:#ff9f00; --ice:#eef7ff; --muted:#92acd5; --pending:#ff9b24; --paid:#56d793; --dark:#061440; }
* { box-sizing:border-box } html { scroll-behavior:smooth } body { margin:0; min-width:320px; font-family:Montserrat,Arial,sans-serif; color:#fff; background:#04123a; overflow-x:hidden; }
body:before { content:""; position:fixed; inset:0; pointer-events:none; opacity:.23; background-image:radial-gradient(#fff 1px,transparent 1px); background-size:68px 68px; mask-image:linear-gradient(#000,transparent 80%); }
.aurora { position:fixed; width:680px;height:680px; border-radius:50%; pointer-events:none; filter:blur(35px); opacity:.2; z-index:-1; }.aurora-one{right:-250px;top:-200px;background:#0085ff}.aurora-two{left:-420px;top:450px;background:#042cbe}
.topbar { height:82px; padding:0 clamp(20px,7vw,110px); display:flex; gap:24px; justify-content:space-between; align-items:center; border-bottom:1px solid rgba(141,196,255,.18); background:rgba(3,15,52,.68); backdrop-filter:blur(12px); position:relative; z-index:3; }
.brand { color:var(--yellow); font-weight:900; font-size:clamp(18px,2vw,26px); letter-spacing:-1.6px; text-decoration:none; text-shadow:0 3px 0 #17478d; transform:skew(-8deg); }.brand span{font-size:1.15em}.brand i { display:inline-block; font-style:normal;font-size:.55em;margin-left:5px;vertical-align:top;color:#fff }.draw-info { display:flex; align-items:center; gap:8px; font-size:11px;color:#bed5fb;text-transform:uppercase;letter-spacing:1px; }.draw-info strong{color:#fff}.pulse { width:8px;height:8px;border-radius:50%;background:#43e695;box-shadow:0 0 0 5px rgba(67,230,149,.12);}.admin-trigger { border:1px solid rgba(255,255,255,.23); color:#e6f1ff;background:rgba(255,255,255,.06);padding:11px 15px;border-radius:9px;font:600 12px Montserrat;cursor:pointer;transition:.2s;}.admin-trigger:hover{border-color:var(--yellow);color:var(--yellow)}
.hero { min-height:585px; max-width:1270px; padding:55px clamp(24px,7vw,100px) 22px; margin:auto; display:grid;grid-template-columns:1fr 1fr;align-items:center;position:relative; }.hero:after { content:"";height:1px;position:absolute;bottom:0;left:7%;right:7%;background:linear-gradient(90deg,transparent,rgba(139,195,255,.45),transparent) }.eyebrow { margin:0 0 13px;color:#ffcc19;font-weight:800;letter-spacing:2px;font-size:11px}.eyebrow span{font-size:18px;vertical-align:middle}.hero h1,.modal h2,.section-heading h2{font-size:clamp(36px,5.1vw,70px);letter-spacing:-3.5px;line-height:.98;margin:0;font-weight:900}.hero h1 em,.modal h2 span,.section-heading h2 span{font-family:Pacifico,cursive;color:var(--yellow);font-weight:400;letter-spacing:-1px;text-shadow:0 3px 12px rgba(255,178,0,.2)}.intro{max-width:445px;font-size:14px;line-height:1.8;color:#bdd3f9;margin:25px 0}.hero-cta,.primary-button,.whatsapp-button { display:inline-flex;align-items:center;gap:25px;border:0;border-radius:10px;padding:15px 18px;background:linear-gradient(135deg,#ffd319,#fa9d00);color:#092364;font-weight:900;text-decoration:none;font:800 12px Montserrat;box-shadow:0 10px 25px rgba(255,163,0,.2);cursor:pointer; }.hero-cta b {font-size:20px;line-height:10px}.hero-logo-wrap{height:480px;position:relative;display:flex;align-items:center;justify-content:center}.rays{position:absolute;width:410px;height:410px;border-radius:50%;background:repeating-conic-gradient(from 5deg,transparent 0 14deg,rgba(91,200,255,.12) 15deg 18deg);animation:spin 34s linear infinite}.hero-logo{max-width:535px;width:108%;position:relative;filter:drop-shadow(0 20px 36px rgba(0,0,0,.55));animation:float 4.5s ease-in-out infinite}.float-chip{position:absolute;width:52px;height:52px;border-radius:50%;background:radial-gradient(circle at 32% 26%,#fff8bf,#ffbf0c 45%,#cb6600 78%);border:3px solid #ffe970;color:#063a84;display:grid;place-items:center;font-weight:900;box-shadow:0 8px 20px #00154c;z-index:1}.chip-one{left:10%;top:30%;animation:float 3.8s .2s infinite}.chip-two{right:6%;bottom:20%;animation:float 4.2s .7s infinite}.chip-three{right:10%;top:15%;color:white;background:#0f60cc;border-color:#ffcc12;animation:float 3.5s .4s infinite}
.raffle-section{max-width:1260px;margin:auto;padding:78px clamp(20px,7vw,96px) 115px}.section-heading{display:flex;justify-content:space-between;align-items:end;gap:28px}.section-heading h2{font-size:clamp(33px,4vw,51px)}.legend{display:flex;gap:16px;flex-wrap:wrap;justify-content:flex-end;font-size:10px;font-weight:700;color:#b4c9e9}.legend span{display:flex;align-items:center;gap:5px}.legend i{width:9px;height:9px;border-radius:50%;display:block}.available{background:#e7f1ff}.pending{background:var(--pending)}.paid{background:var(--paid)}.progress-wrap{margin:37px 0 25px}.progress-text{display:flex;justify-content:space-between;font-size:11px;font-weight:700;color:#c8d9f3}.progress-bar{height:7px;background:#0b2867;border-radius:10px;margin-top:10px;overflow:hidden}.progress-bar span{height:100%;display:block;width:0;background:linear-gradient(90deg,#ffcf19,#ff9800);border-radius:10px;transition:.4s}.numbers-grid{display:grid;grid-template-columns:repeat(10,1fr);gap:9px}.number-btn{height:57px;border:1px solid rgba(139,184,246,.3);border-radius:10px;background:linear-gradient(135deg,rgba(17,75,165,.62),rgba(6,39,105,.75));color:#fff;font:800 15px Montserrat;cursor:pointer;transition:transform .17s,border .17s,background .17s;position:relative;overflow:hidden}.number-btn:hover:not(:disabled){transform:translateY(-3px);border-color:#73caff;box-shadow:0 10px 16px rgba(0,65,211,.24)}.number-btn.selected{background:linear-gradient(135deg,#ffdf21,#f59e00);color:#09276a;border-color:#ffe888;box-shadow:0 6px 18px rgba(255,175,0,.3)}.number-btn.pending,.number-btn.paid{cursor:not-allowed;color:#fff;border:0}.number-btn.pending{background:linear-gradient(135deg,#ea7415,#b54508)}.number-btn.paid{background:linear-gradient(135deg,#159364,#075944)}.number-btn.pending:after,.number-btn.paid:after{position:absolute;content:"RES.";bottom:3px;right:5px;font-size:7px;color:rgba(255,255,255,.75)}.number-btn.paid:after{content:"PAGO"}
.cart{position:fixed;z-index:4;bottom:23px;left:50%;transform:translateX(-50%) translateY(130px);width:min(535px,calc(100% - 30px));min-height:73px;border:1px solid rgba(255,226,107,.36);border-radius:15px;background:rgba(4,25,76,.95);box-shadow:0 20px 60px rgba(0,0,0,.45);padding:12px 13px 12px 17px;display:flex;align-items:center;gap:12px;transition:.35s;backdrop-filter:blur(14px)}.cart.show{transform:translateX(-50%) translateY(0)}.cart-icon{font-size:27px}.cart div:nth-child(2){flex:1}.cart small{display:block;font-size:8px;font-weight:800;color:#80a4d9;letter-spacing:1.2px}.cart strong{font-size:13px}.cart-open{border:0;border-radius:9px;padding:13px 14px;background:var(--yellow);color:#082b70;font:800 11px Montserrat;cursor:pointer}.cart-open:disabled{opacity:.43;cursor:not-allowed}.cart-open span{font-size:17px;margin-left:8px}
dialog{color:#fff;border:0;padding:0;background:transparent;max-width:none;max-height:none}dialog::backdrop{background:rgba(1,8,29,.77);backdrop-filter:blur(6px)}.modal{width:min(545px,calc(100vw - 30px));border-radius:21px;background:linear-gradient(145deg,#0d3e9a,#06194f 72%);padding:36px;box-shadow:0 35px 90px rgba(0,0,0,.55);position:relative;background-image:radial-gradient(circle at 100% 0,rgba(53,155,255,.55),transparent 38%),linear-gradient(145deg,#0d3e9a,#06194f 72%)}.modal h2{font-size:40px}.close{position:absolute;right:14px;top:10px;border:0;background:transparent;color:#cde0ff;font-size:31px;line-height:1;cursor:pointer}.modal-brand{font-size:15px;font-weight:900;color:#ffcb11;letter-spacing:-.8px;margin-bottom:28px}.modal-brand span{color:#fff}.chosen-box{margin:25px 0 19px;border:1px solid rgba(186,214,255,.25);background:rgba(0,10,47,.27);padding:12px;border-radius:12px}.chosen-box span{color:#adc8ef;font-size:10px;font-weight:700}.chosen-box div{display:flex;flex-wrap:wrap;gap:7px;margin-top:8px}.chosen-box b,.ticket b{background:#ffc905;color:#082766;border-radius:6px;padding:6px 8px;font-size:12px}form{display:grid;gap:14px}label{font-size:10px;font-weight:800;color:#c8dcff;letter-spacing:.4px}.hint{color:#80a3d5;font-weight:500;letter-spacing:0}input{width:100%;margin-top:7px;padding:13px;border:1px solid rgba(181,211,255,.26);background:rgba(0,17,65,.4);color:white;border-radius:8px;font:500 13px Montserrat;outline:none}input:focus{border-color:#ffca16}.form-note,.admin-note{font-size:10px;color:#b3c9e8;line-height:1.55;margin:1px 0}.primary-button{justify-content:space-between;margin-top:5px;width:100%}.confirmation-modal{text-align:center;padding:47px 38px 28px}.confirmation-modal h2{font-size:40px}.celebrate{position:absolute;left:32px;top:15px;color:#ffd229;font-size:29px}.confirmation-copy{font-size:12px;line-height:1.7;color:#c0d4ef}.ticket{border:1px dashed rgba(255,214,44,.65);background:#051747;border-radius:10px;margin:18px 0;padding:13px;display:flex;gap:7px;justify-content:center;flex-wrap:wrap}.whatsapp-button{justify-content:space-between;width:100%;color:#fff;background:linear-gradient(135deg,#2fcf73,#119d52);font-size:11px}.text-button{border:0;background:none;color:#b8cee9;font:600 11px Montserrat;padding:18px 0 0;cursor:pointer}.admin-modal{width:min(700px,calc(100vw - 30px));max-height:90vh;overflow:auto}.admin-overview{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:24px 0 18px}.admin-overview article{padding:14px;border-radius:9px;background:rgba(0,15,57,.35);border:1px solid rgba(200,220,255,.13)}.admin-overview small{display:block;color:#a3bee5;font-size:9px}.admin-overview strong{font-size:27px;color:#ffcd13}.date-control{display:block;margin:18px 0}.reservations-list{margin-top:20px;display:grid;gap:8px}.reservation-row{display:flex;gap:13px;align-items:center;padding:12px;border-radius:10px;background:rgba(0,15,58,.4);font-size:11px}.reservation-row div{flex:1}.reservation-row strong{display:block}.reservation-row small{color:#b4c9e7}.status-button{border:0;border-radius:7px;padding:9px 10px;background:#ffbd0e;color:#08306c;font:800 10px Montserrat;cursor:pointer}.status-button.paid{background:#29c77a;color:#fff}.empty-list{color:#a9bfdf;text-align:center;font-size:12px;padding:16px}footer{border-top:1px solid rgba(136,182,255,.2);padding:22px max(20px,7vw);display:flex;justify-content:space-between;gap:20px;color:#80a2d3;font-size:10px}footer b{color:#fff;font-size:13px}footer em{font-family:Pacifico,cursive;color:#ffcc11;font-style:normal;font-weight:400}
@keyframes float{50%{transform:translateY(-13px) rotate(2deg)}}@keyframes spin{to{transform:rotate(360deg)}}
@media(max-width:720px){.topbar{height:68px}.draw-info{display:none}.hero{grid-template-columns:1fr;padding-top:55px;text-align:center}.hero-copy{display:flex;flex-direction:column;align-items:center}.hero-logo-wrap{height:315px;order:-1}.hero-logo{max-width:365px}.rays{width:300px;height:300px}.float-chip{transform:scale(.75)}.hero h1{font-size:42px}.section-heading{align-items:start;flex-direction:column}.legend{justify-content:start}.numbers-grid{grid-template-columns:repeat(5,1fr);gap:8px}.number-btn{height:52px}.raffle-section{padding-top:60px}.modal{padding:30px 22px}.modal h2{font-size:34px}footer span{display:none}footer{justify-content:center}.admin-modal{padding:29px 20px}.reservation-row{align-items:flex-start;flex-wrap:wrap}.reservation-row .status-button{margin-left:auto}}
.hero-stats{display:flex;gap:10px;flex-wrap:wrap;margin:0 0 23px}.hero-stats span{padding:8px 10px;border-radius:8px;background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.16);font-size:9px;color:#c1d5f4}.hero-stats b{display:block;color:#ffd12a;font-size:14px;margin-bottom:2px}.how-it-works{max-width:1100px;margin:0 auto;padding:27px clamp(20px,7vw,70px);display:grid;grid-template-columns:repeat(4,1fr);gap:1px;border:1px solid rgba(123,170,244,.21);border-radius:15px;background:rgba(17,62,143,.24)}.how-it-works article{display:flex;gap:12px;padding:7px 19px;align-items:center;border-right:1px solid rgba(123,170,244,.2)}.how-it-works article:last-child{border:0}.how-it-works article>span{color:#ffca13;font-size:18px;font-weight:900}.how-it-works b,.how-it-works small{display:block}.how-it-works b{font-size:10px}.how-it-works small{font-size:8px;color:#aac3e8;line-height:1.5;margin-top:2px}
.campaign{max-width:1260px;margin:0 auto;padding:0 clamp(20px,7vw,96px) 95px;display:grid;grid-template-columns:.84fr 1.16fr;align-items:center;gap:55px}.campaign h2{font-size:clamp(34px,4vw,52px);line-height:1;letter-spacing:-3px;margin:0;font-weight:900}.campaign h2 span{font-family:Pacifico,cursive;color:#ffca12;font-weight:400;letter-spacing:-1px}.campaign-copy>p:not(.eyebrow){color:#bbd1f2;font-size:13px;line-height:1.85;max-width:390px}.campaign-copy>p b{color:#ffcb15}.payment-pills{display:flex;gap:7px;flex-wrap:wrap;margin:20px 0}.payment-pills span{font-size:9px;font-weight:800;border:1px solid rgba(198,219,255,.25);border-radius:20px;padding:7px 9px;color:#d9e9ff}.campaign-feature{margin:0;position:relative;overflow:hidden;border-radius:18px;border:1px solid rgba(255,204,35,.42);box-shadow:0 25px 50px rgba(0,0,0,.35);transform:rotate(1.6deg);background:#092260}.campaign-feature img{width:100%;display:block;max-height:500px;object-fit:cover;object-position:top}.campaign-feature:after{content:"";position:absolute;inset:0;background:linear-gradient(135deg,transparent 60%,rgba(255,206,19,.22))}.campaign-feature figcaption{position:absolute;bottom:0;z-index:1;left:0;right:0;padding:17px 20px;background:linear-gradient(transparent,rgba(1,12,46,.92));display:flex;justify-content:space-between;align-items:end}.campaign-feature b{color:#ffcf1a;font-size:15px}.campaign-feature span{font-size:9px;color:#cfdef3}.visual-stories{max-width:1260px;margin:auto;padding:0 clamp(20px,7vw,96px) 100px;display:grid;grid-template-columns:1.7fr 1fr 1fr;gap:15px}.visual-stories img,.story-video{width:100%;height:245px;border:1px solid rgba(114,165,246,.28);border-radius:13px;object-fit:cover;background:#061b53;overflow:hidden;transition:.25s}.visual-stories img:hover,.story-video:hover{transform:translateY(-5px);border-color:#ffd12a}.story-video{position:relative}.story-video video{width:100%;height:100%;object-fit:cover}.story-video span{position:absolute;bottom:0;left:0;right:0;padding:35px 17px 13px;background:linear-gradient(transparent,rgba(0,12,50,.9));color:#fff;font-size:11px;font-weight:800;pointer-events:none}
.logout{position:absolute;right:49px;top:18px;border:0;background:none;color:#acc8ec;font:600 9px Montserrat;cursor:pointer}.manual-reservation{border:1px solid rgba(255,207,22,.28);padding:14px;border-radius:10px;background:rgba(0,13,56,.26);margin-top:16px}.manual-reservation h3{margin:0 0 12px;color:#ffce1a;font-size:12px}.manual-fields{display:grid;grid-template-columns:.45fr 1fr 1fr auto;gap:9px;align-items:end}.check-label{display:flex;align-items:center;gap:5px;padding-bottom:10px;white-space:nowrap}.check-label input{width:auto;margin:0;accent-color:#ffcd14}.manual-reservation .primary-button{margin-top:12px;padding:11px 14px}.numbers-owned{display:flex;flex-wrap:wrap;gap:5px;margin-top:7px}.release-number{border:0;border-radius:7px;padding:4px 7px;background:#123d8b;color:#fff;font:800 9px Montserrat;cursor:pointer}.release-number:hover{background:#e35334}.login-modal{width:min(440px,calc(100vw - 30px));text-align:left}.login-lock{float:right;margin:2px 20px 0 0;width:42px;height:42px;border-radius:50%;display:grid;place-items:center;background:#ffca16;color:#08296a;font-size:24px}.login-error{color:#ff927a;font-size:10px;min-height:12px;margin:0}
.history-status{background:#5d6f92!important;color:#e3ecfb!important;cursor:default!important}
.password-field{display:block;position:relative}.password-field input{padding-right:45px}.password-field button{position:absolute;right:5px;bottom:5px;width:34px;height:34px;border:0;border-radius:7px;background:transparent;color:#bcd5ff;font-size:16px;cursor:pointer}.password-field button:hover{background:rgba(255,207,18,.14);color:#ffcf1a}
@media(max-width:720px){.how-it-works{grid-template-columns:1fr 1fr;margin:0 20px}.how-it-works article:nth-child(2){border-right:0}.how-it-works article:nth-child(-n+2){border-bottom:1px solid rgba(123,170,244,.2)}.campaign{grid-template-columns:1fr;gap:35px;padding-bottom:65px}.campaign-feature{transform:none}.visual-stories{grid-template-columns:1fr 1fr;padding-bottom:70px}.story-video{grid-column:span 2}.manual-fields{grid-template-columns:1fr 1fr}.check-label{padding-bottom:0}}
.hero-stats{gap:16px}.hero-stats span{min-width:145px;padding:13px 15px;border-color:rgba(255,208,25,.42);background:linear-gradient(135deg,rgba(255,204,17,.18),rgba(17,76,165,.26));font-size:10px;text-transform:uppercase;letter-spacing:.4px}.hero-stats b{font-size:23px;letter-spacing:-1px;text-shadow:0 3px 13px rgba(255,191,0,.45)}
.visual-stories{grid-template-columns:1.25fr 1fr;gap:22px;padding-bottom:115px}.visual-stories img,.story-video{height:385px;object-fit:contain;border-radius:17px;background:#061b53}.story-video video{object-fit:contain}.campaign-settings{border:1px solid rgba(83,220,170,.32);padding:14px;border-radius:10px;background:rgba(6,72,67,.24);margin-top:16px}.campaign-settings h3{margin:0 0 12px;color:#7ce7b4;font-size:12px}.campaign-settings>div{display:grid;grid-template-columns:1fr 1fr;gap:10px}.campaign-settings .primary-button{margin-top:12px;padding:11px 14px;background:linear-gradient(135deg,#8cf0bc,#2fbf76)}
@media(max-width:720px){.hero-stats span{min-width:132px}.hero-stats b{font-size:19px}.visual-stories{grid-template-columns:1fr;padding-bottom:72px}.story-video{grid-column:auto}.visual-stories img,.story-video{height:360px}.campaign-settings>div{grid-template-columns:1fr}}
.ticket-modal{width:min(500px,calc(100vw - 28px));background:transparent;padding:0}.ticket-modal::backdrop{background:rgba(1,8,29,.77);backdrop-filter:blur(6px)}.receipt-paper{background:#fff;color:#0a2459;border-radius:16px 16px 0 0;overflow:hidden;box-shadow:0 22px 80px rgba(0,0,0,.55)}.receipt-top{background:linear-gradient(135deg,#082b79,#0a5bc7);min-height:125px;padding:18px 22px;display:flex;align-items:center;gap:15px;color:#fff;position:relative;overflow:hidden}.receipt-top:after{content:"";position:absolute;width:230px;height:230px;border:1px solid rgba(255,213,21,.4);border-radius:50%;right:-108px;top:-130px}.brand-seal{width:83px;height:83px;flex:0 0 83px;border-radius:50%;border:3px solid #ffcf17;background-image:url('assets/gana-express.png');background-size:226% auto;background-position:center top;box-shadow:0 3px 10px rgba(0,0,0,.35);position:relative;z-index:1}.receipt-title{position:relative;z-index:1}.receipt-title small{font-size:8px;font-weight:800;letter-spacing:1.2px;color:#ffd62a}.receipt-title h2{font-size:20px;letter-spacing:-1px;margin:4px 0}.receipt-title p{font-size:9px;margin:0;color:#d8e8ff}.receipt-body{padding:22px}.receipt-status{display:flex;justify-content:space-between;align-items:center;border-bottom:1px dashed #a7bad9;padding-bottom:13px;color:#47618b;font-size:10px}.receipt-status b{color:#118858;background:#e4f8ec;border-radius:20px;padding:6px 9px;font-size:9px}.receipt-person{margin:17px 0}.receipt-person small,.receipt-grid small,.receipt-total small{display:block;text-transform:uppercase;font-size:8px;letter-spacing:.8px;color:#6a7f9f;font-weight:800}.receipt-person strong{font-size:16px;display:block;margin:4px 0}.receipt-person span{font-size:11px;color:#47618b}.receipt-numbers{padding:13px;background:#edf5ff;border-radius:10px;display:flex;gap:7px;flex-wrap:wrap}.receipt-numbers b{background:#ffcf13;border-radius:6px;padding:7px 9px;font-size:14px}.receipt-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:17px 0}.receipt-grid b{font-size:12px;display:block;margin-top:3px}.receipt-total{display:flex;justify-content:space-between;align-items:end;border-top:1px solid #d9e4f4;padding:14px 0 3px}.receipt-total strong{font-size:23px;color:#0a4aad;letter-spacing:-1px}.receipt-foot{background:#092c79;color:#d9ebff;text-align:center;padding:12px;font-size:9px;line-height:1.5}.receipt-foot b{color:#ffcf19}.receipt-actions{display:flex;gap:9px;padding:12px;background:#e8f2ff;border-radius:0 0 16px 16px}.print-ticket,.send-ticket{flex:1;text-align:center;border:0;border-radius:8px;padding:12px 8px;font:800 10px Montserrat;cursor:pointer;text-decoration:none}.print-ticket{background:#0d3b94;color:white}.send-ticket{background:#24bd70;color:white}.receipt-close{color:#0a347c;z-index:2}@media print{body>*:not(#receiptModal){display:none!important}#receiptModal{display:block!important;position:static!important;width:100%!important;background:#fff!important}#receiptModal .receipt-actions,#receiptModal .close{display:none!important}.receipt-paper{box-shadow:none!important;border-radius:0!important}}
.receipt-foot{display:block;border:0;justify-content:initial;gap:0}.admin-actions{display:grid;gap:6px;min-width:104px}.generate-ticket{border:1px solid rgba(255,207,18,.48);border-radius:7px;padding:8px 7px;background:#0e3d91;color:#ffdc38;font:800 9px Montserrat;cursor:pointer}.generate-ticket:hover{background:#1553bd}@media(max-width:720px){.admin-actions{margin-left:auto}.receipt-grid{gap:9px}.receipt-status{align-items:flex-start;gap:7px;flex-direction:column}}
.share-ticket-image{flex:1;border:0;border-radius:8px;padding:12px 8px;background:#ffbf16;color:#082b78;font:800 10px Montserrat;cursor:pointer}.share-ticket-image:disabled{opacity:.65;cursor:wait}@media(max-width:520px){.receipt-actions{flex-wrap:wrap}.receipt-actions>*{min-width:calc(50% - 5px)}.receipt-actions .send-ticket{min-width:100%}}

/* Los diálogos se mantienen centrados en la pantalla, también al reservar desde celular. */
.modal,.ticket-modal,.group-modal{position:fixed;inset:50% auto auto 50%;transform:translate(-50%,-50%);margin:0;max-height:calc(100dvh - 24px);overflow-y:auto}
.admin-overview{grid-template-columns:repeat(4,1fr)}
.admin-overview .revenue-card{background:linear-gradient(145deg,rgba(24,177,99,.3),rgba(0,50,93,.48));border-color:rgba(66,222,142,.42)}
.admin-overview .revenue-card strong{color:#6df0aa;font-size:23px}
.group-modal{width:min(510px,calc(100vw - 28px));padding:32px 27px 28px;border:2px solid #d9b353;border-radius:27px;text-align:center;color:#fff;background:radial-gradient(circle at 50% -14%,rgba(71,199,104,.32),transparent 43%),radial-gradient(circle at 0 100%,rgba(15,119,66,.32),transparent 45%),linear-gradient(145deg,#082f1b,#012311);box-shadow:0 35px 90px rgba(0,0,0,.65)}
.group-modal::backdrop{background:rgba(1,8,29,.8);backdrop-filter:blur(6px)}
.group-modal .eyebrow{margin:0 0 8px;color:#f6d278;font-size:10px;font-weight:900;letter-spacing:1.6px}.group-clover{margin:2px auto 5px;width:48px;height:48px;display:grid;place-items:center;border-radius:50%;background:rgba(42,197,95,.16);border:1px solid rgba(151,241,140,.35);font-size:29px}.group-modal h2{margin:0;color:#fff;font-size:39px;line-height:1.03;letter-spacing:-1.6px}.group-modal h2 span{color:#ffcf1a}.group-modal>p:not(.eyebrow){margin:16px auto 22px;max-width:390px;color:#d9eedf;font-size:13px;line-height:1.68}.join-group,.member-button{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;min-height:57px;border-radius:14px;font:800 13px Montserrat;text-decoration:none;text-transform:uppercase;letter-spacing:.2px;cursor:pointer}.join-group{color:#fff;border:2px solid rgba(255,255,255,.92);background:linear-gradient(135deg,#28c565,#089947);box-shadow:0 10px 25px rgba(1,123,52,.36)}.member-button{margin-top:13px;padding:12px 18px;color:#fff4c5;border:1px dashed #e0bd62;background:rgba(8,37,18,.58)}.member-button span{font-size:20px;color:#ffd129}.member-button:hover{background:rgba(25,93,46,.7)}
@media(max-width:620px){.modal,.ticket-modal,.group-modal{max-height:calc(100dvh - 18px)}.modal{padding:26px 20px}.admin-overview{grid-template-columns:repeat(2,1fr)}.admin-overview article{padding:12px}.admin-overview strong{font-size:23px}.group-modal{padding:25px 20px 22px;border-radius:22px}.group-modal h2{font-size:32px}.group-modal>p:not(.eyebrow){font-size:12px;margin:13px auto 18px}.join-group,.member-button{min-height:51px;font-size:11px}.receipt-top{min-height:110px}.receipt-body{padding:18px}}

/* Ajustes de identidad Gana Express y lectura prioritaria en móvil. */
.mobile-draw-date{display:none}
.group-modal{background:radial-gradient(circle at 50% -15%,rgba(36,128,255,.42),transparent 41%),radial-gradient(circle at 0 100%,rgba(18,75,180,.42),transparent 45%),linear-gradient(145deg,#082966,#030f3d 78%);border-color:#ffcf1a;padding:27px 29px 29px}.group-modal:before{content:"";position:absolute;inset:11px;border:1px solid rgba(255,209,27,.35);border-radius:18px;pointer-events:none}.group-modal>*{position:relative;z-index:1}.group-logo{width:118px;height:118px;margin:0 auto 8px;border-radius:50%;border:3px solid #ffce1c;background-image:url('assets/gana-express.png');background-size:226% auto;background-position:center top;box-shadow:0 0 0 5px rgba(6,35,105,.65),0 12px 28px rgba(0,0,0,.48)}.group-modal .eyebrow{color:#ffcf1a;margin:6px 0 9px}.group-modal h2{font-size:35px;letter-spacing:-1.8px}.group-modal h2 span{font-family:Pacifico,cursive;font-size:.9em;letter-spacing:-.6px}.group-modal>p:not(.eyebrow){color:#cfe2ff;font-size:13px;margin:14px auto 21px}.join-group{border-color:#ffce1a;color:#08265f;background:linear-gradient(135deg,#ffe26b,#f5b80c);box-shadow:0 10px 25px rgba(0,0,0,.3)}.join-group:hover{filter:brightness(1.06)}.member-button{color:#f5fbff;border-color:rgba(255,211,33,.72);background:rgba(5,23,71,.76)}.member-button:hover{background:rgba(22,82,178,.62)}
.visual-stories{display:block;max-width:920px;padding-bottom:115px}.visual-stories .video-heading{margin:0 0 16px;text-align:center;color:#fff;font-size:clamp(21px,3vw,32px);font-weight:900;letter-spacing:-1.2px}.visual-stories .video-heading span{font-family:Pacifico,cursive;color:#ffce1a;font-weight:400;letter-spacing:-.5px}.visual-stories .story-video{width:100%;height:425px;max-width:820px;margin:auto}.visual-stories .story-video:hover{transform:translateY(-4px);border-color:#ffd12a}
@media(max-width:720px){.draw-info{display:none}.mobile-draw-date{display:flex;position:relative;z-index:2;align-items:center;justify-content:center;gap:10px;padding:11px 20px;background:linear-gradient(90deg,rgba(3,18,65,.98),rgba(10,61,146,.98),rgba(3,18,65,.98));border-bottom:1px solid rgba(255,207,22,.48);color:#cfe3ff;font-size:12px;letter-spacing:.2px}.mobile-draw-date span{display:flex;align-items:center;gap:7px;font-weight:700}.mobile-draw-date .pulse{width:7px;height:7px;box-shadow:0 0 0 4px rgba(67,230,149,.14)}.mobile-draw-date strong{color:#ffcf1a;font-size:13px}.visual-stories{padding:0 20px 72px}.visual-stories .video-heading{font-size:24px;line-height:1.2;margin-bottom:14px}.visual-stories .story-video{height:300px;border-radius:14px}.group-modal{padding:22px 19px 24px}.group-logo{width:96px;height:96px}.group-modal h2{font-size:30px}.group-modal>p:not(.eyebrow){font-size:12px}.group-modal .eyebrow{font-size:9px}.join-group,.member-button{font-size:11px}}
