:root{--wine:#55142f;--wine-2:#741f45;--plum:#3e1028;--pink:#f58d99;--blush:#fff6f4;--cream:#fbf0df;--ink:#351822;--muted:#7d6670;--mint:#45d7bb;--gold:#efb76d;--white:#fff;--shadow:0 28px 80px rgba(76,18,44,.18)}
*{box-sizing:border-box}html{min-height:100%;background:var(--blush)}body{margin:0;min-height:100%;color:var(--ink);font-family:Inter,Avenir,"Helvetica Neue",Arial,sans-serif}button,input{font:inherit}button{cursor:pointer}button:disabled{cursor:wait;opacity:.65}[hidden]{display:none!important}
.registration-page{background:radial-gradient(circle at 15% 10%,#fff 0,transparent 35%),linear-gradient(135deg,#fff9f6,#fae9ec)}
.registration-layout{min-height:100vh;display:grid;grid-template-columns:minmax(0,1.08fr) minmax(430px,.92fr)}
.campaign-hero{position:relative;min-height:100vh;overflow:hidden;background:#d9c7b0}.campaign-hero>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:54% center}.campaign-hero:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(35,10,20,.06),rgba(54,10,29,.1) 52%,rgba(54,10,29,.56))}.hero-copy{position:absolute;z-index:2;top:7%;left:7%;right:6%;max-width:720px;color:var(--wine)}.eyebrow,.section-kicker{text-transform:uppercase;letter-spacing:.17em;font-size:.74rem;font-weight:800}.hero-copy h1{margin:.55rem 0 1rem;font-family:Georgia,"Times New Roman",serif;font-weight:400;font-size:clamp(3.1rem,5.5vw,6.6rem);line-height:.86;letter-spacing:-.055em;text-transform:uppercase}.hero-copy h1 em{font-style:italic;color:#7f244a}.hero-copy>p:not(.eyebrow){max-width:520px;font-size:1.08rem;line-height:1.6}.hero-pills{position:absolute;top:calc(100vh - 145px);display:flex;gap:.55rem;flex-wrap:wrap;white-space:nowrap}.hero-pills span{padding:.7rem .95rem;border:1px solid rgba(255,255,255,.52);border-radius:99px;background:rgba(62,16,40,.52);color:#fff;backdrop-filter:blur(10px);font-size:.79rem;font-weight:700}.hero-wave{position:absolute;z-index:3;bottom:-110px;left:-5%;width:110%;height:190px;border-radius:50% 50% 0 0;background:var(--wine);border-top:8px solid var(--pink)}
.registration-card{display:flex;align-items:center;justify-content:center;min-height:100vh;padding:5vw clamp(2rem,4.5vw,5rem);background:linear-gradient(160deg,rgba(255,255,255,.94),rgba(255,246,244,.96));position:relative}.registration-card:before{content:"";position:absolute;top:5%;right:7%;width:90px;height:90px;border-radius:50%;background:radial-gradient(circle,var(--pink) 0 7%,transparent 8% 100%);background-size:18px 18px;opacity:.22}.registration-card>div,.success-panel{width:min(100%,640px)}
.brand-lockup{display:inline-flex;align-items:baseline;gap:.55rem;margin-bottom:2.2rem}.brand-lockup span{font-family:Georgia,serif;font-style:italic;color:#9b3280;font-size:3rem;letter-spacing:-.08em}.brand-lockup small{font-weight:900;font-style:italic;color:#222}.section-kicker{color:#a13a5b;margin:0 0 .7rem}.registration-card h2{font-family:Georgia,serif;font-weight:400;font-size:clamp(2.2rem,3.3vw,4rem);line-height:1;margin:0;color:var(--wine);letter-spacing:-.04em}.section-intro{color:var(--muted);line-height:1.55;margin:1rem 0 1.8rem}
.field{display:grid;gap:.42rem;margin-bottom:1rem}.field-grid{display:grid;grid-template-columns:1fr 120px;gap:1rem}.field label,.supplement-field legend{font-weight:800;font-size:.82rem;color:#5d2b3e}.field input{width:100%;border:1px solid #e7d3d7;background:rgba(255,255,255,.86);border-radius:15px;padding:.94rem 1rem;color:var(--ink);outline:none;transition:.2s box-shadow,.2s border-color}.field input:focus{border-color:var(--pink);box-shadow:0 0 0 4px rgba(245,141,153,.16)}.field small,.supplement-field>small,.privacy-error{color:#b02346;min-height:1rem;font-size:.72rem}
.supplement-field{border:0;padding:0;margin:1.35rem 0}.supplement-field p{margin:.35rem 0 .8rem;color:var(--muted);font-size:.8rem}.chip-grid{display:flex;flex-wrap:wrap;gap:.52rem}.select-chip input{position:absolute;opacity:0;pointer-events:none}.select-chip span{display:block;padding:.62rem .88rem;border:1px solid #e8d4da;border-radius:99px;background:#fff;color:#6e4251;font-size:.78rem;font-weight:700;transition:.18s}.select-chip input:checked+span{background:var(--wine);border-color:var(--wine);color:#fff;transform:translateY(-2px);box-shadow:0 8px 20px rgba(85,20,47,.2)}.privacy-check{display:flex;gap:.7rem;align-items:flex-start;color:var(--muted);font-size:.72rem;line-height:1.45}.privacy-check input{accent-color:var(--wine);margin-top:.15rem}.primary-button{width:100%;display:flex;justify-content:space-between;align-items:center;margin-top:1.2rem;border:0;border-radius:16px;padding:1rem 1.15rem;background:linear-gradient(120deg,var(--wine),#9b315c);color:#fff;font-weight:850;box-shadow:0 15px 30px rgba(85,20,47,.22)}.primary-button b{display:grid;place-items:center;width:34px;height:34px;border-radius:50%;background:rgba(255,255,255,.16);font-size:1.2rem}.primary-button.is-loading span:after{content:" ···";animation:pulse 1s infinite}.form-message{margin-top:1rem;padding:.8rem;border-radius:12px;background:#fff0f1;color:#a32044;font-size:.82rem}
.success-panel{text-align:center}.success-burst{width:78px;height:78px;display:grid;place-items:center;margin:0 auto 1.4rem;border-radius:24px;background:linear-gradient(135deg,var(--pink),var(--wine-2));color:#fff;font-size:2.2rem;box-shadow:0 18px 40px rgba(116,31,69,.25);animation:pop .6s cubic-bezier(.2,.8,.2,1)}.success-panel>p:not(.section-kicker):not(.sync-note){color:var(--muted);line-height:1.55}.number-ticket{margin:2rem auto 1rem;padding:1.1rem 2rem;border:1px solid #edced7;border-radius:24px;background:#fff;box-shadow:var(--shadow);display:grid;gap:.25rem;max-width:340px}.number-ticket span{text-transform:uppercase;letter-spacing:.18em;font-size:.68rem;font-weight:800;color:var(--muted)}.number-ticket strong{font-family:Georgia,serif;font-size:4.4rem;color:var(--wine);line-height:1}.discount-card{max-width:420px;margin:1rem auto;padding:1.3rem;border-radius:24px;background:linear-gradient(135deg,var(--wine),#8f2c59);color:#fff;display:grid;gap:.55rem}.discount-card span{font-size:.8rem}.discount-card strong{font-size:2rem;letter-spacing:.04em}.discount-card a{color:#ffd9da;font-size:.8rem;font-weight:800}.sync-note{font-size:.75rem;color:var(--muted)}
@keyframes pop{0%{transform:scale(.35) rotate(-15deg);opacity:0}70%{transform:scale(1.12) rotate(3deg)}100%{transform:none;opacity:1}}@keyframes pulse{50%{opacity:.35}}

/* Sorteo público */
.draw-page{min-height:100vh;overflow:hidden;background:radial-gradient(circle at 50% 15%,#8d2d59 0,#4c102d 42%,#250716 100%);color:#fff}.draw-stage{min-height:100vh;display:grid;place-items:center;position:relative;padding:5vh 5vw;text-align:center}.draw-stage:before,.draw-stage:after{content:"";position:absolute;border-radius:50%;filter:blur(5px);opacity:.55}.draw-stage:before{width:34vw;height:34vw;top:-18vw;left:-8vw;background:#f07d91}.draw-stage:after{width:32vw;height:32vw;right:-14vw;bottom:-16vw;background:#18cbb4}.draw-content{position:relative;z-index:2;width:min(1100px,100%)}.draw-brand{display:inline-flex;align-items:baseline;gap:.6rem}.draw-brand span{font:italic 3rem Georgia,serif;color:#ffb5c0}.draw-brand small{font-weight:900}.draw-kicker{text-transform:uppercase;letter-spacing:.25em;font-size:.75rem;color:#ffb8c7;margin:2rem 0 .7rem}.draw-prize{font:400 clamp(2.6rem,6vw,6rem)/.95 Georgia,serif;margin:0 auto;max-width:950px}.draw-status{color:#e6cad3;margin:1rem 0 2.2rem}.number-machine{display:flex;justify-content:center;gap:clamp(.35rem,1.4vw,1rem);perspective:800px}.number-machine span{width:clamp(54px,9vw,112px);height:clamp(78px,13vw,150px);display:grid;place-items:center;border:1px solid rgba(255,255,255,.25);border-radius:clamp(13px,2vw,25px);background:linear-gradient(180deg,rgba(255,255,255,.18),rgba(255,255,255,.06));font:700 clamp(3rem,8vw,7.2rem)/1 Georgia,serif;box-shadow:inset 0 1px rgba(255,255,255,.28),0 25px 60px rgba(18,2,10,.28);backdrop-filter:blur(14px)}.number-machine.is-spinning span{animation:tumble .25s infinite alternate}.winner-card{margin:2rem auto 0;max-width:720px;padding:1.4rem 2rem;border-radius:24px;background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.24);backdrop-filter:blur(18px);animation:winner .7s cubic-bezier(.2,.8,.2,1)}.winner-card small{text-transform:uppercase;letter-spacing:.18em;color:#ffc3cd}.winner-card h2{font:400 clamp(2.1rem,4vw,4.5rem)/1 Georgia,serif;margin:.45rem 0}.winner-card p{margin:0;color:#f4dce4}.waiting-mark{margin:3rem auto;width:92px;height:92px;border:2px solid rgba(255,255,255,.25);border-top-color:#ff9eae;border-radius:50%;animation:spin 1.2s linear infinite}.confetti{position:fixed;inset:0;pointer-events:none;z-index:20;overflow:hidden}.confetti i{position:absolute;top:-10vh;width:10px;height:20px;background:var(--c);animation:fall var(--d) linear forwards;transform:rotate(var(--r))}
@keyframes tumble{to{transform:translateY(-4px) rotateX(5deg);filter:brightness(1.2)}}@keyframes winner{from{transform:scale(.7);opacity:0}70%{transform:scale(1.04)}to{transform:none;opacity:1}}@keyframes spin{to{transform:rotate(360deg)}}@keyframes fall{to{transform:translate3d(var(--x),115vh,0) rotate(900deg)}}

/* Administrador */
.admin-page{min-height:100vh;background:#f8eff1}.admin-shell{width:min(1180px,calc(100% - 2rem));margin:auto;padding:2rem 0 5rem}.admin-top{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:2rem}.admin-top h1{font:400 2.3rem Georgia,serif;color:var(--wine);margin:0}.admin-top p{color:var(--muted);margin:.35rem 0 0}.admin-grid{display:grid;grid-template-columns:1fr .92fr;gap:1.3rem}.admin-card{background:#fff;border:1px solid #ead9dd;border-radius:24px;padding:1.5rem;box-shadow:0 18px 50px rgba(75,16,44,.08)}.admin-card h2{font:400 1.7rem Georgia,serif;color:var(--wine);margin:0 0 .4rem}.admin-card>p{color:var(--muted);font-size:.85rem}.prize-row{display:flex;align-items:center;gap:.65rem;margin:.65rem 0}.prize-row input{flex:1;border:1px solid #e5d1d7;border-radius:12px;padding:.8rem}.icon-button,.secondary-button,.danger-link{border:0;border-radius:12px;padding:.75rem .9rem;font-weight:800}.icon-button{background:#fff1f3;color:#a42249}.secondary-button{background:#f2e3e8;color:var(--wine)}.admin-actions{display:flex;gap:.7rem;flex-wrap:wrap;margin-top:1rem}.draw-control{text-align:center;background:linear-gradient(145deg,var(--wine),#321022);color:#fff}.draw-control h2{color:#fff}.draw-control>p{color:#dcbfc9}.next-prize{margin:1.4rem 0;padding:1.3rem;border:1px solid rgba(255,255,255,.18);border-radius:18px;background:rgba(255,255,255,.08)}.next-prize span{font-size:.72rem;text-transform:uppercase;letter-spacing:.18em;color:#ffb0bd}.next-prize strong{display:block;font:400 2rem Georgia,serif;margin-top:.35rem}.play-button{width:130px;height:130px;border:0;border-radius:50%;background:linear-gradient(135deg,#ff8fa0,#d83f6d);color:#fff;font-size:3.2rem;box-shadow:0 18px 45px rgba(244,76,121,.35);transition:.2s transform}.play-button:hover{transform:scale(1.05)}.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:.7rem;margin-top:1.2rem}.stat{padding:.8rem;border-radius:14px;background:rgba(255,255,255,.08)}.stat strong{display:block;font-size:1.4rem}.stat span{font-size:.7rem;color:#d9bbc5}.history{grid-column:1/-1}.history table{width:100%;border-collapse:collapse;font-size:.84rem}.history th,.history td{text-align:left;padding:.8rem;border-bottom:1px solid #eee0e4}.history th{color:var(--muted);font-size:.69rem;text-transform:uppercase;letter-spacing:.1em}.login-card{width:min(440px,calc(100% - 2rem));margin:14vh auto;background:#fff;padding:2rem;border-radius:24px;box-shadow:var(--shadow)}.login-card h1{font:400 2.3rem Georgia,serif;color:var(--wine)}.login-card input{width:100%;padding:1rem;border:1px solid #e2ccd3;border-radius:14px}.admin-message{margin-top:1rem;font-size:.82rem;color:#a32044}
@media(max-width:980px){.registration-layout{grid-template-columns:1fr}.campaign-hero{min-height:72vh}.registration-card{min-height:auto;padding:4rem 1.25rem 5rem}.hero-wave{display:none}.hero-pills{top:calc(72vh - 90px)}.admin-grid{grid-template-columns:1fr}.history{grid-column:auto}}
@media(max-width:560px){.campaign-hero{min-height:65vh}.campaign-hero>img{object-position:51% center}.hero-copy{top:7%;left:1.2rem;right:1.2rem}.hero-copy h1{font-size:2.65rem}.hero-copy>p:not(.eyebrow){font-size:.9rem;max-width:88%}.hero-pills{top:calc(65vh - 70px);gap:.3rem}.hero-pills span{font-size:.62rem;padding:.5rem .6rem}.field-grid{grid-template-columns:1fr 90px}.registration-card{padding:3rem 1rem}.brand-lockup{margin-bottom:1.4rem}.brand-lockup span{font-size:2.5rem}.number-machine span{width:19vw;height:28vw}.admin-top{align-items:flex-start;flex-direction:column}.stats{grid-template-columns:1fr}.history{overflow:auto}.history table{min-width:650px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important}}
