:root{
  --bop-primary:#2563eb;
  --bop-primary-dark:#123a9f;
  --bop-accent:#e53935;
  --bop-gold:#f4b400;
  --bop-green:#16a34a;
  --bop-purple:#7c3aed;
  --bop-orange:#f97316;
  --bop-ink:#0f172a;
  --bop-muted:#64748b;
  --bop-soft:#f8fafc;
  --bop-card:#ffffff;
  --bop-line:#e2e8f0;
  --bop-shadow:0 24px 70px rgba(15,23,42,.10);
  --bop-radius:22px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body.bop-app-body{margin:0!important;background:#f8fafc!important;color:var(--bop-ink);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;overflow-x:hidden}
body.bop-app-body:before{content:"";position:fixed;inset:0;z-index:-3;background:linear-gradient(180deg,#eef6ff 0,#fff 32%,#f8fafc 100%)}
body.bop-app-body:after{content:"";position:fixed;inset:0;z-index:-2;opacity:.55;background-image:linear-gradient(rgba(37,99,235,.06) 1px,transparent 1px),linear-gradient(90deg,rgba(37,99,235,.06) 1px,transparent 1px);background-size:32px 32px;mask-image:linear-gradient(to bottom,#000,transparent 90%)}
.bop-bg-orbs{position:fixed;inset:0;z-index:-1;pointer-events:none;overflow:hidden}.bop-bg-orbs span{position:absolute;border-radius:999px;filter:blur(18px);opacity:.18}.bop-bg-orbs span:nth-child(1){width:280px;height:280px;right:-90px;top:130px;background:var(--bop-primary)}.bop-bg-orbs span:nth-child(2){width:220px;height:220px;left:-90px;top:420px;background:var(--bop-accent)}.bop-bg-orbs span:nth-child(3){width:260px;height:260px;right:10%;bottom:12%;background:var(--bop-gold)}
.bop-app-shell{min-height:100vh;padding:18px 0 80px}.bop-app-header{position:sticky;top:12px;z-index:50;width:min(1180px,calc(100% - 26px));margin:0 auto 22px;display:flex;align-items:center;justify-content:space-between;gap:18px;padding:12px 13px;border:1px solid rgba(226,232,240,.92);border-radius:18px;background:rgba(255,255,255,.82);backdrop-filter:blur(18px);box-shadow:0 14px 38px rgba(15,23,42,.08)}
.bop-brand{display:inline-flex;align-items:center;gap:11px;min-width:0;text-decoration:none!important;color:var(--bop-ink)!important;font-weight:950;letter-spacing:-.04em}.bop-brand-mark{display:grid;place-items:center;width:38px;height:38px;border-radius:13px;background:linear-gradient(135deg,var(--bop-primary),#38bdf8);box-shadow:0 12px 30px rgba(37,99,235,.28);color:#fff}.bop-brand-mark span{display:grid;place-items:center;width:22px;height:22px;border-radius:999px;background:#fff;color:var(--bop-primary);font-size:12px}.bop-brand-text{font-size:18px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.bop-app-nav{display:flex;align-items:center;gap:6px}.bop-app-nav a{display:inline-flex;align-items:center;justify-content:center;min-height:42px;padding:9px 13px;border-radius:14px;color:#334155!important;text-decoration:none!important;font-weight:850;font-size:14px}.bop-app-nav a:hover{background:#eff6ff;color:var(--bop-primary)!important}.bop-nav-pill{background:var(--bop-primary)!important;color:#fff!important;box-shadow:0 10px 25px rgba(37,99,235,.24)}
.bop-menu-toggle{display:none;width:42px;height:42px;border:0;border-radius:14px;background:#eff6ff;color:var(--bop-primary);cursor:pointer}.bop-menu-toggle span{display:block;width:18px;height:2px;margin:4px auto;background:currentColor;border-radius:999px}.bop-app-main{width:min(1180px,calc(100% - 26px));margin:0 auto}.bop-page{padding:12px 0 46px}.bop-page h1,.bop-page h2,.bop-page h3{margin-top:0;color:var(--bop-ink);letter-spacing:-.055em;line-height:1.02}.bop-page p{color:var(--bop-muted);line-height:1.65}.bop-kicker{display:inline-flex;align-items:center;gap:8px;width:max-content;max-width:100%;padding:7px 12px;border-radius:999px;border:1px solid rgba(37,99,235,.15);background:#eff6ff;color:var(--bop-primary);font-size:12px;font-weight:950;text-transform:uppercase;letter-spacing:.08em}.bop-kicker i{width:8px;height:8px;border-radius:999px;background:var(--bop-green);box-shadow:0 0 0 6px rgba(22,163,74,.12)}.bop-kicker-light{background:rgba(255,255,255,.12);border-color:rgba(255,255,255,.18);color:#bfdbfe}
.bop-hero{display:grid;grid-template-columns:1.05fr .95fr;gap:28px;align-items:center;padding:48px;border-radius:34px;background:linear-gradient(135deg,#ffffff 0%,#eff6ff 52%,#fff7ed 100%);border:1px solid rgba(226,232,240,.86);box-shadow:var(--bop-shadow);overflow:hidden;position:relative}.bop-hero:after{content:"";position:absolute;right:-70px;top:-70px;width:210px;height:210px;border-radius:999px;background:radial-gradient(circle,var(--bop-gold),transparent 70%);opacity:.26}.bop-hero-copy{position:relative;z-index:2}.bop-hero h1{font-size:clamp(42px,7vw,78px);max-width:760px;margin:16px 0 18px}.bop-hero p{font-size:18px;max-width:640px;margin:0}.bop-hero-pills{display:flex;flex-wrap:wrap;gap:10px;margin:22px 0}.bop-hero-pills span{display:inline-flex;align-items:center;min-height:36px;padding:8px 12px;border:1px solid #dbeafe;border-radius:999px;background:#fff;color:#1e3a8a;font-weight:850;font-size:13px}.bop-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:22px}.bop-btn{appearance:none;border:0;display:inline-flex;align-items:center;justify-content:center;gap:9px;min-height:48px;padding:13px 18px;border-radius:15px;text-decoration:none!important;cursor:pointer;font-weight:950;font-size:14px;transition:.18s transform,.18s box-shadow,.18s opacity}.bop-btn:hover{transform:translateY(-1px)}.bop-btn-primary{background:linear-gradient(135deg,var(--bop-primary),#0ea5e9);color:#fff!important;box-shadow:0 16px 34px rgba(37,99,235,.28)}.bop-btn-secondary{background:#fff;color:var(--bop-primary)!important;border:1px solid #bfdbfe;box-shadow:0 12px 28px rgba(15,23,42,.06)}.bop-btn-soft{background:#eff6ff;color:var(--bop-primary)!important;border:1px solid #dbeafe}.bop-btn-danger{background:linear-gradient(135deg,var(--bop-accent),#fb7185);color:#fff!important}.bop-submit.is-loading{opacity:.65;pointer-events:none}
.bop-hero-board{position:relative;z-index:2;padding:18px;border:1px solid rgba(37,99,235,.16);border-radius:28px;background:rgba(255,255,255,.74);backdrop-filter:blur(16px);box-shadow:0 28px 80px rgba(15,23,42,.13)}.bop-board-top{display:flex;align-items:center;gap:8px;margin-bottom:14px}.bop-board-top span{width:11px;height:11px;border-radius:999px;background:#cbd5e1}.bop-board-top span:nth-child(1){background:var(--bop-accent)}.bop-board-top span:nth-child(2){background:var(--bop-gold)}.bop-board-top span:nth-child(3){background:var(--bop-green)}.bop-board-top b{margin-left:auto;padding:5px 9px;border-radius:999px;background:#dcfce7;color:#166534;font-size:11px;letter-spacing:.08em}.bop-prize-card{padding:18px;border-radius:20px;background:linear-gradient(135deg,var(--bop-ink),#1e3a8a);color:#fff}.bop-prize-card small{display:block;color:#bfdbfe;text-transform:uppercase;font-weight:900;letter-spacing:.08em}.bop-prize-card strong{display:block;margin:8px 0 3px;font-size:34px;letter-spacing:-.05em}.bop-prize-card em{font-style:normal;color:#fde68a;font-weight:800}.bop-ball-row{display:flex;flex-wrap:wrap;gap:10px;margin:16px 0}.bop-ball-row i{display:grid;place-items:center;width:54px;height:54px;border-radius:999px;color:#fff;font-style:normal;font-weight:950;box-shadow:inset 0 -7px 12px rgba(0,0,0,.16),0 14px 30px rgba(15,23,42,.13)}.bop-ball-blue{background:#2563eb}.bop-ball-red{background:#ef4444}.bop-ball-gold{background:#f59e0b}.bop-ball-green{background:#16a34a}.bop-ball-purple{background:#7c3aed}.bop-ticket-preview{display:grid;grid-template-columns:repeat(5,1fr);gap:8px;padding:13px;border:1px solid #e2e8f0;border-radius:18px;background:#fff}.bop-ticket-preview span{display:grid;place-items:center;aspect-ratio:1/1;border-radius:12px;background:#f8fafc;color:#334155;font-weight:950;font-size:13px}.bop-ticket-preview span.is-hit{background:linear-gradient(135deg,var(--bop-accent),#f97316);color:#fff}
.bop-feature-grid,.bop-steps-grid,.bop-stat-grid,.bop-dashboard-grid,.bop-history-grid,.bop-quick-grid{display:grid;gap:16px}.bop-feature-grid{grid-template-columns:repeat(3,1fr);margin-top:18px}.bop-feature-grid-4{grid-template-columns:repeat(4,1fr)}.bop-feature-card,.bop-panel-card,.bop-auth-card,.bop-stat-card,.bop-placeholder,.bop-quick-card{background:rgba(255,255,255,.94);border:1px solid rgba(226,232,240,.94);border-radius:var(--bop-radius);padding:22px;box-shadow:0 18px 50px rgba(15,23,42,.07)}.bop-feature-card b{display:grid;place-items:center;width:42px;height:42px;border-radius:14px;background:#eff6ff;color:var(--bop-primary);margin-bottom:14px}.bop-feature-card:nth-child(2) b{background:#fef3c7;color:#b45309}.bop-feature-card:nth-child(3) b{background:#fee2e2;color:#b91c1c}.bop-feature-card:nth-child(4) b{background:#dcfce7;color:#166534}.bop-feature-card h3,.bop-panel-card h3{margin-bottom:8px}.bop-dark-section{display:grid;grid-template-columns:1.15fr .85fr;gap:22px;align-items:center;margin-top:22px;padding:32px;border-radius:30px;background:linear-gradient(135deg,#0f172a,#0b3b70 58%,#064e3b);color:#fff;box-shadow:var(--bop-shadow)}.bop-dark-section h2{color:#fff;font-size:clamp(30px,5vw,52px);margin:14px 0}.bop-dark-section p{color:#cbd5e1}.bop-dark-stats{display:grid;gap:12px}.bop-dark-stats article{padding:18px;border-radius:18px;border:1px solid rgba(255,255,255,.12);background:rgba(255,255,255,.08)}.bop-dark-stats strong{display:block;color:#fff;font-size:30px}.bop-dark-stats span{color:#bfdbfe}.bop-section-head{text-align:center;margin:44px auto 18px;max-width:700px}.bop-section-head h2{font-size:clamp(30px,5vw,48px);margin-bottom:8px}.bop-steps-grid{grid-template-columns:repeat(4,1fr)}.bop-steps-grid article{padding:22px;border-radius:22px;background:#fff;border:1px solid #e2e8f0;box-shadow:0 14px 38px rgba(15,23,42,.06)}.bop-steps-grid span{display:grid;place-items:center;width:38px;height:38px;border-radius:999px;background:var(--bop-ink);color:#fff;font-weight:950}.bop-final-cta{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-top:24px;padding:28px;border-radius:28px;background:linear-gradient(135deg,var(--bop-primary),#0f172a);color:#fff;box-shadow:var(--bop-shadow)}.bop-final-cta h2{color:#fff;margin-bottom:6px}.bop-final-cta p{color:#dbeafe;margin:0}
.bop-page-head{margin:18px 0 20px}.bop-page-head-row{display:flex;align-items:flex-end;justify-content:space-between;gap:18px}.bop-page-head h1{font-size:clamp(34px,6vw,58px);margin:12px 0 8px}.bop-stat-grid{grid-template-columns:repeat(4,1fr);margin:18px 0}.bop-stat-card span,.bop-wallet-balance span{display:block;color:var(--bop-muted);font-size:12px;text-transform:uppercase;letter-spacing:.08em;font-weight:950}.bop-stat-card strong,.bop-wallet-balance strong{display:block;margin-top:8px;color:var(--bop-ink);font-size:clamp(24px,4vw,34px);letter-spacing:-.05em}.bop-stat-primary{background:linear-gradient(135deg,#eff6ff,#fff)}.bop-dashboard-grid{grid-template-columns:1.25fr .75fr;margin-top:16px}.bop-panel-large{min-height:250px}.bop-quick-grid{grid-template-columns:repeat(4,1fr);margin:16px 0}.bop-quick-card{display:flex;align-items:center;gap:13px;text-decoration:none!important;color:var(--bop-ink)!important}.bop-quick-card b{display:grid;place-items:center;width:42px;height:42px;border-radius:15px;background:#eff6ff;color:var(--bop-primary);font-size:20px}.bop-quick-card span{font-weight:950}.bop-link{color:var(--bop-primary)!important;font-weight:950;text-decoration:none!important}
.bop-auth-page{min-height:calc(100vh - 160px);display:grid;align-items:center}.bop-auth-split{grid-template-columns:.9fr 1.1fr;gap:22px}.bop-auth-side{padding:34px;border-radius:30px;background:linear-gradient(135deg,#0f172a,#1d4ed8);color:#fff;min-height:430px;display:flex;flex-direction:column;justify-content:center;box-shadow:var(--bop-shadow)}.bop-auth-side h1{color:#fff;font-size:clamp(36px,6vw,62px);margin:16px 0}.bop-auth-side p{color:#dbeafe}.bop-auth-card{width:100%;max-width:720px;margin:auto}.bop-auth-card h2,.bop-modal h2{font-size:34px;margin:8px 0 8px}.bop-auth-foot,.bop-modal-switch{margin-top:16px;text-align:center}.bop-auth-foot a,.bop-modal-switch a{color:var(--bop-primary);font-weight:950;text-decoration:none}.bop-form label{display:block;margin:13px 0 7px;color:var(--bop-ink);font-weight:900}.bop-form-intro{margin-top:0;font-size:14px}.bop-form input[type=text],.bop-form input[type=email],.bop-form input[type=password],.bop-form input[type=number],.bop-form input[type=file],.bop-form select,.bop-form textarea{width:100%;min-height:50px;border:1px solid #dbe3ef;border-radius:15px;padding:13px 14px;background:#fff;color:var(--bop-ink);outline:none;box-shadow:0 1px 0 rgba(15,23,42,.02);font-size:15px}.bop-form textarea{min-height:98px;resize:vertical}.bop-form input:focus,.bop-form select:focus,.bop-form textarea:focus{border-color:var(--bop-primary);box-shadow:0 0 0 4px rgba(37,99,235,.12)}.bop-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 14px}.bop-span-2{grid-column:1/-1}.bop-check{display:flex!important;align-items:flex-start;gap:10px;color:#475569!important;font-weight:750!important}.bop-check input{margin-top:4px}.bop-wallet-hero{display:grid;grid-template-columns:1fr auto;gap:18px;align-items:stretch;padding:26px;border-radius:30px;background:linear-gradient(135deg,#0f172a,#1d4ed8 62%,#0ea5e9);box-shadow:var(--bop-shadow);color:#fff}.bop-wallet-hero h1{color:#fff;font-size:clamp(34px,6vw,58px);margin:12px 0 6px}.bop-wallet-hero p{color:#dbeafe;margin:0}.bop-wallet-balance{min-width:280px;padding:22px;border-radius:22px;background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.14)}.bop-wallet-balance span{color:#bfdbfe}.bop-wallet-balance strong{color:#fff;font-size:38px}.bop-wallet-actions{display:flex;flex-wrap:wrap;gap:12px;margin:16px 0 8px}.bop-history-grid{grid-template-columns:1fr 1fr;margin-top:16px}.bop-table-mini{width:100%;border-collapse:collapse}.bop-table-mini th,.bop-table-mini td{padding:13px 8px;border-bottom:1px solid #edf2f7;text-align:left;font-size:14px}.bop-table-mini th{font-size:11px;text-transform:uppercase;letter-spacing:.08em;color:var(--bop-muted);font-weight:950}.bop-empty{padding:16px;border-radius:16px;background:#f8fafc;color:var(--bop-muted);border:1px dashed #dbe3ef}.bop-badge{display:inline-flex;align-items:center;border-radius:999px;padding:6px 10px;font-weight:950;font-size:12px;text-transform:capitalize}.bop-badge-pending{background:#fff7ed;color:#c2410c}.bop-badge-approved,.bop-badge-completed{background:#ecfdf5;color:#047857}.bop-badge-rejected,.bop-badge-failed{background:#fef2f2;color:#b91c1c}.bop-notice{border-radius:16px;padding:13px 15px;margin:12px 0;border:1px solid #dbe3ef;background:#fff}.bop-notice-success{background:#ecfdf5;border-color:#bbf7d0;color:#047857}.bop-notice-warning{background:#fffbeb;border-color:#fde68a;color:#92400e}.bop-notice-error{background:#fef2f2;border-color:#fecaca;color:#991b1b}.bop-placeholder{text-align:center;max-width:820px;margin:40px auto}.bop-placeholder-icon{display:grid;place-items:center;width:76px;height:76px;margin:0 auto 16px;border-radius:26px;background:linear-gradient(135deg,var(--bop-primary),#0ea5e9);color:#fff;font-size:34px;box-shadow:0 18px 44px rgba(37,99,235,.24)}
.bop-modal{position:fixed;inset:0;z-index:999990;display:none;align-items:center;justify-content:center;padding:18px}.bop-modal.is-open{display:flex}.bop-modal-backdrop{position:absolute;inset:0;background:rgba(15,23,42,.58);backdrop-filter:blur(8px)}.bop-modal-dialog{position:relative;width:min(520px,100%);max-height:calc(100vh - 36px);overflow:auto;border-radius:26px;background:#fff;padding:26px;box-shadow:0 40px 120px rgba(15,23,42,.38);animation:bopModalIn .18s ease-out}.bop-modal-wide{width:min(760px,100%)}.bop-modal-close{position:absolute;right:14px;top:14px;width:38px;height:38px;border:0;border-radius:13px;background:#f1f5f9;color:#0f172a;font-size:26px;line-height:1;cursor:pointer}@keyframes bopModalIn{from{opacity:0;transform:translateY(10px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}body.bop-modal-open{overflow:hidden}.bop-toast-wrap{position:fixed;right:18px;bottom:18px;z-index:999999;display:grid;gap:10px;max-width:min(420px,calc(100vw - 28px))}.bop-toast{display:flex;align-items:flex-start;gap:10px;padding:15px 16px;border-radius:18px;color:#fff;font-weight:850;box-shadow:0 20px 50px rgba(15,23,42,.22);animation:bopToastIn .2s ease-out}.bop-toast:before{content:"";width:10px;height:10px;margin-top:5px;border-radius:999px;background:rgba(255,255,255,.85)}.bop-toast-success{background:#059669}.bop-toast-error{background:#dc2626}.bop-toast-warning{background:#d97706}.bop-toast-info{background:#2563eb}@keyframes bopToastIn{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}
.bop-mobile-bottom-nav{display:none}
@media(max-width:980px){.bop-app-main,.bop-app-header{width:min(100% - 20px,1180px)}.bop-app-nav{position:fixed;left:10px;right:10px;top:74px;display:none;grid-template-columns:1fr;background:#fff;border:1px solid #e2e8f0;border-radius:20px;padding:10px;box-shadow:0 24px 60px rgba(15,23,42,.16)}.bop-app-nav.is-open{display:grid}.bop-menu-toggle{display:block}.bop-hero,.bop-dark-section,.bop-auth-split,.bop-wallet-hero,.bop-dashboard-grid{grid-template-columns:1fr}.bop-feature-grid-4,.bop-steps-grid,.bop-stat-grid,.bop-quick-grid{grid-template-columns:1fr 1fr}.bop-hero{padding:30px}.bop-wallet-balance{min-width:0}.bop-final-cta,.bop-page-head-row{align-items:flex-start;flex-direction:column}.bop-mobile-bottom-nav{position:fixed;left:10px;right:10px;bottom:10px;z-index:60;display:grid;grid-template-columns:repeat(4,1fr);background:#fff;border:1px solid rgba(226,232,240,.92);border-radius:22px;box-shadow:0 20px 60px rgba(15,23,42,.18);overflow:hidden}.bop-mobile-bottom-nav a{display:grid;place-items:center;gap:2px;min-height:58px;color:var(--bop-primary)!important;text-decoration:none!important;font-weight:950}.bop-mobile-bottom-nav b{font-size:18px;line-height:1}.bop-mobile-bottom-nav span{font-size:11px;color:#64748b}.bop-auth-side{min-height:auto}}
@media(max-width:620px){.bop-app-shell{padding-top:10px}.bop-app-header{top:8px}.bop-brand-text{max-width:190px}.bop-hero{padding:22px;border-radius:26px}.bop-hero h1{font-size:39px}.bop-hero p{font-size:16px}.bop-feature-grid,.bop-feature-grid-4,.bop-steps-grid,.bop-stat-grid,.bop-quick-grid,.bop-history-grid,.bop-form-grid{grid-template-columns:1fr}.bop-span-2{grid-column:auto}.bop-actions .bop-btn,.bop-wallet-actions .bop-btn{width:100%}.bop-dark-section,.bop-wallet-hero{padding:22px;border-radius:24px}.bop-stat-card,.bop-panel-card,.bop-feature-card,.bop-auth-card{padding:18px;border-radius:20px}.bop-auth-side{padding:24px;border-radius:24px}.bop-ticket-preview{gap:6px}.bop-ticket-preview span{font-size:11px}.bop-ball-row i{width:46px;height:46px}.bop-modal{padding:10px;align-items:flex-end}.bop-modal-dialog{width:100%;max-height:92vh;border-radius:24px 24px 0 0;padding:22px}.bop-table-mini thead{display:none}.bop-table-mini,.bop-table-mini tbody,.bop-table-mini tr,.bop-table-mini td{display:block;width:100%}.bop-table-mini tr{padding:12px 0;border-bottom:1px solid #edf2f7}.bop-table-mini td{border:0;padding:5px 0}.bop-table-mini td:before{content:attr(data-label);display:block;font-size:11px;text-transform:uppercase;letter-spacing:.08em;color:var(--bop-muted);font-weight:950}.bop-toast-wrap{right:10px;left:10px;bottom:78px;max-width:none}}

/* Fase 2.3: contenido público ampliado y footer */
.bop-home-info-grid,.bop-faq-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin:20px 0 26px}.bop-info-card,.bop-faq-card{position:relative;overflow:hidden;padding:24px;border-radius:24px;background:#fff;border:1px solid #e2e8f0;box-shadow:0 18px 46px rgba(15,23,42,.06)}.bop-info-card:after,.bop-faq-card:after{content:"";position:absolute;right:-36px;top:-36px;width:110px;height:110px;border-radius:999px;background:rgba(37,99,235,.08)}.bop-info-card span{display:inline-flex;margin-bottom:12px;padding:7px 11px;border-radius:999px;background:#eff6ff;color:var(--bop-primary);font-size:12px;font-weight:950;text-transform:uppercase;letter-spacing:.08em}.bop-info-card h3,.bop-faq-card h3{font-size:20px;margin:0 0 8px;color:var(--bop-ink)}.bop-info-card p,.bop-faq-card p{margin:0;color:var(--bop-muted);line-height:1.65}.bop-info-prize{background:linear-gradient(135deg,#fff7ed,#fff);border-color:#fed7aa}.bop-info-prize span{background:#ffedd5;color:#c2410c}.bop-app-footer{width:min(100% - 32px,1180px);margin:18px auto 96px;padding:22px;border-radius:24px;background:#fff;border:1px solid rgba(226,232,240,.9);box-shadow:0 14px 40px rgba(15,23,42,.05);display:grid;grid-template-columns:1.1fr auto 1fr;gap:18px;align-items:center}.bop-footer-brand{display:flex;align-items:center;gap:12px}.bop-footer-brand strong{display:block;color:var(--bop-ink);font-weight:950}.bop-footer-brand p,.bop-footer-meta p,.bop-footer-meta small{margin:3px 0;color:var(--bop-muted);line-height:1.45}.bop-footer-links{display:flex;gap:12px;flex-wrap:wrap;justify-content:center}.bop-footer-links a{font-size:13px;color:var(--bop-ink)!important;text-decoration:none!important;font-weight:900}.bop-footer-meta{text-align:right}.bop-footer-meta small{display:block;font-size:12px}
@media(max-width:980px){.bop-home-info-grid,.bop-faq-grid{grid-template-columns:1fr}.bop-app-footer{grid-template-columns:1fr;text-align:left}.bop-footer-links{justify-content:flex-start}.bop-footer-meta{text-align:left}}

/* Fase 3: Juegos y cartones */
.bop-game-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;margin-top:22px}
.bop-game-card{background:rgba(255,255,255,.92);border:1px solid rgba(148,163,184,.25);border-radius:24px;padding:22px;box-shadow:0 22px 50px rgba(15,23,42,.08);position:relative;overflow:hidden;display:flex;flex-direction:column;gap:14px}
.bop-game-card:before{content:"";position:absolute;right:-45px;top:-45px;width:140px;height:140px;background:radial-gradient(circle,var(--bop-accent),transparent 65%);opacity:.10}
.bop-game-top{display:flex;align-items:center;justify-content:space-between;gap:12px;position:relative;z-index:1}
.bop-game-date{font-size:12px;font-weight:800;color:#64748b;background:#f8fafc;border:1px solid #e2e8f0;padding:7px 10px;border-radius:999px}
.bop-game-card h2{font-size:24px;line-height:1.05;margin:0;color:#0f172a}
.bop-game-card p{color:#64748b;margin:0;line-height:1.55}
.bop-game-prize{background:linear-gradient(135deg,#172554,#1d4ed8);border-radius:18px;color:#fff;padding:16px;display:flex;align-items:center;justify-content:space-between;gap:12px}
.bop-game-prize span{text-transform:uppercase;letter-spacing:.08em;font-size:11px;font-weight:800;color:#bfdbfe}
.bop-game-prize strong{font-size:24px;white-space:nowrap}
.bop-game-meta{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:2px}
.bop-game-meta span{border:1px solid #e2e8f0;background:#f8fafc;border-radius:14px;padding:10px;font-size:12px;color:#64748b;display:flex;flex-direction:column;gap:3px}
.bop-game-meta b{color:#0f172a;font-size:13px}
.bop-btn-disabled{background:#e2e8f0!important;color:#94a3b8!important;cursor:not-allowed!important;box-shadow:none!important}
.bop-buy-summary,.bop-buy-total{display:flex;justify-content:space-between;align-items:center;gap:12px;border:1px solid #dbeafe;background:#eff6ff;border-radius:16px;padding:14px 16px;margin:10px 0}.bop-buy-summary span,.bop-buy-total span{font-size:12px;text-transform:uppercase;font-weight:800;color:#64748b;letter-spacing:.06em}.bop-buy-summary strong,.bop-buy-total strong{font-size:18px;color:#0f172a}.bop-buy-total{background:#fff7ed;border-color:#fed7aa}.bop-buy-total strong{color:#ea580c}
.bop-user-card-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;margin-top:22px}.bop-user-card{background:#fff;border:1px solid #e2e8f0;border-radius:28px;padding:20px;box-shadow:0 20px 45px rgba(15,23,42,.08)}.bop-user-card-head,.bop-user-card-foot{display:flex;justify-content:space-between;gap:12px;align-items:center;color:#64748b;font-size:12px;font-weight:800}.bop-user-card-head b{background:#dbeafe;color:#1d4ed8;border-radius:999px;padding:5px 9px;text-transform:uppercase;font-size:10px}.bop-user-card h2{font-size:16px;margin:12px 0 14px;color:#0f172a}.bop-bingo-card-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:7px;background:#f8fafc;border:1px solid #e2e8f0;border-radius:20px;padding:10px}.bop-bingo-card-grid span{aspect-ratio:1/1;border-radius:12px;background:#fff;display:grid;place-items:center;font-weight:900;color:#0f172a;font-size:12px;box-shadow:inset 0 0 0 1px rgba(148,163,184,.14)}.bop-bingo-card-grid span:nth-child(5n+1){background:#dbeafe;color:#1d4ed8}.bop-bingo-card-grid span:nth-child(5n+2){background:#fee2e2;color:#dc2626}.bop-bingo-card-grid span:nth-child(5n+3){background:#fef3c7;color:#d97706}.bop-bingo-card-grid span:nth-child(5n+4){background:#dcfce7;color:#16a34a}.bop-bingo-card-grid span:nth-child(5n+5){background:#ede9fe;color:#7c3aed}.bop-bingo-card-grid .is-free{background:#0f172a!important;color:#fff!important}
.bop-empty-large{grid-column:1/-1;background:#fff;border:1px dashed #cbd5e1;border-radius:24px;padding:36px;text-align:center;color:#64748b}.bop-empty-large h2{margin:0 0 8px;color:#0f172a}.bop-empty-large .bop-btn{margin-top:16px}
@media(max-width:980px){.bop-game-grid,.bop-user-card-grid{grid-template-columns:1fr 1fr}}@media(max-width:680px){.bop-game-grid,.bop-user-card-grid{grid-template-columns:1fr}.bop-game-card{padding:18px;border-radius:22px}.bop-game-meta{grid-template-columns:1fr}.bop-game-prize strong{font-size:20px}.bop-user-card{padding:16px}.bop-bingo-card-grid{gap:5px;padding:8px}.bop-bingo-card-grid span{border-radius:10px;font-size:11px}}

/* Fase 3.1: avisos de disponibilidad */
.bop-sale-note{display:block;margin-top:-6px;padding:10px 12px;border-radius:14px;background:#fff7ed;border:1px solid #fed7aa;color:#9a3412;font-size:12px;font-weight:800;line-height:1.35}

/* Fase 3.2 - compra de cartones más clara */
.bop-buy-form .bop-buy-game-details{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:10px;
  margin:14px 0;
}
.bop-buy-form .bop-buy-game-details div,
.bop-buy-wallet-box,
.bop-buy-after{
  border:1px solid rgba(37,99,235,.14);
  background:#f8fbff;
  border-radius:16px;
  padding:12px 14px;
}
.bop-buy-form .bop-buy-game-details span,
.bop-buy-wallet-box span,
.bop-buy-after span{
  display:block;
  color:#64748b;
  font-size:11px;
  font-weight:800;
  letter-spacing:.04em;
  text-transform:uppercase;
  margin-bottom:5px;
}
.bop-buy-form .bop-buy-game-details strong,
.bop-buy-wallet-box strong,
.bop-buy-after strong{
  display:block;
  color:#0f172a;
  font-size:14px;
}
.bop-buy-wallet-box{
  background:linear-gradient(135deg,#eff6ff,#f0fdf4);
  border-color:#bfdbfe;
  margin-bottom:12px;
}
.bop-buy-after{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
  margin-top:10px;
}
.bop-buy-after span{margin:0;}
.bop-buy-after strong{font-size:16px;}
.bop-inline-warning{
  margin-top:12px;
  padding:12px 14px;
  border-radius:14px;
  background:#fff7ed;
  color:#c2410c;
  font-weight:800;
  border:1px solid #fed7aa;
}
.bop-submit.is-disabled{opacity:.55;cursor:not-allowed;}
@media (max-width:640px){
  .bop-buy-form .bop-buy-game-details{grid-template-columns:1fr;}
  .bop-buy-after{align-items:flex-start;flex-direction:column;}
}

/* Fase 4: sala en vivo */
.bop-card-room-btn{width:100%;margin-top:14px;justify-content:center}
.bop-live-hero{display:grid;grid-template-columns:1.5fr .7fr;gap:22px;align-items:stretch;margin-bottom:22px}.bop-live-hero>div:first-child,.bop-live-prize{background:#fff;border:1px solid #e2e8f0;border-radius:28px;padding:26px;box-shadow:0 20px 50px rgba(15,23,42,.07)}.bop-live-hero h1{font-size:48px;line-height:1;margin:8px 0;color:#0f172a}.bop-live-hero p{color:#64748b;font-size:17px;max-width:680px;line-height:1.6}.bop-live-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:18px}.bop-live-prize{background:linear-gradient(135deg,#172554,#2563eb);color:#fff;display:flex;flex-direction:column;justify-content:center}.bop-live-prize span,.bop-live-prize small{color:#bfdbfe;text-transform:uppercase;letter-spacing:.08em;font-weight:900}.bop-live-prize strong{font-size:38px;line-height:1.1;margin:8px 0}.bop-live-layout{display:grid;grid-template-columns:320px 1fr;gap:22px}.bop-live-sidebar,.bop-live-called-panel,.bop-live-cards-panel{background:rgba(255,255,255,.94);border:1px solid #e2e8f0;border-radius:28px;padding:22px;box-shadow:0 20px 50px rgba(15,23,42,.07)}.bop-live-sidebar{display:flex;flex-direction:column;gap:14px;height:max-content}.bop-live-status-card,.bop-live-current,.bop-live-small-grid>div{border:1px solid #e2e8f0;background:#f8fafc;border-radius:20px;padding:16px}.bop-live-status-card span,.bop-live-current span,.bop-live-small-grid span{display:block;color:#64748b;text-transform:uppercase;letter-spacing:.08em;font-weight:900;font-size:11px;margin-bottom:6px}.bop-live-status-card strong{color:#16a34a;font-size:22px}.bop-live-current{background:radial-gradient(circle at 80% 0%,rgba(229,57,53,.18),transparent 40%),linear-gradient(135deg,#0f172a,#1e3a8a);color:#fff;text-align:center;padding:24px}.bop-live-current span{color:#bfdbfe}.bop-live-current strong{font-size:64px;line-height:1;color:#fff}.bop-live-small-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.bop-live-small-grid strong{font-size:20px;color:#0f172a}.bop-live-winner{background:linear-gradient(135deg,#fef3c7,#fff7ed);border:1px solid #fbbf24;border-radius:20px;padding:16px}.bop-live-winner span{display:block;color:#b45309;text-transform:uppercase;letter-spacing:.08em;font-size:11px;font-weight:950}.bop-live-winner strong{display:block;color:#0f172a;font-size:22px;margin-top:4px}.bop-live-winner small{display:block;color:#92400e;font-weight:800;margin-top:4px}.bop-live-main{display:flex;flex-direction:column;gap:22px}.bop-live-called-panel h2,.bop-live-cards-panel h2{margin:0 0 16px;color:#0f172a;font-size:24px}.bop-live-balls{display:flex;flex-wrap:wrap;gap:10px}.bop-live-balls span{width:48px;height:48px;border-radius:999px;display:grid;place-items:center;font-weight:950;color:#fff;background:#2563eb;box-shadow:0 12px 24px rgba(37,99,235,.22)}.bop-live-balls span:nth-child(5n+2){background:#e53935}.bop-live-balls span:nth-child(5n+3){background:#f59e0b}.bop-live-balls span:nth-child(5n+4){background:#16a34a}.bop-live-balls span:nth-child(5n+5){background:#7c3aed}.bop-live-balls span.is-current{transform:scale(1.12);box-shadow:0 16px 35px rgba(229,57,53,.35),0 0 0 6px rgba(229,57,53,.12)}.bop-live-cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.bop-live-card{border:1px solid #e2e8f0;border-radius:24px;padding:16px;background:#fff;box-shadow:0 16px 40px rgba(15,23,42,.06)}.bop-live-card.is-winner{border-color:#fbbf24;background:linear-gradient(135deg,#fffbeb,#fff)}.bop-live-card-head,.bop-live-card-foot{display:flex;justify-content:space-between;gap:10px;color:#64748b;font-size:12px;font-weight:900}.bop-live-card-head span{background:#dbeafe;color:#1d4ed8;border-radius:999px;padding:5px 8px;text-transform:uppercase;font-size:10px}.bop-live-grid{margin:12px 0}.bop-bingo-card-grid.bop-live-grid span.is-marked{background:#ff5a1f!important;color:#fff!important;box-shadow:0 8px 18px rgba(255,90,31,.22)}.bop-bingo-card-grid.bop-live-grid span.is-free{background:#0f172a!important;color:#fff!important}
@media(max-width:980px){.bop-live-hero,.bop-live-layout{grid-template-columns:1fr}.bop-live-cards{grid-template-columns:1fr}.bop-live-hero h1{font-size:38px}.bop-live-current strong{font-size:54px}}
@media(max-width:620px){.bop-live-hero>div:first-child,.bop-live-prize,.bop-live-sidebar,.bop-live-called-panel,.bop-live-cards-panel{padding:18px;border-radius:22px}.bop-live-hero h1{font-size:32px}.bop-live-prize strong{font-size:28px}.bop-live-balls span{width:42px;height:42px}.bop-live-small-grid{grid-template-columns:1fr}}

/* Fase 4.1: contador, Bingo 75 y patrón ganador */
.bop-bingo-card-grid span.is-header{
  aspect-ratio:auto!important;
  min-height:28px;
  border-radius:10px;
  background:linear-gradient(135deg,#1d4ed8,#2563eb)!important;
  color:#fff!important;
  font-size:15px;
  letter-spacing:.16em;
  box-shadow:none!important;
}
.bop-live-timer,.bop-live-pattern-card{
  border:1px solid #dbeafe;
  background:linear-gradient(135deg,#eff6ff,#fff);
  border-radius:20px;
  padding:16px;
}
.bop-live-timer span,.bop-live-pattern-card>span{
  display:block;
  color:#64748b;
  text-transform:uppercase;
  letter-spacing:.08em;
  font-weight:950;
  font-size:11px;
  margin-bottom:6px;
}
.bop-live-timer strong{
  display:block;
  font-size:34px;
  color:#1d4ed8;
  line-height:1;
}
.bop-live-timer small,.bop-live-pattern-card small,.bop-live-note{
  display:block;
  margin-top:8px;
  color:#64748b;
  font-weight:700;
  line-height:1.45;
}
.bop-live-pattern-card strong{
  display:block;
  color:#0f172a;
  font-size:17px;
  margin-bottom:10px;
}
.bop-example-grid{
  display:grid;
  grid-template-columns:repeat(5,1fr);
  gap:5px;
  background:#f8fafc;
  border:1px solid #e2e8f0;
  border-radius:16px;
  padding:8px;
}
.bop-example-grid span{
  aspect-ratio:1/1;
  border-radius:9px;
  background:#fff;
  border:1px solid #e2e8f0;
  display:grid;
  place-items:center;
  color:#94a3b8;
  font-weight:950;
}
.bop-example-grid .is-header{
  aspect-ratio:auto;
  min-height:22px;
  background:#0f172a;
  color:#fff;
  border-color:#0f172a;
  font-size:11px;
}
.bop-example-grid .is-pattern{
  background:linear-gradient(135deg,#f59e0b,#ef4444);
  color:#fff;
  border-color:#fb923c;
  box-shadow:0 8px 18px rgba(239,68,68,.22);
}
.bop-live-balls .bop-ball{
  width:58px!important;
  height:58px!important;
  grid-template-rows:16px 24px 12px;
  gap:0;
  line-height:1;
  position:relative;
  border:3px solid rgba(255,255,255,.7);
}
.bop-live-balls .bop-ball b{font-size:12px;font-weight:950;line-height:1;}
.bop-live-balls .bop-ball em{font-style:normal;font-size:20px;font-weight:950;line-height:1;}
.bop-live-balls .bop-ball small{font-size:0;line-height:0;}
.bop-live-balls .bop-ball-B{background:#2563eb!important;}
.bop-live-balls .bop-ball-I{background:#e53935!important;}
.bop-live-balls .bop-ball-N{background:linear-gradient(135deg,#e5e7eb,#94a3b8)!important;color:#0f172a!important;}
.bop-live-balls .bop-ball-G{background:#16a34a!important;}
.bop-live-balls .bop-ball-O{background:#f59e0b!important;}
.bop-bingo-card-grid.bop-live-grid span.is-winning-cell{
  background:linear-gradient(135deg,#facc15,#f97316)!important;
  color:#111827!important;
  box-shadow:0 0 0 3px rgba(250,204,21,.35),0 14px 28px rgba(249,115,22,.25)!important;
  transform:scale(1.03);
}
.bop-live-card.is-winner .bop-live-card-head span{
  background:#fef3c7;
  color:#b45309;
}
@media(max-width:620px){
  .bop-live-timer strong{font-size:28px;}
  .bop-live-balls .bop-ball{width:50px!important;height:50px!important;grid-template-rows:13px 22px 10px;}
  .bop-live-balls .bop-ball em{font-size:17px;}
}

/* Fase 4.2 - organización de cartones */
.bop-cards-filter{display:grid;grid-template-columns:1.3fr .8fr auto auto;gap:12px;align-items:end;margin:22px 0;padding:16px;border:1px solid #dbe7f7;border-radius:22px;background:rgba(255,255,255,.78);box-shadow:0 16px 42px rgba(15,23,42,.05)}
.bop-cards-filter label{display:grid;gap:6px;margin:0;color:#0f172a;font-weight:900}.bop-cards-filter label span{font-size:11px;text-transform:uppercase;letter-spacing:.08em;color:#64748b}.bop-cards-filter select{min-height:48px;border:1px solid #dbe3ef;border-radius:15px;padding:10px 12px;background:#fff;color:#0f172a;font-weight:800;outline:none}.bop-cards-filter select:focus{border-color:var(--bop-primary);box-shadow:0 0 0 4px rgba(37,99,235,.12)}
.bop-cards-summary{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;margin:8px 0 18px;color:#64748b;font-weight:850}.bop-cards-summary span{background:#fff;border:1px solid #e2e8f0;border-radius:999px;padding:8px 12px}.bop-cards-summary b{color:#0f172a}.bop-pagination{display:flex;justify-content:center;gap:8px;margin:24px 0}.bop-pagination a{display:grid;place-items:center;width:42px;height:42px;border-radius:14px;border:1px solid #dbe3ef;background:#fff;color:#2563eb;text-decoration:none;font-weight:950}.bop-pagination a.is-active{background:#2563eb;color:#fff;border-color:#2563eb}.bop-user-card.is-winner{border-color:#f4b400;box-shadow:0 20px 52px rgba(244,180,0,.16)}
@media(max-width:760px){.bop-cards-filter{grid-template-columns:1fr}.bop-cards-filter .bop-btn{width:100%;justify-content:center}.bop-cards-summary{display:grid;grid-template-columns:1fr 1fr}.bop-cards-summary span{text-align:center}}

/* Fase 4.4: Mis cartones inteligentes */
.bop-active-games-strip{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin:18px 0 14px;padding:14px;border:1px solid #dbeafe;background:rgba(255,255,255,.72);border-radius:20px;box-shadow:0 16px 45px rgba(15,23,42,.06)}.bop-active-games-strip>span{font-size:12px;font-weight:950;text-transform:uppercase;letter-spacing:.08em;color:#64748b}.bop-active-games-strip a,.bop-history-games-filter a{display:inline-flex;align-items:center;gap:8px;min-height:36px;padding:8px 12px;border-radius:999px;border:1px solid #dbeafe;background:#eff6ff;color:#1d4ed8!important;text-decoration:none!important;font-weight:900}.bop-active-games-strip a.is-active,.bop-history-games-filter a.is-active{background:var(--bop-primary);border-color:var(--bop-primary);color:#fff!important}.bop-active-games-strip b,.bop-history-games-filter b{display:inline-grid;place-items:center;min-width:22px;height:22px;padding:0 6px;border-radius:999px;background:rgba(255,255,255,.72)}.bop-cards-filter-smart{grid-template-columns:1fr 1fr 1.4fr auto auto}.bop-history-games-filter{margin:12px 0 16px;border:1px solid #e2e8f0;border-radius:20px;background:#fff;padding:12px 14px;box-shadow:0 14px 40px rgba(15,23,42,.05)}.bop-history-games-filter summary{cursor:pointer;font-weight:950;color:#0f172a}.bop-history-games-filter div{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px}.bop-history-games-filter small{opacity:.75}.bop-card-game-tag{display:inline-flex;width:max-content;margin:0 0 9px;padding:5px 9px;border-radius:999px;font-size:10px;font-weight:950;letter-spacing:.08em}.bop-card-game-tag.is-active{background:#dcfce7;color:#166534}.bop-card-game-tag.is-expired{background:#fee2e2;color:#991b1b}.bop-user-card.is-game-active{box-shadow:0 20px 60px rgba(37,99,235,.10);border-color:#bfdbfe}.bop-user-card.is-game-expired{opacity:.82}.bop-user-card.is-game-expired .bop-card-room-btn{background:#f1f5f9;color:#64748b!important}.bop-user-card.is-winner{opacity:1}.bop-live-winner strong+small+strong{margin-top:8px}
@media(max-width:760px){.bop-cards-filter-smart{grid-template-columns:1fr}.bop-active-games-strip,.bop-history-games-filter div{overflow-x:auto;flex-wrap:nowrap;padding-bottom:8px}.bop-active-games-strip a,.bop-history-games-filter a{white-space:nowrap}.bop-card-game-tag{margin-top:-2px}}

/* Fase 4.7: tiempos y mensajes de resultado */
.bop-game-timer{border:1px solid #dbeafe;background:linear-gradient(135deg,#eff6ff,#fff);border-radius:18px;padding:12px 14px;margin:12px 0 14px;display:flex;align-items:center;justify-content:space-between;gap:12px;box-shadow:0 10px 25px rgba(37,99,235,.07)}
.bop-game-timer span{font-size:11px;text-transform:uppercase;letter-spacing:.08em;font-weight:950;color:#64748b;display:block}
.bop-game-timer strong{font-size:22px;color:#2563eb;white-space:nowrap;line-height:1}
.bop-game-timer small{display:block;color:#64748b;font-weight:800;font-size:11px;line-height:1.25;max-width:140px;text-align:right}
.bop-live-duration{border:1px solid #e2e8f0;background:#f8fafc;border-radius:20px;padding:16px}
.bop-live-duration span{display:block;color:#64748b;text-transform:uppercase;letter-spacing:.08em;font-weight:900;font-size:11px;margin-bottom:6px}
.bop-live-duration strong{display:block;color:#2563eb;font-size:32px;line-height:1}
.bop-live-duration small{display:block;color:#64748b;font-weight:800;margin-top:6px;line-height:1.3}
.bop-live-user-result{border-radius:20px;padding:16px;border:1px solid #dbeafe;background:linear-gradient(135deg,#eff6ff,#fff);box-shadow:0 14px 30px rgba(37,99,235,.08)}
.bop-live-user-result span{display:block;text-transform:uppercase;letter-spacing:.08em;font-size:11px;font-weight:950;color:#1d4ed8;margin-bottom:4px}
.bop-live-user-result strong{display:block;color:#0f172a;font-size:20px;line-height:1.15}
.bop-live-user-result small{display:block;color:#64748b;font-weight:800;line-height:1.35;margin-top:6px}
.bop-live-user-result em{display:inline-block;margin-top:10px;padding:8px 10px;border-radius:999px;background:#dcfce7;color:#15803d;font-style:normal;font-weight:950}
.bop-live-user-result.is-win{border-color:#86efac;background:linear-gradient(135deg,#dcfce7,#fff)}
.bop-live-user-result.is-loss{border-color:#bfdbfe;background:linear-gradient(135deg,#eff6ff,#fff)}
@media (max-width:700px){.bop-game-timer{align-items:flex-start;flex-direction:column}.bop-game-timer small{text-align:left;max-width:none}.bop-game-timer strong{font-size:28px}}
