:root{--bg:#f5f7fb;--card:#fff;--ink:#172033;--muted:#667085;--primary:#2563eb;--green:#16a34a;--red:#dc2626;--amber:#d97706;--border:#e4e7ec}
*{box-sizing:border-box}body{margin:0;font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;background:var(--bg);color:var(--ink)}
a{color:inherit}.wrap{max-width:1180px;margin:auto;padding:20px}.topbar{background:#111827;color:#fff}.topbar .wrap{display:flex;align-items:center;justify-content:space-between;padding-top:14px;padding-bottom:14px}.brand{font-weight:800;letter-spacing:.2px}.version{font-size:12px;color:#aab2c0}
.nav{display:flex;gap:10px;flex-wrap:wrap}.nav a{padding:8px 12px;text-decoration:none;border-radius:9px;background:#1f2937}.nav a:hover{background:#374151}.hero{padding:28px;border-radius:20px;background:linear-gradient(135deg,#111827,#1e3a8a);color:#fff;margin:20px 0;box-shadow:0 15px 40px rgba(17,24,39,.18)}.hero h1{margin:0 0 8px;font-size:clamp(28px,5vw,48px)}.hero p{margin:5px 0;color:#dbeafe}.winner{display:flex;gap:18px;align-items:center;margin-top:20px;padding:18px;background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.2);border-radius:16px}.winner-ball{min-width:90px;height:90px;border-radius:50%;display:grid;place-items:center;background:#fff;color:#111827;font-size:38px;font-weight:900}.grid{display:grid;grid-template-columns:repeat(7,1fr);gap:10px}.num{background:var(--card);border:1px solid var(--border);border-radius:14px;padding:14px;text-align:center;min-height:112px;display:flex;flex-direction:column;justify-content:center;box-shadow:0 4px 15px rgba(16,24,40,.04)}.num .n{font-size:27px;font-weight:900}.num .who{font-size:12px;color:var(--muted);margin-top:5px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.num.available{border-style:dashed}.num.reserved{border-color:#f59e0b;background:#fffbeb}.num.paid{border-color:#22c55e;background:#f0fdf4}.num.winner{border:3px solid #eab308;background:#fefce8;transform:scale(1.03)}
.card{background:#fff;border:1px solid var(--border);border-radius:16px;padding:20px;margin:16px 0;box-shadow:0 6px 18px rgba(16,24,40,.05)}.cards{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.stat{background:#fff;border:1px solid var(--border);padding:18px;border-radius:14px}.stat strong{font-size:28px;display:block}.muted{color:var(--muted)}.btn{display:inline-block;border:0;border-radius:10px;padding:10px 14px;font-weight:700;cursor:pointer;text-decoration:none;background:#e5e7eb;color:#111827}.btn.primary{background:var(--primary);color:#fff}.btn.green{background:var(--green);color:#fff}.btn.red{background:var(--red);color:#fff}.btn.amber{background:var(--amber);color:#fff}.btn.small{padding:7px 9px;font-size:12px}.actions{display:flex;gap:8px;flex-wrap:wrap}.alert{padding:12px 14px;border-radius:10px;margin:12px 0}.alert.ok{background:#ecfdf3;color:#166534}.alert.err{background:#fef2f2;color:#991b1b}.alert.info{background:#eff6ff;color:#1e40af}
label{font-weight:700;font-size:13px;display:block;margin-bottom:5px}input,select,textarea{width:100%;padding:10px 11px;border:1px solid #d0d5dd;border-radius:9px;background:#fff}textarea{min-height:90px}.form-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}.table-wrap{overflow:auto}table{width:100%;border-collapse:collapse}th,td{padding:10px;border-bottom:1px solid #eee;text-align:left;white-space:nowrap}th{font-size:12px;color:#667085;text-transform:uppercase}.login{max-width:430px;margin:60px auto}.footer{text-align:center;padding:30px;color:#667085;font-size:12px}
@media(max-width:850px){.grid{grid-template-columns:repeat(5,1fr)}.cards{grid-template-columns:repeat(2,1fr)}.form-grid{grid-template-columns:1fr}}
@media(max-width:520px){.wrap{padding:12px}.grid{grid-template-columns:repeat(3,1fr);gap:7px}.num{min-height:95px;padding:8px}.winner{align-items:flex-start}.winner-ball{min-width:72px;height:72px;font-size:30px}.cards{grid-template-columns:1fr 1fr}.topbar .wrap{align-items:flex-start;gap:12px;flex-direction:column}}

/* v0.1.3: sorteos, buscador de Comodín y selector visual de números */
.draw-cards{display:grid;grid-template-columns:1fr 1fr;gap:14px}.draw-card{margin:0}.draw-row{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-top:8px}.draw-number{font-size:34px;font-weight:900;line-height:1.1}.comodin-box{min-width:112px;padding:12px 16px;border-radius:16px;background:#111827;color:#fff;text-align:center}.comodin-box span{display:block;font-size:11px;letter-spacing:.12em;opacity:.75}.comodin-box strong{display:block;font-size:38px;line-height:1.1}.comodin-box.compact{min-width:95px;padding:8px 12px}.comodin-box.compact strong{font-size:31px}
.lookup-form{display:grid;grid-template-columns:minmax(180px,320px) auto;gap:12px;align-items:end}.lookup-button{padding-bottom:1px}.lookup-result{margin-top:14px;padding:16px;border:1px solid #bbf7d0;background:#f0fdf4;border-radius:14px;display:grid;grid-template-columns:repeat(4,1fr);align-items:center;gap:14px}.lookup-result>div:not(.comodin-box){display:flex;flex-direction:column;gap:4px}.manual-lookup{margin-top:16px;border-top:1px solid var(--border);padding-top:14px}.manual-lookup summary{cursor:pointer;font-weight:800}
.number-picker{display:grid;grid-template-columns:repeat(8,1fr);gap:9px}.pick-number{min-width:0;text-decoration:none;border:2px solid var(--border);background:#fff;border-radius:13px;padding:12px 7px;text-align:center;transition:.15s ease;overflow:hidden}.pick-number:hover{transform:translateY(-2px);box-shadow:0 8px 18px rgba(16,24,40,.08);border-color:#93c5fd}.pick-number strong{display:block;font-size:24px}.pick-number span{display:block;margin-top:3px;font-size:10px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.pick-number.available{border-style:dashed}.pick-number.reserved{border-color:#f59e0b;background:#fffbeb}.pick-number.paid{border-color:#22c55e;background:#f0fdf4}.pick-number.selected{outline:3px solid #2563eb;outline-offset:2px}.assign-card{scroll-margin-top:15px}.assign-title{display:flex;align-items:center;gap:14px;margin-bottom:18px}.assign-title h2{margin:0}.big-number{width:66px;height:66px;border-radius:50%;display:grid;place-items:center;background:#2563eb;color:#fff;font-size:26px;font-weight:900}.number-link{display:inline-grid;place-items:center;width:38px;height:38px;border-radius:50%;background:#eff6ff;color:#1d4ed8;text-decoration:none;font-weight:900}
@media(max-width:850px){.draw-cards{grid-template-columns:1fr}.lookup-result{grid-template-columns:1fr 1fr}.number-picker{grid-template-columns:repeat(6,1fr)}}
@media(max-width:520px){.draw-row{align-items:flex-start}.draw-number{font-size:29px}.comodin-box{min-width:92px}.comodin-box strong{font-size:32px}.lookup-form{grid-template-columns:1fr}.lookup-button .btn{width:100%}.lookup-result{grid-template-columns:1fr}.number-picker{grid-template-columns:repeat(4,1fr)}.pick-number{padding:10px 5px}.pick-number strong{font-size:21px}}


/* v0.2.0 · cuentas, perfiles y administración de usuarios */
.brand-link{text-decoration:none;color:inherit}.full{width:100%}.account-card{max-width:500px}.account-wide{max-width:900px;margin:24px auto}.password-row{display:grid;grid-template-columns:1fr auto;gap:8px}.field-help{font-size:11px;color:var(--muted);margin-top:4px}.login-links{margin-top:18px;text-align:center;color:var(--muted)}.login-links a{color:var(--primary);font-weight:800}.check-row{display:flex;gap:10px;align-items:flex-start}.check-row input{width:auto;margin-top:3px}.check-row label{font-weight:500}.profile-grid{display:grid;grid-template-columns:minmax(0,2fr) minmax(270px,1fr);gap:16px}.my-numbers{display:flex;gap:10px;flex-wrap:wrap}.my-number{width:78px;border:2px solid var(--border);border-radius:14px;padding:10px;text-align:center}.my-number strong{display:block;font-size:25px}.my-number span{font-size:11px;color:var(--muted)}.my-number.reserved{border-color:#f59e0b;background:#fffbeb}.my-number.paid{border-color:#22c55e;background:#f0fdf4}.profile-summary>div{display:flex;flex-direction:column;gap:4px}.profile-summary span{color:var(--muted)}.account-cta{display:flex;justify-content:space-between;align-items:center;gap:20px}.account-cta h2{margin:0 0 6px}.account-cta p{margin:0}.nav a[href="users.php"]{background:#7c3aed}.nav a[href="users.php"]:hover{background:#6d28d9}
@media(max-width:850px){.profile-grid{grid-template-columns:1fr}.account-cta{align-items:flex-start;flex-direction:column}}
@media(max-width:520px){.account-wide{margin:10px 0}.password-row{grid-template-columns:1fr}.password-row .btn{width:100%}.account-cta .actions,.account-cta .btn{width:100%}}

/* =====================================================
   Sorteos Web v0.3.0 · plataforma multi-sorteo
   ===================================================== */
:root{--blue:#2563eb;--blue2:#1d4ed8;--purple:#7c3aed;--soft:#f8fafc;--slate:#0f172a;--gold:#ca8a04}
body{overflow-x:hidden}.topbar{position:sticky;top:0;z-index:50}.topbar-inner{max-width:1440px}.brand-area{flex:0 0 auto}.nav{overflow-x:auto;flex-wrap:nowrap;max-width:min(1100px,75vw);padding-bottom:2px;scrollbar-width:thin}.nav a{white-space:nowrap;position:relative}.nav-count{display:inline-grid;place-items:center;min-width:19px;height:19px;padding:0 5px;border-radius:999px;background:#ef4444;color:#fff;font-size:10px;font-weight:900;margin-left:5px}.wrap{max-width:1400px}.page-head{display:flex;justify-content:space-between;align-items:flex-start;gap:22px;margin:22px 0}.page-head h1{margin:0 0 6px;font-size:clamp(28px,4vw,42px)}.page-head p{margin:0}.eyebrow{font-size:12px;font-weight:900;letter-spacing:.12em;color:#475569;text-transform:uppercase;margin-bottom:7px}.eyebrow.light{color:#bfdbfe}.span-2,.form-section{grid-column:1/-1}.form-section{border-bottom:1px solid var(--border);padding-bottom:4px}.form-section h2{margin:0}.mt{margin-top:14px}.mb{margin-bottom:10px}.align-end{display:flex;align-items:flex-end}.center{text-align:center}.centered{margin:0 auto}.block{display:block}.grow{flex:1;min-width:170px}.small-text{font-size:12px}.hidden{display:none!important}.wrap-cell{white-space:normal;min-width:280px}.inline-link{display:inline-block;margin-top:7px;font-weight:800;color:var(--primary)}hr{border:0;border-top:1px solid var(--border);margin:20px 0}
.metric-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:16px 0}.metric-grid.compact{grid-template-columns:repeat(4,minmax(0,1fr))}.metric{min-width:0;background:#fff;border:1px solid var(--border);padding:18px;border-radius:16px;box-shadow:0 5px 16px rgba(15,23,42,.04);text-decoration:none;color:inherit}.metric span{display:block;color:var(--muted);font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.04em}.metric strong{display:block;font-size:clamp(24px,3vw,34px);line-height:1.08;margin:5px 0;max-width:100%;overflow-wrap:anywhere}.metric small{display:block;color:var(--muted)}.metric.live{border-color:#a7f3d0;background:#f0fdf4}.money-fit{font-size:clamp(20px,2.6vw,32px)!important;white-space:normal;overflow-wrap:anywhere}.date-metric{font-size:18px!important}.role-metric{font-size:20px!important}.payment-summary{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px}.metric.mini strong{font-size:27px}
.dashboard-grid{display:grid;grid-template-columns:minmax(0,2.2fr) minmax(280px,.9fr);gap:16px;align-items:start}.dashboard-grid.equal{grid-template-columns:repeat(2,minmax(0,1fr))}.section-title{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;margin-bottom:12px}.section-title h2{margin:0}.section-title p{margin:3px 0 0}.section-title>a{color:var(--primary);font-weight:800;text-decoration:none}.empty{padding:24px;text-align:center;color:var(--muted);background:#f8fafc;border:1px dashed #cbd5e1;border-radius:12px}.empty.tall{min-height:360px;display:grid;place-items:center}.feed{display:flex;flex-direction:column}.feed-row{display:flex;align-items:center;gap:12px;padding:11px 2px;border-bottom:1px solid #eef2f6;text-decoration:none}.feed-row:last-child{border-bottom:0}.feed-row>span:nth-child(2){flex:1;min-width:0}.feed-row small{display:block;color:var(--muted);margin-top:3px;white-space:normal}.feed-icon{width:34px;height:34px;border-radius:10px;display:grid;place-items:center;background:#eff6ff;color:#1d4ed8;font-weight:900;flex:none}.loto-mini .draw-number{font-size:clamp(28px,4vw,42px)}
.badge{display:inline-flex;align-items:center;justify-content:center;padding:5px 9px;border-radius:999px;font-size:11px;font-weight:900;white-space:nowrap}.badge.ok{background:#dcfce7;color:#166534}.badge.warn{background:#fef3c7;color:#92400e}.badge.bad{background:#fee2e2;color:#991b1b}.badge.neutral{background:#e2e8f0;color:#334155}.badge.gold{background:#fef9c3;color:#854d0e;border:1px solid #fde047}
.raffle-admin-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.raffle-admin-card{padding:0;overflow:hidden;margin:0;display:grid;grid-template-columns:220px minmax(0,1fr)}.raffle-thumb{width:100%;height:100%;min-height:230px;object-fit:cover;background:#e2e8f0}.raffle-thumb.placeholder{display:grid;place-items:center;font-size:62px}.raffle-card-body{padding:20px;min-width:0}.raffle-card-body h2{margin:6px 0}.clamp-2{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.mini-metrics{display:flex;gap:12px;flex-wrap:wrap;margin:14px 0}.mini-metrics span{padding:8px 10px;background:#f8fafc;border-radius:10px;font-size:12px}.mini-metrics b{display:block}.form-preview{max-width:260px;max-height:150px;display:block;object-fit:cover;border-radius:12px;margin-top:10px;border:1px solid var(--border)}.photo-grid,.gallery{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.photo-admin{border:1px solid var(--border);border-radius:14px;overflow:hidden;padding-bottom:8px}.photo-admin img,.gallery img{width:100%;height:180px;object-fit:cover;display:block}.photo-admin form{padding:8px 8px 0}.gallery a{overflow:hidden;border-radius:14px;border:1px solid var(--border);display:block}.gallery img{transition:.2s}.gallery img:hover{transform:scale(1.03)}
.number-picker .pick-number{position:relative}.pick-number.payment_pending{border-color:#fb923c;background:#fff7ed}.pick-number.winner{border-color:#eab308!important;background:#fefce8!important;box-shadow:0 0 0 3px #fef08a}.pick-number.mine{outline:3px solid #3b82f6;outline-offset:1px}.pick-number em{position:absolute;top:4px;right:4px;font-size:8px;font-style:normal;font-weight:900;background:#eab308;color:#422006;padding:2px 4px;border-radius:5px}.filter-bar{padding:14px 18px}.filter-bar form{max-width:600px}.buyer-profile{background:#f8fafc;border:1px solid #e2e8f0;border-radius:15px;padding:18px;margin-bottom:16px}.buyer-profile h3{margin:0}.buyer-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:14px 0}.buyer-grid>div{min-width:0;padding:11px;border:1px solid #e2e8f0;background:#fff;border-radius:10px}.buyer-grid span,.purchase-strip span{display:block;font-size:10px;text-transform:uppercase;color:var(--muted);font-weight:800}.buyer-grid b,.purchase-strip b{display:block;margin-top:3px;overflow-wrap:anywhere}.purchase-strip{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:8px;margin:15px 0}.purchase-strip>div{padding:10px;background:#f8fafc;border-radius:10px}.proof-box{display:flex;justify-content:space-between;align-items:center;gap:15px;padding:15px;border:1px solid #bfdbfe;background:#eff6ff;border-radius:12px;margin:14px 0}
.winner-banner{display:flex;align-items:center;gap:15px;background:#fefce8;border:1px solid #fde68a;border-radius:14px;padding:14px;margin:12px 0 18px}.winner-ball.small{min-width:62px;width:62px;height:62px;font-size:26px}.compact-winner{padding:10px;margin-top:12px}.settings-stack{display:flex;flex-direction:column;gap:0}.toggle-line{display:flex;align-items:center;gap:10px;font-size:14px}.toggle-line input{width:auto}.install-card{max-width:900px;margin:28px auto}
.chat-layout{display:grid;grid-template-columns:350px minmax(0,1fr);gap:15px;align-items:start}.chat-list{padding:12px;max-height:720px;overflow:auto}.chat-list h2{padding:5px 7px}.chat-item{display:flex;flex-direction:column;gap:4px;padding:12px;border-radius:12px;text-decoration:none;border:1px solid transparent;margin-bottom:6px}.chat-item:hover,.chat-item.active{background:#eff6ff;border-color:#bfdbfe}.chat-item>span:not(.badge),.chat-item small{font-size:12px;color:var(--muted)}.chat-item .badge{align-self:flex-start}.chat-panel{min-height:500px}.chat-head{display:flex;justify-content:space-between;gap:15px;border-bottom:1px solid var(--border);padding-bottom:12px}.chat-head h2{margin:0}.messages{display:flex;flex-direction:column;gap:10px;min-height:280px;max-height:520px;overflow:auto;padding:16px 0}.message{max-width:78%;padding:12px 14px;border-radius:15px;line-height:1.45}.message.client{align-self:flex-start;background:#f1f5f9;border-bottom-left-radius:4px}.message.staff{align-self:flex-end;background:#dbeafe;border-bottom-right-radius:4px}.message-meta{font-size:10px;color:#64748b;margin-bottom:5px;font-weight:800}.chat-compose{border-top:1px solid var(--border);padding-top:14px}.public-chat{margin-top:16px}
.bar-chart{display:flex;flex-direction:column;gap:10px}.bar-row{display:grid;grid-template-columns:44px minmax(100px,1fr) 42px 72px;align-items:center;gap:9px;font-size:12px}.bar-track{height:13px;background:#e2e8f0;border-radius:999px;overflow:hidden}.bar-fill{height:100%;background:linear-gradient(90deg,#2563eb,#60a5fa);border-radius:999px}.device-list{display:flex;flex-direction:column;gap:10px}.device-list>div{display:flex;justify-content:space-between;padding:14px;border-radius:11px;background:#f8fafc}.device-list strong{font-size:20px}
.public-hero{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(260px,.7fr);gap:25px;align-items:center;margin:22px 0;padding:clamp(26px,5vw,55px);border-radius:24px;background:linear-gradient(135deg,#0f172a,#1e40af);color:#fff;box-shadow:0 18px 45px rgba(15,23,42,.2)}.public-hero h1{font-size:clamp(34px,6vw,64px);line-height:1;margin:8px 0 14px}.public-hero p{color:#dbeafe;max-width:760px;font-size:17px}.light-btn{background:#fff!important;color:#0f172a!important}.hero-draw{border:1px solid rgba(255,255,255,.2);background:rgba(255,255,255,.1);border-radius:18px;padding:22px}.hero-draw span,.hero-draw small{display:block;color:#bfdbfe}.hero-draw strong{display:block;font-size:clamp(28px,5vw,44px);margin:6px 0}.public-title{margin-top:32px}.public-raffle-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.public-raffle-card{display:flex;flex-direction:column;border-radius:19px;overflow:hidden;background:#fff;border:1px solid var(--border);box-shadow:0 8px 25px rgba(15,23,42,.06);text-decoration:none;transition:.2s}.public-raffle-card:hover{transform:translateY(-4px);box-shadow:0 14px 32px rgba(15,23,42,.12)}.public-raffle-card>img,.public-raffle-placeholder{width:100%;height:230px;object-fit:cover;background:#e2e8f0}.public-raffle-placeholder{display:grid;place-items:center;font-size:70px}.public-raffle-content{padding:18px;display:flex;flex-direction:column;flex:1}.public-raffle-content h2{margin:5px 0 8px}.public-raffle-content p{color:var(--muted);flex:1}.raffle-facts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;margin:10px 0}.raffle-facts span{min-width:0;padding:8px;background:#f8fafc;border-radius:9px}.raffle-facts small{display:block;color:var(--muted);font-size:9px;text-transform:uppercase}.raffle-facts b{display:block;font-size:12px;margin-top:3px;overflow-wrap:anywhere}.progress{height:7px;background:#e2e8f0;border-radius:999px;overflow:hidden}.progress span{display:block;height:100%;background:#22c55e}.card-action{font-weight:900;color:#2563eb;margin-top:12px}.public-note{margin-top:25px}
.raffle-public-head{position:relative;min-height:280px;border-radius:22px;overflow:hidden;margin:22px 0;background:linear-gradient(135deg,#111827,#1d4ed8);display:flex;align-items:flex-end}.raffle-cover{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.raffle-public-head:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(15,23,42,.88),rgba(15,23,42,.42),rgba(15,23,42,.1))}.raffle-head-overlay{position:relative;z-index:2;color:#fff;padding:clamp(24px,5vw,48px);max-width:800px}.raffle-head-overlay h1{font-size:clamp(34px,5vw,55px);margin:10px 0}.raffle-head-overlay p{font-size:17px;color:#e2e8f0}.public-metrics{margin-bottom:20px}.prize-text{font-size:clamp(22px,3vw,34px);font-weight:900;color:#1d4ed8;margin-bottom:14px}.legend{display:flex;gap:16px;flex-wrap:wrap;margin-top:16px;font-size:12px;color:var(--muted)}.legend span{display:flex;align-items:center;gap:6px}.dot{width:11px;height:11px;border-radius:50%;display:inline-block}.dot.available{background:#fff;border:2px dashed #94a3b8}.dot.pending{background:#fed7aa}.dot.paid{background:#86efac}.winner-public{margin:15px 0}
.checkout-shell{display:grid;grid-template-columns:minmax(0,1fr) 330px;gap:16px;max-width:1050px;margin:28px auto}.checkout-main{margin:0}.checkout-user{margin:0;align-self:start}.back-link{display:inline-block;text-decoration:none;color:#2563eb;font-weight:800;margin-bottom:15px}.checkout-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:18px 0}.checkout-summary>div{padding:15px;background:#f8fafc;border-radius:12px}.checkout-summary span{display:block;color:var(--muted);font-size:11px;text-transform:uppercase;font-weight:800}.checkout-summary b{display:block;margin-top:4px}.price-big{font-size:25px}.payment-methods{display:grid;gap:9px;margin-bottom:15px}.payment-option{display:flex;align-items:flex-start;gap:11px;padding:14px;border:1px solid var(--border);border-radius:12px;cursor:pointer}.payment-option input{width:auto;margin-top:3px}.payment-option small{display:block;color:var(--muted);font-weight:400;margin-top:3px}.bank-card{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:14px 0}.bank-card>div{padding:11px;background:#f8fafc;border-radius:10px}.bank-card span{font-size:10px;text-transform:uppercase;color:var(--muted);display:block}.bank-card b{display:block;margin-top:3px;overflow-wrap:anywhere}.success-panel{display:flex;gap:15px;align-items:center;padding:18px;border:1px solid #86efac;background:#f0fdf4;border-radius:14px}.success-icon{width:50px;height:50px;border-radius:50%;display:grid;place-items:center;background:#16a34a;color:#fff;font-size:26px;font-weight:900}.success-panel h2{margin:0}.cancel-box{margin-top:22px;padding-top:15px;border-top:1px solid var(--border)}
.my-raffle-list{display:flex;flex-direction:column;gap:8px}.my-raffle-row{display:flex;align-items:center;gap:13px;padding:12px;border:1px solid var(--border);border-radius:13px}.my-raffle-row .my-number{flex:none}.my-pay-state{min-width:120px}.my-pay-state span{display:block;font-size:9px;text-transform:uppercase;color:var(--muted)}.my-pay-state b{font-size:12px}.my-pay-state small{display:block;color:var(--muted)}
.detail-list{margin:0}.detail-list>div{display:grid;grid-template-columns:120px minmax(0,1fr);gap:10px;padding:9px 0;border-bottom:1px solid #eef2f6}.detail-list>div:last-child{border-bottom:0}.detail-list dt{color:var(--muted);font-size:12px}.detail-list dd{margin:0;font-weight:700;overflow-wrap:anywhere}
@media(max-width:1150px){.metric-grid{grid-template-columns:repeat(3,1fr)}.public-raffle-grid{grid-template-columns:repeat(2,1fr)}.raffle-admin-card{grid-template-columns:180px 1fr}.buyer-grid{grid-template-columns:repeat(3,1fr)}.purchase-strip{grid-template-columns:repeat(3,1fr)}}
@media(max-width:900px){.topbar{position:static}.topbar .wrap{align-items:flex-start;flex-direction:column}.nav{max-width:100%;width:100%;padding-bottom:7px}.dashboard-grid,.dashboard-grid.equal,.public-hero,.checkout-shell,.chat-layout{grid-template-columns:1fr}.metric-grid,.metric-grid.compact{grid-template-columns:repeat(2,1fr)}.raffle-admin-grid{grid-template-columns:1fr}.public-raffle-grid{grid-template-columns:1fr 1fr}.photo-grid,.gallery{grid-template-columns:repeat(3,1fr)}.buyer-grid{grid-template-columns:repeat(2,1fr)}.chat-list{max-height:330px}.checkout-user{order:-1}.message{max-width:90%}}
@media(max-width:640px){.page-head{flex-direction:column}.page-head>.actions,.page-head>.btn{width:100%}.page-head>.actions .btn{flex:1;text-align:center}.metric-grid,.metric-grid.compact{grid-template-columns:1fr 1fr}.metric{padding:14px}.public-raffle-grid{grid-template-columns:1fr}.raffle-admin-card{grid-template-columns:1fr}.raffle-thumb{height:210px;min-height:0}.photo-grid,.gallery{grid-template-columns:repeat(2,1fr)}.buyer-grid,.purchase-strip,.checkout-summary,.bank-card{grid-template-columns:1fr}.number-picker{grid-template-columns:repeat(4,1fr)}.raffle-facts{grid-template-columns:1fr 1fr}.my-raffle-row{align-items:flex-start;flex-wrap:wrap}.my-raffle-row .grow{flex-basis:calc(100% - 95px)}.my-pay-state{min-width:100px}.bar-row{grid-template-columns:38px minmax(80px,1fr) 35px}.bar-row small{display:none}.proof-box{align-items:flex-start;flex-direction:column}.proof-box .btn{width:100%}.raffle-head-overlay{padding:24px}.raffle-public-head{min-height:240px}.public-hero{padding:26px}.hero-draw{padding:16px}.form-grid{grid-template-columns:1fr}.span-2,.form-section{grid-column:auto}}
@media(max-width:420px){.number-picker{grid-template-columns:repeat(3,1fr)}.metric-grid,.metric-grid.compact{grid-template-columns:1fr}.raffle-facts{grid-template-columns:1fr}.photo-grid,.gallery{grid-template-columns:1fr}.public-raffle-card>img,.public-raffle-placeholder{height:200px}.wrap{padding:10px}.card{padding:15px;border-radius:13px}.message{max-width:96%}}

/* =====================================================
   Sorteos Web v0.3.1 · identidad visual alineada con Subastas Web
   ===================================================== */
:root{
  --bg:#f7f4ee;--card:#fff;--ink:#18233b;--muted:#667085;--primary:#e85d04;--primary-dark:#c94f00;
  --navy:#14213d;--navy2:#0d172c;--gold:#f59e0b;--border:#e2d8c4;--line:#e7dfd1;
  --green:#16794b;--red:#b42318;--amber:#b76e00;
}
body{background:var(--bg);color:var(--ink)}
.wrap{width:min(1460px,calc(100% - 28px));max-width:none;padding-left:0;padding-right:0}.main-shell{padding-top:22px;padding-bottom:34px}
.topbar{background:var(--navy);color:#fff;position:sticky;top:0;z-index:60;box-shadow:0 3px 16px rgba(13,23,44,.18)}
.topbar-primary{min-height:66px;display:flex!important;align-items:center!important;gap:18px;padding-top:8px!important;padding-bottom:8px!important}
.brand-shell{display:flex;align-items:center;gap:10px;text-decoration:none;color:#fff;min-width:0}.brand-mark{display:grid;place-items:center;width:38px;height:38px;border-radius:10px;background:var(--primary);font-weight:950;font-size:1.1rem;box-shadow:inset 0 0 0 1px rgba(255,255,255,.14)}.brand-copy{display:grid;line-height:1.08}.brand{font-size:1.05rem;font-weight:900}.version{color:#bec8da;font-size:.68rem;margin-top:3px}.admin-header-spacer{flex:1}.main-nav{display:flex;align-items:center;gap:3px;margin-left:auto}.main-nav a{padding:9px 11px;border-radius:8px;color:#e5eaf3;text-decoration:none;font-weight:700;font-size:.88rem}.main-nav a:hover,.main-nav a.active{background:rgba(255,255,255,.1);color:#fff}.main-nav a.active{box-shadow:inset 0 -2px 0 var(--primary)}
.nav-actions{display:flex;align-items:center;gap:8px}.user-chip{display:inline-flex;align-items:center;min-height:34px;padding:0 11px;border:1px solid rgba(255,255,255,.15);border-radius:999px;background:rgba(255,255,255,.07);font-size:.78rem;font-weight:800;color:#fff}
.admin-header-menu-panel{border-top:1px solid rgba(255,255,255,.07);background:#101b31}.admin-header-menu-panel .wrap{overflow:hidden}.admin-header-menu{display:flex!important;align-items:stretch!important;gap:3px!important;width:100%!important;padding:5px 0 6px!important;overflow-x:auto!important;overflow-y:hidden!important;white-space:nowrap!important;scrollbar-width:thin}.admin-header-menu a{position:relative;flex:1 1 0;min-width:86px;display:flex;align-items:center;justify-content:center;gap:4px;min-height:36px;padding:7px 7px;border-radius:8px;color:#dce3ee;text-decoration:none;font-size:.78rem;font-weight:720;transition:.15s}.admin-header-menu a:hover{background:rgba(255,255,255,.08);color:#fff}.admin-header-menu a.active{background:var(--primary);color:#fff;box-shadow:0 5px 14px rgba(232,93,4,.22)}.admin-header-menu .admin-public-link{border:1px solid rgba(255,255,255,.13)}.admin-menu-short{display:none}.nav-count{display:grid;place-items:center;min-width:18px;height:18px;padding:0 5px;border-radius:999px;background:#fff;color:#b42318;font-size:.62rem;font-weight:950}
.btn{border-radius:9px;padding:10px 14px;font-weight:800;min-height:39px;display:inline-flex;align-items:center;justify-content:center;gap:6px;transition:transform .15s,box-shadow .15s,background .15s;border:1px solid transparent;text-decoration:none}.btn:hover{transform:translateY(-1px)}.btn.primary,.btn.btn-primary{background:var(--primary);color:#fff;border-color:var(--primary);box-shadow:0 6px 15px rgba(232,93,4,.16)}.btn.primary:hover,.btn.btn-primary:hover{background:var(--primary-dark);border-color:var(--primary-dark)}.btn.btn-outline{background:#fff;color:var(--ink);border-color:#d8cdbb}.btn.btn-outline:hover{border-color:var(--primary);color:var(--primary-dark)}.btn.btn-gold{background:#f2a65a;color:#1e2737;border-color:#f2a65a}.btn.btn-ghost{background:transparent;color:#fff;border-color:rgba(255,255,255,.22)}.btn.btn-ghost:hover{background:rgba(255,255,255,.09)}.btn.btn-sm,.btn.small{min-height:32px;padding:7px 10px;font-size:.73rem}.btn.green{background:#16794b;color:#fff}.btn.red{background:#b42318;color:#fff}.btn.amber{background:#b76e00;color:#fff}
.card{border-color:var(--border);border-radius:15px;box-shadow:0 7px 22px rgba(20,33,61,.055)}
.section-head{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;margin:0 0 18px}.section-head h1,.section-head h2{margin:0}.section-head h1{font-size:clamp(1.8rem,4vw,2.8rem)}.section-head p{margin:5px 0 0;color:var(--muted)}.section-head>a{color:var(--primary-dark);font-weight:850;text-decoration:none}.admin-page-head{margin-top:8px;margin-bottom:18px;align-items:center}.compact-head{margin-bottom:12px}.compact-head h2{font-size:1.2rem}.eyebrow{color:var(--primary-dark)}
.badge{border:1px solid transparent}.badge.ok{background:#daf5e5;color:#11623c}.badge.warn{background:#fff0c7;color:#7a5200}.badge.bad{background:#fde7e4;color:#9a271e}.badge.neutral{background:#edf1f6;color:#43516b}.badge.gold{background:#fff1c6;color:#7a5200;border-color:#f0cc73}

/* Botones-resumen como el panel de Subastas */
.admin-dashboard-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:10px;margin:0 0 18px}.dashboard-stat-button{position:relative;text-decoration:none;color:var(--ink);overflow:hidden}.dashboard-stat-button.dashboard-stat-compact{display:grid;grid-template-columns:minmax(0,1fr) auto 18px;align-items:center;gap:10px;min-height:62px;padding:12px 14px;border:1px solid var(--line);border-left:5px solid #98a2b3;border-radius:13px;background:#fff;box-shadow:0 5px 16px rgba(20,33,61,.045);transition:.18s}.dashboard-stat-button.dashboard-stat-compact:hover{transform:translateY(-2px);box-shadow:0 10px 22px rgba(20,33,61,.09)}.dashboard-stat-label{min-width:0;color:var(--muted);font-size:.76rem;font-weight:850;line-height:1.2}.dashboard-stat-button strong{font-size:1.28rem;line-height:1;font-weight:950;white-space:nowrap}.dashboard-stat-button b{color:#7a8493}.stat-campaigns{border-left-color:#d68a36!important;background:#fffaf4!important}.stat-users{border-left-color:#6f91cf!important;background:#f7f9fd!important}.stat-numbers{border-left-color:#63a987!important;background:#f5fbf8!important}.stat-amount{border-left-color:#5b8fb9!important;background:#f7fbfe!important}.stat-amount strong{font-size:clamp(.8rem,1.2vw,1.08rem);overflow:hidden;text-overflow:ellipsis}.stat-payments{border-left-color:#c59a43!important;background:#fffaf0!important}.stat-deliveries{border-left-color:#4f89a8!important;background:#f5fafc!important}.stat-chat{border-left-color:#9a7bc4!important;background:#faf8fd!important}.stat-online{border-left-color:#58a87d!important;background:#f3fbf7!important}
.admin-dashboard-grid{display:grid;grid-template-columns:minmax(0,2.2fr) minmax(320px,.9fr);gap:16px;align-items:start}.compact-history{display:grid;gap:0}.history-row{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:11px 2px;border-bottom:1px solid #eee5d8;color:inherit;text-decoration:none}.history-row:last-child{border-bottom:0}.history-row small{display:block;margin-top:3px;color:var(--muted)}.audit-history .history-row>span{color:var(--primary);font-weight:900}

/* Hero y tarjetas públicas con la misma composición de Subastas */
.public-index-shell{padding-top:30px}.raffle-campaign-hero{margin:0;background:linear-gradient(125deg,#0d172c,#172a4a);color:#fff;padding:46px 0 38px;border-bottom:4px solid var(--primary)}.campaign-hero-inner{display:flex!important;align-items:center!important;justify-content:space-between!important;gap:30px}.campaign-hero h1{font-size:clamp(2rem,4.5vw,3.8rem);line-height:1.05;margin:.25em 0}.campaign-hero p{max-width:760px;margin:0;color:#dbe2ee;font-size:1.04rem}.campaign-hero-actions{display:flex;gap:10px;margin-top:18px}.campaign-hero-seal{width:118px;height:118px;flex:0 0 118px;border:2px solid rgba(255,255,255,.32);border-radius:50%;display:grid;place-content:center;text-align:center;background:rgba(255,255,255,.07);box-shadow:inset 0 0 0 7px rgba(255,255,255,.035)}.campaign-hero-seal span{font-size:.82rem;letter-spacing:.15em}.campaign-hero-seal strong{font-size:1.35rem;color:#ffad73}.subasta-draw-strip{margin-top:0;margin-bottom:28px}.campaign-list-head{margin-top:4px}.campaign-list-head h2{font-size:1.75rem}
.campaign-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}.campaign-card{display:grid;grid-template-columns:minmax(230px,.78fr) minmax(0,1.22fr);min-height:330px;background:#fff;border:1px solid var(--border);border-radius:20px;overflow:hidden;box-shadow:0 12px 34px rgba(20,33,61,.09);text-decoration:none;color:inherit;transition:transform .18s,box-shadow .18s,border-color .18s}.campaign-card:hover{transform:translateY(-4px);box-shadow:0 20px 48px rgba(20,33,61,.16);border-color:var(--primary)}.campaign-card-image{position:relative;min-height:300px;background:#e8e1d4;overflow:hidden}.campaign-card-image img{width:100%;height:100%;object-fit:cover}.campaign-placeholder{width:100%;height:100%;min-height:220px;display:grid;place-items:center;background:linear-gradient(135deg,#ece4d8,#d9cfbf);font-size:72px}.campaign-placeholder.small{min-height:0;height:100%;font-size:30px}.campaign-status-pill{position:absolute;left:14px;top:14px;padding:6px 11px;border-radius:999px;background:#fff;color:#18233b;font-size:.76rem;font-weight:900;box-shadow:0 5px 15px rgba(0,0,0,.16)}.campaign-card-body{display:flex;flex-direction:column;padding:24px;min-width:0}.campaign-card-kicker{font-size:.76rem;text-transform:uppercase;letter-spacing:.09em;font-weight:900;color:var(--primary-dark)}.campaign-card h2{margin:6px 0 8px;font-size:1.55rem;line-height:1.13}.campaign-card p{margin:0 0 14px;color:var(--muted);display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3;overflow:hidden}.campaign-prize{margin:0 0 12px;padding:10px 12px;border-left:4px solid var(--primary);background:#fff8f1;border-radius:8px}.campaign-prize span{display:block;color:#7d6b59;font-size:.68rem;text-transform:uppercase;font-weight:850}.campaign-prize strong{display:block;margin-top:2px}.campaign-card-dates{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin-top:auto}.campaign-card-dates div{padding:10px;background:#f8f5ee;border:1px solid #ece3d4;border-radius:10px}.campaign-card-dates span{display:block;color:#777;font-size:.68rem;text-transform:uppercase;font-weight:850}.campaign-card-dates strong{display:block;font-size:.82rem;margin-top:2px;overflow-wrap:anywhere}.campaign-progress{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:9px;margin-top:12px}.campaign-progress>span{height:7px;border-radius:999px;background:#ece7dd;overflow:hidden}.campaign-progress i{display:block;height:100%;background:#45a676}.campaign-progress b{font-size:.7rem;color:#667085}.campaign-card-action{display:flex;align-items:center;justify-content:space-between;margin-top:12px;padding-top:12px;border-top:1px solid #ece4d6;color:var(--primary-dark);font-weight:900}.campaign-card-action b{font-size:1.3rem}.subasta-note{margin-top:28px;border-left:4px solid var(--primary)}

/* Sorteos administrativas: acordeón grande tipo Subastas */
.admin-campaign-list{display:grid;gap:14px}.admin-campaign-box{background:#fff;border:1px solid #ded4c0;border-radius:16px;overflow:hidden;box-shadow:0 7px 22px rgba(20,33,61,.06)}.admin-campaign-box>summary{display:grid;grid-template-columns:96px minmax(260px,1fr) 80px 80px minmax(260px,.7fr) 24px;align-items:center;gap:13px;padding:12px;cursor:pointer;list-style:none}.admin-campaign-box>summary::-webkit-details-marker{display:none}.admin-campaign-box>summary:hover{background:#fffaf5}.admin-campaign-box[open]>summary{background:#fff8ef;border-bottom:1px solid #e7ddca}.admin-campaign-cover{width:96px;height:68px;border-radius:9px;overflow:hidden;background:#eee}.admin-campaign-cover img{width:100%;height:100%;object-fit:cover}.admin-campaign-summary{min-width:0}.admin-campaign-summary>span,.admin-campaign-summary>strong,.admin-campaign-summary>small{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.admin-campaign-summary>span{font-size:.7rem;color:var(--primary-dark);font-weight:900;text-transform:uppercase}.admin-campaign-summary>strong{font-size:1rem;margin:4px 0 2px}.admin-campaign-summary>small{font-size:.78rem;color:var(--muted)}.admin-campaign-metric{text-align:center}.admin-campaign-metric span,.admin-campaign-dates span{display:block;font-size:.67rem;color:var(--muted);text-transform:uppercase;font-weight:850}.admin-campaign-metric strong{display:block;font-size:1.35rem}.admin-campaign-dates{display:grid;grid-template-columns:1fr 20px 1fr;align-items:center;gap:4px;text-align:center}.admin-campaign-dates strong{display:block;font-size:.8rem}.admin-lot-chevron{font-size:1.25rem;transition:transform .18s}.admin-campaign-box[open] .admin-lot-chevron,.admin-entity-box[open] .admin-lot-chevron,.admin-recent-lot-box[open] .admin-lot-chevron{transform:rotate(180deg)}.admin-campaign-expanded{display:grid;grid-template-columns:280px minmax(0,1fr);gap:20px;padding:20px;background:#fdfbf7}.admin-campaign-preview{display:flex;flex-direction:column;gap:10px}.preview-image-shell{border-radius:12px;overflow:hidden;background:#eee;min-height:180px}.preview-image-shell img{display:block;width:100%;aspect-ratio:16/10;object-fit:cover}.raffle-expanded-main h2{margin:4px 0 8px}.raffle-expanded-main p{color:#586174}.admin-lot-data-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin:12px 0}.admin-lot-data-grid>div{padding:9px;border:1px solid #e9e1d3;border-radius:9px;background:#fff}.admin-lot-data-grid span{display:block;font-size:.66rem;color:#667085;text-transform:uppercase;font-weight:850}.admin-lot-data-grid strong{display:block;margin-top:3px;overflow-wrap:anywhere}.admin-campaign-actions{grid-column:1/-1;display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding-top:13px;border-top:1px solid #e9dfcf}

/* Acordeones de resumen del panel */
.admin-recent-lots{display:grid;gap:9px}.admin-recent-lot-box{border:1px solid #e3dac8;border-radius:12px;overflow:hidden;background:#fff}.admin-recent-lot-box>summary{display:grid;grid-template-columns:60px minmax(0,1fr) 130px 95px 20px;align-items:center;gap:10px;padding:9px;cursor:pointer;list-style:none}.admin-recent-lot-box>summary::-webkit-details-marker{display:none}.admin-recent-lot-box>summary>img,.recent-placeholder{width:60px;height:50px;border-radius:8px;object-fit:cover;background:#eee}.recent-placeholder{display:grid;place-items:center;font-size:25px}.admin-recent-lot-box>summary div:nth-child(2){min-width:0}.admin-recent-lot-box>summary div:nth-child(2) span,.admin-recent-lot-box>summary div:nth-child(2) strong,.admin-recent-lot-box>summary div:nth-child(2) small{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.admin-recent-lot-box>summary div:nth-child(2) span{font-size:.66rem;color:var(--primary-dark);font-weight:850}.admin-recent-lot-box>summary div:nth-child(2) small{font-size:.72rem;color:var(--muted)}.admin-recent-lot-price span{display:block;font-size:.65rem;color:var(--muted)}.admin-recent-lot-price strong{display:block;font-size:.88rem}.admin-recent-lot-box[open]>summary{background:#fff8ef;border-bottom:1px solid #e5dccb}.admin-recent-lot-expanded{display:grid;grid-template-columns:180px 1fr;gap:16px;padding:14px;background:#fdfbf8}.admin-recent-image{border-radius:10px;overflow:hidden;background:#eee;min-height:140px}.admin-recent-image img{width:100%;height:140px;object-fit:cover}.admin-recent-image.campaign-placeholder{font-size:52px}.text-muted{color:var(--muted)}

/* Usuarios, pagos y entregas como listas desplegables */
.admin-entity-list{display:grid;gap:10px}.admin-entity-box{background:#fff;border:1px solid #ded5c4;border-radius:14px;overflow:hidden;box-shadow:0 4px 14px rgba(20,33,61,.035)}.admin-entity-box>summary{display:grid;grid-template-columns:54px minmax(250px,1.3fr) minmax(100px,.45fr) minmax(145px,.55fr) auto 22px;align-items:center;gap:12px;padding:10px 12px;list-style:none;cursor:pointer}.admin-entity-box>summary::-webkit-details-marker{display:none}.admin-entity-box>summary:hover{background:#fffaf5}.admin-entity-box[open]>summary{background:#fff8ee;border-bottom:1px solid #e8ddc8}.entity-avatar,.payment-number-badge{display:grid;place-items:center;width:54px;height:54px;border-radius:10px;background:#eef3fa;color:#173a68;font-weight:950;font-size:1.1rem}.payment-number-badge{background:#fff2e8;color:#a94500;font-size:1.25rem}.winner-number{background:#fff5c7;color:#765400}.entity-main{min-width:0}.entity-main span,.entity-main strong,.entity-main small{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.entity-main span{font-size:.67rem;color:var(--primary-dark);font-weight:850}.entity-main small{font-size:.72rem;color:var(--muted)}.entity-metric span{display:block;font-size:.67rem;color:var(--muted);text-transform:uppercase;font-weight:850}.entity-metric strong{display:block;font-size:1rem;overflow-wrap:anywhere}.entity-metric small{display:block;color:var(--muted);font-size:.66rem}.entity-money strong{font-size:.9rem}.entity-status{text-align:right}.admin-entity-expanded{padding:16px;background:#fdfbf8}.admin-entity-expanded .actions{margin-top:12px}.payment-accordion>summary{grid-template-columns:54px minmax(260px,1.3fr) 150px auto 22px}.delivery-accordion>summary{grid-template-columns:54px minmax(260px,1.3fr) minmax(140px,.5fr) auto 22px}
.payment-summary .metric{border-left:4px solid #c59a43;background:#fffaf0}

/* Ajustes de fichas ya existentes */
.page-head{margin-top:8px}.page-head h1{font-size:clamp(1.8rem,4vw,2.7rem)}.raffle-public-head{border-radius:18px;overflow:hidden;border:1px solid var(--border);box-shadow:0 12px 34px rgba(20,33,61,.09)}.number-picker .pick-number{border-radius:10px}.pick-number:hover{border-color:var(--primary);box-shadow:0 8px 18px rgba(20,33,61,.09)}.pick-number.selected{outline-color:var(--primary)}

@media(max-width:1100px){
  .campaign-grid{grid-template-columns:1fr}.campaign-card{grid-template-columns:260px 1fr;min-height:290px}.campaign-card-image{min-height:260px}
  .admin-dashboard-grid{grid-template-columns:1fr}.admin-campaign-box>summary{grid-template-columns:82px minmax(0,1fr) 65px 65px 24px}.admin-campaign-cover{width:82px;height:62px}.admin-campaign-dates{display:none}.admin-campaign-expanded{grid-template-columns:230px 1fr}.admin-lot-data-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
  .admin-entity-box>summary{grid-template-columns:50px minmax(0,1fr) 120px auto 22px}.user-accordion .entity-metric:first-of-type,.delivery-accordion .entity-metric{display:none}.payment-accordion>summary{grid-template-columns:50px minmax(0,1fr) 125px auto 22px}
}
@media(max-width:760px){
  .wrap{width:min(100% - 18px,1460px)}.topbar{position:static}.topbar-primary{min-height:58px;gap:8px}.brand-mark{width:34px;height:34px}.brand{font-size:.92rem}.version{font-size:.61rem}.main-nav{display:none}.user-chip{display:none}.nav-actions .btn{padding:7px 9px;font-size:.68rem;min-height:32px}
  .admin-header-menu{gap:2px!important;padding:4px 0 5px!important}.admin-header-menu a{flex:0 0 auto;min-width:70px;font-size:.64rem;min-height:32px;padding:6px 5px}.admin-menu-full{display:none}.admin-menu-short{display:inline}
  .campaign-hero{padding:30px 0 26px}.campaign-hero-seal{display:none}.campaign-card{grid-template-columns:190px minmax(0,1fr);min-height:250px}.campaign-card-image{min-height:230px}.campaign-card-body{padding:16px}.campaign-card h2{font-size:1.23rem}.campaign-prize{padding:8px 9px}.campaign-card-dates strong{font-size:.72rem}
  .admin-campaign-box>summary{grid-template-columns:68px minmax(0,1fr) 55px 24px;gap:8px;padding:9px}.admin-campaign-cover{width:68px;height:56px}.admin-campaign-metric:nth-of-type(2),.admin-campaign-dates{display:none}.admin-campaign-expanded{grid-template-columns:1fr;padding:12px}.admin-campaign-preview{display:grid;grid-template-columns:180px auto;align-items:start}.preview-image-shell{min-height:120px}.admin-lot-data-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .admin-recent-lot-box>summary{grid-template-columns:52px minmax(0,1fr) 95px 20px}.admin-recent-lot-box>summary>img,.recent-placeholder{width:52px;height:46px}.admin-recent-lot-box>summary>div:nth-child(4){display:none}.admin-recent-lot-expanded{grid-template-columns:1fr}.admin-recent-image img{height:180px}
  .admin-entity-box>summary,.payment-accordion>summary,.delivery-accordion>summary{grid-template-columns:46px minmax(0,1fr) auto 20px}.entity-avatar,.payment-number-badge{width:46px;height:46px}.admin-entity-box .entity-metric{display:none}.entity-main strong{font-size:.84rem}.entity-main span,.entity-main small{font-size:.64rem}.entity-status .badge{font-size:.58rem;padding:4px 6px}
  .admin-dashboard-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.dashboard-stat-button.dashboard-stat-compact{grid-template-columns:minmax(0,1fr) 18px;grid-template-rows:auto auto}.dashboard-stat-label{grid-column:1;grid-row:1}.dashboard-stat-button strong{grid-column:1;grid-row:2}.dashboard-stat-button b{grid-column:2;grid-row:1/3}
}
@media(max-width:540px){
  .campaign-card{grid-template-columns:1fr;min-height:0}.campaign-card-image{height:205px;min-height:0}.campaign-card-body{padding:15px}.campaign-card-dates{grid-template-columns:1fr 1fr}.campaign-progress{grid-template-columns:1fr auto}.section-head.admin-page-head{align-items:flex-start;flex-direction:column}.section-head.admin-page-head>.btn,.section-head.admin-page-head>.actions{width:100%}.section-head.admin-page-head>.btn{display:flex}.admin-dashboard-stats{grid-template-columns:1fr 1fr}.admin-campaign-box>summary{grid-template-columns:62px minmax(0,1fr) 20px}.admin-campaign-cover{width:62px;height:52px}.admin-campaign-metric{display:none}.admin-campaign-preview{display:flex}.admin-lot-data-grid{grid-template-columns:1fr 1fr}.admin-campaign-actions .btn{flex:1 1 145px}.admin-recent-lot-box>summary{grid-template-columns:48px minmax(0,1fr) 20px}.admin-recent-lot-box>summary>img,.recent-placeholder{width:48px;height:44px}.admin-recent-lot-price,.admin-recent-lot-box>summary>div:nth-child(4){display:none}.draw-cards{grid-template-columns:1fr}.payment-summary{grid-template-columns:1fr 1fr}.lookup-form{grid-template-columns:1fr}.lookup-button .btn{width:100%}
}
@media(max-width:400px){.admin-dashboard-stats{grid-template-columns:1fr}.campaign-card-dates{grid-template-columns:1fr}.admin-lot-data-grid{grid-template-columns:1fr}.payment-summary{grid-template-columns:1fr}}


/* v0.3.3 · Etiquetas de estado/asignación en acordeones, siguiendo el patrón de Subastas */
.admin-accordion-tags{display:flex;align-items:center;gap:5px;flex-wrap:wrap;min-width:0;margin:0 0 5px}.admin-accordion-tags.compact-tags{margin-bottom:4px}.admin-accordion-tags .badge{font-size:.66rem;line-height:1;padding:4px 8px;max-width:100%}.badge.badge-info{background:#e8f2ff;color:#184f87;border-color:#c8def7}.badge.badge-dark{background:#e9edf4;color:#26364f;border-color:#d6dde8}.admin-preview-tags{display:flex;flex-wrap:wrap;gap:6px;align-items:center}.number-status-legend{display:flex;flex-wrap:wrap;gap:7px;align-items:center;padding-bottom:14px;margin-bottom:14px;border-bottom:1px solid #ece4d6}.recent-draw-chip{display:flex;justify-content:flex-end}.admin-campaign-summary .admin-accordion-tags+strong,.entity-main .admin-accordion-tags+strong{margin-top:1px}.admin-campaign-summary>.admin-accordion-tags{white-space:normal;overflow:visible}.admin-campaign-summary>.admin-accordion-tags .badge{display:inline-flex}.entity-main>.admin-accordion-tags{white-space:normal;overflow:visible}.entity-main>.admin-accordion-tags .badge{display:inline-flex}.raffle-admin-accordion>summary{align-items:center}.raffle-admin-accordion .admin-campaign-summary>strong{margin:2px 0}.raffle-admin-accordion .admin-campaign-summary>small{margin-top:1px}.raffle-dashboard-box .admin-accordion-tags{margin-bottom:3px}.assign-title .admin-accordion-tags{margin-bottom:6px}
@media(max-width:900px){.admin-accordion-tags .badge{font-size:.61rem;padding:4px 6px}.raffle-admin-accordion .admin-campaign-summary .badge.neutral{display:none}.recent-draw-chip{display:none}}
@media(max-width:620px){.admin-accordion-tags{gap:4px}.admin-accordion-tags .badge{font-size:.57rem;padding:3px 5px}.raffle-admin-accordion .admin-campaign-summary .badge.badge-info{display:none}.raffle-dashboard-box .admin-accordion-tags .badge.badge-info{display:none}.number-status-legend{gap:5px}.number-status-legend .badge{font-size:.62rem}}


/* =====================================================
   Sorteos Web v0.4.0 · configuración/pagos por acordeones
   alineados con el patrón visual de Subastas Web
   ===================================================== */
.settings-accordion-screen,.gateway-settings-screen{display:grid;gap:14px}
.gateway-settings-card.gateway-settings-accordion{display:block;padding:0;overflow:hidden;margin:0;border:1px solid var(--line);border-radius:14px;background:#fff;box-shadow:0 5px 16px rgba(20,33,61,.045)}
.payment-settings-page .gateway-accordion-summary,.settings-accordion-screen .gateway-accordion-summary{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:16px;padding:17px 18px;cursor:pointer;list-style:none;user-select:none;background:#fff}
.payment-settings-page .gateway-accordion-summary::-webkit-details-marker,.settings-accordion-screen .gateway-accordion-summary::-webkit-details-marker{display:none}
.payment-settings-page .gateway-accordion-summary>div:first-child,.settings-accordion-screen .gateway-accordion-summary>div:first-child{min-width:0}
.payment-settings-page .gateway-accordion-summary h2,.settings-accordion-screen .gateway-accordion-summary h2{margin:0;font-size:1.06rem}
.payment-settings-page .gateway-accordion-summary p,.settings-accordion-screen .gateway-accordion-summary p{margin:4px 0 0;color:var(--muted);font-size:.78rem;line-height:1.4}
.gateway-accordion-summary-side{display:flex;align-items:center;gap:10px}.gateway-accordion-summary .admin-lot-chevron{display:inline-flex;align-items:center;justify-content:center;transition:transform .18s ease;font-size:1.05rem}
.gateway-settings-accordion[open]>.gateway-accordion-summary{border-bottom:1px solid var(--line);background:#fffaf4}.gateway-settings-accordion[open]>.gateway-accordion-summary .admin-lot-chevron{transform:rotate(180deg)}
.gateway-accordion-body{padding:18px;background:#fff}.gateway-settings-head{display:flex;align-items:flex-start;justify-content:space-between;gap:18px}.gateway-settings-head h2,.gateway-settings-head h3,.gateway-settings-head p{margin-top:0}.gateway-settings-head p{color:var(--muted);margin-bottom:8px}
.gateway-enable{display:flex;align-items:center;gap:8px;padding:10px 12px;border:1px solid var(--line);border-radius:10px;background:#fff;white-space:nowrap;font-weight:800}.gateway-enable input,.toggle-line input{width:18px;height:18px;flex:0 0 auto}
.toggle-line{display:flex!important;align-items:flex-start;gap:9px;padding:9px 10px;border:1px solid #ece4d7;border-radius:10px;background:#fffdf9;font-weight:700}.toggle-line small{color:var(--muted);font-weight:500}
.gateway-submethod{margin-top:18px;padding:18px;border:1px solid var(--line);border-radius:14px;background:#fffdf9}.gateway-submethod h3{margin:0 0 4px}.gateway-save-bar{position:sticky;bottom:12px;z-index:20;display:flex;justify-content:flex-end;padding:12px;border:1px solid var(--line);border-radius:13px;background:rgba(255,253,248,.96);backdrop-filter:blur(8px);box-shadow:0 10px 30px rgba(20,33,61,.12)}
.settings-payment-shortcut{display:flex;justify-content:space-between;align-items:center;gap:18px}.settings-payment-shortcut h3,.settings-payment-shortcut p{margin:0}.settings-payment-shortcut p{margin-top:5px;color:var(--muted)}
.gateway-test-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.gateway-test-grid .card{margin:0;padding:18px}.gateway-test-grid h3{margin-top:0}.mt{margin-top:12px}
.smtp-state-badge{display:inline-flex;align-items:center;white-space:nowrap;border-radius:999px;padding:7px 11px;font-size:.75rem;font-weight:850}.smtp-state-badge.is-enabled{background:#dff7e9;color:#11623c}.smtp-state-badge.is-disabled{background:#f2f4f7;color:#475467}.smtp-inline-status{display:flex;gap:8px;flex-wrap:wrap}.system-check{padding:8px 10px;border-radius:9px;font-size:.75rem;font-weight:800}.system-check.ok{background:#e8f7ee;color:#12623c}.system-check.bad{background:#fdeceb;color:#9a271e}
.mail-log-row{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:12px;padding:10px 0;border-bottom:1px solid var(--line)}.mail-log-row:last-child{border-bottom:0}.mail-log-row b,.mail-log-row small{display:block}.mail-log-row small{margin-top:3px;color:var(--muted)}.mail-log-row time{font-size:.72rem;color:var(--muted);white-space:nowrap}
.mp-direct-card{max-width:820px;margin:18px auto}.mp-card-form{display:grid;gap:16px;margin-top:18px}.mp-secure-field{min-height:46px;height:46px;max-height:46px;border:1px solid #cfc5b1;background:#fff;border-radius:9px;padding:0 10px;display:flex;align-items:center;overflow:hidden}.mp-secure-field iframe{display:block!important;width:100%!important;height:24px!important;min-height:24px!important;max-height:24px!important;border:0!important}.mp-secure-field:focus-within{border-color:var(--primary);box-shadow:0 0 0 3px rgba(232,93,4,.10)}.mp-payment-progress{width:100%;height:8px}.mp-security-note{margin:18px 0 0;font-size:.82rem}.raffle-auto-rule{border-left:4px solid var(--primary);line-height:1.5}
@media(max-width:900px){.gateway-settings-head,.settings-payment-shortcut{align-items:stretch;flex-direction:column}.gateway-enable{white-space:normal}.gateway-save-bar{bottom:8px}}
@media(max-width:760px){.payment-settings-page .gateway-accordion-summary,.settings-accordion-screen .gateway-accordion-summary{padding:14px 13px;gap:9px}.payment-settings-page .gateway-accordion-summary p,.settings-accordion-screen .gateway-accordion-summary p{font-size:.72rem}.gateway-accordion-summary-side .badge,.gateway-accordion-summary-side .smtp-state-badge{font-size:.66rem;padding:5px 7px}.gateway-test-grid{grid-template-columns:1fr}.gateway-submethod{padding:14px}.mail-log-row{grid-template-columns:auto minmax(0,1fr)}.mail-log-row time{grid-column:2}.mp-direct-card{padding:16px}}

/* v0.4.1 · reprogramación, avisos de pago y espera segura de Comodín */
.input-with-suffix{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:stretch}.input-with-suffix input{border-radius:9px 0 0 9px}.input-with-suffix span{display:flex;align-items:center;padding:0 12px;border:1px solid #cfc5b1;border-left:0;border-radius:0 9px 9px 0;background:#f8fafc;color:var(--muted);font-size:.8rem;font-weight:800;white-space:nowrap}.raffle-reprogrammed-public{margin:14px 0}.compact-alert{padding:8px 10px;margin:8px 0 0;font-size:.78rem;line-height:1.35}.pick-number.payment_pending .payment-deadline{display:block;font-size:.6rem}
@media(max-width:540px){.input-with-suffix{grid-template-columns:1fr}.input-with-suffix input{border-radius:9px}.input-with-suffix span{border:0;padding:5px 2px 0;background:transparent}}

/* v0.4.2 · validación estricta de ganador: nunca mostrar ganador anticipado */

/* v0.5.1 · reservas visibles y bloqueo de medio de pago */
.reservation-payment-clock{display:flex;align-items:center;gap:14px;flex-wrap:wrap;padding:14px 16px;margin:12px 0 18px;border:1px solid #f0c36b;border-radius:12px;background:#fff8e8}.reservation-payment-clock span{font-weight:800}.reservation-payment-clock strong{font-size:1.35rem;letter-spacing:.04em}.reservation-payment-clock small{flex:1 1 280px;color:var(--muted,#667085)}
.payment-method-picker{margin-top:18px}.payment-method-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:14px}.payment-method-option{display:flex;align-items:center;justify-content:space-between;gap:14px;border:1px solid #dfe3ea;border-radius:12px;padding:14px;background:#fff}.payment-method-option div{display:flex;flex-direction:column;gap:3px}.payment-method-option small{color:var(--muted,#667085)}
.payment-method-locked{border:1px solid #f0c36b;background:#fffdf7}.payment-active-link,.admin-mp-payment-link-row{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.payment-active-link .input,.admin-mp-payment-link-row .input{flex:1 1 360px}.admin-mp-payment-link{margin:18px 0;padding:16px;border:1px solid #dde3ec;border-radius:12px;background:#fff}.admin-mp-payment-link.is-active{border-color:#f0c36b;background:#fffdf7}.admin-mp-payment-link-head{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;margin-bottom:12px}.admin-mp-payment-link-head h3{margin:0 0 4px}.admin-mp-payment-link-head p{margin:0;color:var(--muted,#667085)}
.mt{margin-top:12px}
@media(max-width:720px){.payment-method-grid{grid-template-columns:1fr}.payment-method-option{align-items:flex-start;flex-direction:column}.payment-method-option .btn{width:100%}.reservation-payment-clock{align-items:flex-start;flex-direction:column}.payment-active-link .btn,.payment-active-link a,.admin-mp-payment-link-row .btn,.admin-mp-payment-link-row a{width:100%}.admin-mp-payment-link-head{flex-direction:column}}

/* v0.5.2 · resolución segura del pago actual por número/comprador */

/* v0.5.3 · retorno seguro desde Mercado Pago al cancelar/volver */

/* =====================================================
   Sorteos Web v0.5.6 · pagos por usuario estilo Subastas
   + configuración individual de correos automáticos
   ===================================================== */
.admin-payment-user-list{display:grid;gap:8px;margin-top:12px}
.admin-payment-user-box{border:1px solid #ded5c4;border-radius:11px;background:#fff;overflow:hidden;box-shadow:0 3px 10px rgba(20,33,61,.035)}
.admin-payment-user-box>summary{display:grid;grid-template-columns:minmax(190px,1fr) minmax(480px,auto) auto 18px;align-items:center;gap:9px;padding:9px 11px;list-style:none;cursor:pointer;background:#fff}
.admin-payment-user-box>summary::-webkit-details-marker{display:none}.admin-payment-user-box>summary:hover{background:#fffaf5}.admin-payment-user-box[open]>summary{background:#fff8ee;border-bottom:1px solid #e8ddc8}.admin-payment-user-main{min-width:0}.admin-payment-user-main strong,.admin-payment-user-main span{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.admin-payment-user-main strong{font-size:.86rem;line-height:1.15;color:#11203a}.admin-payment-user-main span{font-size:.68rem;color:var(--muted);margin-top:3px}.admin-payment-user-metrics{display:grid;grid-template-columns:repeat(4,minmax(104px,1fr));gap:5px}.admin-payment-metric-box{display:grid;grid-template-columns:1fr;gap:0;align-content:center;min-width:104px;padding:6px 8px;border:1px solid #e8ded3;border-radius:8px;background:#faf8f5;color:var(--text);text-decoration:none;transition:transform .15s ease,border-color .15s ease,box-shadow .15s ease}.admin-payment-metric-box:hover,.admin-payment-metric-box:focus-visible{transform:translateY(-1px);border-color:#c7a987;box-shadow:0 5px 13px rgba(40,28,18,.08);outline:none}.admin-payment-metric-box.metric-paid{background:#f1faf5;border-color:#cfe9da}.admin-payment-metric-box.metric-paid strong{color:#16704a}.admin-payment-metric-box.metric-pending{background:#fff9ec;border-color:#ead8a9}.admin-payment-metric-box.metric-pending strong{color:#996500}.admin-payment-metric-box span{font-size:.61rem;color:#74685f;white-space:nowrap}.admin-payment-metric-box strong{font-size:.8rem;line-height:1.15;color:#11203a;white-space:nowrap;margin:2px 0}.admin-payment-metric-box small{font-size:.56rem;color:#8a7c71;white-space:nowrap}.admin-payment-user-status{display:flex;justify-content:flex-end;align-items:center;min-width:max-content}.admin-payment-user-status .badge{white-space:nowrap}.admin-payment-user-expanded{padding:10px;background:#fdfbf8}.admin-payment-entry-list{display:grid;gap:7px}.admin-payment-entry{border:1px solid #e6ddd0;border-radius:10px;background:#fff;overflow:hidden}.admin-payment-entry>summary{display:grid;grid-template-columns:44px minmax(220px,1fr) 130px auto 18px;align-items:center;gap:9px;padding:8px 10px;cursor:pointer;list-style:none}.admin-payment-entry>summary::-webkit-details-marker{display:none}.admin-payment-entry[open]>summary{background:#fffaf5;border-bottom:1px solid #eee3d5}.admin-payment-entry .payment-number-badge{width:44px;height:44px;font-size:1rem}.admin-payment-entry-expanded{padding:10px;background:#fffdf9}.user-adjudications-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:2px 0 8px}.user-adjudications-heading h3{margin:0;font-size:.9rem}.user-adjudications-heading span{font-size:.68rem;font-weight:800;color:#776b62;background:#f3eee8;border-radius:999px;padding:4px 8px}
.email-events-form{display:grid;gap:14px}.email-events-toolbar{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:10px 12px;border:1px solid #ebe2d5;border-radius:11px;background:#fffdf9}.email-events-toolbar b,.email-events-toolbar small{display:block}.email-events-toolbar small{margin-top:3px;color:var(--muted)}.email-event-list{display:grid;gap:7px}.email-event-row{display:grid!important;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:12px;padding:11px 12px;border:1px solid #e8dfd2;border-radius:10px;background:#fff;cursor:pointer}.email-event-row:hover{background:#fffaf5;border-color:#d7c5ae}.email-event-row input{width:18px;height:18px}.email-event-copy{min-width:0}.email-event-copy b,.email-event-copy small{display:block}.email-event-copy b{font-size:.84rem;color:#11203a}.email-event-copy small{font-size:.7rem;color:var(--muted);margin-top:3px;line-height:1.35}.email-event-row>.badge{justify-self:end;white-space:nowrap}
@media(max-width:1180px){.admin-payment-user-box>summary{grid-template-columns:minmax(0,1fr) auto 18px}.admin-payment-user-metrics{grid-column:1/-1;width:100%;grid-template-columns:repeat(4,minmax(0,1fr))}.admin-payment-user-status{grid-column:auto}}
@media(max-width:760px){.admin-payment-user-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.admin-payment-metric-box{min-width:0}.admin-payment-metric-box span,.admin-payment-metric-box strong,.admin-payment-metric-box small{white-space:normal}.admin-payment-entry>summary{grid-template-columns:40px minmax(0,1fr) auto 18px}.admin-payment-entry .entity-metric{display:none}.email-events-toolbar{align-items:stretch;flex-direction:column}.email-events-toolbar .actions{width:100%}.email-events-toolbar .btn{flex:1}.email-event-row{grid-template-columns:auto minmax(0,1fr)}.email-event-row>.badge{grid-column:2;justify-self:start}}
@media(max-width:480px){.admin-payment-user-box>summary{grid-template-columns:minmax(0,1fr) 18px}.admin-payment-user-status{grid-column:1/-1;justify-content:flex-start}.admin-payment-user-metrics{grid-template-columns:1fr 1fr}.admin-payment-user-expanded{padding:7px}.admin-payment-entry>summary{grid-template-columns:38px minmax(0,1fr) 18px}.admin-payment-entry .entity-status{grid-column:2}.admin-payment-entry .payment-number-badge{width:38px;height:38px}}

/* PWA v0.5.9 */
.pwa-install-hero{display:flex;align-items:center;gap:22px;padding:26px}.pwa-app-icon{width:112px;min-width:112px}.pwa-app-icon img{display:block;width:100%;height:auto;border-radius:24px;box-shadow:0 12px 28px rgba(15,23,42,.18)}.pwa-install-hero h2{margin:8px 0}.pwa-install-main{min-width:210px}.pwa-guide-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.pwa-guide-grid .card{margin:0}.step-number{width:34px;height:34px;border-radius:50%;display:grid;place-items:center;background:#e0e7ff;color:#3730a3;font-weight:900}.pwa-feature-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.pwa-feature-grid>div{padding:14px;border:1px solid var(--border);border-radius:12px;background:#f8fafc}.pwa-feature-grid b,.pwa-feature-grid small{display:block}.pwa-feature-grid small{margin-top:4px;color:var(--muted)}.pwa-account-card .btn{margin-top:8px}.main-nav a[href$="install_app.php"]{white-space:nowrap}@media(max-width:850px){.pwa-guide-grid{grid-template-columns:1fr}.pwa-feature-grid{grid-template-columns:1fr}}@media(max-width:520px){.pwa-install-hero{align-items:flex-start;flex-direction:column}.pwa-app-icon{width:86px;min-width:86px}.pwa-install-main{width:100%;min-width:0}}
/* v0.6.0 · selección múltiple y pago conjunto */
.multi-number-bar{position:sticky;bottom:12px;z-index:20;margin:16px 0 8px;padding:12px 14px;border:1px solid #bfdbfe;border-radius:14px;background:rgba(255,255,255,.97);box-shadow:0 12px 28px rgba(20,33,61,.14);display:grid;grid-template-columns:minmax(0,1fr) auto auto auto;gap:12px;align-items:center;backdrop-filter:blur(10px)}
.multi-number-bar[hidden]{display:none}.multi-number-bar>div:first-child{min-width:0;max-width:100%;overflow:hidden}.multi-number-bar b{display:block;max-width:100%;overflow-wrap:anywhere}.multi-number-bar small{display:block;color:var(--muted);white-space:normal;overflow-wrap:anywhere;word-break:normal;line-height:1.35;max-width:560px}.multi-number-total{text-align:right}.multi-number-total span{display:block;font-size:9px;text-transform:uppercase;color:var(--muted);font-weight:800}.multi-number-total strong{font-size:18px}.pick-number[data-multi-number]{cursor:pointer}.pick-number[data-multi-number].selected{background:#eff6ff;border-style:solid;border-color:#2563eb;box-shadow:0 0 0 2px rgba(37,99,235,.12)}
.batch-number-chips{display:flex;flex-wrap:wrap;gap:6px;margin:4px 0 14px}.batch-number-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.batch-number-item{border:1px solid var(--border);border-radius:10px;padding:10px;display:flex;align-items:center;justify-content:space-between;gap:8px}.batch-number-item strong{font-size:18px}
@media(max-width:720px){.multi-number-bar{grid-template-columns:minmax(0,1fr) minmax(0,1fr);width:100%;max-width:100%;overflow:hidden;padding:10px;gap:9px}.multi-number-bar>div:first-child{grid-column:1/-1;width:100%;min-width:0;max-width:100%}.multi-number-bar b{font-size:13px}.multi-number-bar small{width:100%;max-width:100%;font-size:11px;white-space:normal;overflow-wrap:anywhere;word-break:normal;line-height:1.35;max-height:4.1em;overflow-y:auto;overflow-x:hidden;padding-right:2px}.multi-number-total{text-align:left;min-width:0}.multi-number-total strong{font-size:16px;white-space:normal}.multi-number-bar .btn{width:100%;min-width:0;white-space:normal}.batch-number-list{grid-template-columns:1fr}}
@media(max-width:420px){.multi-number-bar{grid-template-columns:1fr}.multi-number-bar>div:first-child{grid-column:auto}.multi-number-total{grid-column:auto}.multi-number-bar small{font-size:10.5px;max-height:5.4em}}
/* v0.6.1 · stickers por número */
.number-sticker-thumb{display:block;width:100%;height:58px;object-fit:contain;border-radius:7px;margin:0 auto 5px;background:#fff}.pick-number.has-sticker{padding-top:6px}.pick-number.has-sticker strong{font-size:20px}.sticker-settings-card{border:1px solid var(--border);border-radius:14px;background:#fff;overflow:hidden}.sticker-settings-card>summary{display:flex;justify-content:space-between;align-items:center;gap:14px;padding:15px 16px;cursor:pointer;list-style:none}.sticker-settings-card>summary::-webkit-details-marker{display:none}.sticker-settings-card>summary small{display:block;color:var(--muted);margin-top:3px}.sticker-settings-body{padding:0 16px 16px;border-top:1px solid var(--border)}.sticker-upload-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;margin-top:14px}.sticker-upload-item{border:1px solid var(--border);border-radius:12px;padding:9px;min-width:0;background:#fafafa}.sticker-upload-head{display:flex;justify-content:space-between;align-items:center;gap:6px;margin-bottom:7px}.sticker-upload-head strong{font-size:18px}.sticker-upload-item img{width:100%;height:82px;object-fit:contain;background:#fff;border:1px solid #e5e7eb;border-radius:8px;margin-bottom:7px}.sticker-upload-item input[type=file]{font-size:11px;max-width:100%}.sticker-upload-item .btn{width:100%;margin-top:7px}
@media(max-width:900px){.sticker-upload-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:520px){.number-sticker-thumb{height:48px}.sticker-upload-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
/* v0.6.2 · carga única y asignación aleatoria de stickers */
.sticker-bulk-tools{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;margin-top:16px;padding:14px;border:1px solid var(--border);border-radius:12px;background:#fafafa}.sticker-bulk-picker{flex:1;min-width:0}.sticker-bulk-picker input[type=file]{width:100%;margin-top:6px}.sticker-random-preview{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;margin-top:14px;padding-top:14px;border-top:1px dashed var(--border)}.sticker-random-item{border:1px solid var(--border);border-radius:12px;padding:9px;background:#fff;min-width:0}.sticker-random-item img{width:100%;height:96px;object-fit:contain;background:#fff;border:1px solid #e5e7eb;border-radius:8px;margin-bottom:6px}.sticker-random-item small{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:var(--muted)}.sticker-existing-title{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:22px}.sticker-existing-title h3{margin:0;font-size:16px}.sticker-empty-preview{height:82px;display:flex;align-items:center;justify-content:center;border:1px dashed var(--border);border-radius:8px;background:#fff;color:var(--muted);font-size:12px;margin-bottom:7px}.sticker-existing-grid{margin-top:10px}
@media(max-width:900px){.sticker-bulk-tools{align-items:stretch;flex-direction:column}.sticker-bulk-tools .actions{width:100%}.sticker-random-preview{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:520px){.sticker-random-preview{grid-template-columns:repeat(2,minmax(0,1fr))}.sticker-bulk-tools .actions{display:grid;grid-template-columns:1fr}.sticker-bulk-tools .actions .btn{width:100%}}

/* v0.6.3 · Mi cuenta en acordeones + previews livianos */
.my-raffle-accordions{gap:9px}.my-raffle-accordion{border:1px solid var(--border);border-radius:14px;background:#fff;overflow:hidden}.my-raffle-accordion-summary{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:12px;cursor:pointer;list-style:none;transition:background .15s ease}.my-raffle-accordion-summary::-webkit-details-marker{display:none}.my-raffle-accordion-summary:hover{background:#fffaf4}.my-raffle-summary-main{display:flex;align-items:center;gap:13px;min-width:0;flex:1}.my-raffle-summary-side{display:flex;align-items:center;justify-content:flex-end;gap:14px;flex:none}.my-accordion-chevron{font-size:18px;font-weight:900;transition:transform .18s ease}.my-raffle-accordion[open] .my-accordion-chevron{transform:rotate(180deg)}.my-raffle-accordion-body{padding:14px 16px 16px;border-top:1px solid var(--border);background:#fff}.my-payment-detail-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-bottom:12px}.my-payment-detail-grid>div{padding:10px 12px;border:1px solid var(--border);border-radius:10px;background:#fafafa}.my-payment-detail-grid>div>span:first-child{display:block;font-size:9px;text-transform:uppercase;color:var(--muted);margin-bottom:5px}.my-accordion-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-top:12px}.my-payment-text-link{font-weight:800;color:var(--brand);text-decoration:none}.my-payment-text-link:hover{text-decoration:underline}.number-sticker-thumb{content-visibility:auto}.sticker-existing-grid img{content-visibility:auto}
@media(max-width:720px){.my-raffle-accordion-summary{align-items:flex-start}.my-raffle-summary-side{align-items:flex-end;flex-direction:column;gap:4px}.my-payment-detail-grid{grid-template-columns:1fr 1fr}.my-raffle-summary-main .grow small{max-width:190px}.my-raffle-summary-side .my-pay-state{min-width:90px}}
@media(max-width:480px){.my-payment-detail-grid{grid-template-columns:1fr}.my-raffle-summary-main{gap:9px}.my-raffle-accordion-summary{padding:10px}.my-raffle-summary-main .my-number{width:70px}.my-raffle-summary-side{min-width:88px}}


/* v0.6.5 - previews livianas de stickers y acciones de pago */
.payment-page-top-actions{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;margin-bottom:16px}.payment-page-top-actions .inline-form{margin:0}.selected-sticker-preview{display:flex;align-items:center;justify-content:space-between;gap:18px;border:1px solid var(--border);border-radius:14px;padding:12px 14px;margin:14px 0;background:#fffaf4}.selected-sticker-preview>div{min-width:0}.selected-sticker-preview span{display:block;font-weight:900;color:var(--ink)}.selected-sticker-preview small{display:block;color:var(--muted);margin-top:4px}.selected-sticker-preview img{width:120px;height:120px;object-fit:contain;border-radius:10px;background:#fff;border:1px solid var(--border);flex:none}.batch-sticker-preview-section{margin:14px 0 18px;padding:14px;border:1px solid var(--border);border-radius:14px;background:#fffaf4}.batch-sticker-preview-section .section-title{margin-bottom:10px}.batch-sticker-preview-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px}.batch-sticker-preview-card{display:flex;flex-direction:column;gap:6px;align-items:center;padding:9px;border:1px solid var(--border);border-radius:11px;background:#fff;min-width:0}.batch-sticker-preview-card strong{font-size:13px}.batch-sticker-preview-card img{display:block;width:100%;height:100px;object-fit:contain;border-radius:8px;background:#fff}.batch-sticker-preview-card span{font-size:11px;color:var(--muted);padding:22px 0}
@media(max-width:720px){.payment-page-top-actions{align-items:stretch}.payment-page-top-actions .btn,.payment-page-top-actions form{width:100%}.payment-page-top-actions form .btn{width:100%}.selected-sticker-preview{align-items:flex-start}.selected-sticker-preview img{width:96px;height:96px}.batch-sticker-preview-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:460px){.selected-sticker-preview{flex-direction:column}.selected-sticker-preview img{width:100%;height:150px}.batch-sticker-preview-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}

.sticker-thumb-placeholder{display:grid;place-items:center;font-size:10px;color:var(--muted);border:1px dashed var(--border);background:#fafafa}.sticker-thumb-missing{background:#fff7ed;color:#9a3412}
/* v0.7.0 · invoices reales estilo Subastas */
.invoice-page-head{align-items:flex-start}.invoice-document{padding:22px}.invoice-document-top{display:flex;justify-content:space-between;gap:18px;align-items:flex-start;border-bottom:1px solid var(--border,#e4d8c6);padding-bottom:16px;margin-bottom:16px}.invoice-number-block{text-align:right}.invoice-number-block span,.invoice-parties-grid span,.invoice-totals span{display:block;font-size:11px;text-transform:uppercase;font-weight:800;color:#667085;letter-spacing:.04em}.invoice-number-block strong{font-size:18px}.invoice-parties-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-bottom:18px}.invoice-parties-grid>div{border:1px solid var(--border,#e4d8c6);border-radius:12px;padding:12px;background:#fff}.invoice-parties-grid small{display:block;margin-top:4px;color:#667085;line-height:1.45}.invoice-sticker-thumb{width:54px;height:54px;object-fit:contain;border-radius:8px;border:1px solid #e6e6e6;background:#fff}.invoice-totals{margin-left:auto;width:min(420px,100%);display:grid;gap:8px;margin-top:18px}.invoice-totals>div{display:flex;justify-content:space-between;gap:20px;padding:9px 0;border-bottom:1px solid #eee}.invoice-total-final{font-size:18px;border-top:2px solid #17233f!important;border-bottom:0!important;padding-top:14px!important}.invoice-screen-actions{margin:16px 0 28px}.profile-invoice-list{display:grid;gap:10px}.profile-invoice-summary{display:grid;grid-template-columns:minmax(0,1fr) auto auto auto;gap:14px;align-items:center}.profile-invoice-main small{display:block;color:#667085;margin-top:3px}.profile-invoice-amount{text-align:right}.profile-invoice-amount span{display:block;font-size:10px;text-transform:uppercase;color:#667085;font-weight:800}.profile-invoice-amount strong{font-size:17px}
@media(max-width:760px){.invoice-parties-grid{grid-template-columns:1fr}.invoice-document-top{display:block}.invoice-number-block{text-align:left;margin-top:12px}.profile-invoice-summary{grid-template-columns:1fr auto}.profile-invoice-amount{grid-column:1/2;text-align:left}}
@media print{header,.site-header,.admin-nav,.invoice-screen-actions,footer{display:none!important}.invoice-document{box-shadow:none!important;border:0!important}.page-head{margin-top:0!important}}

/* Estadísticas avanzadas v0.7.5 */
.stats-page{display:block}.stats-period-form{display:flex;align-items:end;gap:8px;min-width:210px}.stats-period-form label{font-size:.76rem;font-weight:850;color:var(--muted);text-transform:uppercase;letter-spacing:.04em}.stats-period-form select{min-width:160px}.stats-subtitle{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:22px 0 8px}.stats-subtitle h2{margin:0;font-size:1.08rem}.stats-subtitle span{font-size:.82rem;color:var(--muted);font-weight:700}.stats-metric-grid{grid-template-columns:repeat(auto-fit,minmax(190px,1fr))}.stats-chart-grid{margin-top:16px}.stats-card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:14px}.stats-card-head h2{margin:0}.stats-card-head small{display:block;color:var(--muted);margin-top:3px}.stats-card-head>a{font-weight:850;color:var(--primary);text-decoration:none;white-space:nowrap}.stats-bar-row{grid-template-columns:44px minmax(100px,1fr) 88px 70px}.stats-bar-row.sales{grid-template-columns:44px minmax(100px,1fr) 104px 58px}.stats-bar-row.sales b{font-size:.75rem;white-space:nowrap}.stats-three-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin:16px 0}.stats-breakdown-list{display:flex;flex-direction:column;gap:8px}.stats-breakdown-list>div{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 13px;border:1px solid #eef2f6;border-radius:11px;background:#f8fafc}.stats-breakdown-list>div>span{min-width:0}.stats-breakdown-list b{display:block}.stats-breakdown-list small{display:block;color:var(--muted);margin-top:2px}.stats-breakdown-list strong{white-space:nowrap}.stats-kpi-list{display:grid;grid-template-columns:1fr;gap:0}.stats-kpi-list>div{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:10px 2px;border-bottom:1px solid #eef2f6}.stats-kpi-list>div:last-child{border-bottom:0}.stats-kpi-list span{color:var(--muted)}.stats-kpi-list b{text-align:right}.stats-kpi-two{grid-template-columns:repeat(2,minmax(0,1fr));column-gap:26px}.stats-table-sub{display:block;color:var(--muted);margin-top:3px;white-space:nowrap}.stats-raffle-table{min-width:1450px}.stats-raffle-table td,.stats-raffle-table th{white-space:nowrap}.stats-raffle-table td:first-child,.stats-raffle-table th:first-child{position:sticky;left:0;background:#fff;z-index:1;min-width:210px}.stats-raffle-table thead th:first-child{background:#f8fafc;z-index:2}
@media(max-width:1050px){.stats-three-grid{grid-template-columns:1fr 1fr}.stats-kpi-two{grid-template-columns:1fr}}
@media(max-width:700px){.stats-period-form{width:100%;align-items:stretch;flex-direction:column}.stats-period-form select{width:100%}.stats-subtitle{align-items:flex-start;flex-direction:column}.stats-three-grid{grid-template-columns:1fr}.stats-bar-row,.stats-bar-row.sales{grid-template-columns:38px minmax(80px,1fr) 82px}.stats-bar-row small{display:none}.stats-bar-row.sales b{font-size:.7rem}.stats-card-head{flex-direction:column}.stats-card-head>a{white-space:normal}}

/* v0.7.6 · Menú desplegable móvil */
.mobile-menu-toggle{display:none;align-items:center;justify-content:center;gap:3px;min-width:42px;height:36px;padding:6px 9px;border:1px solid rgba(255,255,255,.18);border-radius:9px;background:rgba(255,255,255,.08);color:#fff;cursor:pointer}
.mobile-menu-toggle span{display:block;width:18px;height:2px;border-radius:2px;background:currentColor;transition:transform .18s ease,opacity .18s ease}
.mobile-menu-toggle b{display:none;font-size:.7rem}.mobile-menu-toggle.is-open span:nth-child(1){transform:translateY(5px) rotate(45deg)}.mobile-menu-toggle.is-open span:nth-child(2){opacity:0}.mobile-menu-toggle.is-open span:nth-child(3){transform:translateY(-5px) rotate(-45deg)}
@media(max-width:760px){
  .topbar-primary{flex-direction:row!important;flex-wrap:wrap!important;align-items:center!important;justify-content:flex-start!important}
  .brand-shell{flex:1 1 auto}.admin-header-spacer{display:none}.mobile-menu-toggle{display:inline-flex;flex-direction:column;margin-left:auto}.nav-actions{flex:0 0 auto}
  .main-nav{display:none!important;order:10;flex:1 0 100%;width:100%;margin:5px 0 0!important;padding:7px!important;border-top:1px solid rgba(255,255,255,.09);background:#101b31;border-radius:10px;box-shadow:0 10px 22px rgba(0,0,0,.16)}
  .main-nav.is-open{display:flex!important;flex-direction:column;align-items:stretch;gap:3px}.main-nav a{width:100%;padding:11px 12px!important}.main-nav a.active{box-shadow:inset 3px 0 0 var(--primary)!important}
  .admin-header-menu-panel{display:none;border-top:1px solid rgba(255,255,255,.09)}.admin-header-menu-panel.is-open{display:block}.admin-header-menu-panel .wrap{padding-top:7px;padding-bottom:8px;overflow:visible}
  .admin-header-menu{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr));gap:5px!important;overflow:visible!important;white-space:normal!important;padding:0!important}.admin-header-menu a{min-width:0!important;width:100%;min-height:40px!important;justify-content:flex-start!important;padding:9px 10px!important;font-size:.72rem!important}.admin-menu-full{display:inline!important}.admin-menu-short{display:none!important}.admin-header-menu .admin-public-link{grid-column:1/-1}
}
@media(max-width:390px){.admin-header-menu{grid-template-columns:1fr}.admin-header-menu .admin-public-link{grid-column:auto}.nav-actions .btn.btn-sm{padding-left:7px;padding-right:7px}}

/* v0.7.7 · Selección de stickers responsive: evita crecimiento horizontal en móvil */
html,body{max-width:100%}.multi-number-bar,.multi-number-bar *{min-inline-size:0}.batch-number-chips{max-width:100%;overflow-wrap:anywhere}.batch-number-chips .badge{white-space:normal}

/* v0.7.8 · pago móvil y selección persistente */
.payment-card-surcharge-notice{margin:10px 0 14px;font-size:.94rem;line-height:1.45}.single-sticker-discard{margin-top:10px}.single-sticker-discard .btn{width:auto}.pick-number[data-owned-pending-number].selected{background:#eff6ff;border-style:solid;border-color:#2563eb;box-shadow:0 0 0 2px rgba(37,99,235,.12)}
@media(max-width:720px){.payment-card-surcharge-notice{display:block!important;width:100%;box-sizing:border-box;margin:10px 0 14px;font-size:.92rem}.single-sticker-discard,.single-sticker-discard .btn{width:100%}.selected-sticker-preview .single-sticker-discard{margin-top:12px}.payment-method-option small{white-space:normal;overflow-wrap:anywhere}.payment-method-picker{min-width:0;max-width:100%}}

.invoice-number-link{font-weight:800;text-decoration:underline;text-underline-offset:2px;overflow-wrap:anywhere}

/* v0.7.16 · detalle de invoices por sorteo */
.invoice-raffle-detail-list{display:grid;gap:10px;margin:14px 0}.invoice-raffle-detail-row{display:grid;grid-template-columns:minmax(200px,1.5fr) minmax(180px,1.4fr) minmax(110px,.7fr) minmax(130px,.8fr) auto;gap:12px;align-items:center;padding:12px 14px;border:1px solid #e5e7eb;border-radius:12px;background:#fff}.invoice-raffle-detail-row>div{min-width:0}.invoice-raffle-detail-row span{display:block;font-size:.7rem;text-transform:uppercase;letter-spacing:.04em;color:#64748b;font-weight:800}.invoice-raffle-detail-row strong{display:block;overflow-wrap:anywhere}.invoice-raffle-detail-row small{display:block;color:#64748b;margin-top:3px}.admin-payment-entry>summary .entity-main>strong{font-size:1rem}.admin-payment-entry>summary .invoice-number-link{font-weight:900}
@media(max-width:760px){.invoice-raffle-detail-row{grid-template-columns:1fr 1fr}.invoice-raffle-detail-row .actions{grid-column:1/-1}.admin-payment-entry>summary .entity-main small{white-space:normal;overflow-wrap:anywhere}}
@media(max-width:480px){.invoice-raffle-detail-row{grid-template-columns:1fr}}

/* v0.7.17 · Resumen financiero y operativo de pagos */
.payment-summary-rich{margin:12px 0 16px}.payment-summary-rich .metric{min-height:104px}.payment-summary-rich .metric strong{font-size:clamp(20px,2vw,27px)}
.payment-status-summary{display:flex;flex-wrap:wrap;gap:7px;margin:-5px 0 16px}.payment-status-summary .badge{text-decoration:none}
.admin-payment-user-metrics{grid-template-columns:repeat(4,minmax(104px,1fr))}
.admin-payment-metric-box.metric-commission strong{font-weight:900}.admin-payment-metric-box.metric-total strong{font-weight:950}
.invoice-raffle-detail-row{grid-template-columns:repeat(auto-fit,minmax(130px,1fr))}.invoice-delivery-summary{min-width:160px}
@media(max-width:760px){.payment-summary-rich{grid-template-columns:1fr 1fr}.payment-summary-rich .metric{min-height:92px}.admin-payment-user-metrics{grid-template-columns:1fr 1fr}.invoice-raffle-detail-row{grid-template-columns:1fr 1fr}}
@media(max-width:480px){.payment-summary-rich{grid-template-columns:1fr}.admin-payment-user-metrics{grid-template-columns:1fr 1fr}.invoice-raffle-detail-row{grid-template-columns:1fr}}
/* v0.7.18 · modalidades de entrega del premio */
.prize-delivery-config{padding:12px;border:1px solid #e4e9f0;border-radius:12px;background:#f8fafc}.prize-delivery-options{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:8px;margin-top:7px}.prize-delivery-option{display:flex;align-items:flex-start;gap:9px;padding:10px;border:1px solid #e2e8f0;border-radius:10px;background:#fff;cursor:pointer}.prize-delivery-option:hover{border-color:#a9b9ce}.prize-delivery-option input{margin-top:3px;flex:0 0 auto}.prize-delivery-option span{display:grid;gap:2px}.prize-delivery-option b{font-size:.82rem}.prize-delivery-option small{font-size:.68rem;color:var(--muted);line-height:1.3}.prize-delivery-public{margin-top:10px}.delivery-physical-field[hidden],.delivery-shipping-field[hidden],.delivery-transfer-field[hidden],.delivery-reference-field[hidden]{display:none!important}
/* Resumen de Pagos compacto, inspirado en las tarjetas pequeñas de Subastas */
.payment-summary-compact{display:grid;grid-template-columns:repeat(auto-fit,minmax(135px,1fr));gap:7px;margin:10px 0 14px}.payment-summary-compact .pay-kpi{min-height:68px!important;padding:8px 10px!important;border-width:1px!important;border-style:solid!important;border-left-width:3px!important;border-radius:9px!important;text-decoration:none;box-shadow:none;align-content:center}.payment-summary-compact .pay-kpi span{font-size:.62rem;font-weight:800;letter-spacing:.01em;color:#667085}.payment-summary-compact .pay-kpi strong{font-size:1rem!important;line-height:1.1;margin:2px 0}.payment-summary-compact .pay-kpi small{font-size:.57rem;color:#7c8798;line-height:1.15}.payment-summary-compact a.pay-kpi:hover{transform:translateY(-1px);box-shadow:0 4px 10px rgba(15,23,42,.07)}
.pay-kpi.kpi-blue{background:#eef5ff;border-color:#bcd3f4!important}.pay-kpi.kpi-blue strong{color:#245a9a}.pay-kpi.kpi-violet{background:#f4f0ff;border-color:#d6c9f2!important}.pay-kpi.kpi-violet strong{color:#6448a7}.pay-kpi.kpi-cyan{background:#edfafa;border-color:#bfe7e7!important}.pay-kpi.kpi-cyan strong{color:#14787d}.pay-kpi.kpi-sand{background:#fff9ed;border-color:#ead8b2!important}.pay-kpi.kpi-sand strong{color:#8b651b}.pay-kpi.kpi-orange{background:#fff3e8;border-color:#f0caa4!important}.pay-kpi.kpi-orange strong{color:#b65a10}.pay-kpi.kpi-purple{background:#f8effb;border-color:#dfc5e8!important}.pay-kpi.kpi-purple strong{color:#7d3f8e}.pay-kpi.kpi-green{background:#eef9f3;border-color:#bfe3ce!important}.pay-kpi.kpi-green strong{color:#157347}.pay-kpi.kpi-red{background:#fff0f0;border-color:#efc4c4!important}.pay-kpi.kpi-red strong{color:#ad3131}.pay-kpi.kpi-indigo{background:#eff2ff;border-color:#c5cdf4!important}.pay-kpi.kpi-indigo strong{color:#4058a8}.pay-kpi.kpi-teal{background:#eefaf7;border-color:#bee4d9!important}.pay-kpi.kpi-teal strong{color:#167866}.pay-kpi.kpi-gold{background:#fff8e5;border-color:#ead59b!important}.pay-kpi.kpi-gold strong{color:#926800}.pay-kpi.kpi-sky{background:#eef9ff;border-color:#bcdff0!important}.pay-kpi.kpi-sky strong{color:#287494}.pay-kpi.kpi-gray{background:#f5f6f8;border-color:#d9dde4!important}.pay-kpi.kpi-gray strong{color:#4f5968}.admin-payment-metric-box.metric-delivery{background:#eef9ff;border-color:#c7e1ed}.admin-payment-metric-box.metric-delivery strong{color:#287494}
@media(max-width:760px){.payment-summary-compact{grid-template-columns:repeat(2,minmax(0,1fr))}.payment-summary-compact .pay-kpi{min-height:64px!important}.prize-delivery-options{grid-template-columns:1fr}}

/* v0.7.20 · Invoice legible y adaptativo en una sola hoja */
@media print{
  @page{size:A4 portrait;margin:11mm 12mm 10mm}
  html,body{margin:0!important;padding:0!important;background:#fff!important;color:#172033!important;-webkit-print-color-adjust:exact;print-color-adjust:exact}
  header,.site-header,.admin-nav,.invoice-screen-actions,footer,.invoice-page-head{display:none!important}
  .main-shell{width:100%!important;max-width:none!important;margin:0!important;padding:0!important}
  .invoice-document{width:100%!important;max-width:none!important;margin:0!important;padding:8mm 8mm 6mm!important;border:1px solid #d9dde5!important;border-radius:7px!important;box-shadow:none!important;background:#fff!important;break-inside:avoid!important;page-break-inside:avoid!important}
  .invoice-document-top{display:flex!important;align-items:flex-start!important;justify-content:space-between!important;gap:14px!important;padding-bottom:10px!important;margin-bottom:10px!important;border-bottom:1.5px solid #d8dee8!important}
  .invoice-document-top h2{margin:0!important;font-size:20px!important;line-height:1.05!important;letter-spacing:-.02em!important;color:#172033!important}
  .invoice-document-top p{margin:4px 0 0!important;font-size:10px!important;line-height:1.25!important;color:#667085!important}
  .invoice-number-block{text-align:right!important;min-width:210px!important}
  .invoice-number-block span,.invoice-parties-grid span,.invoice-totals span{display:block!important;font-size:8px!important;line-height:1.15!important;letter-spacing:.055em!important;text-transform:uppercase!important;font-weight:850!important;color:#667085!important}
  .invoice-number-block strong{display:block!important;margin-top:2px!important;font-size:15px!important;line-height:1.15!important;color:#172033!important}
  .invoice-number-block small{display:block!important;margin-top:3px!important;font-size:8px!important;line-height:1.2!important;color:#667085!important}
  .invoice-parties-grid{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:8px!important;margin-bottom:12px!important}
  .invoice-parties-grid>div{padding:9px 10px!important;border:1px solid #dfe3ea!important;border-radius:6px!important;background:#fbfcfe!important;min-height:62px!important}
  .invoice-parties-grid strong{display:block!important;margin-top:3px!important;font-size:11px!important;line-height:1.25!important;color:#172033!important;overflow-wrap:anywhere!important}
  .invoice-parties-grid small{display:block!important;margin-top:4px!important;font-size:8.5px!important;line-height:1.3!important;color:#667085!important;overflow-wrap:anywhere!important}
  .invoice-items-table{overflow:visible!important;margin:0!important}
  .invoice-items-table table{table-layout:fixed!important;width:100%!important;border-collapse:collapse!important;font-size:10px!important}
  .invoice-items-table th,.invoice-items-table td{padding:7px 6px!important;line-height:1.25!important;white-space:normal!important;vertical-align:middle!important;border-bottom:1px solid #e5e8ee!important;color:#172033!important}
  .invoice-items-table th{padding-top:6px!important;padding-bottom:6px!important;background:#f7f9fc!important;font-size:7.5px!important;letter-spacing:.04em!important;color:#667085!important;font-weight:850!important}
  .invoice-items-table th:nth-child(1),.invoice-items-table td:nth-child(1){width:24%!important}
  .invoice-items-table th:nth-child(2),.invoice-items-table td:nth-child(2){width:7%!important;text-align:center!important}
  .invoice-items-table th:nth-child(3),.invoice-items-table td:nth-child(3){width:9%!important;text-align:center!important}
  .invoice-items-table th:nth-child(4),.invoice-items-table td:nth-child(4){width:32%!important}
  .invoice-items-table th:nth-child(5),.invoice-items-table td:nth-child(5),.invoice-items-table th:nth-child(6),.invoice-items-table td:nth-child(6){width:14%!important;text-align:right!important}
  .invoice-items-table tr{break-inside:avoid!important;page-break-inside:avoid!important}
  .invoice-sticker-thumb{width:30px!important;height:30px!important;object-fit:contain!important;border-radius:5px!important;border:1px solid #e1e5ea!important;background:#fff!important}
  .invoice-items-table td small{display:block!important;margin-top:2px!important;font-size:7px!important;line-height:1.1!important;color:#7b8493!important;overflow-wrap:anywhere!important}
  .invoice-totals{width:280px!important;max-width:48%!important;display:grid!important;gap:0!important;margin:12px 0 0 auto!important}
  .invoice-totals>div{display:flex!important;justify-content:space-between!important;gap:18px!important;padding:6px 0!important;border-bottom:1px solid #e6e8ec!important;font-size:10px!important;line-height:1.15!important}
  .invoice-totals strong{font-size:10px!important;color:#172033!important}
  .invoice-total-final{font-size:13px!important;border-top:2px solid #17233f!important;border-bottom:0!important;padding-top:8px!important;margin-top:2px!important}
  .invoice-total-final strong{font-size:14px!important}
  .invoice-document>.alert{padding:7px 9px!important;margin:10px 0 0!important;border-radius:5px!important;font-size:9px!important;line-height:1.25!important;border:1px solid rgba(0,0,0,.05)!important}

  /* 7-16 stickers: mantiene buena lectura y reduce solo lo necesario. */
  .invoice-print-medium{padding:6mm 7mm 5mm!important}
  .invoice-print-medium .invoice-document-top{padding-bottom:7px!important;margin-bottom:7px!important}
  .invoice-print-medium .invoice-document-top h2{font-size:17px!important}
  .invoice-print-medium .invoice-parties-grid{gap:6px!important;margin-bottom:8px!important}
  .invoice-print-medium .invoice-parties-grid>div{padding:6px 7px!important;min-height:50px!important}
  .invoice-print-medium .invoice-parties-grid strong{font-size:9.5px!important}
  .invoice-print-medium .invoice-parties-grid small{font-size:7.5px!important}
  .invoice-print-medium .invoice-items-table table{font-size:8.6px!important}
  .invoice-print-medium .invoice-items-table th,.invoice-print-medium .invoice-items-table td{padding:4px 5px!important;line-height:1.15!important}
  .invoice-print-medium .invoice-sticker-thumb{width:24px!important;height:24px!important}
  .invoice-print-medium .invoice-items-table td small{font-size:6.5px!important}
  .invoice-print-medium .invoice-totals{margin-top:8px!important}
  .invoice-print-medium .invoice-totals>div{padding:4px 0!important;font-size:9px!important}
  .invoice-print-medium>.alert{margin-top:7px!important;padding:5px 7px!important;font-size:8px!important}

  /* 17-28 stickers: formato compacto, todavía legible. */
  .invoice-print-compact{padding:4mm 5mm 4mm!important}
  .invoice-print-compact .invoice-document-top{padding-bottom:5px!important;margin-bottom:5px!important}
  .invoice-print-compact .invoice-document-top h2{font-size:15px!important}
  .invoice-print-compact .invoice-document-top p{font-size:8px!important;margin-top:2px!important}
  .invoice-print-compact .invoice-number-block strong{font-size:12px!important}
  .invoice-print-compact .invoice-parties-grid{gap:4px!important;margin-bottom:5px!important}
  .invoice-print-compact .invoice-parties-grid>div{padding:4px 5px!important;min-height:40px!important}
  .invoice-print-compact .invoice-parties-grid strong{font-size:8px!important}
  .invoice-print-compact .invoice-parties-grid small{font-size:6.5px!important;margin-top:2px!important}
  .invoice-print-compact .invoice-items-table table{font-size:7.6px!important}
  .invoice-print-compact .invoice-items-table th,.invoice-print-compact .invoice-items-table td{padding:2.5px 4px!important;line-height:1.08!important}
  .invoice-print-compact .invoice-items-table th{font-size:6.5px!important}
  .invoice-print-compact .invoice-sticker-thumb{width:19px!important;height:19px!important;border-radius:3px!important}
  .invoice-print-compact .invoice-items-table td small{display:none!important}
  .invoice-print-compact .invoice-totals{width:250px!important;margin-top:5px!important}
  .invoice-print-compact .invoice-totals>div{padding:3px 0!important;font-size:8px!important}
  .invoice-print-compact .invoice-total-final{padding-top:4px!important;font-size:10px!important}
  .invoice-print-compact>.alert{margin-top:5px!important;padding:4px 6px!important;font-size:7px!important}

  /* 29+ stickers: prioriza una sola hoja, sin empequeñecer invoices normales. */
  .invoice-print-dense{padding:3mm 4mm 3mm!important}
  .invoice-print-dense .invoice-document-top{padding-bottom:4px!important;margin-bottom:4px!important}
  .invoice-print-dense .invoice-document-top h2{font-size:14px!important}
  .invoice-print-dense .invoice-document-top p{font-size:7px!important;margin-top:1px!important}
  .invoice-print-dense .invoice-number-block span,.invoice-print-dense .invoice-parties-grid span,.invoice-print-dense .invoice-totals span{font-size:5.8px!important}
  .invoice-print-dense .invoice-number-block strong{font-size:10px!important}
  .invoice-print-dense .invoice-number-block small{font-size:6px!important}
  .invoice-print-dense .invoice-parties-grid{gap:3px!important;margin-bottom:4px!important}
  .invoice-print-dense .invoice-parties-grid>div{padding:3px 4px!important;min-height:32px!important}
  .invoice-print-dense .invoice-parties-grid strong{font-size:7px!important;margin-top:1px!important}
  .invoice-print-dense .invoice-parties-grid small{font-size:5.8px!important;line-height:1.05!important;margin-top:1px!important}
  .invoice-print-dense .invoice-items-table table{font-size:6.6px!important}
  .invoice-print-dense .invoice-items-table th,.invoice-print-dense .invoice-items-table td{padding:1.4px 3px!important;line-height:1.02!important}
  .invoice-print-dense .invoice-items-table th{font-size:5.7px!important;padding-top:2px!important;padding-bottom:2px!important}
  .invoice-print-dense .invoice-sticker-thumb{width:14px!important;height:14px!important;border-radius:2px!important}
  .invoice-print-dense .invoice-items-table td small{display:none!important}
  .invoice-print-dense .invoice-totals{width:220px!important;margin-top:3px!important}
  .invoice-print-dense .invoice-totals>div{padding:2px 0!important;font-size:7px!important}
  .invoice-print-dense .invoice-total-final{padding-top:3px!important;font-size:9px!important;border-top-width:1px!important}
  .invoice-print-dense .invoice-total-final strong{font-size:10px!important}
  .invoice-print-dense>.alert{margin-top:3px!important;padding:3px 5px!important;font-size:6.2px!important;line-height:1.05!important}
}

/* v0.7.22 · revisión inline de comprobantes */
.pending-proof-expanded{display:grid;gap:12px}.pending-proof-info-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.pending-proof-info-grid>div{min-width:0;padding:10px 11px;border:1px solid #e7dfd4;border-radius:10px;background:#fff}.pending-proof-info-grid>div.wide{grid-column:span 2}.pending-proof-info-grid>div.total{background:#f0fdf4;border-color:#bbdfca}.pending-proof-info-grid span,.pending-proof-file-strip span{display:block;font-size:.65rem;line-height:1.2;text-transform:uppercase;letter-spacing:.035em;color:#6b7280;font-weight:850}.pending-proof-info-grid strong,.pending-proof-file-strip strong{display:block;margin-top:3px;overflow-wrap:anywhere}.pending-proof-info-grid>div.total strong{font-size:1.05rem;color:#166534}.pending-proof-info-grid small,.pending-proof-file-strip small{display:block;margin-top:2px;color:#7c7269;font-size:.68rem}.pending-proof-raffles{margin:0}.pending-proof-file-strip{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:11px 13px;border:1px solid #bfdbfe;border-radius:11px;background:#eff6ff}.pending-proof-file-strip>div{min-width:0}.pending-proof-inline-review-form{padding-top:12px;border-top:1px solid #e8dfd3}.pending-proof-review-fields{display:grid;grid-template-columns:minmax(220px,.65fr) minmax(300px,1.35fr);gap:10px}.pending-proof-review-fields textarea{min-height:76px}.pending-proof-decision-actions{margin-top:10px}.pending-proof-decision-actions .btn{min-width:120px;font-weight:850}
body.proof-modal-open{overflow:hidden}.proof-modal[hidden]{display:none!important}.proof-modal{position:fixed;inset:0;z-index:10000;display:grid;place-items:center;padding:18px}.proof-modal-backdrop{position:absolute;inset:0;background:rgba(15,23,42,.72);backdrop-filter:blur(2px)}.proof-modal-dialog{position:relative;z-index:1;width:min(1100px,96vw);height:min(820px,92vh);display:grid;grid-template-rows:auto minmax(0,1fr) auto;background:#fff;border-radius:16px;box-shadow:0 24px 80px rgba(0,0,0,.35);overflow:hidden}.proof-modal-head{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:13px 16px;border-bottom:1px solid #e5e7eb;background:#f8fafc}.proof-modal-head span{display:block;font-size:.67rem;text-transform:uppercase;font-weight:850;color:#64748b}.proof-modal-head h2{margin:2px 0 0;font-size:1rem;overflow-wrap:anywhere}.proof-modal-close{border:0;background:#e2e8f0;color:#0f172a;width:38px;height:38px;border-radius:10px;font-size:1.6rem;line-height:1;cursor:pointer}.proof-modal-close:hover{background:#cbd5e1}.proof-modal-body{min-height:0;background:#e5e7eb}.proof-modal-body iframe{display:block;width:100%;height:100%;border:0;background:#fff}.proof-modal-foot{display:flex;justify-content:flex-end;padding:10px 14px;border-top:1px solid #e5e7eb;background:#fff}
@media(max-width:900px){.pending-proof-info-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.pending-proof-review-fields{grid-template-columns:1fr}.proof-modal{padding:8px}.proof-modal-dialog{width:100%;height:96vh;border-radius:12px}}
@media(max-width:520px){.pending-proof-info-grid{grid-template-columns:1fr}.pending-proof-info-grid>div.wide{grid-column:auto}.pending-proof-file-strip{align-items:stretch;flex-direction:column}.pending-proof-file-strip .btn{width:100%}.pending-proof-decision-actions{display:grid;grid-template-columns:1fr 1fr}.pending-proof-decision-actions .btn{min-width:0;width:100%}.proof-modal{padding:0}.proof-modal-dialog{height:100dvh;border-radius:0}.proof-modal-head{padding:10px 12px}.proof-modal-foot{padding:8px 10px}.proof-modal-foot .btn{width:100%}}

/* v0.7.23 · visor de comprobantes con zoom + ajustes de layout */
.proof-modal-controls{display:flex;align-items:center;justify-content:flex-end;gap:6px;flex:0 0 auto}.proof-modal-title-block{min-width:0;flex:1}.proof-control-btn,.proof-control-text{border:1px solid #cbd5e1;background:#fff;color:#0f172a;height:34px;border-radius:8px;font-weight:900;cursor:pointer;display:inline-grid;place-items:center}.proof-control-btn{width:34px;font-size:1.15rem}.proof-control-text{padding:0 10px;font-size:.74rem}.proof-control-btn:hover,.proof-control-text:hover{background:#eef2f7}.proof-zoom-label{min-width:48px;text-align:center;font-size:.72rem;font-weight:900;color:#475569}.proof-modal-body{overflow:auto!important;position:relative}.proof-modal-canvas{width:100%;height:100%;min-width:100%;min-height:100%;transform:scale(1);transform-origin:top center;transition:transform .12s ease}.proof-modal-canvas iframe{display:block;width:100%;height:100%;min-height:100%;border:0;background:#fff}.proof-modal-dialog.is-fullscreen{width:calc(100vw - 10px)!important;height:calc(100vh - 10px)!important;max-width:none!important;max-height:none!important;border-radius:10px!important}.proof-modal-help{font-size:.68rem;color:#64748b;margin-right:auto}.proof-modal-foot{align-items:center;gap:10px}

/* Recaudación: el monto usa una segunda línea completa y nunca se superpone. */
.dashboard-stat-button.dashboard-stat-compact.stat-amount{grid-template-columns:minmax(0,1fr) 18px;grid-template-rows:auto auto;align-content:center}.dashboard-stat-button.dashboard-stat-compact.stat-amount .dashboard-stat-label{grid-column:1;grid-row:1}.dashboard-stat-button.dashboard-stat-compact.stat-amount strong{grid-column:1;grid-row:2;min-width:0;max-width:100%;font-size:clamp(.78rem,1.05vw,1.08rem);line-height:1.08;white-space:normal;overflow-wrap:anywhere;word-break:normal}.dashboard-stat-button.dashboard-stat-compact.stat-amount>b{grid-column:2;grid-row:1/3;align-self:center}

/* Modalidad de entrega: texto siempre contenido dentro de cada tarjeta. */
.prize-delivery-config{min-width:0;overflow:hidden}.prize-delivery-options{min-width:0;grid-template-columns:repeat(2,minmax(0,1fr))}.prize-delivery-option{min-width:0;max-width:100%;overflow:hidden}.prize-delivery-option span,.prize-delivery-option b,.prize-delivery-option small{min-width:0;max-width:100%;white-space:normal;overflow-wrap:anywhere;word-break:normal}.prize-delivery-option span{width:100%}

@media(max-width:760px){.prize-delivery-options{grid-template-columns:1fr}.proof-modal-head{align-items:flex-start;flex-wrap:wrap}.proof-modal-controls{width:100%;justify-content:flex-start;flex-wrap:wrap}.proof-modal-close{margin-left:auto}.proof-modal-help{display:none}}
@media(max-width:420px){.proof-control-text{padding:0 7px}.proof-zoom-label{min-width:42px}.proof-control-btn{width:32px;height:32px}.proof-modal-controls{gap:4px}}

/* v0.7.24 · modalidad de entrega compacta y checkbox visible */
.prize-delivery-config{
  padding:10px 11px;
  overflow:visible;
}
.prize-delivery-config>label{
  margin-bottom:6px;
}
.prize-delivery-options{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:7px;
  margin-top:5px;
}
.prize-delivery-option{
  display:grid;
  grid-template-columns:18px minmax(0,1fr);
  align-items:start;
  gap:7px;
  min-width:0;
  min-height:0;
  height:auto;
  padding:8px 9px;
  margin:0;
  overflow:visible;
  border-radius:9px;
}
.prize-delivery-option input[type="checkbox"]{
  width:16px!important;
  height:16px!important;
  min-width:16px!important;
  min-height:16px!important;
  max-width:16px!important;
  max-height:16px!important;
  padding:0!important;
  margin:2px 0 0!important;
  flex:none!important;
  display:block;
  accent-color:var(--primary);
}
.prize-delivery-option span{
  display:block;
  width:auto;
  min-width:0;
  overflow:visible;
}
.prize-delivery-option b{
  display:block;
  font-size:.78rem;
  line-height:1.18;
  color:var(--ink);
  white-space:normal;
  overflow-wrap:normal;
  word-break:normal;
}
.prize-delivery-option small{
  display:block;
  margin-top:2px;
  font-size:.64rem;
  line-height:1.22;
  color:var(--muted);
  white-space:normal;
  overflow-wrap:normal;
  word-break:normal;
}
.prize-delivery-config>.field-help{
  margin-top:7px;
}
@media(max-width:1050px){
  .prize-delivery-options{grid-template-columns:repeat(2,minmax(0,1fr));}
}
@media(max-width:620px){
  .prize-delivery-config{padding:9px;}
  .prize-delivery-options{grid-template-columns:1fr;gap:6px;}
  .prize-delivery-option{padding:7px 8px;}
}

/* v0.7.32 · números de Mi cuenta agrupados por sorteo */
.profile-number-cluster{flex:0 1 220px;min-width:130px;max-width:240px;padding:9px 12px;border:1px solid var(--border);border-radius:11px;background:#fffaf4;line-height:1.15}
.profile-number-cluster strong{display:block;font-size:18px;overflow-wrap:anywhere;color:#17233f}.profile-number-cluster span{display:block;margin-top:4px;font-size:10px;color:var(--muted);font-weight:800;text-transform:uppercase;letter-spacing:.03em}
.grouped-number-strip{display:flex;gap:7px;flex-wrap:wrap;margin:0 0 13px}.grouped-number-chip{display:inline-flex;align-items:center;justify-content:center;min-width:40px;height:34px;padding:0 9px;border:1px solid var(--border);border-radius:9px;background:#fff;font-weight:900;color:#17233f}.grouped-number-chip.reserved,.grouped-number-chip.payment_pending{background:#fffbeb;border-color:#f6d98a}.grouped-number-chip.paid{background:#f0fdf4;border-color:#86efac}.grouped-number-chip.winner{box-shadow:inset 0 0 0 2px #eab308}
.grouped-downloads{margin-top:12px;padding-top:12px;border-top:1px solid var(--border)}.grouped-downloads>span{display:block;margin-bottom:8px;font-size:10px;text-transform:uppercase;color:var(--muted);font-weight:900}.grouped-downloads>div{display:flex;gap:7px;flex-wrap:wrap}.grouped-winner-line{margin-top:10px}
@media(max-width:720px){.grouped-number-summary .my-raffle-summary-main{align-items:flex-start;flex-direction:column}.profile-number-cluster{max-width:none;width:100%;flex:auto}.grouped-number-summary .my-raffle-summary-side{position:absolute;right:30px;top:12px}.grouped-number-summary{position:relative;padding-right:126px}.grouped-number-summary .my-raffle-summary-main .grow small{max-width:none}.grouped-number-summary .my-raffle-summary-side .my-accordion-chevron{position:absolute;right:-20px;top:2px}.grouped-number-summary .my-pay-state{min-width:96px;text-align:right}}
@media(max-width:480px){.grouped-number-summary{padding:10px 116px 10px 10px}.profile-number-cluster strong{font-size:16px}.grouped-number-chip{min-width:36px;height:32px;padding:0 7px}.grouped-payment-grid{grid-template-columns:1fr}}


/* v0.7.33 · aviso permanente de stickers digitales */
.digital-product-notice{display:flex;align-items:flex-start;gap:12px;margin:0 0 16px;padding:13px 15px;border:1px solid #bfdbfe;border-radius:13px;background:#eff6ff;color:#17233f}.digital-product-notice.compact{margin:12px 0}.digital-product-icon{display:grid;place-items:center;flex:0 0 36px;width:36px;height:36px;border-radius:10px;background:#dbeafe;font-size:20px;line-height:1}.digital-product-notice strong{display:block;font-size:.9rem;color:#1e3a8a}.digital-product-notice p{margin:4px 0 0;font-size:.78rem;line-height:1.42;color:#334155}.invoice-digital-note{margin:4px 0 0;font-size:.7rem;line-height:1.3;color:#475569}.my-payment-detail-grid small{display:block;margin-top:3px;color:var(--muted);font-size:.68rem;line-height:1.25}
@media(max-width:620px){.digital-product-notice{padding:11px 12px;gap:9px}.digital-product-icon{width:32px;height:32px;flex-basis:32px;font-size:17px}.digital-product-notice strong{font-size:.84rem}.digital-product-notice p{font-size:.73rem}}
@media print{.digital-product-notice{display:none!important}.invoice-digital-note{font-size:7.5pt!important;margin-top:2mm!important;color:#445!important}}


/* v0.7.34 · pago conjunto: números unificados por sorteo */
.batch-raffle-summary-list{display:grid;gap:9px;margin:8px 0 14px}
.batch-raffle-summary-card{border:1px solid var(--border);border-radius:12px;padding:11px 12px;background:#fff}
.batch-raffle-summary-head{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}
.batch-raffle-summary-head>div{min-width:0}.batch-raffle-summary-head strong{display:block;font-size:.9rem;line-height:1.25;overflow-wrap:anywhere}.batch-raffle-summary-head small{display:block;margin-top:2px;color:var(--muted);font-size:.7rem}
.batch-raffle-number-range{margin-top:9px;padding-top:8px;border-top:1px solid var(--border)}
.batch-raffle-number-range span{display:block;font-size:.62rem;text-transform:uppercase;letter-spacing:.04em;color:var(--muted);font-weight:900}
.batch-raffle-number-range b{display:block;margin-top:3px;font-size:1rem;line-height:1.3;color:#17233f;overflow-wrap:anywhere}
@media(max-width:720px){.batch-raffle-summary-list{gap:8px}.batch-raffle-summary-card{padding:10px 11px}.batch-raffle-summary-head strong{font-size:.88rem}.batch-raffle-number-range b{font-size:.96rem}}


/* v0.7.36 · pagos con tarjeta en proceso */
.active-card-payment-card{border-color:#ead59b;background:linear-gradient(180deg,#fffdf6 0,#fff 92px)}
.active-card-payment-card>.section-head{margin-bottom:10px}
.active-card-payment-entry{border-color:#ead59b}
.active-card-payment-entry>summary{background:#fffdf7}
.active-card-payment-entry[open]>summary{background:#fff9e9;border-bottom-color:#ead59b}
.active-card-payment-entry .payment-number-badge{background:#fff3cd;border-color:#e5c464;color:#7a5800}
.active-card-payment-expanded{display:grid;gap:12px}
.active-card-info-grid>div.total{background:#fff8df;border-color:#e8cd78}
.active-card-info-grid>div.total strong{color:#805e00}
.active-card-raffles{margin:0}
@media(max-width:760px){.active-card-payment-entry>summary .entity-status .badge{white-space:normal;text-align:center;line-height:1.15}}


/* v0.7.37 · cuenta regresiva del enlace de pago */
.card-expiry-countdown{background:#f0f9ff!important;border-color:#bae6fd!important}
.card-expiry-countdown strong{font-size:1.08rem!important;font-variant-numeric:tabular-nums;color:#075985!important}
.card-expiry-countdown.is-warning{background:#fff7ed!important;border-color:#fdba74!important}
.card-expiry-countdown.is-warning strong{color:#c2410c!important}
.card-expiry-countdown.is-expired{background:#fef2f2!important;border-color:#fecaca!important}
.card-expiry-countdown.is-expired strong{color:#b91c1c!important}
@media(max-width:760px){.card-expiry-countdown strong{font-size:1rem!important}}


/* v0.7.38 · detalle pago/transacción como acordeón */
.card-transaction-accordion{margin-top:2px;border:1px solid #e4e7ec;border-radius:11px;background:#fff;overflow:hidden}
.card-transaction-accordion>summary{display:flex;align-items:center;justify-content:space-between;gap:10px;min-height:42px;padding:10px 12px;cursor:pointer;list-style:none;font-size:.78rem;font-weight:900;color:#24324a;background:#f8fafc}
.card-transaction-accordion>summary::-webkit-details-marker{display:none}
.card-transaction-accordion>summary:hover{background:#f1f5f9}
.card-transaction-accordion>summary .admin-lot-chevron{transition:transform .18s ease}
.card-transaction-accordion[open]>summary{border-bottom:1px solid #e4e7ec;background:#f8fafc}
.card-transaction-accordion[open]>summary .admin-lot-chevron{transform:rotate(180deg)}
.card-transaction-body{padding:11px 12px}
.card-transaction-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px}
.card-transaction-grid>div{min-width:0;padding:8px 9px;border:1px solid #edf0f3;border-radius:9px;background:#fff}
.card-transaction-grid span{display:block;font-size:.62rem;text-transform:uppercase;letter-spacing:.035em;color:#64748b;font-weight:900}
.card-transaction-grid strong{display:block;margin-top:3px;font-size:.76rem;line-height:1.25;color:#17233f;overflow-wrap:anywhere}
.card-transaction-note{margin-top:9px;padding:8px 10px;border-radius:9px;background:#fff8df;color:#735c13;font-size:.7rem;line-height:1.35}
@media(max-width:1050px){.card-transaction-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:720px){.card-transaction-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.card-transaction-accordion>summary{min-height:40px;padding:9px 10px}.card-transaction-body{padding:10px}}
@media(max-width:440px){.card-transaction-grid{grid-template-columns:1fr}}

/* v0.7.39 · timer visible en cabecera + link dentro del acordeón técnico */
.card-expiry-summary{display:flex;flex-direction:column;align-items:flex-end;justify-content:center;min-width:104px;padding:4px 9px;border:1px solid #bae6fd;border-radius:9px;background:#f0f9ff;line-height:1.05}
.card-expiry-summary span{font-size:.58rem;text-transform:uppercase;letter-spacing:.035em;color:#64748b;font-weight:900}
.card-expiry-summary strong{margin-top:3px;font-size:.92rem;font-variant-numeric:tabular-nums;color:#075985;white-space:nowrap}
.card-expiry-summary.is-warning{background:#fff7ed;border-color:#fdba74}.card-expiry-summary.is-warning strong{color:#c2410c}
.card-expiry-summary.is-expired{background:#fef2f2;border-color:#fecaca}.card-expiry-summary.is-expired strong{color:#b91c1c}
.card-payment-link-tools{margin-top:10px;padding:10px 11px;border:1px solid #dbe3ec;border-radius:10px;background:#f8fafc}
.card-payment-link-tools>span{display:block;margin-bottom:6px;font-size:.62rem;text-transform:uppercase;letter-spacing:.035em;color:#64748b;font-weight:900}
.card-payment-link-tools>small{display:block;margin-top:6px;color:#64748b;font-size:.68rem;line-height:1.3}
.card-payment-link-row{display:flex;align-items:center;gap:7px}.card-payment-link-row .input{min-width:0;flex:1;font-size:.72rem}
@media(max-width:900px){.active-card-payment-entry>summary{grid-template-columns:auto minmax(0,1fr) auto}.active-card-payment-entry>summary .entity-money{display:none}.card-expiry-summary{grid-column:2/3;align-items:flex-start;justify-self:start;margin-top:4px}.active-card-payment-entry>summary .entity-status{grid-column:3/4;grid-row:1/3}}
@media(max-width:620px){.card-expiry-summary{min-width:96px;padding:4px 7px}.card-expiry-summary strong{font-size:.86rem}.card-payment-link-row{align-items:stretch;flex-direction:column}.card-payment-link-row .btn{width:100%;justify-content:center}}


/* v0.7.40 · cabeceras compactas + acción directa Pagar ahora */
.active-card-payment-entry>summary{
  grid-template-columns:44px minmax(200px,1fr) 118px 110px auto 18px;
}
.active-card-payment-entry>summary .card-expiry-summary{justify-self:end;min-width:102px}
.active-card-payment-entry>summary .entity-status{justify-self:end;min-width:0}
.active-card-payment-entry>summary .entity-status .badge{max-width:190px;text-align:center;line-height:1.12}
.my-pay-now-btn{font-weight:900}
@media(max-width:920px){
  .active-card-payment-entry>summary{grid-template-columns:40px minmax(0,1fr) 105px 18px;gap:8px}
  .active-card-payment-entry>summary .payment-number-badge{grid-column:1;grid-row:1/3}
  .active-card-payment-entry>summary .entity-main{grid-column:2;grid-row:1}
  .active-card-payment-entry>summary .entity-metric{display:none}
  .active-card-payment-entry>summary .card-expiry-summary{grid-column:3;grid-row:1;justify-self:end}
  .active-card-payment-entry>summary .entity-status{grid-column:2/4;grid-row:2;justify-self:start}
  .active-card-payment-entry>summary>.admin-lot-chevron{grid-column:4;grid-row:1/3;align-self:center}
}
@media(max-width:720px){
  .grouped-number-summary{display:grid!important;grid-template-columns:minmax(0,1fr) auto!important;gap:8px!important;padding:10px!important;position:static!important}
  .grouped-number-summary .my-raffle-summary-main{grid-column:1;grid-row:1;display:flex!important;align-items:flex-start!important;flex-direction:column!important;gap:7px!important;min-width:0}
  .grouped-number-summary .profile-number-cluster{width:auto!important;max-width:100%!important;min-width:0!important;padding:7px 10px!important}
  .grouped-number-summary .profile-number-cluster strong{font-size:15px!important;line-height:1.25!important;white-space:normal!important;overflow-wrap:anywhere!important}
  .grouped-number-summary .my-raffle-summary-main .grow{width:100%;min-width:0}
  .grouped-number-summary .my-raffle-summary-main .grow small{max-width:none!important}
  .grouped-number-summary .my-raffle-summary-side{grid-column:2;grid-row:1;position:static!important;right:auto!important;top:auto!important;display:flex!important;align-items:flex-end!important;justify-content:flex-start!important;flex-direction:column!important;gap:6px!important;min-width:0!important}
  .grouped-number-summary .my-pay-state{min-width:0!important;text-align:right!important;display:flex;flex-direction:column;align-items:flex-end;gap:2px}
  .grouped-number-summary .my-pay-state b{display:block;max-width:100%}
  .grouped-number-summary .my-pay-state .badge{font-size:10px!important;padding:5px 8px!important;line-height:1.05!important;white-space:nowrap!important}
  .grouped-number-summary .my-pay-state small{font-size:10px!important;white-space:nowrap}
  .grouped-number-summary .my-raffle-summary-side .my-accordion-chevron{position:static!important;right:auto!important;top:auto!important;align-self:flex-end}
  .grouped-number-summary{padding-right:10px!important}
}
@media(max-width:520px){
  .active-card-payment-entry>summary{grid-template-columns:38px minmax(0,1fr) 18px;gap:7px;padding:8px}
  .active-card-payment-entry>summary .payment-number-badge{grid-column:1;grid-row:1/3}
  .active-card-payment-entry>summary .entity-main{grid-column:2;grid-row:1}
  .active-card-payment-entry>summary .card-expiry-summary{grid-column:2;grid-row:2;justify-self:start;align-items:flex-start;min-width:94px;padding:4px 8px}
  .active-card-payment-entry>summary .entity-status{grid-column:2;grid-row:3;justify-self:start}
  .active-card-payment-entry>summary>.admin-lot-chevron{grid-column:3;grid-row:1/4}
  .active-card-payment-entry>summary .entity-status .badge{font-size:9px!important;padding:4px 7px!important;white-space:nowrap!important}
  .active-card-payment-entry>summary .card-expiry-summary strong{font-size:.82rem!important}
  .grouped-number-summary{grid-template-columns:minmax(0,1fr)!important}
  .grouped-number-summary .my-raffle-summary-main{grid-column:1;grid-row:1}
  .grouped-number-summary .my-raffle-summary-side{grid-column:1;grid-row:2;flex-direction:row!important;align-items:center!important;justify-content:space-between!important;width:100%}
  .grouped-number-summary .my-pay-state{align-items:flex-start!important;text-align:left!important}
  .grouped-number-summary .my-raffle-summary-side .my-accordion-chevron{align-self:center!important}
  .my-accordion-actions .my-pay-now-btn{order:-1}
}


/* v0.7.42 · Pagar ahora visible en la cabecera de Mis números y pagos */
.my-pay-now-summary{flex:none;white-space:nowrap;font-weight:900;position:relative;z-index:2}
.grouped-number-summary .my-pay-now-summary{min-height:32px;padding:6px 11px}
@media(max-width:720px){
  .grouped-number-summary .my-raffle-summary-side{align-items:flex-end!important}
  .grouped-number-summary .my-pay-now-summary{order:-1}
}
@media(max-width:520px){
  .grouped-number-summary .my-raffle-summary-side{display:grid!important;grid-template-columns:auto 1fr auto!important;gap:7px!important;align-items:center!important}
  .grouped-number-summary .my-pay-now-summary{grid-column:1;grid-row:1;justify-self:start}
  .grouped-number-summary .my-pay-state{grid-column:2;grid-row:1;align-items:flex-start!important;text-align:left!important}
  .grouped-number-summary .my-raffle-summary-side .my-accordion-chevron{grid-column:3;grid-row:1;justify-self:end}
}


/* v0.7.43 · Mi cuenta separa pendientes y pagados */
.grouped-number-accordion.pending{border-left:4px solid #f59e0b}
.grouped-number-accordion.paid{border-left:4px solid #16a34a}
.my-pay-now-form{margin:0;display:inline-flex}
.grouped-number-accordion.pending .profile-number-cluster{background:#fffaf0}
.grouped-number-accordion.paid .profile-number-cluster{background:#f0fdf4}
@media(max-width:520px){.my-pay-now-form,.my-pay-now-form .btn{width:auto}.grouped-number-summary .my-pay-now-form{grid-column:1;grid-row:1}}


/* v0.7.44 · zoom de comprobantes sin perder el encuadre */
.proof-modal-body[data-proof-modal-viewport]{overflow:auto!important;overscroll-behavior:contain;-webkit-overflow-scrolling:touch}
.proof-modal-canvas{transform:none!important;transform-origin:initial!important;display:flex;align-items:center;justify-content:center;min-width:100%;min-height:100%;box-sizing:border-box;padding:28px;transition:width .12s ease,height .12s ease}
.proof-modal-image{display:block;max-width:none!important;max-height:none!important;object-fit:contain;flex:0 0 auto;border-radius:6px;box-shadow:0 2px 14px rgba(15,23,42,.18);background:#fff}
.proof-modal-image[hidden],.proof-modal-canvas iframe[hidden]{display:none!important}
.proof-modal-canvas iframe{flex:0 0 auto;width:100%;height:100%;min-height:100%;transform-origin:top left}
@media(max-width:520px){.proof-modal-canvas{padding:16px}}


/* v0.7.45 · pagos pendientes identificables aunque aún no exista medio de pago */
.pending-payment-reservation-card{scroll-margin-top:14px}
.pending-payment-reservation-entry .payment-number-badge{background:#fff7df;color:#8a5a00}
.pending-payment-reservation-entry>summary .entity-status{display:flex;flex-direction:column;align-items:flex-end;gap:3px}
.pending-payment-substatus{font-size:.62rem;color:#8a6a18;white-space:nowrap}
.pending-payment-reservation-expanded{display:grid;gap:12px}
.pending-payment-raffles{margin:0}
.pending-payment-reservation-actions{margin-top:0}
@media(max-width:520px){.pending-payment-reservation-entry>summary .entity-status{align-items:flex-start}.pending-payment-substatus{white-space:normal}}

/* v0.7.47 · resumen de estados sobre el historial de invoices */
.payment-status-summary-over-invoices{margin:0 0 12px}

/* v0.7.48 · sorteo completo destacado en portada + sorteos anteriores */
.campaign-card-image .raffle-complete-cover{position:absolute;inset:0;z-index:3;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:22px;background:linear-gradient(180deg,rgba(5,71,45,.42),rgba(4,107,65,.82));color:#fff;text-shadow:0 2px 10px rgba(0,0,0,.28)}
.raffle-complete-cover span{display:inline-flex;align-items:center;justify-content:center;padding:7px 15px;border-radius:999px;background:#dcfce7;color:#166534;font-size:.78rem;font-weight:950;letter-spacing:.14em;text-shadow:none;box-shadow:0 6px 18px rgba(0,0,0,.16)}
.raffle-complete-cover strong{display:block;max-width:95%;margin:10px 0 12px;font-size:1.55rem;line-height:1.02;letter-spacing:.035em;font-weight:950}
.raffle-complete-cover small{display:block;font-size:.84rem;line-height:1.35;font-weight:800;margin-top:2px}
.campaign-is-complete{border-color:#86d7aa;box-shadow:0 12px 34px rgba(20,128,76,.14)}
.campaign-is-complete .campaign-progress i{background:#15803d}
.campaign-is-complete .campaign-card-action{color:#166534}
.past-raffles-section{margin-top:34px;padding-top:4px;border-top:1px solid var(--border)}
.past-raffle-card{opacity:.96}
.campaign-status-pill.past{background:#eef2f6;color:#344054}
.past-raffle-winner{position:absolute;left:50%;bottom:18px;transform:translateX(-50%);min-width:128px;padding:8px 15px;border-radius:13px;background:rgba(255,255,255,.93);color:#18233b;text-align:center;box-shadow:0 8px 24px rgba(0,0,0,.18)}
.past-raffle-winner span{display:block;font-size:.65rem;font-weight:900;letter-spacing:.12em;color:#667085}.past-raffle-winner strong{display:block;margin-top:2px;font-size:1.15rem}
@media(max-width:760px){.raffle-complete-cover{padding:16px}.raffle-complete-cover strong{font-size:1.35rem}.raffle-complete-cover small{font-size:.78rem}}

/* v0.7.49 · progreso visible al guardar un sorteo */
.raffle-save-overlay[hidden]{display:none!important}
.raffle-save-overlay{position:fixed;inset:0;z-index:10020;display:flex;align-items:center;justify-content:center;padding:20px;background:rgba(15,23,42,.52);backdrop-filter:blur(3px)}
.raffle-save-dialog{width:min(440px,calc(100vw - 32px));padding:26px 26px 23px;border-radius:18px;background:#fff;box-shadow:0 24px 70px rgba(15,23,42,.28);text-align:center}
.raffle-save-dialog h3{margin:10px 0 6px;font-size:1.25rem}
.raffle-save-dialog p{margin:0 0 18px;color:#667085;font-size:.9rem}
.raffle-save-dialog small{display:block;margin-top:10px;color:#475467;font-weight:750;line-height:1.35}
.raffle-save-icon{width:44px;height:44px;margin:0 auto;border-radius:50%;display:grid;place-items:center;background:#ecfdf3}
.raffle-save-icon span{width:22px;height:22px;border:3px solid #bbf7d0;border-top-color:#15803d;border-radius:50%;animation:raffleSaveSpin .8s linear infinite}
.raffle-save-progress{position:relative;height:12px;overflow:hidden;border-radius:999px;background:#e5e7eb;box-shadow:inset 0 1px 2px rgba(15,23,42,.08)}
.raffle-save-progress i{display:block;width:4%;height:100%;border-radius:inherit;background:linear-gradient(90deg,#22c55e,#15803d);transition:width .2s ease}
.raffle-save-progress.is-indeterminate i{width:38%!important;animation:raffleSaveProgress 1.05s ease-in-out infinite}
body.raffle-save-active{overflow:hidden}
@keyframes raffleSaveSpin{to{transform:rotate(360deg)}}
@keyframes raffleSaveProgress{0%{transform:translateX(-110%)}50%{transform:translateX(90%)}100%{transform:translateX(270%)}}
@media(max-width:520px){.raffle-save-overlay{padding:14px}.raffle-save-dialog{padding:22px 18px 20px}.raffle-save-dialog h3{font-size:1.12rem}}
@media(prefers-reduced-motion:reduce){.raffle-save-icon span,.raffle-save-progress.is-indeterminate i{animation-duration:2.2s}}

/* v0.7.56 · Biblioteca central reutilizable de stickers */
.sticker-library-stats{margin-bottom:18px}
.sticker-library-collection-list{display:grid;gap:12px}
.sticker-library-collection-card{border:1px solid #e5e7eb;border-radius:14px;padding:15px;background:#fff;display:flex;align-items:center;justify-content:space-between;gap:16px}
.sticker-library-collection-main{display:flex;align-items:center;justify-content:space-between;gap:18px;min-width:0;flex:1}
.sticker-library-collection-main h3{margin:2px 0 4px;font-size:1.05rem}
.sticker-library-collection-main p{margin:0;color:#64748b;overflow-wrap:anywhere}
.sticker-library-badges{display:flex;gap:7px;flex-wrap:wrap;justify-content:flex-end}
.sticker-library-upload-card input[type=file]{width:100%;max-width:100%}
.library-upload-progress{margin-top:16px;padding:14px;border:1px solid #dbe5f1;border-radius:12px;background:#f8fafc}
.library-upload-progress b,.library-upload-progress small{display:block;margin-top:7px}
.library-upload-progress small{color:#64748b;overflow-wrap:anywhere}
.library-progress-track{height:10px;border-radius:999px;background:#e5e7eb;overflow:hidden}
.library-progress-track i{display:block;width:0;height:100%;background:#2563eb;border-radius:inherit;transition:width .18s ease}
.sticker-library-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:12px}
.sticker-library-item{position:relative;border:1px solid #e5e7eb;border-radius:13px;padding:10px;background:#fff;display:grid;gap:9px;align-content:start;min-width:0}
.sticker-library-item img{display:block;width:100%;aspect-ratio:1/1;object-fit:cover;border-radius:9px;background:#f1f5f9}
.sticker-library-number{position:absolute;top:16px;left:16px;z-index:2;background:rgba(15,23,42,.88);color:#fff;border-radius:999px;padding:4px 8px;font-size:.72rem;font-weight:900}
.sticker-library-item-meta{min-width:0}
.sticker-library-item-meta strong,.sticker-library-item-meta small{display:block;overflow-wrap:anywhere}
.sticker-library-item-meta strong{font-size:.82rem}
.sticker-library-item-meta small{color:#64748b;margin-top:3px}
.sticker-library-raffle-picker{display:grid;grid-template-columns:minmax(240px,1fr) auto;gap:14px;align-items:end;margin:14px 0}
.sticker-library-raffle-picker .actions{justify-content:flex-end}
@media(max-width:760px){
 .sticker-library-collection-card,.sticker-library-collection-main{align-items:stretch;flex-direction:column}
 .sticker-library-badges{justify-content:flex-start}
 .sticker-library-raffle-picker{grid-template-columns:1fr}
 .sticker-library-raffle-picker .actions{justify-content:flex-start}
 .sticker-library-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:420px){.sticker-library-grid{grid-template-columns:1fr 1fr}.sticker-library-item{padding:8px}.sticker-library-item-meta strong{font-size:.76rem}}

/* v0.7.57 · ganador y configuración de entrega desde Mi cuenta */
.winner-prize-account{border:1px solid #bbf7d0;background:linear-gradient(180deg,#f0fdf4 0,#fff 34%)}
.winner-delivery-list{display:grid;gap:12px}
.winner-delivery-card{border:1px solid #d1fae5;border-radius:14px;background:#fff;overflow:hidden}
.winner-delivery-card>summary{display:flex;align-items:center;gap:12px;padding:14px 16px;cursor:pointer;list-style:none}
.winner-delivery-card>summary::-webkit-details-marker{display:none}
.winner-delivery-card>summary small{display:block;margin-top:3px;color:#64748b;overflow-wrap:anywhere}
.winner-delivery-card .winner-delivery-body{padding:0 16px 16px;border-top:1px solid #ecfdf5}
.winner-delivery-form{padding-top:14px}
.winner-delivery-form .field-help{display:block;margin-top:4px;color:#64748b;font-size:.78rem}
.winner-bank-admin{margin:12px 0}
.past-raffle-winner small{display:block;margin-top:2px;font-size:.68rem;font-weight:800;color:#166534}
@media(max-width:760px){
 .winner-delivery-card>summary{align-items:flex-start;flex-wrap:wrap}
 .winner-delivery-card>summary .badge{margin-left:auto}
 .winner-delivery-card>summary .my-accordion-chevron{margin-left:0}
}
/* v0.7.57 · resultado visible en portada de sorteos anteriores */
.past-raffle-winner{top:50%;bottom:auto;transform:translate(-50%,-50%);min-width:170px;padding:12px 18px;background:rgba(22,101,52,.94);color:#fff;border:1px solid rgba(255,255,255,.5)}
.past-raffle-winner span{color:#dcfce7;font-size:.72rem}.past-raffle-winner strong{font-size:1.45rem}.past-raffle-winner small{color:#fff}

/* v0.7.58 · tarjeta pública del número ganador */
.number-picker .pick-number.winner{
  transform:none;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:flex-start;
  padding-top:30px;
  border:3px solid #eab308!important;
  background:linear-gradient(180deg,#fffbea 0%,#fefce8 100%)!important;
  box-shadow:0 0 0 3px #fef08a,0 8px 20px rgba(161,98,7,.12);
}
.number-picker .pick-number.winner:hover{transform:none}
.number-picker .pick-number.winner em{
  top:6px;
  left:50%;
  right:auto;
  transform:translateX(-50%);
  z-index:3;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  max-width:calc(100% - 12px);
  white-space:nowrap;
  padding:3px 8px;
  border-radius:999px;
  font-size:8px;
  line-height:1.1;
  letter-spacing:.02em;
  background:#eab308;
  color:#422006;
  box-shadow:0 2px 7px rgba(161,98,7,.22);
}
.number-picker .pick-number.winner .number-sticker-thumb{
  flex:none;
  width:100%;
  height:58px;
  margin:0 auto 6px;
  object-fit:contain;
}
.number-picker .pick-number.winner strong{
  display:block;
  width:100%;
  margin:0;
  text-align:center;
  font-size:22px;
  line-height:1.1;
}
.number-picker .pick-number.winner span{
  width:100%;
  margin-top:4px;
  text-align:center;
}
@media(max-width:520px){
  .number-picker .pick-number.winner{padding-top:28px}
  .number-picker .pick-number.winner .number-sticker-thumb{height:48px}
  .number-picker .pick-number.winner strong{font-size:20px}
  .number-picker .pick-number.winner em{font-size:7.5px;padding:3px 7px}
}

/* v0.7.59 · Gestión de premios/entregas como acordeón interno */
.delivery-actions-row{display:flex;align-items:flex-start;gap:10px;margin-top:12px;flex-wrap:wrap}
.delivery-manage-accordion{flex:1 1 620px;min-width:0}
.delivery-manage-accordion>summary{list-style:none;display:flex;align-items:center;justify-content:space-between;gap:10px;width:max-content;max-width:100%;padding:9px 14px;border-radius:9px;background:var(--primary,#173a68);color:#fff;font-weight:850;cursor:pointer;user-select:none}
.delivery-manage-accordion>summary::-webkit-details-marker{display:none}
.delivery-manage-accordion>summary:hover{filter:brightness(.96)}
.delivery-manage-chevron{font-size:1rem;line-height:1;transition:transform .18s ease}
.delivery-manage-accordion[open] .delivery-manage-chevron{transform:rotate(180deg)}
.delivery-manage-body{margin-top:12px;padding-top:14px;border-top:1px solid #e4dccd}
.delivery-inline-form{margin-top:12px}
.delivery-manage-body .winner-banner{margin-bottom:12px}
@media(max-width:760px){
  .delivery-actions-row{display:grid;grid-template-columns:1fr;gap:9px}
  .delivery-manage-accordion{width:100%;min-width:0}
  .delivery-manage-accordion>summary{width:100%;box-sizing:border-box}
  .delivery-actions-row>.btn{width:100%;justify-content:center}
}

/* v0.7.60 · premios entregados archivados en Mi cuenta */
.prize-history-account{border:1px solid #dbe4ee;background:linear-gradient(180deg,#f8fafc 0,#fff 28%)}
.prize-history-account .section-title{align-items:center}
.prize-history-list{display:grid;gap:10px}
.prize-history-card{border:1px solid #dbe4ee;border-radius:14px;background:#fff;overflow:hidden}
.prize-history-card>summary{display:flex;align-items:center;gap:12px;padding:13px 15px;cursor:pointer;list-style:none}
.prize-history-card>summary::-webkit-details-marker{display:none}
.prize-history-card>summary small{display:block;margin-top:3px;color:#64748b;overflow-wrap:anywhere}
.prize-history-card .winner-ball.archived{background:#f1f5f9;color:#334155;border-color:#cbd5e1;box-shadow:none}
.prize-history-body{padding:14px 15px 15px;border-top:1px solid #eef2f7}
.prize-history-grid{margin-bottom:10px}
@media(max-width:760px){
 .prize-history-account .section-title{align-items:flex-start}
 .prize-history-card>summary{align-items:flex-start;flex-wrap:wrap}
 .prize-history-card>summary .badge{margin-left:auto}
 .prize-history-card>summary .my-accordion-chevron{margin-left:0}
}

/* v0.7.61 · Mi cuenta: invoices plegables y comprobante de premio */
.account-section-accordion{padding:0!important;overflow:hidden}
.account-section-accordion>summary{list-style:none}
.account-section-accordion>summary::-webkit-details-marker{display:none}
.account-section-summary{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:18px 20px;cursor:pointer}
.account-section-summary h2{margin:2px 0 3px}
.account-section-summary p{margin:0}
.account-section-summary-side{display:flex;align-items:center;gap:10px;flex:0 0 auto}
.account-section-body{padding:0 20px 20px;border-top:1px solid #eef2f7}
.account-section-body>.empty{margin-top:16px}
.account-section-body .profile-invoice-list{padding-top:14px}
.account-section-accordion[open]>.account-section-summary .my-accordion-chevron{transform:rotate(180deg)}
.prize-history-proof .btn{margin-top:7px;width:max-content;max-width:100%}
@media(max-width:640px){
 .account-section-summary{align-items:flex-start;padding:15px 14px}
 .account-section-summary-side{margin-left:auto}
 .account-section-summary-side .badge{white-space:nowrap}
 .account-section-body{padding:0 12px 14px}
 .prize-history-proof .btn{width:100%}
}

/* v0.7.62 · Respaldos Super OP */
.admin-backup-page{display:grid;gap:18px}.backup-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px;align-items:start}.backup-card{min-width:0}.backup-component-list{display:grid;gap:9px}.backup-component-list.compact{margin:10px 0 14px}.backup-component-option{display:grid;grid-template-columns:auto 1fr;gap:12px;align-items:flex-start;padding:12px 14px;border:1px solid #e2e8f0;border-radius:12px;background:#fff;cursor:pointer;transition:.15s ease}.backup-component-option:hover{border-color:#94a3b8;background:#f8fafc}.backup-component-option input{width:18px!important;height:18px!important;margin:2px 0 0;flex:none}.backup-component-option span{display:grid;gap:3px;min-width:0}.backup-component-option strong{font-size:.94rem}.backup-component-option small{color:#64748b;line-height:1.35}.backup-component-option b{font-size:.74rem;color:#334155}.backup-summary-line{display:flex;justify-content:space-between;gap:12px;margin:13px 0;padding:10px 12px;border-radius:10px;background:#f8fafc;font-size:.86rem}.backup-main-action{margin-top:12px}.backup-progress{margin-top:16px;padding:14px;border:1px solid #dbeafe;border-radius:14px;background:#f8fbff}.backup-progress-head{display:flex;align-items:flex-start;justify-content:space-between;gap:14px}.backup-progress-head>div{display:grid;gap:3px}.backup-progress-head small{color:#64748b;overflow-wrap:anywhere}.backup-progress-head>b{font-size:1.35rem;white-space:nowrap}.backup-progress-track{height:12px;background:#e2e8f0;border-radius:999px;overflow:hidden;margin:12px 0 8px}.backup-progress-track i{display:block;height:100%;background:linear-gradient(90deg,#2563eb,#16a34a);border-radius:inherit;transition:width .18s ease}.backup-progress-meta{font-size:.78rem;color:#64748b}.backup-file-info{display:grid;gap:5px;margin:15px 0;padding:13px;border-radius:12px;background:#f8fafc;border:1px solid #e2e8f0}.backup-file-info span{font-size:.8rem;color:#64748b}.backup-import-note{margin-bottom:14px}.backup-history{display:grid;gap:8px}.backup-history-row{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:11px 13px;border:1px solid #e2e8f0;border-radius:12px}.backup-history-row>div:first-child{display:grid;gap:3px;min-width:0}.backup-history-row small{color:#64748b}.backup-history-row .actions{flex-wrap:nowrap}
@media(max-width:900px){.backup-grid{grid-template-columns:1fr}}
@media(max-width:620px){.backup-component-option{padding:11px}.backup-history-row{align-items:flex-start;flex-direction:column}.backup-history-row .actions{width:100%;display:grid;grid-template-columns:1fr 1fr}.backup-history-row .btn{width:100%;justify-content:center}.backup-progress-head>b{font-size:1.1rem}.backup-progress{padding:12px}}

/* v0.7.64 · ganador sin cambiar tamaño + inspector administrativo de comprador */
.number-picker .pick-number.winner{
  display:block;
  padding:6px 7px 12px;
  border-width:2px!important;
  border-color:#eab308!important;
  background:#fefce8!important;
  box-shadow:inset 0 0 0 2px #facc15,0 4px 12px rgba(161,98,7,.10);
}
.number-picker .pick-number.winner .number-sticker-thumb{width:100%;height:58px;margin:0 auto 5px;object-fit:contain}
.number-picker .pick-number.winner strong{display:block;width:auto;margin:0;font-size:20px;line-height:normal;text-align:center}
.number-picker .pick-number.winner span{width:auto;margin-top:3px;text-align:center}
.number-picker .pick-number.winner em{
  position:absolute;top:4px;right:4px;left:auto;transform:none;z-index:4;
  display:inline-flex;align-items:center;justify-content:center;max-width:calc(100% - 8px);
  padding:2px 5px;border-radius:5px;font-size:8px;line-height:1.1;letter-spacing:.01em;
  background:#eab308;color:#422006;box-shadow:0 2px 6px rgba(161,98,7,.18);white-space:nowrap
}
.number-picker .pick-number[data-admin-number-inspect="1"]{cursor:pointer}
.number-picker .pick-number[data-admin-number-inspect="1"]:focus-visible{outline:3px solid #2563eb;outline-offset:2px}
@media(max-width:520px){
  .number-picker .pick-number.winner{padding:6px 5px 10px}
  .number-picker .pick-number.winner .number-sticker-thumb{height:58px}
  .number-picker .pick-number.winner strong{font-size:21px}
  .number-picker .pick-number.winner em{top:3px;right:3px;font-size:7px;padding:2px 4px}
}
body.buyer-inspect-open{overflow:hidden}
.buyer-inspect-modal[hidden]{display:none!important}.buyer-inspect-modal{position:fixed;inset:0;z-index:10020;display:grid;place-items:center;padding:18px}
.buyer-inspect-backdrop{position:absolute;inset:0;background:rgba(15,23,42,.72);backdrop-filter:blur(2px)}
.buyer-inspect-dialog{position:relative;z-index:1;width:min(880px,96vw);max-height:92vh;display:grid;grid-template-rows:auto minmax(0,1fr) auto;background:#fff;border-radius:16px;box-shadow:0 24px 80px rgba(0,0,0,.35);overflow:hidden}
.buyer-inspect-head{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:14px 16px;border-bottom:1px solid #e5e7eb;background:#f8fafc}
.buyer-inspect-head span{display:block;font-size:.67rem;text-transform:uppercase;font-weight:900;color:#64748b}.buyer-inspect-head h2{margin:2px 0 0;font-size:1.08rem}
.buyer-inspect-close{border:0;background:#e2e8f0;color:#0f172a;width:38px;height:38px;border-radius:10px;font-size:1.6rem;line-height:1;cursor:pointer}.buyer-inspect-close:hover{background:#cbd5e1}
.buyer-inspect-body{min-height:160px;overflow:auto;padding:18px}.buyer-inspect-loading{display:grid;place-items:center;min-height:150px;color:#64748b;font-weight:800}
.buyer-inspect-summary{display:flex;align-items:center;gap:14px;padding:12px;border:1px solid #e2e8f0;border-radius:13px;background:#f8fafc}.buyer-inspect-summary img{width:78px;height:78px;object-fit:contain;border-radius:10px;background:#fff;border:1px solid #e5e7eb}.buyer-inspect-summary h3{margin:0 0 6px;font-size:1.15rem}.buyer-inspect-badges{display:flex;gap:6px;flex-wrap:wrap}
.buyer-inspect-section-title{margin:18px 0 8px;font-size:.9rem}.buyer-inspect-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px}.buyer-inspect-grid>div{min-width:0;padding:10px 11px;border:1px solid #e2e8f0;border-radius:10px;background:#fff}.buyer-inspect-grid>div.wide{grid-column:span 2}.buyer-inspect-grid span{display:block;font-size:.62rem;text-transform:uppercase;letter-spacing:.035em;color:#64748b;font-weight:900}.buyer-inspect-grid strong{display:block;margin-top:3px;font-size:.82rem;overflow-wrap:anywhere}.buyer-inspect-actions{margin-top:14px}
.buyer-inspect-foot{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 14px;border-top:1px solid #e5e7eb;background:#fff}.buyer-inspect-foot small{color:#64748b}
@media(max-width:760px){.buyer-inspect-modal{padding:8px}.buyer-inspect-dialog{width:100%;max-height:96vh}.buyer-inspect-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:480px){.buyer-inspect-modal{padding:0}.buyer-inspect-dialog{width:100%;height:100dvh;max-height:none;border-radius:0}.buyer-inspect-body{padding:12px}.buyer-inspect-summary img{width:64px;height:64px}.buyer-inspect-grid{grid-template-columns:1fr}.buyer-inspect-grid>div.wide{grid-column:auto}.buyer-inspect-foot{align-items:stretch;flex-direction:column}.buyer-inspect-foot .btn{width:100%}}
\n\n/* v0.7.65 · ganador en bloque independiente; cuadrícula uniforme */
.raffle-winner-result-card[hidden]{display:none!important}
.raffle-winner-result-card{
  display:flex;align-items:center;justify-content:center;gap:18px;
  margin:15px 0 18px;padding:18px 24px;border:1px solid #86efac;border-radius:18px;
  background:linear-gradient(135deg,#166534 0%,#15803d 58%,#14532d 100%);color:#fff;
  box-shadow:0 12px 30px rgba(22,101,52,.18);text-align:left
}
.raffle-winner-result-trophy{display:grid;place-items:center;width:66px;height:66px;flex:0 0 66px;border-radius:50%;background:rgba(255,255,255,.15);font-size:34px;border:1px solid rgba(255,255,255,.30)}
.raffle-winner-result-copy{display:flex;align-items:center;gap:18px;flex-wrap:wrap}
.raffle-winner-result-copy>span{display:block;font-size:.78rem;line-height:1;font-weight:950;letter-spacing:.16em;color:#dcfce7}
.raffle-winner-result-copy>strong{display:block;font-size:clamp(1.8rem,4vw,2.6rem);line-height:1;font-weight:950;color:#fff}
.raffle-winner-result-copy>div{padding-left:18px;border-left:1px solid rgba(255,255,255,.32)}
.raffle-winner-result-copy b,.raffle-winner-result-copy small{display:block}.raffle-winner-result-copy b{font-size:.9rem}.raffle-winner-result-copy small{margin-top:4px;color:#dcfce7;font-weight:750}
/* El ganador conserva exactamente la geometría base de cualquier número. */
.number-picker .pick-number.winner{
  display:block!important;padding:12px 7px!important;border-width:2px!important;border-color:#eab308!important;
  background:#fefce8!important;box-shadow:inset 0 0 0 2px #facc15,0 4px 12px rgba(161,98,7,.10)!important;
  transform:none!important
}
.number-picker .pick-number.winner .number-sticker-thumb{width:100%!important;height:58px!important;margin:0 auto 5px!important;object-fit:contain!important}
.number-picker .pick-number.winner strong{display:block!important;margin:0!important;font-size:20px!important;line-height:normal!important;text-align:center!important}
.number-picker .pick-number.winner span{display:block!important;margin-top:3px!important;text-align:center!important}
.number-picker .pick-number.winner em{display:none!important}
@media(max-width:520px){
  .raffle-winner-result-card{padding:15px 16px;gap:12px}.raffle-winner-result-trophy{width:54px;height:54px;flex-basis:54px;font-size:27px}
  .raffle-winner-result-copy{gap:9px 12px}.raffle-winner-result-copy>strong{font-size:1.85rem}.raffle-winner-result-copy>div{flex-basis:100%;padding:8px 0 0;border-left:0;border-top:1px solid rgba(255,255,255,.28)}
  .number-picker .pick-number.winner{padding:6px 5px 10px!important}.number-picker .pick-number.winner .number-sticker-thumb{height:48px!important}.number-picker .pick-number.winner strong{font-size:20px!important}
}

/* v0.7.66 · el ganador conserva EXACTAMENTE la geometría de cualquier sticker */
/* No se modifica width/height/padding del ganador para resaltarlo. El dorado es una capa visual. */
.number-picker .pick-number.winner{
  box-sizing:border-box!important;
  display:block!important;
  padding:12px 7px!important;
  border:2px solid var(--border)!important;
  background:#fefce8!important;
  box-shadow:none!important;
  transform:none!important;
  overflow:hidden!important;
}
.number-picker .pick-number.winner.has-sticker{padding-top:6px!important}
.number-picker .pick-number.winner::after{
  content:"";
  position:absolute;
  inset:0;
  z-index:3;
  border:3px solid #eab308;
  border-radius:8px;
  box-sizing:border-box;
  pointer-events:none;
}
.number-picker .pick-number.winner .number-sticker-thumb{
  display:block!important;
  width:100%!important;
  height:58px!important;
  margin:0 auto 5px!important;
  object-fit:contain!important;
}
.number-picker .pick-number.winner strong{
  display:block!important;
  margin:0!important;
  font-size:20px!important;
  line-height:normal!important;
  text-align:center!important;
}
.number-picker .pick-number.winner span{
  display:block!important;
  margin-top:3px!important;
  text-align:center!important;
}
.number-picker .pick-number.winner em{display:none!important}
@media(max-width:520px){
  .number-picker .pick-number.winner{padding:10px 5px!important}
  .number-picker .pick-number.winner.has-sticker{padding-top:6px!important}
  .number-picker .pick-number.winner .number-sticker-thumb{height:48px!important}
  .number-picker .pick-number.winner strong{font-size:20px!important}
}

/* v0.7.67 · ganador con geometría 100% idéntica; dorado solo exterior */
.number-picker .pick-number.winner,
.number-picker .pick-number.winner.has-sticker{
  box-sizing:border-box!important;
  display:block!important;
  border:2px solid #22c55e!important;
  background:#f0fdf4!important;
  transform:none!important;
  overflow:hidden!important;
  position:relative!important;
  box-shadow:0 0 0 3px #eab308!important;
}
.number-picker .pick-number.winner{padding:12px 7px!important}
.number-picker .pick-number.winner.has-sticker{padding:6px 7px 12px!important}
.number-picker .pick-number.winner::after{display:none!important;content:none!important}
.number-picker .pick-number.winner .number-sticker-thumb{
  display:block!important;width:100%!important;height:58px!important;margin:0 auto 5px!important;object-fit:contain!important
}
.number-picker .pick-number.winner strong{display:block!important;margin:0!important;font-size:20px!important;line-height:normal!important;text-align:center!important}
.number-picker .pick-number.winner span{display:block!important;margin-top:3px!important;text-align:center!important}
.number-picker .pick-number.winner em{display:none!important}
@media(max-width:520px){
  .number-picker .pick-number.winner{padding:10px 5px!important}
  .number-picker .pick-number.winner.has-sticker{padding:6px 5px 10px!important}
  .number-picker .pick-number.winner .number-sticker-thumb{height:48px!important}
  .number-picker .pick-number.winner strong{font-size:20px!important}
}


/* v0.7.70 · marca de agua GANADOR más visible, verde oscuro y sin transparencia */
.number-picker .pick-number[data-winner-watermark="1"]::after{
  content:"GANADOR";
  position:absolute;
  inset:0;
  z-index:6;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:0;
  margin:0;
  border:0;
  background:transparent;
  color:#166534;
  opacity:1;
  font-size:17px;
  line-height:1;
  font-weight:1000;
  letter-spacing:.09em;
  white-space:nowrap;
  transform:rotate(-28deg);
  transform-origin:center;
  text-shadow:0 1px 0 rgba(255,255,255,.35);
  pointer-events:none;
  user-select:none;
  box-sizing:border-box;
}
@media(max-width:520px){
  .number-picker .pick-number[data-winner-watermark="1"]::after{font-size:15px}
}


/* v0.7.72 · navegación de sorteos anteriores y editor de marca de agua tipo Subastas */
#sorteos-anteriores{scroll-margin-top:110px}
.watermark-logo-current{display:flex;align-items:center;gap:14px;margin-top:10px;padding:10px 12px;border:1px solid #dbe3ec;border-radius:12px;background:#f8fafc}
.watermark-logo-current img{width:110px;height:64px;object-fit:contain;background:#fff;border:1px solid #e5e7eb;border-radius:9px;padding:5px}
.watermark-logo-current .toggle-line.compact{margin-top:5px}
.watermark-layout-preview-wrap{min-width:0}
.watermark-layout-preview{position:relative;width:min(100%,480px);aspect-ratio:16/9;border-radius:14px;border:1px solid #cbd5e1;background:linear-gradient(135deg,#e2e8f0,#f8fafc);overflow:hidden}
.watermark-preview-mark{position:absolute;display:flex;align-items:center;justify-content:center;min-width:92px;max-width:65%;padding:7px 12px;border-radius:7px;background:rgba(15,23,42,.78);color:#fff;font-weight:900;font-size:12px;letter-spacing:.07em;line-height:1;white-space:nowrap;transform:translate(-50%,-50%)}
.watermark-layout-preview[data-position=top_left] .watermark-preview-mark{left:16%;top:18%}
.watermark-layout-preview[data-position=top_center] .watermark-preview-mark{left:50%;top:18%}
.watermark-layout-preview[data-position=top_right] .watermark-preview-mark{left:84%;top:18%}
.watermark-layout-preview[data-position=center] .watermark-preview-mark{left:50%;top:50%}
.watermark-layout-preview[data-position=bottom_left] .watermark-preview-mark{left:16%;top:82%}
.watermark-layout-preview[data-position=bottom_center] .watermark-preview-mark{left:50%;top:82%}
.watermark-layout-preview[data-position=bottom_right] .watermark-preview-mark{left:84%;top:82%}
@media(max-width:520px){.watermark-layout-preview{width:100%}.watermark-logo-current{align-items:flex-start;flex-direction:column}.watermark-preview-mark{font-size:10px;min-width:74px;padding:6px 8px}}

/* v0.7.72 · editor de marca de agua Texto + Logo con vista previa inmediata */
.watermark-editor-form{align-items:start}
.watermark-live-preview-panel{padding:14px;border:1px solid #d8e1ea;border-radius:14px;background:#f8fafc}
.watermark-preview-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:10px}
.watermark-preview-heading>div{display:grid;gap:2px}.watermark-preview-heading small{color:#64748b}
.watermark-sticker-preview{position:relative;width:min(100%,560px);aspect-ratio:4/3;margin:0 auto;overflow:hidden;border:1px solid #bfcbd8;border-radius:16px;background:linear-gradient(145deg,#f8fafc 0%,#dbeafe 50%,#e2e8f0 100%);box-shadow:inset 0 0 0 8px rgba(255,255,255,.65)}
.watermark-sticker-preview.is-disabled::after{content:"MARCA DE AGUA DESACTIVADA";position:absolute;inset:0;z-index:20;display:flex;align-items:center;justify-content:center;background:rgba(255,255,255,.68);color:#64748b;font-size:.78rem;font-weight:900;letter-spacing:.08em}
.watermark-preview-sample{position:absolute;inset:12%;display:flex;flex-direction:column;align-items:center;justify-content:center;border-radius:20px;border:2px dashed #94a3b8;background:rgba(255,255,255,.78);color:#334155;text-align:center}
.watermark-preview-sample span{font-size:clamp(1.1rem,4vw,2.2rem);font-weight:950;letter-spacing:.08em}.watermark-preview-sample strong{margin-top:8px;font-size:clamp(.9rem,2.5vw,1.5rem)}
.watermark-preview-text,.watermark-preview-logo{position:absolute;z-index:8;box-sizing:border-box;max-width:80%;transform-origin:top left;pointer-events:none;transition:left .12s ease,top .12s ease,width .12s ease,opacity .12s ease}
.watermark-preview-text{padding:6px 9px;border-radius:6px;background:#0f172a;color:#fff;font-size:clamp(9px,1.7vw,13px);font-weight:900;line-height:1.15;text-align:center;overflow-wrap:anywhere}
.watermark-preview-logo{display:flex;align-items:center;justify-content:center;min-height:34px}.watermark-preview-logo img{display:block;width:100%;height:auto;max-height:100%;object-fit:contain}.watermark-preview-logo>span{display:flex;align-items:center;justify-content:center;width:100%;min-height:42px;border:2px dashed currentColor;border-radius:8px;background:rgba(255,255,255,.9);color:#0f766e;font-weight:950}
.watermark-element-card{padding:14px;border:1px solid #dbe3ec;border-radius:14px;background:#fff}
.watermark-element-head{display:flex;align-items:center;justify-content:space-between;gap:14px;padding-bottom:11px;margin-bottom:12px;border-bottom:1px solid #edf1f5}
.watermark-element-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.watermark-element-grid>.wm-wide{grid-column:1/-1}
.watermark-range-line{display:grid;grid-template-columns:minmax(120px,1fr) 58px;gap:9px;align-items:center}.watermark-range-line input[type=range]{width:100%;padding:0}.watermark-range-line output{display:inline-flex;align-items:center;justify-content:center;min-height:34px;border:1px solid #d4dde7;border-radius:8px;background:#f8fafc;font-weight:850;color:#334155}
.watermark-logo-empty{margin-top:9px;padding:10px 12px;border:1px dashed #cbd5e1;border-radius:10px;color:#64748b;background:#f8fafc}
@media(max-width:760px){.watermark-element-grid{grid-template-columns:1fr 1fr}.watermark-element-grid>.wm-wide{grid-column:1/-1}.watermark-sticker-preview{width:100%}}
@media(max-width:520px){.watermark-element-grid{grid-template-columns:1fr}.watermark-element-grid>.wm-wide{grid-column:auto}.watermark-element-head,.watermark-preview-heading{align-items:flex-start;flex-direction:column}.watermark-sticker-preview{aspect-ratio:1/1}.watermark-preview-text{font-size:9px}}


/* v0.8.0-beta3 · hardening responsive multi-organizador */
.metric-grid,.form-grid,.admin-lot-data-grid{min-width:0}
.table-wrap{max-width:100%;overflow-x:auto;overscroll-behavior-inline:contain;-webkit-overflow-scrolling:touch}
.table-wrap table{width:100%}.form-grid>*{min-width:0}.admin-page-head{min-width:0}
@media(max-width:760px){.metric-grid,.metric-grid.compact,.admin-lot-data-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}.form-grid{grid-template-columns:1fr!important}.form-grid>.span-2{grid-column:auto!important}.bank-card{grid-template-columns:1fr 1fr!important}.gateway-accordion-summary{align-items:flex-start!important}.gateway-accordion-summary-side{flex-shrink:0}}
@media(max-width:520px){.metric-grid,.metric-grid.compact,.admin-lot-data-grid,.bank-card{grid-template-columns:1fr!important}.actions{flex-wrap:wrap}.actions .btn{max-width:100%}.table-wrap table{min-width:680px}}

/* v0.8.1 · resumen global de pagos separados por Organizador */
.checkout-global-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:18px 0}
.checkout-global-summary .card{margin:0;display:grid;gap:5px;min-width:0}.checkout-global-summary span{font-size:11px;text-transform:uppercase;font-weight:850;color:var(--muted)}.checkout-global-summary strong{font-size:24px;overflow-wrap:anywhere}
.checkout-organizer-list{display:grid;gap:16px}.checkout-organizer-card{margin:0}.organizer-payment-total{display:grid;text-align:right;gap:2px}.organizer-payment-total span{font-size:11px;text-transform:uppercase;color:var(--muted);font-weight:800}.organizer-payment-total strong{font-size:23px}
.checkout-payment-unit{border:1px solid var(--border);border-radius:14px;padding:14px;background:#fff;margin-top:12px}.checkout-payment-unit-head,.checkout-payment-unit-footer{display:flex;align-items:center;justify-content:space-between;gap:14px}.checkout-payment-unit-head>div{display:grid;gap:2px}.checkout-payment-unit-head small{color:var(--muted)}
.checkout-raffle-lines{display:grid;gap:8px;margin:12px 0;padding:12px 0;border-top:1px solid var(--border);border-bottom:1px solid var(--border)}.checkout-raffle-lines>div{display:flex;align-items:center;justify-content:space-between;gap:14px}.checkout-raffle-lines span{display:grid;gap:2px}.checkout-raffle-lines small{color:var(--muted)}
.checkout-payment-unit-footer>div{display:grid;gap:2px}.checkout-payment-unit-footer>div span{font-size:11px;text-transform:uppercase;color:var(--muted);font-weight:800}.checkout-payment-unit-footer>div strong{font-size:20px}.checkout-global-actions{margin-top:18px}
@media(max-width:820px){.checkout-global-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.checkout-payment-unit-head,.checkout-payment-unit-footer{align-items:flex-start;flex-direction:column}.checkout-payment-unit-footer .btn{width:100%;text-align:center}.organizer-payment-total{text-align:left}}
@media(max-width:520px){.checkout-global-summary{grid-template-columns:1fr 1fr}.checkout-global-summary strong{font-size:20px}.checkout-raffle-lines>div{align-items:flex-start;flex-direction:column}.checkout-raffle-lines>div>strong{align-self:flex-end}.checkout-global-actions,.checkout-global-actions .inline-form,.checkout-global-actions .btn{width:100%}}

/* v0.8.12 · premio en dinero */
.money-prize-settings{border:1px solid #e9e1d3;border-radius:12px;padding:14px;background:#fffaf5}.money-prize-settings>.form-grid{margin-top:8px}.money-prize-preview{padding:10px 12px;border:1px solid #e9e1d3;border-radius:9px;background:#fff;min-width:0}.money-prize-preview span,.money-prize-preview small{display:block}.money-prize-preview span{font-size:.7rem;font-weight:850;text-transform:uppercase;color:var(--muted)}.money-prize-preview strong{display:block;margin:4px 0;font-size:1.15rem;overflow-wrap:anywhere}.money-prize-preview small{color:var(--muted);line-height:1.35}


/* v0.8.21 · Fondo fotográfico visible + vista previa inmediata */
.campaign-card.campaign-image-background{position:relative;display:block;min-height:360px;background:#172033;isolation:isolate}
.campaign-card.campaign-image-background .campaign-card-image{position:absolute;inset:0;width:100%;height:100%;min-height:0;z-index:0;background:#172033}
.campaign-card.campaign-image-background .campaign-card-image img{display:block;width:100%;height:100%;object-fit:cover;object-position:center}
/* La foto es protagonista: solo se aclara suavemente el área del texto. */
.campaign-card.campaign-image-background .campaign-card-image:after{content:"";position:absolute;inset:0;z-index:1;pointer-events:none;background:linear-gradient(90deg,rgba(8,18,35,.03) 0%,rgba(8,18,35,.06) 30%,rgba(255,255,255,.16) 50%,rgba(255,255,255,.34) 72%,rgba(255,255,255,.48) 100%)}
.campaign-card.campaign-image-background .campaign-status-pill{z-index:5}
.campaign-card.campaign-image-background .raffle-complete-cover{z-index:2;width:42%;right:auto;background:linear-gradient(180deg,rgba(5,71,45,.22),rgba(4,107,65,.58))}
.campaign-card.campaign-image-background .campaign-card-body{position:relative;z-index:4;width:min(62%,760px);min-height:360px;margin-left:auto;padding:24px 26px;background:linear-gradient(90deg,rgba(255,255,255,.10),rgba(255,255,255,.28) 42%,rgba(255,255,255,.44) 100%);backdrop-filter:none;text-shadow:0 1px 2px rgba(255,255,255,.72)}
.campaign-card.campaign-image-background .campaign-card-body p{color:#475569}
.campaign-card.campaign-image-background .campaign-prize{background:rgba(255,248,241,.70);box-shadow:0 1px 8px rgba(255,255,255,.16)}
.campaign-card.campaign-image-background .campaign-card-dates div{background:rgba(248,245,238,.68);box-shadow:0 1px 8px rgba(255,255,255,.13)}
.campaign-card.campaign-image-background .campaign-progress>span{background:rgba(236,231,221,.72)}
.campaign-card.campaign-image-background .campaign-card-action{border-top-color:rgba(91,77,57,.22)}
/* En portada lateral, la fotografía también cubre por completo su bloque. */
.campaign-card.campaign-image-side .campaign-card-image img{display:block;width:100%;height:100%;object-fit:cover;object-position:center}
.raffle-card-live-preview-wrap{margin-top:4px;padding:16px;border:1px solid #e6dccd;border-radius:14px;background:#faf8f4}
.raffle-card-live-preview-wrap .raffle-preview-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:12px}.raffle-card-live-preview-wrap .raffle-preview-head h3{margin:0}.raffle-card-live-preview-wrap .raffle-preview-head small{color:var(--muted)}
.raffle-card-live-preview-wrap .campaign-card{width:100%;max-width:920px;margin:0 auto;pointer-events:none}.raffle-card-live-preview-wrap .campaign-card-action{pointer-events:none}
.raffle-card-live-preview-wrap .campaign-placeholder{font-size:48px}.raffle-card-live-preview-wrap .campaign-status-pill{z-index:6}
@media(max-width:760px){
  .campaign-card.campaign-image-background{min-height:330px}
  .campaign-card.campaign-image-background .campaign-card-body{width:68%;min-height:330px;padding:18px;background:linear-gradient(90deg,rgba(255,255,255,.10),rgba(255,255,255,.30) 48%,rgba(255,255,255,.48) 100%)}
  .campaign-card.campaign-image-background .raffle-complete-cover{width:34%}
}
@media(max-width:540px){
  .campaign-card.campaign-image-background{min-height:470px}
  .campaign-card.campaign-image-background .campaign-card-image{height:100%}
  .campaign-card.campaign-image-background .campaign-card-image:after{background:linear-gradient(180deg,rgba(6,17,32,.02) 0%,rgba(6,17,32,.05) 28%,rgba(255,255,255,.18) 45%,rgba(255,255,255,.46) 68%,rgba(255,255,255,.58) 100%)}
  .campaign-card.campaign-image-background .campaign-card-body{width:100%;min-height:470px;margin:0;padding:180px 15px 15px;background:linear-gradient(180deg,rgba(255,255,255,0) 0 31%,rgba(255,255,255,.17) 43%,rgba(255,255,255,.45) 66%,rgba(255,255,255,.57) 100%);backdrop-filter:none}
  .campaign-card.campaign-image-background .raffle-complete-cover{width:100%;height:150px;bottom:auto;padding:12px}
  .raffle-card-live-preview-wrap{padding:10px}.raffle-card-live-preview-wrap .raffle-preview-head{flex-direction:column}
}

/* v0.8.22 · editor visual de portada/fondo por sorteo */
.campaign-card .campaign-card-image img{object-position:var(--cover-x,50%) var(--cover-y,50%);transform:scale(var(--cover-scale,1));transform-origin:var(--cover-x,50%) var(--cover-y,50%);transition:transform .16s ease,object-position .16s ease}
.campaign-card.campaign-image-background .campaign-card-image img,.campaign-card.campaign-image-side .campaign-card-image img{object-position:var(--cover-x,50%) var(--cover-y,50%);transform:scale(var(--cover-scale,1));transform-origin:var(--cover-x,50%) var(--cover-y,50%)}
.campaign-card.campaign-image-background .campaign-card-image:after{background:linear-gradient(90deg,rgba(8,18,35,.02) 0%,rgba(8,18,35,.035) 34%,rgba(255,255,255,calc(var(--cover-overlay-alpha,.18) * .45)) 58%,rgba(255,255,255,var(--cover-overlay-alpha,.18)) 100%)}
.campaign-card.campaign-image-background .campaign-card-body{background:linear-gradient(90deg,rgba(255,255,255,calc(var(--cover-panel-alpha,.28) * .20)) 0%,rgba(255,255,255,calc(var(--cover-panel-alpha,.28) * .58)) 48%,rgba(255,255,255,var(--cover-panel-alpha,.28)) 100%)}
.campaign-card.campaign-image-background .campaign-prize{background:rgba(255,248,241,var(--cover-box-alpha,.70))}
.campaign-card.campaign-image-background .campaign-card-dates div{background:rgba(248,245,238,var(--cover-box-alpha,.70))}
.cover-editor-controls{border:1px solid #e2e8f0;border-radius:14px;padding:14px;background:#f8fafc}
.cover-editor-head{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;margin-bottom:12px}.cover-editor-head>div{display:grid;gap:3px}.cover-editor-head small{color:var(--muted);line-height:1.35}
.cover-editor-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.cover-editor-grid+ .cover-editor-grid{margin-top:12px;padding-top:12px;border-top:1px solid #e2e8f0}
.cover-range{display:grid;gap:7px;padding:10px;border:1px solid #e2e8f0;border-radius:11px;background:#fff}.cover-range>span{display:flex;align-items:center;justify-content:space-between;gap:10px;font-weight:800}.cover-range output{min-width:52px;text-align:right;color:var(--primary-dark);font-variant-numeric:tabular-nums}.cover-range input[type=range]{width:100%;padding:0}.cover-range small{color:var(--muted);line-height:1.3}
@media(max-width:760px){.cover-editor-grid{grid-template-columns:1fr 1fr}.campaign-card.campaign-image-background .campaign-card-body{background:linear-gradient(90deg,rgba(255,255,255,calc(var(--cover-panel-alpha,.28) * .28)),rgba(255,255,255,var(--cover-panel-alpha,.28)))} }
@media(max-width:540px){.cover-editor-grid{grid-template-columns:1fr}.cover-editor-head{flex-direction:column}.campaign-card.campaign-image-background .campaign-card-image:after{background:linear-gradient(180deg,rgba(6,17,32,.02) 0%,rgba(6,17,32,.035) 30%,rgba(255,255,255,calc(var(--cover-overlay-alpha,.18) * .48)) 58%,rgba(255,255,255,var(--cover-overlay-alpha,.18)) 100%)}.campaign-card.campaign-image-background .campaign-card-body{background:linear-gradient(180deg,rgba(255,255,255,0) 0 30%,rgba(255,255,255,calc(var(--cover-panel-alpha,.28) * .42)) 49%,rgba(255,255,255,var(--cover-panel-alpha,.28)) 100%)}}
.raffle-card-live-preview-wrap .campaign-card{pointer-events:auto}.raffle-card-live-preview-wrap .campaign-card-body{pointer-events:none}.raffle-card-live-preview-wrap .campaign-card-image{cursor:grab;touch-action:none}.raffle-card-live-preview-wrap .campaign-card-image.is-dragging{cursor:grabbing}.raffle-card-live-preview-wrap .campaign-card-image.is-dragging img{transition:none}


/* v0.8.23 · editor junto a vista previa, zoom 50–220%, colores y paridad con portada */
.raffle-campaign-card h2{color:var(--cover-title-color,#172033)}
.raffle-campaign-card .campaign-card-body>p,.raffle-campaign-card .campaign-prize strong,.raffle-campaign-card .campaign-card-dates strong{color:var(--cover-text-color,#475569)}
.raffle-campaign-card .campaign-card-kicker,.raffle-campaign-card .campaign-prize span,.raffle-campaign-card .campaign-card-dates span,.raffle-campaign-card .campaign-progress b,.raffle-campaign-card .campaign-card-action{color:var(--cover-label-color,#667085)}
.cover-editor-workspace{grid-column:1/-1;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;align-items:start;width:calc(100% + 40px);margin-left:-20px;margin-right:-20px;padding:0}
.raffle-card-live-preview-wrap{margin:0;padding:0;border:0;border-radius:0;background:transparent;min-width:0}
.raffle-card-live-preview-wrap .raffle-preview-head{min-height:58px;margin:0 0 10px;padding:0 2px}
.raffle-card-live-preview-wrap .campaign-card{width:100%;max-width:none;margin:0;pointer-events:auto}
.raffle-card-live-preview-wrap .campaign-card:hover{transform:none}
.cover-editor-controls{margin-top:68px;align-self:start;position:sticky;top:88px;max-height:calc(100vh - 108px);overflow:auto;scrollbar-width:thin}
.cover-editor-group{display:grid;gap:9px}.cover-editor-group+.cover-editor-group{margin-top:13px;padding-top:13px;border-top:1px solid #e2e8f0}.cover-editor-group>b{font-size:.78rem;text-transform:uppercase;letter-spacing:.06em;color:#334155}
.cover-editor-grid{grid-template-columns:1fr}.cover-editor-grid+.cover-editor-grid{margin-top:0;padding-top:0;border-top:0}
.cover-color-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}.cover-color{display:grid;gap:7px;padding:10px;border:1px solid #e2e8f0;border-radius:11px;background:#fff}.cover-color>span{font-weight:800}.cover-color input[type=color]{width:100%;height:40px;padding:3px;cursor:pointer}.cover-color small{color:var(--muted);line-height:1.3}
/* Con zoom inferior a 100% la foto puede alejarse y deja visible el fondo neutro sin deformarse. */
.campaign-card .campaign-card-image{background:#172033}
@media(max-width:1100px){.cover-editor-workspace{grid-template-columns:1fr;width:calc(100% + 40px)}.cover-editor-controls{margin-top:0;position:static;max-height:none;overflow:visible}.cover-editor-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.cover-color-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:760px){.cover-editor-workspace{width:100%;margin-left:0;margin-right:0}.cover-editor-grid,.cover-color-grid{grid-template-columns:1fr 1fr}.raffle-card-live-preview-wrap .raffle-preview-head{min-height:0}}
@media(max-width:540px){.cover-editor-grid,.cover-color-grid{grid-template-columns:1fr}.cover-editor-controls{padding:11px}.raffle-card-live-preview-wrap .raffle-preview-head{align-items:flex-start}}
/* Prioridad específica de color para el modo de imagen de fondo. */
.campaign-card.raffle-campaign-card.campaign-image-background .campaign-card-body>p{color:var(--cover-text-color,#475569)}
.campaign-card.raffle-campaign-card.campaign-image-background h2{color:var(--cover-title-color,#172033)}
.campaign-card.raffle-campaign-card.campaign-image-background .campaign-card-kicker,
.campaign-card.raffle-campaign-card.campaign-image-background .campaign-prize span,
.campaign-card.raffle-campaign-card.campaign-image-background .campaign-card-dates span,
.campaign-card.raffle-campaign-card.campaign-image-background .campaign-progress b,
.campaign-card.raffle-campaign-card.campaign-image-background .campaign-card-action{color:var(--cover-label-color,#667085)}
.campaign-card.raffle-campaign-card.campaign-image-background .campaign-prize strong,
.campaign-card.raffle-campaign-card.campaign-image-background .campaign-card-dates strong{color:var(--cover-text-color,#475569)}

/* v0.8.24 · tamaño real de imagen, editor compacto y apariencia global Super OP */
/* La imagen se muestra completa a 100%; el control Tamaño de imagen escala la foto, no su contenedor. */
.campaign-card.campaign-image-background .campaign-card-image img,
.campaign-card.campaign-image-side .campaign-card-image img,
.campaign-card .campaign-card-image img{
  width:100%;height:100%;object-fit:contain;
  object-position:var(--cover-x,50%) var(--cover-y,50%);
  transform:scale(var(--cover-scale,1));
  transform-origin:var(--cover-x,50%) var(--cover-y,50%);
}
.campaign-card .campaign-card-image{display:flex;align-items:center;justify-content:center;overflow:hidden;background:#172033}
.campaign-card.campaign-image-side .campaign-card-image{background:#172033}

/* Controles más pequeños y sin barra interna de desplazamiento. */
.cover-editor-workspace{grid-template-columns:minmax(0,1fr) minmax(300px,.82fr);gap:12px;width:calc(100% + 40px)}
.cover-editor-controls{margin-top:68px;position:static;max-height:none;overflow:visible;padding:9px;border-radius:11px}
.cover-editor-head{gap:8px;margin-bottom:7px;align-items:center}.cover-editor-head small{font-size:.68rem}.cover-editor-head .btn{padding:6px 8px;min-height:30px;font-size:.7rem}
.cover-editor-group{gap:5px}.cover-editor-group+.cover-editor-group{margin-top:7px;padding-top:7px}.cover-editor-group>b{font-size:.68rem}
.cover-editor-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:5px}
.cover-range{gap:3px;padding:6px 7px;border-radius:8px}.cover-range>span{gap:5px;font-size:.7rem}.cover-range output{min-width:42px;font-size:.68rem}.cover-range input[type=range]{height:18px}.cover-range small{font-size:.61rem;line-height:1.15}
.cover-color-grid{gap:5px}.cover-color{gap:4px;padding:6px 7px;border-radius:8px}.cover-color>span{font-size:.69rem}.cover-color input[type=color]{height:30px}.cover-color small{font-size:.6rem;line-height:1.1}
@media(max-width:1100px){.cover-editor-workspace{grid-template-columns:1fr;width:calc(100% + 40px);gap:10px}.cover-editor-controls{margin-top:0}.cover-editor-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:760px){.cover-editor-workspace{width:100%}.cover-editor-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:540px){.cover-editor-grid,.cover-color-grid{grid-template-columns:1fr}.cover-editor-controls{padding:7px}}

/* Imagen principal de portada configurable por Super OP. */
.raffle-campaign-hero.has-custom-hero{
  background-image:linear-gradient(rgba(13,23,44,var(--home-hero-overlay,.48)),rgba(13,23,44,var(--home-hero-overlay,.48))),var(--home-hero-image);
  background-size:cover;background-position:var(--home-hero-x,50%) var(--home-hero-y,50%);background-repeat:no-repeat;
}
/* Logo y barra superior configurables. */
.topbar.has-custom-bar{
  background-color:var(--navy);
  background-image:linear-gradient(rgba(20,33,61,var(--topbar-overlay,.72)),rgba(20,33,61,var(--topbar-overlay,.72))),var(--topbar-image);
  background-size:cover;background-position:var(--topbar-x,50%) var(--topbar-y,50%);background-repeat:no-repeat;
}
.brand-mark.brand-mark-image{width:auto;min-width:34px;height:var(--brand-logo-height,38px);max-width:180px;padding:0 2px;background:transparent;box-shadow:none;border-radius:0}
.brand-mark.brand-mark-image img{display:block;width:auto;height:100%;max-width:180px;object-fit:contain}

/* Vista previa de apariencia global en Configuración. */
.appearance-settings-form{align-items:start}.settings-image-preview{position:relative;min-height:210px;border-radius:16px;overflow:hidden;border:1px solid #d8dee8;background:linear-gradient(125deg,#0d172c,#172a4a);display:flex;align-items:center;padding:28px;color:#fff;isolation:isolate}
.settings-image-preview:before{content:"";position:absolute;inset:0;z-index:-2;background-image:var(--preview-image,none);background-size:cover;background-position:var(--preview-x,50%) var(--preview-y,50%);background-repeat:no-repeat}
.settings-image-preview:after{content:"";position:absolute;inset:0;z-index:-1;background:rgba(13,23,44,var(--preview-overlay,.48))}
.settings-image-preview>div{display:grid;gap:5px;max-width:650px}.settings-image-preview span{font-size:.72rem;letter-spacing:.12em;text-transform:uppercase;font-weight:850}.settings-image-preview strong{font-size:clamp(1.7rem,4vw,3rem)}.settings-image-preview small{color:#dbe2ee}
.compact-range-line{display:grid;grid-template-columns:minmax(0,1fr) 58px;gap:7px;align-items:center}.compact-range-line input[type=range]{width:100%;padding:0}.compact-range-line output{font-size:.72rem;font-weight:850;text-align:right;color:#334155}
.settings-topbar-preview{min-height:76px;padding:10px 14px;border-radius:13px;color:#fff;background-color:#14213d;background-image:linear-gradient(rgba(20,33,61,var(--bar-overlay,.72)),rgba(20,33,61,var(--bar-overlay,.72))),var(--bar-image,none);background-size:cover;background-position:var(--bar-x,50%) var(--bar-y,50%);display:flex;align-items:center;justify-content:space-between;gap:14px;overflow:hidden}
.preview-brand{display:flex;align-items:center;gap:9px;min-width:0}.preview-brand>span:last-child{display:grid;line-height:1.05}.preview-brand strong{font-size:.92rem}.preview-brand small{font-size:.62rem;color:#dbe2ee;margin-top:3px}.preview-logo{display:grid;place-items:center;min-width:34px;max-width:180px}.preview-logo img{display:block;width:auto;height:100%;max-width:180px;object-fit:contain}.preview-logo b{display:grid;place-items:center;width:36px;height:36px;background:var(--primary);border-radius:9px}.preview-menu{font-size:.7rem;font-weight:700;color:#e5eaf3;white-space:nowrap}
@media(max-width:620px){.settings-topbar-preview{align-items:flex-start;flex-direction:column}.preview-menu{white-space:normal}.settings-image-preview{min-height:180px;padding:20px}}


/* v0.8.25 · editor visual avanzado, portada limpia y barra superior pública */
/* La fotografía puede cambiar ancho y alto de forma independiente. Mantener proporción usa contain; desbloquearla permite ajustar ambos ejes. */
.campaign-card .campaign-card-image img,
.campaign-card.campaign-image-side .campaign-card-image img,
.campaign-card.campaign-image-background .campaign-card-image img{
  width:var(--cover-image-width,100%);height:var(--cover-image-height,100%);
  object-fit:var(--cover-image-fit,contain);object-position:var(--cover-x,50%) var(--cover-y,50%);
  transform:scale(var(--cover-scale,1));transform-origin:var(--cover-x,50%) var(--cover-y,50%);
  max-width:none;max-height:none;
}
.campaign-card.campaign-image-background .campaign-card-body{
  width:var(--cover-info-width,58%);min-height:var(--cover-info-min-height,0px);
  padding:var(--cover-info-padding,16px);align-self:center;
}
.cover-compact-toggle{display:flex;align-items:center;gap:6px;padding:5px 7px;border:1px solid #e2e8f0;border-radius:8px;background:#fff;font-size:.69rem;font-weight:800}.cover-compact-toggle input{width:auto;margin:0}
.cover-editor-controls{margin-top:42px}.cover-editor-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:4px}.cover-range{padding:5px 6px}.cover-range small{display:none}.cover-color-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.cover-color small{display:none}
@media(max-width:1180px){.cover-editor-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.cover-editor-controls{margin-top:0}}
@media(max-width:640px){.cover-editor-grid,.cover-color-grid{grid-template-columns:1fr 1fr}}
@media(max-width:460px){.cover-editor-grid,.cover-color-grid{grid-template-columns:1fr}}

/* Imagen principal limpia: sin textos superpuestos. La información siempre queda en un bloque inferior independiente. */
.home-main-image{width:100%;height:clamp(250px,38vw,520px);position:relative;overflow:hidden;background:#0d172c}
.home-main-image img{display:block;width:100%;height:100%;object-fit:cover;object-position:var(--home-hero-x,50%) var(--home-hero-y,50%)}
.home-main-image:after{content:"";position:absolute;inset:0;pointer-events:none;background:rgba(13,23,44,var(--home-hero-overlay,0))}
.home-main-information{display:flex;align-items:center;justify-content:space-between;gap:22px;margin:0 0 26px;padding:18px 22px}.home-main-information h1{margin:2px 0 6px;font-size:clamp(1.65rem,3vw,2.5rem)}.home-main-information p{margin:0;color:var(--muted);max-width:880px}.home-main-information-actions{display:flex;gap:8px;flex:0 0 auto}
.public-index-shell{padding-top:18px}
@media(max-width:760px){.home-main-image{height:clamp(210px,60vw,360px)}.home-main-information{align-items:flex-start;flex-direction:column}.home-main-information-actions{width:100%;flex-wrap:wrap}.home-main-information-actions .btn{flex:1;text-align:center}}

/* La imagen configurada de la barra superior se renderiza como elemento real en cualquier vista (pública o administrativa). */
.topbar.has-custom-bar{position:sticky;isolation:isolate;overflow:hidden;background:var(--navy);background-image:none!important}
.topbar-bg-image{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:var(--topbar-x,50%) var(--topbar-y,50%);z-index:0;pointer-events:none}
.topbar.has-custom-bar:after{content:"";position:absolute;inset:0;background:rgba(20,33,61,var(--topbar-overlay,.72));z-index:1;pointer-events:none}
.topbar.has-custom-bar .topbar-primary{position:relative;z-index:2}
.image-only-preview>div{display:none!important}

@media(max-width:900px){.topbar.has-custom-bar{position:static}}


/* v0.8.27 · portada completa: información + sorteos Comodín dentro de la imagen, catálogo debajo */
.home-main-hero{
  position:relative;width:100%;height:var(--home-hero-height,560px);min-height:360px;overflow:hidden;
  background:linear-gradient(125deg,#0d172c,#1d3557);isolation:isolate;
}
.home-main-hero-image{
  position:absolute;inset:0;width:100%;height:100%;object-fit:cover;
  object-position:var(--home-hero-x,50%) var(--home-hero-y,50%);z-index:-3;
}
.home-main-hero-shade{
  position:absolute;inset:0;background:rgba(13,23,44,var(--home-hero-overlay,.18));z-index:-2;pointer-events:none;
}
.home-main-information-overlay{
  position:absolute;left:var(--home-panel-x,30%);top:var(--home-panel-y,50%);transform:translate(-50%,-50%);
  width:min(var(--home-panel-width,52%),calc(100% - 32px));min-height:var(--home-panel-min-height,0px);
  padding:var(--home-panel-padding,20px);margin:0;border:1px solid rgba(255,255,255,.30);border-radius:20px;
  background:rgba(255,255,255,var(--home-panel-opacity,.72));backdrop-filter:blur(5px);-webkit-backdrop-filter:blur(5px);
  box-shadow:0 16px 42px rgba(15,23,42,.18);z-index:2;color:#172033;
  display:flex;align-items:center;justify-content:space-between;gap:20px;
}
.home-main-information-overlay h1{margin:2px 0 6px;font-size:clamp(1.65rem,3vw,2.6rem);color:#172033}
.home-main-information-overlay p{margin:0;color:#334155;max-width:850px}
.home-main-information-overlay .eyebrow{color:var(--primary)}
.home-main-information-overlay .home-main-information-actions{display:flex;gap:8px;flex:0 0 auto;flex-wrap:wrap}
.home-hero-draws-wrap{position:absolute;left:50%;bottom:18px;transform:translateX(-50%);width:min(1120px,calc(100% - 32px));z-index:2}
.home-hero-draws{margin:0!important;gap:12px}
.home-hero-draws .draw-card{background:rgba(255,255,255,.78);border-color:rgba(255,255,255,.32);backdrop-filter:blur(5px);-webkit-backdrop-filter:blur(5px);box-shadow:0 12px 30px rgba(15,23,42,.18)}
.home-hero-draws .muted{color:#475569}
.home-hero-draws .draw-number{font-size:clamp(1.45rem,3vw,2.15rem)}
.home-main-hero.image-load-failed .home-main-hero-shade,.home-main-hero.no-home-image .home-main-hero-shade{background:rgba(13,23,44,.16)}
.public-index-shell{padding-top:18px}

/* Vista previa de Configuración: mismo concepto visual que la portada real. */
.home-hero-settings-preview{height:min(var(--preview-hero-height,560px),600px);min-height:300px;padding:0;overflow:hidden;background:#0d172c;position:relative;isolation:isolate}
.home-hero-settings-preview:before{z-index:-3;background-size:cover;background-position:var(--preview-x,50%) var(--preview-y,50%)}
.home-hero-settings-preview:after{z-index:-2;background:rgba(13,23,44,var(--preview-overlay,.18))}
.home-hero-preview-panel{
  position:absolute;left:var(--preview-panel-x,30%);top:var(--preview-panel-y,50%);transform:translate(-50%,-50%);
  width:min(var(--preview-panel-width,52%),calc(100% - 24px));min-height:var(--preview-panel-min-height,0px);
  padding:var(--preview-panel-padding,20px);border:1px solid rgba(255,255,255,.3);border-radius:16px;
  background:rgba(255,255,255,var(--preview-panel-opacity,.72));backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);
  color:#172033;box-shadow:0 12px 28px rgba(15,23,42,.18);display:grid;gap:5px;
}
.home-hero-preview-panel span{font-size:.72rem;letter-spacing:.12em;text-transform:uppercase;font-weight:850;color:var(--primary)}
.home-hero-preview-panel strong{font-size:clamp(1.4rem,3vw,2.2rem);line-height:1.05}
.home-hero-preview-panel small{font-size:.83rem;color:#475569;line-height:1.35}
.home-hero-preview-draws{position:absolute;left:12px;right:12px;bottom:12px;display:grid;grid-template-columns:1fr 1fr;gap:8px;z-index:2}
.home-hero-preview-draws>div{padding:9px 11px;border-radius:10px;background:rgba(255,255,255,.8);border:1px solid rgba(255,255,255,.35);display:flex;align-items:center;justify-content:space-between;gap:8px;color:#172033}
.home-hero-preview-draws small{font-size:.65rem;text-transform:uppercase;color:#64748b}
.home-hero-preview-draws b{font-size:.9rem}

@media(max-width:900px){
  .home-main-hero{height:max(var(--home-hero-height,560px),640px)}
  .home-main-information-overlay{width:min(76%,calc(100% - 28px));left:50%!important;top:50%!important;transform:translate(-50%,-50%);align-items:flex-start;flex-direction:column}
  .home-main-information-overlay .home-main-information-actions{width:100%}
  .home-main-information-overlay .home-main-information-actions .btn{flex:1;text-align:center}
}
@media(max-width:600px){
  .home-main-hero{height:max(var(--home-hero-height,560px),760px)}
  .home-main-information-overlay{width:calc(100% - 24px);padding:min(var(--home-panel-padding,20px),20px);border-radius:16px}
  .home-main-information-overlay h1{font-size:1.65rem}
  .home-main-information-overlay p{font-size:.92rem}
  .home-hero-settings-preview{height:min(var(--preview-hero-height,560px),520px);min-height:320px}
  .home-hero-preview-panel{width:calc(100% - 20px);left:50%!important;top:35%!important}
  .home-hero-preview-draws{grid-template-columns:1fr;bottom:10px}
  .home-hero-draws-wrap{bottom:12px;width:calc(100% - 24px)}
  .home-hero-draws{grid-template-columns:1fr}
  .home-hero-draws .draw-card{padding:12px}
  .home-hero-draws .draw-row{margin-top:4px}
  .home-hero-draws .comodin-box{min-width:82px;padding:7px 10px}
  .home-hero-draws .comodin-box strong{font-size:28px}
}

/* v0.8.29 · cabecera pública refinada, sin franja vacía y tarjetas Comodín compactas */
.brand-mark.brand-mark-image{height:var(--brand-logo-height,38px);max-width:var(--brand-logo-max-width,150px);min-width:0;padding:0}
.brand-mark.brand-mark-image img{width:auto;height:100%;max-width:var(--brand-logo-max-width,150px);object-fit:contain}
.topbar-primary{min-height:58px;padding-top:6px!important;padding-bottom:6px!important}
.public-body>.topbar+.home-main-hero{margin-top:0}

.home-main-hero{
  height:var(--home-hero-height,560px);
  min-height:360px;
  border-radius:0;
}
.home-main-hero-shade{
  background:linear-gradient(90deg,rgba(7,18,37,calc(var(--home-hero-overlay,.18) + .08)) 0%,rgba(7,18,37,var(--home-hero-overlay,.18)) 48%,rgba(7,18,37,calc(var(--home-hero-overlay,.18) + .02)) 100%);
}
.home-main-information-overlay{
  width:min(var(--home-panel-width,52%),660px);
  min-height:var(--home-panel-min-height,0px);
  padding:var(--home-panel-padding,20px);
  border:1px solid rgba(249,115,22,.42);
  border-radius:16px;
  background:rgba(8,20,42,var(--home-panel-opacity,.72));
  backdrop-filter:blur(2px);-webkit-backdrop-filter:blur(2px);
  box-shadow:0 16px 40px rgba(2,8,23,.26);
  color:#fff;
}
.home-main-information-overlay h1{color:#fff;text-shadow:0 2px 14px rgba(0,0,0,.34);font-size:clamp(1.65rem,2.8vw,2.45rem)}
.home-main-information-overlay p{color:#e5edf7;line-height:1.48}
.home-main-information-overlay .eyebrow{color:#fb923c}
.home-main-information-overlay .btn:not(.primary){background:rgba(255,255,255,.10);border-color:rgba(255,255,255,.26);color:#fff}
.home-main-information-overlay .btn.primary{box-shadow:0 8px 22px rgba(234,88,12,.24)}

.home-hero-draws-wrap{bottom:18px;width:min(900px,calc(100% - 36px))}
.home-hero-draws{grid-template-columns:1fr 1fr!important;gap:10px}
.home-hero-draws .draw-card{
  min-height:104px;padding:14px 16px;
  background:rgba(8,20,42,.78);
  border:1px solid rgba(249,115,22,.34);
  color:#fff;
  backdrop-filter:blur(2px);-webkit-backdrop-filter:blur(2px);
  box-shadow:0 12px 30px rgba(2,8,23,.24);
}
.home-hero-draws .muted{color:#cbd5e1;font-size:.76rem;letter-spacing:.04em}
.home-hero-draws .draw-number{color:#fff;font-size:clamp(1.45rem,2.4vw,1.95rem)}
.home-hero-draws .draw-card>div:not(.muted):not(.draw-row){color:#dbe6f4}
.home-hero-draws .draw-row{gap:12px;margin-top:5px}
.home-hero-draws .comodin-box{min-width:88px;padding:8px 11px;border-radius:12px;background:#f97316;color:#fff}
.home-hero-draws .comodin-box span{font-size:.63rem}.home-hero-draws .comodin-box strong{font-size:30px}
.public-index-shell{padding-top:16px}

/* Vista previa de Configuración alineada con la portada pública. */
.home-hero-preview-panel{
  border-color:rgba(249,115,22,.42);
  background:rgba(8,20,42,var(--preview-panel-opacity,.72));
  color:#fff;backdrop-filter:blur(2px);-webkit-backdrop-filter:blur(2px)
}
.home-hero-preview-panel span{color:#fb923c}.home-hero-preview-panel strong{color:#fff}.home-hero-preview-panel small{color:#e5edf7}
.home-hero-preview-draws>div{
  background:rgba(8,20,42,.80);border:1px solid rgba(249,115,22,.34);color:#fff;backdrop-filter:blur(2px);-webkit-backdrop-filter:blur(2px)
}
.home-hero-preview-draws small{color:#cbd5e1}.home-hero-preview-draws b{color:#fff}

/* El logo puede reducirse de verdad sin forzar un ancho mínimo visual. */
.preview-logo{max-width:var(--preview-logo-max-width,150px);overflow:hidden}
.preview-logo img{display:block;height:100%;width:auto;max-width:var(--preview-logo-max-width,150px);object-fit:contain}

@media(max-width:900px){
  .home-main-hero{height:max(var(--home-hero-height,560px),610px)}
  .home-main-information-overlay{width:min(82%,calc(100% - 28px));left:50%!important;top:39%!important}
  .home-hero-draws-wrap{width:calc(100% - 28px);bottom:14px}
}
@media(max-width:650px){
  .topbar-primary{min-height:54px}
  .brand-mark.brand-mark-image{max-width:min(var(--brand-logo-max-width,150px),42vw)}
  .brand-mark.brand-mark-image img{max-width:min(var(--brand-logo-max-width,150px),42vw)}
  .home-main-hero{height:max(var(--home-hero-height,560px),720px)}
  .home-main-information-overlay{top:31%!important;width:calc(100% - 24px)}
  .home-hero-draws{grid-template-columns:1fr!important}
  .home-hero-draws .draw-card{min-height:92px;padding:11px 13px}
  .home-hero-draws .draw-number{font-size:1.55rem}
  .home-hero-draws .comodin-box{min-width:76px;padding:6px 9px}.home-hero-draws .comodin-box strong{font-size:25px}
}

/* v0.8.29 · catálogo de sorteos más compacto y proporcionado */
.raffle-campaign-grid{gap:16px}
.raffle-campaign-grid .raffle-campaign-card{
  grid-template-columns:minmax(185px,.70fr) minmax(0,1.30fr);
  min-height:258px;
  border-radius:16px;
  box-shadow:0 8px 24px rgba(20,33,61,.08);
}
.raffle-campaign-grid .raffle-campaign-card:hover{transform:translateY(-2px);box-shadow:0 13px 30px rgba(20,33,61,.13)}
.raffle-campaign-grid .campaign-card-image{min-height:238px}
.raffle-campaign-grid .campaign-card-body{padding:16px 17px}
.raffle-campaign-grid .campaign-card-kicker{font-size:.68rem;letter-spacing:.075em}
.raffle-campaign-grid .campaign-card h2{margin:4px 0 6px;font-size:1.28rem;line-height:1.08}
.raffle-campaign-grid .campaign-card p{margin:0 0 8px;font-size:.88rem;line-height:1.36;-webkit-line-clamp:2}
.raffle-campaign-grid .campaign-prize{margin:0 0 8px;padding:7px 9px;border-left-width:3px;border-radius:7px}
.raffle-campaign-grid .campaign-prize span{font-size:.61rem}
.raffle-campaign-grid .campaign-prize strong{font-size:.86rem}
.raffle-campaign-grid .campaign-card-dates{gap:6px}
.raffle-campaign-grid .campaign-card-dates div{padding:7px 8px;border-radius:8px}
.raffle-campaign-grid .campaign-card-dates span{font-size:.60rem}
.raffle-campaign-grid .campaign-card-dates strong{font-size:.74rem}
.raffle-campaign-grid .campaign-progress{gap:7px;margin-top:8px}
.raffle-campaign-grid .campaign-progress>span{height:6px}
.raffle-campaign-grid .campaign-progress b{font-size:.63rem}
.raffle-campaign-grid .campaign-card-action{margin-top:8px;padding-top:8px;font-size:.82rem}
.raffle-campaign-grid .campaign-card-action b{font-size:1.08rem}
.raffle-campaign-grid .campaign-status-pill{left:10px;top:10px;padding:5px 9px;font-size:.67rem}
.raffle-campaign-grid .raffle-complete-cover{padding:14px}
.raffle-campaign-grid .raffle-complete-cover strong{font-size:1.28rem;margin:7px 0 8px}
.raffle-campaign-grid .raffle-complete-cover small{font-size:.72rem}

/* En modo fondo se conserva la misma altura compacta que en portada lateral. */
.raffle-campaign-grid .campaign-card.campaign-image-background{min-height:258px}
.raffle-campaign-grid .campaign-card.campaign-image-background .campaign-card-body{
  min-height:258px;
  width:min(var(--cover-info-width,58%),680px);
  padding:var(--cover-info-padding,14px);
}

@media(max-width:1100px){
  .raffle-campaign-grid .raffle-campaign-card{grid-template-columns:220px minmax(0,1fr);min-height:242px}
  .raffle-campaign-grid .campaign-card-image{min-height:222px}
  .raffle-campaign-grid .campaign-card.campaign-image-background{min-height:242px}
  .raffle-campaign-grid .campaign-card.campaign-image-background .campaign-card-body{min-height:242px}
}
@media(max-width:760px){
  .raffle-campaign-grid{gap:12px}
  .raffle-campaign-grid .raffle-campaign-card{grid-template-columns:170px minmax(0,1fr);min-height:218px}
  .raffle-campaign-grid .campaign-card-image{min-height:205px}
  .raffle-campaign-grid .campaign-card-body{padding:12px 13px}
  .raffle-campaign-grid .campaign-card h2{font-size:1.08rem}
  .raffle-campaign-grid .campaign-card p{font-size:.81rem;-webkit-line-clamp:2}
  .raffle-campaign-grid .campaign-card.campaign-image-background{min-height:230px}
  .raffle-campaign-grid .campaign-card.campaign-image-background .campaign-card-body{min-height:230px;width:68%;padding:12px 13px}
}
@media(max-width:540px){
  .raffle-campaign-grid .raffle-campaign-card{grid-template-columns:1fr;min-height:0}
  .raffle-campaign-grid .campaign-card-image{height:168px;min-height:0}
  .raffle-campaign-grid .campaign-card-body{padding:12px}
  .raffle-campaign-grid .campaign-card.campaign-image-background{min-height:390px}
  .raffle-campaign-grid .campaign-card.campaign-image-background .campaign-card-body{width:100%;min-height:390px;padding:145px 12px 12px}
  /* v0.8.39: completar el sorteo no cambia el tamaño ni el encuadre de la foto en móvil.
     La capa de estado ocupa el mismo lienzo de fondo y no crea un bloque fotográfico más pequeño. */
  .raffle-campaign-grid .campaign-card.campaign-image-background.campaign-is-complete .campaign-card-image{position:absolute;inset:0;width:100%;height:100%;min-height:0}
  .raffle-campaign-grid .campaign-card.campaign-image-background.campaign-is-complete .campaign-card-image img{width:var(--cover-image-width,100%);height:var(--cover-image-height,100%);object-fit:var(--cover-image-fit,contain);object-position:var(--cover-x,50%) var(--cover-y,50%);transform:scale(var(--cover-scale,1));transform-origin:var(--cover-x,50%) var(--cover-y,50%)}
  .raffle-campaign-grid .campaign-card.campaign-image-background.campaign-is-complete .raffle-complete-cover{inset:0;width:100%;height:auto;box-sizing:border-box;justify-content:flex-start;padding:12px;pointer-events:none;background:linear-gradient(180deg,rgba(5,71,45,.56) 0%,rgba(4,107,65,.20) 38%,rgba(4,107,65,.06) 100%)}
}

/* v0.8.32 · comisión visible por tipo de premio */
.organizer-commission-preview{border:2px solid rgba(234,88,12,.30);background:linear-gradient(135deg,#fff7ed,#ffffff);border-radius:16px;padding:16px 18px;box-shadow:0 8px 22px rgba(124,45,18,.07)}
.commission-preview-title{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:8px}.commission-preview-title span{font-weight:800;color:#7c2d12}.commission-preview-title strong{font-size:1.55rem;color:#c2410c;white-space:nowrap}.organizer-commission-preview>p{margin:0 0 12px;color:#7c2d12;line-height:1.45}.commission-preview-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px}.commission-preview-grid>div{padding:10px 11px;border:1px solid #fed7aa;background:rgba(255,255,255,.82);border-radius:11px;display:flex;flex-direction:column;gap:2px}.commission-preview-grid span{font-size:.72rem;color:#7c2d12;font-weight:700}.commission-preview-grid strong{font-size:1rem;color:#172033}.commission-preview-grid small{font-size:.68rem;color:#78716c}.commission-preview-grid .commission-preview-total{background:#172033;border-color:#172033}.commission-preview-grid .commission-preview-total span,.commission-preview-grid .commission-preview-total small{color:#cbd5e1}.commission-preview-grid .commission-preview-total strong{color:#fff;font-size:1.15rem}.commission-create-block{border:2px solid #f59e0b}.commission-create-block table td,.commission-create-block table th{white-space:nowrap}
.prize-type-admin-row{border:1px solid #e2e8f0;background:#f8fafc}.prize-type-admin-row .input-with-suffix{max-width:220px}
@media(max-width:900px){.commission-preview-grid{grid-template-columns:1fr 1fr}}
@media(max-width:560px){.commission-preview-title{align-items:flex-start;flex-direction:column}.commission-preview-grid{grid-template-columns:1fr}.commission-preview-title strong{font-size:1.35rem}}
/* v0.8.32 · plazo visible del documento de cobro */
.organizer-commission-preview .commission-due-note{margin:12px 0 10px;padding:10px 12px;border-radius:10px;background:rgba(255,255,255,.72);border:1px solid rgba(15,23,42,.10);font-size:.92rem;line-height:1.4}

/* v0.8.36 · Identificación pública del Organizador */
.organizer-public-card{display:flex;align-items:center;gap:14px;margin:-4px 0 20px;padding:16px 18px;border:1px solid var(--border);border-radius:16px;background:var(--card);box-shadow:0 8px 24px rgba(20,33,61,.06)}
.organizer-public-icon{width:44px;height:44px;flex:0 0 44px;border-radius:50%;display:grid;place-items:center;font-weight:900;background:var(--primary);color:#fff}
.organizer-public-data{display:flex;flex-direction:column;gap:2px;min-width:0;flex:1}.organizer-public-data>span{font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.06em;color:var(--muted)}.organizer-public-data>strong{font-size:18px}.organizer-public-email{color:var(--primary);font-weight:700;overflow-wrap:anywhere}.organizer-public-contact-btn{white-space:nowrap}
@media(max-width:640px){.organizer-public-card{align-items:flex-start;flex-wrap:wrap}.organizer-public-data{min-width:calc(100% - 62px)}.organizer-public-contact-btn{width:100%;text-align:center;margin-top:4px}}

/* v0.8.37 · Advertencia visible para operaciones de sorteos de Organizadores */
.admin-external-owner-warning{grid-column:1/-1;width:100%;box-sizing:border-box;margin:0 0 4px;padding:10px 14px;border:2px solid #b91c1c;border-left-width:7px;border-radius:10px;background:#fff1f2;color:#7f1d1d;box-shadow:0 3px 12px rgba(127,29,29,.08);display:flex;align-items:center;gap:10px 14px;flex-wrap:wrap}
.admin-external-owner-warning-title{flex:0 0 auto;font-weight:950;letter-spacing:.025em;text-transform:uppercase;margin:0;color:#991b1b;white-space:nowrap}
.admin-external-owner-warning strong{display:block;flex:0 1 auto;color:#7f1d1d;line-height:1.3}
.admin-external-owner-warning p{flex:1 1 330px;margin:0;color:#7f1d1d;line-height:1.35;font-size:.88rem}
@media(max-width:700px){.admin-external-owner-warning{align-items:flex-start;padding:10px 12px}.admin-external-owner-warning-title{white-space:normal}.admin-external-owner-warning strong,.admin-external-owner-warning p{flex-basis:100%}}
.badge.admin-external-owner-badge{background:#b91c1c!important;color:#fff!important;border-color:#991b1b!important;font-weight:850}
.admin-external-owner-summary{display:inline-flex;align-items:center;gap:6px;margin-top:4px;color:#991b1b;font-weight:800}
.admin-external-owner-action-note{font-size:.88rem;color:#991b1b;font-weight:750;margin:4px 0 0}
.proof-modal-owner-warning{padding:10px 16px;background:#b91c1c;color:#fff;font-weight:900;text-align:center;letter-spacing:.015em;border-bottom:2px solid #7f1d1d}


/* v0.8.40 · corrección real de portada completada en celular.
   En un sorteo completo la imagen debe llenar físicamente todo su recuadro móvil.
   `contain` dejaba portadas verticales angostas al centro con franjas laterales visibles. */
@media(max-width:540px){
  .raffle-campaign-grid .raffle-campaign-card.campaign-is-complete .campaign-card-image img{
    width:100%!important;
    height:100%!important;
    max-width:none!important;
    max-height:none!important;
    object-fit:cover!important;
    object-position:var(--cover-x,50%) var(--cover-y,50%)!important;
    transform:scale(clamp(1,var(--cover-scale,1),2.2))!important;
    transform-origin:var(--cover-x,50%) var(--cover-y,50%)!important;
  }
  .raffle-campaign-grid .campaign-card.campaign-image-background.campaign-is-complete .campaign-card-image{
    position:absolute!important;
    inset:0!important;
    width:100%!important;
    height:100%!important;
    min-height:0!important;
  }
}

/* v0.8.41 · portada COMPLETA móvil: ancho completo y alto proporcional real.
   La imagen deja de usar el lienzo absoluto de altura fija del modo background.
   Su altura pasa a depender de su relación de aspecto natural, evitando recorte
   vertical y manteniendo el 100% del ancho disponible. */
@media(max-width:540px){
  .raffle-campaign-grid .campaign-card.campaign-image-background.campaign-is-complete{
    display:block!important;
    min-height:0!important;
    overflow:hidden;
    background:#fff;
  }
  .raffle-campaign-grid .campaign-card.campaign-image-background.campaign-is-complete .campaign-card-image{
    position:relative!important;
    inset:auto!important;
    width:100%!important;
    height:auto!important;
    min-height:0!important;
    display:block!important;
    overflow:hidden!important;
    background:#172033;
  }
  .raffle-campaign-grid .campaign-card.campaign-image-background.campaign-is-complete .campaign-card-image img{
    position:relative!important;
    display:block!important;
    width:100%!important;
    height:auto!important;
    max-width:100%!important;
    max-height:none!important;
    object-fit:contain!important;
    object-position:center!important;
    transform:none!important;
    transform-origin:center!important;
  }
  .raffle-campaign-grid .campaign-card.campaign-image-background.campaign-is-complete .campaign-card-image:after{
    inset:0!important;
  }
  .raffle-campaign-grid .campaign-card.campaign-image-background.campaign-is-complete .raffle-complete-cover{
    position:absolute!important;
    inset:0!important;
    width:100%!important;
    height:100%!important;
    box-sizing:border-box!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    padding:12px!important;
    pointer-events:none!important;
    background:linear-gradient(180deg,rgba(5,71,45,.34),rgba(4,107,65,.40))!important;
  }
  .raffle-campaign-grid .campaign-card.campaign-image-background.campaign-is-complete .campaign-card-body{
    position:relative!important;
    z-index:4!important;
    width:100%!important;
    min-height:0!important;
    margin:0!important;
    padding:12px!important;
    background:#fff!important;
    text-shadow:none!important;
  }
}


/* v0.8.44 · en celular, al completar 41/41 la portada pública deja de depender
   por completo del check "Mantener proporción". La imagen ocupa el 100% del ancho y
   el 100% del alto del lienzo ya definido para la tarjeta, ajustando ambos ejes de forma
   independiente. Esto equivale visualmente a usar una portada no proporcional al completar. */
@media(max-width:540px){
  .raffle-campaign-grid .raffle-campaign-card.campaign-is-complete .campaign-card-image img{
    position:static!important;
    display:block!important;
    width:100%!important;
    height:100%!important;
    min-width:100%!important;
    min-height:100%!important;
    max-width:none!important;
    max-height:none!important;
    object-fit:fill!important;
    object-position:center!important;
    transform:none!important;
    transform-origin:center!important;
  }

  .raffle-campaign-grid .campaign-card.campaign-image-background.campaign-is-complete{
    position:relative!important;
    display:block!important;
    min-height:390px!important;
    overflow:hidden!important;
    background:#172033!important;
  }
  .raffle-campaign-grid .campaign-card.campaign-image-background.campaign-is-complete .campaign-card-image{
    position:absolute!important;
    inset:0!important;
    width:100%!important;
    height:100%!important;
    min-height:0!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    overflow:hidden!important;
    background:#172033!important;
  }
  .raffle-campaign-grid .campaign-card.campaign-image-background.campaign-is-complete .campaign-card-image:after{
    position:absolute!important;
    inset:0!important;
    background:linear-gradient(180deg,rgba(6,17,32,.02) 0%,rgba(6,17,32,.035) 30%,rgba(255,255,255,calc(var(--cover-overlay-alpha,.18) * .48)) 58%,rgba(255,255,255,var(--cover-overlay-alpha,.18)) 100%)!important;
  }
  .raffle-campaign-grid .campaign-card.campaign-image-background.campaign-is-complete .campaign-card-body{
    position:relative!important;
    z-index:4!important;
    width:100%!important;
    min-height:390px!important;
    margin:0!important;
    padding:145px 12px 12px!important;
    background:linear-gradient(180deg,rgba(255,255,255,0) 0 30%,rgba(255,255,255,calc(var(--cover-panel-alpha,.28) * .42)) 49%,rgba(255,255,255,var(--cover-panel-alpha,.28)) 100%)!important;
  }
  .raffle-campaign-grid .campaign-card.campaign-image-background.campaign-is-complete .raffle-complete-cover{
    position:absolute!important;
    z-index:3!important;
    top:0!important;
    right:0!important;
    bottom:auto!important;
    left:0!important;
    inset:auto 0 auto 0!important;
    width:100%!important;
    height:145px!important;
    box-sizing:border-box!important;
    display:flex!important;
    flex-direction:column!important;
    align-items:center!important;
    justify-content:center!important;
    padding:12px!important;
    pointer-events:none!important;
    background:linear-gradient(180deg,rgba(5,71,45,.56),rgba(4,107,65,.18))!important;
  }

  .raffle-campaign-grid .campaign-card.campaign-image-side.campaign-is-complete .campaign-card-image{
    position:relative!important;
    inset:auto!important;
    width:100%!important;
    height:168px!important;
    min-height:0!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    overflow:hidden!important;
  }
  .raffle-campaign-grid .campaign-card.campaign-image-side.campaign-is-complete .raffle-complete-cover{
    position:absolute!important;
    inset:0!important;
    width:100%!important;
    height:100%!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    padding:12px!important;
    pointer-events:none!important;
  }
}

/* v0.8.49 · Posición de portada = desplazamiento físico de la imagen completa.
   Antes cover_position_x/y se usaban como object-position (punto de enfoque). Ahora
   cada valor ancla y desplaza el elemento IMG completo dentro de su contenedor.
   0/50/100 representan borde inicial/centro/borde final y el mismo CSS se usa en
   portada pública y en la vista previa del editor. */
.campaign-card .campaign-card-image img,
.campaign-card.campaign-image-side .campaign-card-image img,
.campaign-card.campaign-image-background .campaign-card-image img{
  position:absolute;
  left:var(--cover-x,50%);
  top:var(--cover-y,50%);
  width:var(--cover-image-width,100%);
  height:var(--cover-image-height,100%);
  max-width:none;
  max-height:none;
  object-fit:var(--cover-image-fit,contain);
  object-position:center center;
  transform:translate(calc(0% - var(--cover-x,50%)),calc(0% - var(--cover-y,50%))) scale(var(--cover-scale,1));
  transform-origin:center center;
}
/* La vista previa usa exactamente las reglas compactas de .raffle-campaign-grid que usa index.php. */
.raffle-card-live-preview-wrap.raffle-campaign-grid .raffle-campaign-card{margin:0;width:100%;max-width:none}

/* Al completar 41/41 se conserva la regla v0.8.44: la imagen llena 100% x 100%
   independientemente de “Mantener proporción”. Al ser del mismo tamaño que el lienzo,
   0/50/100 quedan visualmente alineados sin crear espacios laterales. */
@media(max-width:540px){
  .raffle-campaign-grid .raffle-campaign-card.campaign-is-complete .campaign-card-image img{
    position:absolute!important;
    left:0!important;
    top:0!important;
    width:100%!important;
    height:100%!important;
    min-width:100%!important;
    min-height:100%!important;
    object-fit:fill!important;
    object-position:center!important;
    transform:none!important;
    transform-origin:center!important;
  }
}

/* v0.8.50 · ficha pública: stickers + galería a la izquierda, descripciones a la derecha. */
.raffle-public-left{display:flex;flex-direction:column;gap:16px;min-width:0}
.raffle-public-left>.card{margin:0}
.raffle-gallery-card{overflow:hidden}
.raffle-gallery-grid{grid-template-columns:repeat(4,minmax(0,1fr))}
.raffle-gallery-item{appearance:none;border:1px solid var(--border);padding:0;margin:0;border-radius:12px;overflow:hidden;background:#f8fafc;cursor:zoom-in;display:block;min-width:0;box-shadow:none}
.raffle-gallery-item img{display:block;width:100%;height:160px;object-fit:cover;transition:transform .18s ease}
.raffle-gallery-item:hover img,.raffle-gallery-item:focus-visible img{transform:scale(1.035)}
.raffle-gallery-item:focus-visible{outline:3px solid rgba(37,99,235,.28);outline-offset:2px}
@media(max-width:1100px){.raffle-gallery-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:900px){.raffle-public-layout{grid-template-columns:1fr}.raffle-gallery-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:560px){.raffle-gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.raffle-gallery-item img{height:140px}}

/* Galería pública dentro del sitio: popup con zoom, navegación y soporte táctil. */
body.gallery-modal-open{overflow:hidden}
.raffle-gallery-modal[hidden]{display:none!important}
.raffle-gallery-modal{position:fixed;inset:0;z-index:12000;display:grid;place-items:center;padding:16px}
.raffle-gallery-backdrop{position:absolute;inset:0;background:rgba(15,23,42,.82);backdrop-filter:blur(3px)}
.raffle-gallery-dialog{position:relative;z-index:1;width:min(1180px,97vw);height:min(900px,94vh);display:grid;grid-template-rows:auto minmax(0,1fr) auto;background:#fff;border-radius:17px;overflow:hidden;box-shadow:0 28px 90px rgba(0,0,0,.42)}
.raffle-gallery-modal-head{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:12px 15px;border-bottom:1px solid #e5e7eb;background:#f8fafc}
.raffle-gallery-modal-head>div:first-child{min-width:0}.raffle-gallery-modal-head span{display:block;font-size:.66rem;text-transform:uppercase;font-weight:850;color:#64748b}.raffle-gallery-modal-head h2{margin:2px 0 0;font-size:1rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:480px}
.raffle-gallery-controls{display:flex;align-items:center;gap:6px;flex-wrap:wrap;justify-content:flex-end}
.raffle-gallery-control,.raffle-gallery-control-text,.raffle-gallery-close{border:1px solid #cbd5e1;background:#fff;color:#0f172a;height:36px;border-radius:9px;font-weight:900;cursor:pointer;display:inline-grid;place-items:center}
.raffle-gallery-control{width:36px;font-size:1.28rem}.raffle-gallery-control-text{padding:0 10px;font-size:.72rem}.raffle-gallery-close{width:38px;font-size:1.55rem;background:#e2e8f0}.raffle-gallery-control:hover,.raffle-gallery-control-text:hover,.raffle-gallery-close:hover{background:#eef2f7}
.raffle-gallery-zoom-label{min-width:50px;text-align:center;font-size:.72rem;font-weight:900;color:#475569}
.raffle-gallery-viewport{position:relative;overflow:auto;overscroll-behavior:contain;background:#111827;-webkit-overflow-scrolling:touch;touch-action:none;cursor:grab}
.raffle-gallery-viewport:active{cursor:grabbing}.raffle-gallery-canvas{min-width:100%;min-height:100%;display:flex;align-items:center;justify-content:center;padding:36px;box-sizing:border-box}.raffle-gallery-canvas img{display:block;max-width:none;max-height:none;object-fit:contain;flex:0 0 auto;box-shadow:0 6px 34px rgba(0,0,0,.35);background:#fff;user-select:none;-webkit-user-drag:none}
.raffle-gallery-modal-foot{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:10px 15px;border-top:1px solid #e5e7eb;background:#fff}.raffle-gallery-modal-foot>div{min-width:0}.raffle-gallery-modal-foot strong{display:block;font-size:.76rem}.raffle-gallery-modal-foot span{display:block;color:#475569;font-size:.8rem;margin-top:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:720px}.raffle-gallery-modal-foot small{color:#64748b;text-align:right}
@media(max-width:700px){.raffle-gallery-modal{padding:0}.raffle-gallery-dialog{width:100%;height:100dvh;border-radius:0}.raffle-gallery-modal-head{align-items:flex-start;flex-direction:column;padding:10px 11px}.raffle-gallery-modal-head h2{max-width:calc(100vw - 24px)}.raffle-gallery-controls{width:100%;justify-content:center}.raffle-gallery-modal-foot{padding:8px 10px}.raffle-gallery-modal-foot small{display:none}.raffle-gallery-modal-foot span{max-width:75vw}.raffle-gallery-canvas{padding:18px}}

/* v0.8.50 · solicitud de acceso como Organizador desde Mi cuenta. */
.organizer-request-card{border:2px solid rgba(37,99,235,.18);background:linear-gradient(135deg,#eff6ff,#fff);position:relative;overflow:hidden}.organizer-request-icon{width:44px;height:44px;border-radius:50%;display:grid;place-items:center;background:#1d4ed8;color:#fff;font-size:1.2rem;font-weight:900;margin-bottom:10px}.organizer-request-card h2{margin:0 0 8px}.organizer-request-card p{margin:0 0 12px;color:#475569;line-height:1.5}
.organizer-request-admin-list{margin-bottom:16px}.organizer-request-admin-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.organizer-request-admin-card{border:1px solid #dbe3ef;border-radius:13px;padding:14px;background:#fbfdff}.organizer-request-admin-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:10px}.organizer-request-admin-head strong,.organizer-request-admin-head small{display:block}.organizer-request-admin-head small{color:var(--muted);margin-top:2px}.organizer-request-review-form{margin-top:12px;padding-top:12px;border-top:1px solid #e5e7eb}.organizer-request-review-form label{display:block;margin-bottom:5px;font-size:.75rem;font-weight:800}.organizer-request-review-form .actions{margin-top:10px}
@media(max-width:800px){.organizer-request-admin-grid{grid-template-columns:1fr}}

/* v0.8.52 · estados de seguridad administrativa */
.raffle-security-card-badge{position:absolute;z-index:8;right:10px;top:10px;max-width:calc(100% - 20px);padding:6px 10px;border-radius:999px;font-size:.68rem;line-height:1.15;font-weight:950;letter-spacing:.035em;text-align:center;box-shadow:0 5px 16px rgba(0,0,0,.18)}
.raffle-security-card-badge.security-paused{background:#fef3c7;color:#7a5200;border:1px solid #f0cc73}
.raffle-security-card-badge.security-blocked{background:#b91c1c;color:#fff;border:1px solid #7f1d1d}
.raffle-security-admin-card{border:2px solid #f0cc73}
.raffle-security-admin-card.is-blocked{border-color:#dc2626;background:#fffafa}
@media(max-width:540px){.raffle-security-card-badge{right:8px;top:8px;font-size:.60rem;padding:5px 8px}}

/* v0.8.53 · conversación obligatoria para solicitudes de Organizador */
.organizer-request-message-form,.organizer-request-admin-reply-form{margin-top:12px}.organizer-request-message-form label,.organizer-request-admin-reply-form label{display:block;margin-bottom:5px;font-size:.76rem;font-weight:850}.organizer-request-message-form textarea,.organizer-request-admin-reply-form textarea{width:100%;resize:vertical;min-height:82px}.organizer-request-message-form .btn,.organizer-request-admin-reply-form .btn{margin-top:8px}
.organizer-request-chat{margin:12px 0;border:1px solid #dbe3ef;border-radius:12px;overflow:hidden;background:#f8fafc}.organizer-request-chat-head{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:9px 11px;border-bottom:1px solid #dbe3ef;background:#eef4fb}.organizer-request-chat-head strong{font-size:.82rem}.organizer-request-chat-messages{display:flex;flex-direction:column;gap:8px;max-height:330px;overflow:auto;padding:10px}.organizer-request-chat-empty{padding:12px;text-align:center;color:var(--muted);font-size:.8rem}.organizer-request-message{max-width:88%;padding:9px 11px;border-radius:11px;box-shadow:0 1px 4px rgba(15,23,42,.05);font-size:.84rem;line-height:1.4;overflow-wrap:anywhere}.organizer-request-message.is-requester{align-self:flex-start;background:#fff;border:1px solid #dbe3ef}.organizer-request-message.is-admin{align-self:flex-end;background:#dbeafe;border:1px solid #bfdbfe}.organizer-request-message-meta{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:4px;font-size:.68rem}.organizer-request-message-meta span{color:#64748b;white-space:nowrap}.admin-request-chat{margin-top:12px}.organizer-request-admin-reply-form{padding:10px;border:1px solid #dbe3ef;border-radius:10px;background:#fff}.organizer-request-review-form button:disabled{opacity:.48;cursor:not-allowed;filter:grayscale(.25)}
@media(max-width:600px){.organizer-request-chat-head{align-items:flex-start;flex-direction:column}.organizer-request-message{max-width:96%}.organizer-request-message-meta{align-items:flex-start;flex-direction:column;gap:1px}}
.organizer-request-message.is-previous-attempt{opacity:.62}.organizer-request-message.is-previous-attempt .organizer-request-message-meta:after{content:"Historial anterior";font-size:.62rem;color:#64748b;font-weight:800;margin-left:auto}

/* v0.8.55 · Mis números y pagos como acordeón principal */
.account-section-top-actions{display:flex;justify-content:flex-end;padding-top:14px;margin-bottom:10px}
@media(max-width:540px){.account-section-top-actions .btn{width:100%;text-align:center}}

/* v0.8.58 · selección de sticker de Biblioteca como imagen de portada */
.cover-source-field{min-width:0}.cover-library-cover-picker{margin-top:9px}.cover-library-cover-picker>summary{display:inline-flex;cursor:pointer;list-style:none}.cover-library-cover-picker>summary::-webkit-details-marker{display:none}.cover-library-cover-panel{margin-top:10px;padding:12px;border:1px solid var(--border);border-radius:12px;background:#fafafa}.cover-library-cover-filter{display:flex;align-items:end;gap:10px;margin-bottom:10px}.cover-library-cover-filter label{min-width:180px}.cover-library-cover-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px;max-height:420px;overflow:auto;padding:2px}.cover-library-cover-item{appearance:none;border:2px solid transparent;border-radius:10px;background:#fff;padding:7px;text-align:left;cursor:pointer;min-width:0}.cover-library-cover-item:hover,.cover-library-cover-item.is-selected{border-color:var(--primary)}.cover-library-cover-item img{display:block;width:100%;aspect-ratio:1/1;object-fit:cover;border-radius:7px;background:#f1f5f9}.cover-library-cover-item span,.cover-library-cover-item small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cover-library-cover-item span{margin-top:6px;font-weight:850;font-size:.72rem}.cover-library-cover-item small{font-size:.66rem;color:var(--muted);margin-top:2px}.cover-source-selection{margin-top:9px;padding:8px 10px;border-radius:9px;background:#eef6ff;font-size:.78rem}.cover-source-field .form-preview{margin-top:9px}
@media(max-width:760px){.cover-library-cover-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:480px){.cover-library-cover-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.cover-library-cover-filter{display:block}.cover-library-cover-filter label{min-width:0}}

/* v0.8.60 · pago de comisiones por transferencia directo, estilo checkout */
body.commission-transfer-open{overflow:hidden}
.commission-transfer-dialog[hidden]{display:none!important}
.commission-transfer-dialog{position:fixed;inset:0;z-index:12000;display:grid;place-items:center;padding:18px}
.commission-transfer-backdrop{position:absolute;inset:0;background:rgba(15,23,42,.72);backdrop-filter:blur(2px)}
.commission-transfer-panel{position:relative;z-index:1;width:min(760px,96vw);max-height:92vh;display:flex;flex-direction:column;background:#fff;border-radius:18px;box-shadow:0 24px 80px rgba(0,0,0,.35);overflow:hidden}
.commission-transfer-head{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:16px 18px;border-bottom:1px solid #e5e7eb;background:#f8fafc}
.commission-transfer-head span{display:block;font-size:.68rem;text-transform:uppercase;font-weight:850;color:#64748b;letter-spacing:.04em}
.commission-transfer-head h2{margin:2px 0 0;font-size:1.18rem}
.commission-transfer-close{border:0;background:#e2e8f0;color:#0f172a;width:38px;height:38px;border-radius:10px;font-size:1.55rem;line-height:1;cursor:pointer;flex:none}
.commission-transfer-body{padding:18px;overflow:auto}
.commission-transfer-bank{margin:0 0 14px}
.commission-transfer-summary{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:0 0 12px}
.commission-transfer-summary>div{padding:12px 14px;border:1px solid #e2e8f0;border-radius:11px;background:#f8fafc}
.commission-transfer-summary span{display:block;font-size:.68rem;text-transform:uppercase;font-weight:850;color:#64748b}
.commission-transfer-summary strong{display:block;margin-top:3px;font-size:1.08rem;color:#172033}
.commission-transfer-items{display:grid;gap:6px;margin:0 0 14px;max-height:150px;overflow:auto}
.commission-transfer-items>div{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:9px 11px;border:1px solid #ece7df;border-radius:9px;background:#fffaf5}
.commission-transfer-items span{font-size:.78rem;min-width:0;overflow-wrap:anywhere}
.commission-transfer-items b{white-space:nowrap;font-size:.8rem}
.commission-transfer-foot{display:flex;justify-content:flex-end;gap:8px;padding:12px 18px;border-top:1px solid #e5e7eb;background:#fff}
@media(max-width:600px){.commission-transfer-dialog{padding:0}.commission-transfer-panel{width:100%;max-height:100dvh;height:100dvh;border-radius:0}.commission-transfer-summary{grid-template-columns:1fr}.commission-transfer-body{padding:14px}.commission-transfer-foot{padding:10px 14px}.commission-transfer-foot .btn{flex:1}.commission-transfer-items>div{align-items:flex-start;flex-direction:column;gap:3px}}

/* v0.8.61 · aviso preventivo de comisión pendiente al crear sorteos */
body.commission-due-reminder-open{overflow:hidden}
.commission-due-reminder[hidden]{display:none!important}
.commission-due-reminder{position:fixed;inset:0;z-index:12000;display:grid;place-items:center;padding:18px}
.commission-due-reminder-backdrop{position:absolute;inset:0;background:rgba(15,23,42,.68);backdrop-filter:blur(2px)}
.commission-due-reminder-dialog{position:relative;z-index:1;width:min(720px,96vw);max-height:92vh;overflow:auto;padding:24px;border-radius:18px;background:#fff;box-shadow:0 28px 90px rgba(0,0,0,.34);border-top:5px solid #f59e0b}
.commission-due-reminder-dialog h2{margin:5px 42px 10px 0}.commission-due-reminder-dialog>p{line-height:1.55;color:#475569}
.commission-due-reminder-x{position:absolute;right:14px;top:14px;width:38px;height:38px;border:0;border-radius:10px;background:#f1f5f9;color:#0f172a;font-size:1.55rem;cursor:pointer}
.commission-due-reminder-x:hover{background:#e2e8f0}
.commission-due-reminder-metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;margin:16px 0}
.commission-due-reminder-metrics>div{padding:12px;border:1px solid #fde68a;border-radius:11px;background:#fffbeb}.commission-due-reminder-metrics span{display:block;font-size:.68rem;text-transform:uppercase;font-weight:850;color:#92400e}.commission-due-reminder-metrics strong{display:block;margin-top:4px;overflow-wrap:anywhere}
.commission-due-reminder-list{display:grid;gap:7px;margin:12px 0 18px}.commission-due-reminder-list>div{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:10px 12px;border:1px solid #e5e7eb;border-radius:10px}.commission-due-reminder-list span{min-width:0}.commission-due-reminder-list b,.commission-due-reminder-list small{display:block}.commission-due-reminder-list small{color:#64748b;margin-top:2px}.commission-due-reminder-list>div>strong{white-space:nowrap}
.commission-due-reminder-actions{justify-content:flex-end}
@media(max-width:620px){.commission-due-reminder-dialog{padding:20px 16px}.commission-due-reminder-metrics{grid-template-columns:1fr}.commission-due-reminder-actions{display:grid;grid-template-columns:1fr}.commission-due-reminder-actions .btn{width:100%;text-align:center}}

/* v0.8.62 · historial administrativo y bloqueo automático por comisión vencida */
.raffle-history-head{margin-top:30px;padding-top:20px;border-top:1px solid var(--border)}
.raffle-history-list .raffle-history-item{background:#fbfbfc}
.raffle-history-list .raffle-history-item>summary{background:#fafafa}
@media(max-width:760px){.raffle-history-head{align-items:flex-start;gap:10px}.raffle-history-head>span{align-self:flex-start}}

/* v0.8.74 · Editor correcto de la IMAGEN PRINCIPAL de la portada, reconstruido desde v0.8.68. */
.home-main-hero-image{
  object-fit:var(--home-hero-fit,contain);
  object-position:var(--home-hero-x,50%) var(--home-hero-y,50%);
  transform:scale(var(--home-hero-scale,1));
  transform-origin:var(--home-hero-x,50%) var(--home-hero-y,50%);
}
.home-hero-editor-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(320px,430px);gap:16px;align-items:start;width:100%}
.home-hero-editor-controls{min-width:0;border:1px solid #e1e7ef;border-radius:14px;padding:12px;background:#fff}
.home-hero-compact-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 10px;margin-top:10px}
.home-hero-control-wide{grid-column:1/-1}
.home-hero-editor-controls label{font-size:11px;margin-bottom:3px}
.home-hero-editor-controls input,.home-hero-editor-controls select{padding:7px 8px}
.home-hero-editor-controls .compact-range-line{gap:6px}
.home-hero-editor-controls .compact-range-line output{min-width:48px;font-size:11px}
.home-hero-editor-controls .field-help{font-size:10px;line-height:1.3;margin-top:3px}
.home-hero-control-actions{display:flex;gap:7px;flex-wrap:wrap;margin-top:11px;padding-top:10px;border-top:1px solid #edf1f5}
.home-hero-control-actions .btn{padding:8px 10px;font-size:12px}
#home-main-image.gateway-settings-accordion{overflow:visible}
.home-hero-preview-column{min-width:0;align-self:stretch;height:100%}
.home-hero-preview-sticky{position:sticky;top:88px;display:flex;flex-direction:column;gap:6px}
.home-hero-preview-title{display:flex;flex-direction:column;gap:2px;margin:0}
.home-hero-preview-title strong{font-size:12px}.home-hero-preview-title small{font-size:10px;color:var(--muted)}
.home-hero-preview-frame{width:100%;max-width:430px;overflow:hidden;border:1px solid #d8dee8;border-radius:13px;background:#0d172c;box-shadow:0 8px 20px rgba(15,23,42,.08)}
.home-hero-preview-canvas.home-main-hero{margin:0!important;min-height:0!important;border-radius:0!important;max-width:none!important;position:relative!important}
.home-hero-preview-canvas .btn{pointer-events:none}
@media(max-width:820px){#home-main-image.gateway-settings-accordion{overflow:hidden}.home-hero-editor-layout{grid-template-columns:1fr}.home-hero-preview-column{grid-row:2;align-self:auto;height:auto}.home-hero-preview-sticky{position:static}.home-hero-preview-frame{max-width:520px}.home-hero-compact-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:540px){.home-hero-compact-grid{grid-template-columns:1fr}.home-hero-control-wide{grid-column:auto}.home-hero-preview-frame{max-width:100%}}

/* v0.8.75 · controles independientes para los recuadros Sorteo anterior / Próximo Sorteo Comodín. */
.home-hero-draws-wrap{
  left:var(--home-draws-x,50%);
  bottom:var(--home-draws-bottom,18px);
  width:min(var(--home-draws-width,900px),calc(100% - 36px));
  transform:translateX(-50%);
}
.home-hero-draws{
  display:flex!important;
  grid-template-columns:none!important;
  gap:var(--home-draws-gap,10px)!important;
  align-items:stretch;
}
.home-hero-draws .draw-card:nth-child(1){
  flex:var(--home-prev-grow,50) 1 0;
  min-width:0;
  min-height:var(--home-prev-height,104px);
  padding:var(--home-prev-padding,14px);
  background:rgba(8,20,42,var(--home-prev-opacity,.78));
  transform:translateY(var(--home-prev-y,0px));
}
.home-hero-draws .draw-card:nth-child(2){
  flex:var(--home-next-grow,50) 1 0;
  min-width:0;
  min-height:var(--home-next-height,104px);
  padding:var(--home-next-padding,14px);
  background:rgba(8,20,42,var(--home-next-opacity,.78));
  transform:translateY(var(--home-next-y,0px));
}
.home-hero-subgroup-title{margin-top:5px;padding-top:9px;border-top:1px solid #e8edf3;display:flex;flex-direction:column;gap:2px}
.home-hero-subgroup-title strong{font-size:12px}.home-hero-subgroup-title small{font-size:10px;color:var(--muted)}
.home-hero-dual-card-controls{display:grid;grid-template-columns:1fr 1fr;gap:9px}
.home-hero-dual-card-controls fieldset{min-width:0;margin:0;padding:9px;border:1px solid #e3e8ef;border-radius:10px;background:#f8fafc}
.home-hero-dual-card-controls legend{padding:0 5px;font-size:11px;font-weight:850;color:#172033}
.home-hero-dual-card-controls label{display:block;margin-top:5px}
@media(max-width:650px){
  .home-hero-draws{flex-direction:column!important}
  .home-hero-draws .draw-card:nth-child(1),.home-hero-draws .draw-card:nth-child(2){flex:1 1 auto;transform:none}
}
@media(max-width:540px){.home-hero-dual-card-controls{grid-template-columns:1fr}}

/* v0.8.79 · editor de Logo y barra superior con vista previa acompañando el desplazamiento. */
#header-branding.gateway-settings-accordion{overflow:visible}
.header-branding-editor-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(320px,430px);gap:16px;align-items:start;width:100%}
.header-branding-editor-controls{min-width:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 12px;border:1px solid #e1e7ef;border-radius:14px;padding:12px;background:#fff}
.header-branding-editor-controls>div{min-width:0}
.header-branding-control-wide{grid-column:1/-1}
.header-branding-editor-controls label{font-size:11px;margin-bottom:3px}
.header-branding-editor-controls input,.header-branding-editor-controls select{padding:7px 8px}
.header-branding-editor-controls .compact-range-line{gap:6px}
.header-branding-editor-controls .compact-range-line output{min-width:48px;font-size:11px}
.header-branding-editor-controls .field-help{font-size:10px;line-height:1.3;margin-top:3px}
.header-branding-actions{padding-top:10px;border-top:1px solid #edf1f5}
.header-branding-preview-column{min-width:0;align-self:stretch;height:100%}
.header-branding-preview-sticky{position:sticky;top:88px;display:flex;flex-direction:column;gap:6px}
.header-branding-preview-title{display:flex;flex-direction:column;gap:2px;margin:0}
.header-branding-preview-title strong{font-size:12px}.header-branding-preview-title small{font-size:10px;color:var(--muted)}
.header-branding-preview-frame{width:100%;max-width:430px;border:1px solid #d8dee8;border-radius:13px;background:#fff;box-shadow:0 8px 20px rgba(15,23,42,.08);overflow:hidden}
.header-branding-preview-frame .settings-topbar-preview{width:100%;margin:0;border-radius:0;box-sizing:border-box}
@media(max-width:820px){#header-branding.gateway-settings-accordion{overflow:hidden}.header-branding-editor-layout{grid-template-columns:1fr}.header-branding-editor-controls{grid-template-columns:repeat(2,minmax(0,1fr))}.header-branding-preview-column{grid-row:2;align-self:auto;height:auto}.header-branding-preview-sticky{position:static}.header-branding-preview-frame{max-width:520px}}
@media(max-width:540px){.header-branding-editor-controls{grid-template-columns:1fr}.header-branding-control-wide{grid-column:auto}.header-branding-preview-frame{max-width:100%}}

/* v0.8.80 · El logo puede sobresalir de la barra superior aunque exista una imagen de fondo.
   La imagen de fondo y su capa permanecen limitadas al propio header; solo se elimina el
   recorte que afectaba al logo. La vista previa de Configuración replica el mismo comportamiento. */
.topbar.has-custom-bar{
  overflow:visible!important;
}
.topbar.has-custom-bar .topbar-primary,
.topbar.has-custom-bar .brand-shell,
.topbar.has-custom-bar .brand-mark.brand-mark-image{
  overflow:visible!important;
}
.topbar.has-custom-bar .brand-mark.brand-mark-image,
.topbar.has-custom-bar .brand-mark.brand-mark-image img{
  position:relative;
  z-index:3;
}
#header-branding .header-branding-preview-frame,
#header-branding .settings-topbar-preview,
#header-branding .preview-brand,
#header-branding .preview-logo{
  overflow:visible!important;
}
#header-branding .preview-logo,
#header-branding .preview-logo img{
  position:relative;
  z-index:3;
}


/* v0.8.82 · Barra horizontal visible para el menú superior de administración. */
@media(min-width:761px){
  .admin-header-menu-panel .wrap{overflow:visible!important}
  .admin-header-menu-scroll-shell{width:100%;min-width:0}
  .admin-header-menu{overflow-x:auto!important;overflow-y:hidden!important;scrollbar-width:none!important;-ms-overflow-style:none!important;padding-bottom:4px!important;overscroll-behavior-inline:contain}
  .admin-header-menu::-webkit-scrollbar{width:0!important;height:0!important;display:none!important}
  .admin-header-menu a{flex:0 0 auto!important;min-width:86px}
  .admin-menu-scrollbar{display:block;height:14px;padding:2px 1px 3px;user-select:none;touch-action:none}
  .admin-menu-scroll-track{position:relative;height:8px;border-radius:999px;background:rgba(255,255,255,.14);cursor:pointer;box-shadow:inset 0 0 0 1px rgba(255,255,255,.06)}
  .admin-menu-scroll-thumb{position:absolute;left:0;top:0;height:8px;min-width:44px;border-radius:999px;background:rgba(255,255,255,.62);cursor:grab;box-shadow:0 1px 3px rgba(0,0,0,.28)}
  .admin-menu-scroll-thumb:hover{background:rgba(255,255,255,.82)}
  .admin-menu-scroll-thumb.is-dragging{cursor:grabbing;background:#fff}
  .admin-menu-scrollbar.is-hidden{display:none}
}
@media(max-width:760px){.admin-menu-scrollbar{display:none!important}.admin-header-menu-scroll-shell{width:100%}}

/* v0.8.83 · logos automáticos por fecha en lista horizontal compacta. */
.seasonal-logo-manager{margin-top:22px;padding-top:18px;border-top:1px solid #e5eaf0}
.seasonal-logo-manager-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:10px}.seasonal-logo-manager-head h3{margin:0;font-size:1rem}.seasonal-logo-manager-head p{margin:4px 0 0;color:var(--muted);font-size:.75rem;line-height:1.4;max-width:760px}
.seasonal-active-summary{min-width:180px;padding:8px 11px;border:1px solid #d7e2ef;border-radius:10px;background:#f7fbff;text-align:right}.seasonal-active-summary span{display:block;font-size:.62rem;text-transform:uppercase;letter-spacing:.04em;color:#64748b;font-weight:850}.seasonal-active-summary strong{display:block;margin-top:3px;font-size:.78rem;color:#17233f}
.seasonal-logo-note{margin:0 0 10px}
.seasonal-logo-table-shell{width:100%;overflow-x:auto;border:1px solid #dde4ec;border-radius:12px;background:#fff}
.seasonal-logo-table{min-width:1460px;width:100%}
.seasonal-logo-table-head,.seasonal-logo-row{display:grid;grid-template-columns:220px 250px minmax(210px,1.2fr) 132px 132px 80px 74px 74px 136px;align-items:center;gap:8px}
.seasonal-logo-table-head{position:sticky;top:0;z-index:2;padding:8px 10px;background:#eef3f8;border-bottom:1px solid #dce4ec;color:#536177;font-size:.64rem;text-transform:uppercase;letter-spacing:.035em;font-weight:900}
.seasonal-logo-row{margin:0;padding:8px 10px;border:0;border-bottom:1px solid #edf1f5;background:#fff;box-shadow:none;border-radius:0;min-height:82px}.seasonal-logo-row:last-child{border-bottom:0}.seasonal-logo-row:nth-of-type(even){background:#fbfcfe}.seasonal-logo-row.is-active-now{background:#effcf4;box-shadow:inset 3px 0 0 #22a35a}
.seasonal-logo-row input[type=text],.seasonal-logo-row input[type=date],.seasonal-logo-row input[type=number],.seasonal-logo-row input:not([type]){width:100%;min-width:0;padding:7px 8px;font-size:.72rem;border-radius:8px}
.seasonal-logo-image-cell{display:grid;grid-template-columns:104px minmax(0,1fr);gap:8px;align-items:center;min-width:0}.seasonal-logo-image-cell>img{width:104px;height:59px;object-fit:contain;border:1px solid #e2e7ee;border-radius:8px;background:#0f1b32}.seasonal-logo-file-meta{display:flex;flex-direction:column;align-items:flex-start;gap:3px;min-width:0}.seasonal-logo-file-meta small{display:block;max-width:125px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.61rem;color:#64748b}.seasonal-logo-file-meta [data-seasonal-file-size]{font-weight:800;color:#45546b}.seasonal-replace-btn{padding:5px 7px!important;font-size:.62rem!important}.seasonal-upload-status{white-space:normal!important;color:#35638c!important;line-height:1.2!important}
.seasonal-logo-event-cell{display:flex;flex-direction:column;gap:4px;min-width:0}.seasonal-logo-event-cell input{font-weight:750}.seasonal-row-active-now{min-height:12px;color:#15803d;font-size:.6rem;font-weight:900;letter-spacing:.04em}
.seasonal-priority-input{text-align:center}
.seasonal-check-cell{display:flex;justify-content:center}.seasonal-check-cell label{display:flex;flex-direction:column;align-items:center;gap:3px;margin:0;font-size:.62rem;color:#5c6a7e;font-weight:750}.seasonal-check-cell input{width:auto!important;margin:0}
.seasonal-save-cell{display:flex;flex-direction:column;align-items:stretch;gap:4px}.seasonal-save-cell button{width:100%}.seasonal-save-cell small{min-height:14px;font-size:.61rem;line-height:1.15;color:#64748b;text-align:center}.seasonal-save-cell small.ok{color:#15803d;font-weight:800}.seasonal-save-cell small.err{color:#b42318;font-weight:800}
@media(max-width:820px){.seasonal-logo-manager-head{flex-direction:column}.seasonal-active-summary{width:100%;text-align:left}.seasonal-logo-table-shell{max-width:100%}}

/* v0.8.86 · festividades en acordeón independiente, con alta y eliminación de eventos. */
.seasonal-cover-image-cell>img{object-fit:cover;background:#0f1b32}.seasonal-media-table .seasonal-logo-image-cell{grid-template-columns:96px minmax(0,1fr)}.seasonal-media-table .seasonal-logo-image-cell>img{width:96px;height:54px}.seasonal-media-table .seasonal-logo-file-meta small{max-width:125px}

/* v0.8.86 · administración de eventos estacionales */
.seasonal-logo-manager{margin-top:0;padding-top:0;border-top:0}.seasonal-save-cell{display:flex;flex-direction:column;align-items:stretch;gap:5px}.seasonal-save-cell .btn{width:100%}.seasonal-add-event-card{border:1px solid #dbe4ee;box-shadow:none}.seasonal-add-event-card>summary{cursor:pointer;padding:12px 14px}.seasonal-add-event-form{margin:0;padding:14px}.seasonal-add-event-form .actions{justify-content:flex-end}


/* v0.8.87 · corrección de cabecera y portada pública en celular. */
.mobile-nav-account{display:none!important}
@media(max-width:760px){
  /* En móvil la cabecera pública reserva una columna real para el botón Menú.
     Así el logo, incluso los estacionales más anchos, nunca puede quedar encima del botón. */
  .public-body .topbar-primary{
    display:grid!important;
    grid-template-columns:minmax(0,1fr) 48px!important;
    grid-template-areas:"brand toggle" "menu menu"!important;
    align-items:center!important;
    gap:7px 10px!important;
    flex-wrap:nowrap!important;
    padding-top:7px!important;
    padding-bottom:7px!important;
  }
  .public-body .brand-shell{
    grid-area:brand!important;
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    overflow:hidden!important;
    position:relative!important;
    z-index:2!important;
  }
  .public-body .brand-mark.brand-mark-image{
    flex:0 1 auto!important;
    width:auto!important;
    max-width:min(var(--brand-logo-max-width,150px),52vw)!important;
    overflow:hidden!important;
  }
  .public-body .brand-mark.brand-mark-image img{
    display:block!important;
    width:auto!important;
    height:100%!important;
    max-width:100%!important;
    object-fit:contain!important;
  }
  .public-body .brand-copy{
    min-width:0!important;
    flex:0 1 auto!important;
  }
  .public-body .brand-copy .brand,
  .public-body .brand-copy .version{
    overflow:hidden!important;
    text-overflow:ellipsis!important;
    white-space:nowrap!important;
  }
  .public-body .mobile-menu-toggle{
    grid-area:toggle!important;
    display:inline-flex!important;
    justify-self:end!important;
    margin-left:0!important;
    min-width:46px!important;
    width:46px!important;
    height:40px!important;
    position:relative!important;
    z-index:20!important;
    isolation:isolate!important;
    background:rgba(20,33,61,.76)!important;
    backdrop-filter:blur(3px);
    -webkit-backdrop-filter:blur(3px);
  }
  .public-body .main-nav{
    grid-area:menu!important;
    order:initial!important;
    position:relative!important;
    z-index:30!important;
    width:100%!important;
    max-width:100%!important;
    margin:0!important;
  }
  .public-body .main-nav.is-open{margin-top:2px!important}
  .public-body .nav-actions{display:none!important}
  .public-body .mobile-nav-account{display:block!important}

  /* La portada móvil muestra primero la imagen completa, sin usar la altura alta del hero
     como lienzo de recorte. Los textos y los sorteos Comodín pasan debajo de la fotografía. */
  .public-body .home-main-hero{
    height:auto!important;
    min-height:0!important;
    padding-top:min(56.25vw,365px)!important;
    padding-bottom:14px!important;
    overflow:hidden!important;
    background:#071225!important;
  }
  .public-body .home-main-hero-image{
    top:0!important;
    right:0!important;
    bottom:auto!important;
    left:0!important;
    width:100%!important;
    height:min(56.25vw,365px)!important;
    max-height:none!important;
    object-fit:contain!important;
    object-position:var(--home-hero-x,50%) var(--home-hero-y,50%)!important;
    transform:none!important;
    transform-origin:center!important;
    z-index:0!important;
    background:#071225!important;
  }
  .public-body .home-main-hero-shade{
    top:0!important;
    right:0!important;
    bottom:auto!important;
    left:0!important;
    height:min(56.25vw,365px)!important;
    z-index:1!important;
    background:rgba(7,18,37,calc(var(--home-hero-overlay,.18) * .45))!important;
  }
  .public-body .home-main-information-overlay{
    position:relative!important;
    left:auto!important;
    top:auto!important;
    transform:none!important;
    width:calc(100% - 24px)!important;
    min-height:0!important;
    margin:12px auto 0!important;
    padding:min(var(--home-panel-padding,20px),18px)!important;
    z-index:2!important;
    box-sizing:border-box!important;
  }
  .public-body .home-main-information-overlay h1{font-size:1.55rem!important}
  .public-body .home-main-information-overlay p{font-size:.9rem!important;line-height:1.42!important}
  .public-body .home-main-information-overlay .home-main-information-actions{
    width:100%!important;
    display:grid!important;
    grid-template-columns:1fr 1fr!important;
    gap:8px!important;
  }
  .public-body .home-main-information-overlay .home-main-information-actions .btn{
    width:100%!important;
    min-width:0!important;
  }
  .public-body .home-hero-draws-wrap{
    position:relative!important;
    left:auto!important;
    bottom:auto!important;
    transform:none!important;
    width:calc(100% - 24px)!important;
    margin:10px auto 0!important;
    z-index:2!important;
  }
  .public-body .home-hero-draws{
    display:flex!important;
    flex-direction:column!important;
    gap:8px!important;
  }
  .public-body .home-hero-draws .draw-card:nth-child(1),
  .public-body .home-hero-draws .draw-card:nth-child(2){
    min-height:0!important;
    transform:none!important;
  }
}
@media(max-width:390px){
  .public-body .brand-mark.brand-mark-image{max-width:min(var(--brand-logo-max-width,150px),48vw)!important}
  .public-body .brand-copy .brand{font-size:.84rem!important}
  .public-body .brand-copy .version{font-size:.58rem!important}
  .public-body .home-main-information-overlay .home-main-information-actions{grid-template-columns:1fr!important}
}


/* v0.8.88 · acciones de eventos estacionales siempre visibles dentro del encuadre. */
.gateway-accordion-body,.seasonal-logo-manager{min-width:0}
.seasonal-logo-table-shell{
  width:100%;
  max-width:100%;
  min-width:0;
  overflow-x:auto;
  overflow-y:visible;
  overscroll-behavior-inline:contain;
  -webkit-overflow-scrolling:touch;
  scrollbar-gutter:stable;
}
.seasonal-media-table{min-width:1320px}
.seasonal-media-table .seasonal-logo-table-head,
.seasonal-media-table .seasonal-logo-row{
  grid-template-columns:190px 210px minmax(180px,1.15fr) 118px 118px 72px 68px 68px 132px;
  gap:7px;
}
/* La columna Acción queda anclada al borde derecho del recuadro aun cuando la tabla se desplaza. */
.seasonal-media-table .seasonal-logo-table-head>span:last-child{
  position:sticky;
  right:0;
  z-index:6;
  align-self:stretch;
  display:flex;
  align-items:center;
  padding-left:9px;
  background:#eef3f8;
  box-shadow:-10px 0 14px -14px rgba(15,23,42,.75);
}
.seasonal-media-table .seasonal-logo-row>.seasonal-save-cell{
  position:sticky;
  right:0;
  z-index:5;
  align-self:stretch;
  justify-content:center;
  padding-left:9px;
  background:inherit;
  box-shadow:-10px 0 14px -14px rgba(15,23,42,.75);
}
.seasonal-media-table .seasonal-save-cell .btn{
  min-width:0;
  white-space:nowrap;
}
@media(max-width:820px){
  .seasonal-media-table{min-width:1180px}
  .seasonal-media-table .seasonal-logo-table-head,
  .seasonal-media-table .seasonal-logo-row{
    grid-template-columns:170px 190px 170px 112px 112px 66px 62px 62px 126px;
    gap:6px;
  }
  .seasonal-logo-table-shell{border-radius:10px}
}

/* v0.8.89 · logo público completo en cabecera móvil.
   Evita que logos temáticos anchos se recorten por los bordes de brand-shell y
   reserva altura real suficiente sin invadir el botón hamburguesa. */
@media(max-width:760px){
  .public-body .topbar-primary{
    min-height:92px!important;
    padding-top:8px!important;
    padding-bottom:8px!important;
    grid-template-columns:minmax(0,1fr) 48px!important;
  }
  .public-body .brand-shell{
    min-height:76px!important;
    height:auto!important;
    padding:3px 0!important;
    overflow:visible!important;
    align-items:center!important;
  }
  .public-body .brand-mark.brand-mark-image{
    display:flex!important;
    align-items:center!important;
    justify-content:flex-start!important;
    flex:0 1 auto!important;
    width:auto!important;
    height:auto!important;
    min-width:0!important;
    max-width:min(var(--brand-logo-max-width,150px),calc(100vw - 148px))!important;
    max-height:82px!important;
    padding:0!important;
    overflow:visible!important;
  }
  .public-body .brand-mark.brand-mark-image img{
    display:block!important;
    width:auto!important;
    height:auto!important;
    max-width:100%!important;
    max-height:82px!important;
    object-fit:contain!important;
    object-position:left center!important;
  }
  .public-body .brand-copy{
    flex:0 1 auto!important;
    min-width:42px!important;
    max-width:90px!important;
  }
}
@media(max-width:390px){
  .public-body .topbar-primary{min-height:88px!important}
  .public-body .brand-shell{min-height:72px!important}
  .public-body .brand-mark.brand-mark-image{
    max-width:min(var(--brand-logo-max-width,150px),calc(100vw - 136px))!important;
    max-height:76px!important;
  }
  .public-body .brand-mark.brand-mark-image img{max-height:76px!important}
  .public-body .brand-copy{max-width:78px!important}
}

/* v0.8.90 · SOLO detalle público del sorteo en celular: cabecera superior compacta.
   No modifica home, escritorio ni otras páginas. Mantiene logo completo y menú separado. */
@media(max-width:760px){
  .public-raffle-detail-body .topbar-primary{
    min-height:64px!important;
    padding-top:5px!important;
    padding-bottom:5px!important;
    gap:4px 8px!important;
  }
  .public-raffle-detail-body .brand-shell{
    min-height:52px!important;
    height:52px!important;
    padding:0!important;
    align-items:center!important;
  }
  .public-raffle-detail-body .brand-mark.brand-mark-image{
    height:52px!important;
    max-height:52px!important;
    max-width:min(var(--brand-logo-max-width,150px),calc(100vw - 142px))!important;
  }
  .public-raffle-detail-body .brand-mark.brand-mark-image img{
    width:auto!important;
    height:auto!important;
    max-width:100%!important;
    max-height:52px!important;
    object-fit:contain!important;
    object-position:left center!important;
  }
  .public-raffle-detail-body .brand-copy{
    min-width:38px!important;
    max-width:78px!important;
  }
  .public-raffle-detail-body .mobile-menu-toggle{
    width:44px!important;
    min-width:44px!important;
    height:38px!important;
  }
  .public-raffle-detail-body .main-shell{
    padding-top:12px!important;
  }
  .public-raffle-detail-body .raffle-public-head{
    margin-top:0!important;
  }
}
@media(max-width:390px){
  .public-raffle-detail-body .topbar-primary{min-height:60px!important}
  .public-raffle-detail-body .brand-shell{min-height:48px!important;height:48px!important}
  .public-raffle-detail-body .brand-mark.brand-mark-image{height:48px!important;max-height:48px!important;max-width:min(var(--brand-logo-max-width,150px),calc(100vw - 132px))!important}
  .public-raffle-detail-body .brand-mark.brand-mark-image img{max-height:48px!important}
}

/* v0.8.91 · corrección exclusiva de la imagen de fondo de la barra superior en celular.
   En móvil, la imagen deja de comportarse como un elemento <img> absoluto (que puede conservar
   altura intrínseca cuando el header permite overflow visible) y se pinta como fondo del propio
   header. Así nunca puede extender el recuadro azul por debajo de la barra. */
@media(max-width:760px){
  .public-body .topbar.has-custom-bar{
    background-color:var(--navy)!important;
    background-image:var(--topbar-mobile-image)!important;
    background-size:cover!important;
    background-position:var(--topbar-x,50%) var(--topbar-y,50%)!important;
    background-repeat:no-repeat!important;
  }
  .public-body .topbar.has-custom-bar>.topbar-bg-image{
    display:none!important;
  }
}



/* v0.8.92 · misma corrección de la imagen de fondo de la barra superior para Administración en celular.
   La imagen se pinta como fondo del header administrativo y el <img> absoluto se oculta,
   evitando que su tamaño intrínseco genere un bloque azul alto en las páginas de Administración. */
@media(max-width:760px){
  .admin-body .topbar.has-custom-bar{
    background-color:var(--navy)!important;
    background-image:var(--topbar-mobile-image)!important;
    background-size:cover!important;
    background-position:var(--topbar-x,50%) var(--topbar-y,50%)!important;
    background-repeat:no-repeat!important;
  }
  .admin-body .topbar.has-custom-bar>.topbar-bg-image{
    display:none!important;
  }
}
