/* Identidad compartida de EL CHANCE. Los módulos conservan sus estructuras y contratos. */
:root {
    --ec-bg:#14090e; --ec-panel:#241019; --ec-raised:#321720; --ec-field:#1b0d14;
    --ec-wine:#4c1424; --ec-ruby:#a52b43; --ec-ivory:#f7ebdc; --ec-muted:#cbb9ad;
    --ec-gold:#d7b375; --ec-gold-light:#f4dca6; --ec-line:#a581524d;
    --ec-success:#a7dfb8; --ec-error:#ffb2b6; --ec-focus:#f8dc9f;
    --ec-metal:linear-gradient(115deg,#f5deb0,#dbb779 50%,#c39750);
    --ec-shadow:0 8px 26px #08030840; --ec-radius:18px;
    --ink:var(--ec-ivory); --muted:var(--ec-muted); --panel:var(--ec-panel);
    --panel-soft:var(--ec-raised); --cream:var(--ec-bg); --gold:var(--ec-gold);
    --line:var(--ec-line); --shadow:var(--ec-shadow); --radius:var(--ec-radius);
}
.ec-app { background:var(--ec-bg); color:var(--ec-ivory); line-height:1.5; }
.ec-app::before { background:radial-gradient(ellipse at top,#48162355,transparent 620px),var(--ec-bg); }
.ec-app .ambient { display:none; }
.ec-app .topbar { position:relative; height:100px; max-width:1240px; margin:0 auto; padding:18px 28px; border-bottom:1px solid var(--ec-line); border-radius:0 0 18px 18px; background:linear-gradient(90deg,#260913d9,#240c1480),var(--chance-backdrop) center 42%/cover; }
.ec-app .brand-logo { border:1px solid var(--ec-line); box-shadow:none; border-radius:12px; }
.ec-app .brand strong { color:var(--ec-ivory); letter-spacing:.025em; }
.ec-app .brand small { color:#edddca; }
.ec-app .share-whatsapp,.ec-app .icon-button { color:var(--ec-ivory); background:#210c16d9; border-color:#ddbb8070; box-shadow:none; }
.ec-app .page-shell { padding-top:22px; padding-bottom:calc(118px + env(safe-area-inset-bottom)); }
.ec-app .page-heading { margin-block:8px 22px; }
.ec-app h1 { font-size:clamp(1.65rem,3vw,2.6rem); line-height:1.15; letter-spacing:-.035em; }
.ec-app h2 { font-size:clamp(1.1rem,2vw,1.4rem); line-height:1.3; }
.ec-app h3 { line-height:1.35; }
.ec-app .eyebrow { color:var(--ec-gold); font-size:.65rem; letter-spacing:.13em; }
.ec-app .microcopy { color:var(--ec-muted); line-height:1.6; }
.ec-app .surface,.ec-app .list-card,.ec-app .metric-card,.ec-app .benefit-panel,.ec-app .benefit-details { color:var(--ec-ivory); background:var(--ec-panel); border-color:var(--ec-line); border-radius:var(--ec-radius); box-shadow:var(--ec-shadow); }
.ec-app .form-card,.ec-app .step-card { padding:clamp(18px,3vw,28px); }
.ec-app .button { min-height:46px; border:1px solid #c194665e; border-radius:11px; color:var(--ec-ivory); background:var(--ec-raised); box-shadow:none; font-weight:750; font-size:.86rem; animation:none; transition:background .15s ease,border-color .15s ease; }
.ec-app .button::after { display:none; animation:none; }
.ec-app .button:hover { transform:none; border-color:var(--ec-gold); }
.ec-app .button.primary,.ec-app .button.secondary,.ec-app .button.lime,.ec-app .button.ghost { color:var(--ec-ivory); background:var(--ec-raised); border-color:var(--ec-line); box-shadow:none; }
.ec-app .button.action-create,.ec-app .button.action-continue { color:#fff0e0; background:linear-gradient(180deg,#9b2b43,#752137); background-color:#752137; border-color:#d263775e; box-shadow:inset 0 1px #efb5b222; }
.ec-app .button.action-money,.ec-app .button.action-deposit { color:#351c13; background:var(--ec-metal); border-color:#f0d6a18c; box-shadow:inset 0 1px #fff0d07a; }
.ec-app .button:disabled,.ec-app button:disabled { opacity:.48; cursor:not-allowed; box-shadow:none; transform:none; }
.ec-app [aria-busy=true] { cursor:progress; }
.ec-app .button[aria-busy=true]::before { content:''; width:14px; height:14px; border:2px solid currentColor; border-right-color:transparent; border-radius:50%; animation:ec-loading .8s linear infinite; }
.ec-app :focus-visible { outline:3px solid var(--ec-focus); outline-offset:3px; }
.ec-app input:not([type=checkbox]):not([type=radio]),.ec-app select,.ec-app textarea { color:var(--ec-ivory); background:var(--ec-field); border-color:#c29b6f55; border-radius:11px; font-size:16px; }
.ec-app input:focus,.ec-app select:focus,.ec-app textarea:focus { border-color:var(--ec-focus); box-shadow:0 0 0 3px #d7b37520; }
.ec-app input:disabled,.ec-app select:disabled { opacity:.6; cursor:not-allowed; }
.ec-app input[type=checkbox],.ec-app input[type=radio] { accent-color:var(--ec-ruby); }
.ec-app input[aria-invalid=true],.ec-app .input-validation-error { border-color:var(--ec-error); }
.ec-app input::placeholder,.ec-app textarea::placeholder { color:#b49d96; opacity:1; }
.ec-app .alert,.ec-app .toast { background:#183228; color:#d3f0dc; border-color:#83b69866; box-shadow:var(--ec-shadow); }
.ec-app .alert.error,.ec-app .validation { color:var(--ec-error); background:#391623; border-color:#df76845c; }
.ec-app .notice { background:#35251c; color:#eed7af; border:1px solid #bd965b55; border-radius:12px; padding:14px; }
.ec-app .empty-state { padding:26px 18px; border:1px dashed var(--ec-line); border-radius:var(--ec-radius); background:var(--ec-field); color:var(--ec-muted); }
.ec-app .section-block { margin-top:28px; }
.ec-app .section-title { gap:12px; align-items:center; }
.ec-app .section-title>a { color:var(--ec-gold-light); font-size:.8rem; }
.ec-app :is(strong,time,.list-value,.balance-amount,.premium-price,.agent-lifetime) { font-variant-numeric:tabular-nums; }
/* Navegación: el relleno dorado no representa selección ni un enlace. */
.ec-app .bottom-nav { bottom:max(8px,env(safe-area-inset-bottom)); width:min(calc(100% - 20px),700px); min-height:68px; padding:6px; background:#22101af7; border:1px solid #ab855a66; border-radius:17px; box-shadow:0 6px 24px #08030890; backdrop-filter:blur(16px); }
.ec-app .bottom-nav a,.ec-app .bottom-nav .nav-agent { min-height:52px; padding:5px 2px; gap:4px; margin:0; background:transparent; border:0; box-shadow:none; color:#d9c6ba; border-radius:11px; font-size:.66rem; }
.ec-app .bottom-nav .nav-icon,.ec-app .bottom-nav .nav-play .nav-icon,.ec-app .bottom-nav .nav-agent .nav-icon { width:26px; height:26px; margin:0; color:inherit; background:transparent; border:0; border-radius:0; box-shadow:none; transform:none; }
.ec-app .bottom-nav .nav-icon svg { width:23px; height:23px; }
.ec-app .bottom-nav .nav-agent::before { display:none; }
.ec-app .bottom-nav a[aria-current=page],.ec-app .bottom-nav .nav-agent[aria-current=page] { background:#75223855; color:var(--ec-gold-light); box-shadow:inset 0 -2px var(--ec-gold); border:0; }
.ec-app .bottom-nav .nav-agent[aria-current=page] .nav-icon { color:inherit; background:none; border:0; box-shadow:none; }
.ec-app .page-scroll-controls { bottom:calc(92px + env(safe-area-inset-bottom)); right:8px; }
.ec-app .page-scroll-controls button { width:44px; height:44px; border-radius:12px; border-color:var(--ec-line); background:#2b1320eb; box-shadow:none; }
.ec-app .portal-tools-interior { margin-bottom:18px; }
.ec-app .portal-tools-interior .portal-tools-menu,.ec-app .portal-tools .portal-tool { background:var(--ec-panel); border-color:var(--ec-line); box-shadow:none; }
.ec-app .portal-tools-home .portal-tool { padding:12px; min-height:76px; border-radius:14px; }
.ec-app .portal-tools .portal-tool-icon { background:#452333; border-color:var(--ec-line); color:var(--ec-gold-light); box-shadow:none; }
.ec-app .portal-tools .portal-tool[aria-current=page] { background:#64223855; border-color:var(--ec-gold); box-shadow:inset 0 -2px var(--ec-gold); }
/* Inicio y presentaciones: el paisaje se queda fuera de las áreas de datos. */
.ec-app .home-balance { margin-top:0; }
.ec-app .balance-card,.ec-app .home-balance .metric-card.balance { background:linear-gradient(115deg,#4e1b28,#2a131d); border-color:#c99f626e; box-shadow:var(--ec-shadow); }
.ec-app .balance-card::before { display:none; }
.ec-app .balance-wallet-icon { background:#4e2d27; border-color:var(--ec-line); box-shadow:none; color:var(--ec-gold-light); }
.ec-app .balance-amount { color:var(--ec-gold-light); text-shadow:none; }
.ec-app .home-balance .balance-card { padding:22px; }
.ec-app .home-balance .balance-card:hover { border-color:var(--ec-gold); box-shadow:var(--ec-shadow); }
.ec-app .home-wallet-actions { gap:10px; }
.ec-app .premium-carousel { margin:16px 0; border-color:var(--ec-line); border-radius:16px; box-shadow:none; }
.ec-app .premium-carousel-slide { padding:18px 22px; min-height:150px; background:linear-gradient(110deg,#4c2031,#27131d); }
.ec-app .premium-carousel-copy { gap:7px; }
.ec-app .premium-carousel-copy>strong { font-size:1rem; }
.ec-app .premium-carousel-copy>strong>span { font-size:1.35rem; }
.ec-app .premium-carousel-power { font-size:clamp(3.5rem,7vw,4.8rem); text-shadow:none; }
.ec-app .home-modalities-grid { gap:12px; }
.ec-app .home-modality { min-height:200px; padding:20px; gap:12px; border-radius:17px; border-color:var(--ec-line); box-shadow:var(--ec-shadow); background-size:cover; }
.ec-app .home-modality::before,.ec-app .home-modality::after { display:none; }
.ec-app .modality-tiempos { background-image:linear-gradient(90deg,#311320ee,#351a2870),url('/branding/el-chance-costa-rica-v2.png'); background-position:65% center; }
.ec-app .modality-chance { background-image:linear-gradient(90deg,#43131ee8,#43131e50),url('/branding/el-chance-costa-rica-v2.png'); background-position:85% center; }
.ec-app .modality-raspas { background-image:linear-gradient(90deg,#16221fee,#16221f90),url('/branding/raspas/tucan-v1.jpg'); background-position:70% center; }
.ec-app .modality-ron { background:radial-gradient(ellipse at 90% 0,#37473880,transparent),#241b22; }
.ec-app .home-modality strong { color:var(--ec-ivory); text-shadow:none; }
.ec-app .home-modality .modality-action { border-color:#d0b37b38; color:var(--ec-gold-light); padding-top:10px; }
.ec-app .home-modality:hover { transform:none; box-shadow:var(--ec-shadow); }
.ec-app .home-draw-compact { border-color:var(--ec-line); background:var(--ec-panel); box-shadow:none; padding:12px; border-radius:14px; }
.ec-app .home-draw-play .home-draw-payout { background:#442332; color:var(--ec-gold-light); border:1px solid var(--ec-line); box-shadow:none; }
.ec-app .home-draw-play .home-draw-payout small { color:var(--ec-muted); }
.ec-app .home-result { min-height:72px; border-radius:14px; }
.ec-app .home-result-number,.ec-app .winning-number { color:var(--ec-ivory); background:radial-gradient(circle at 35% 25%,#d74e62,#9b233f 62%,#66152c); border:1px solid #ce6f7b55; border-radius:50%; width:42px; height:42px; display:inline-grid; place-items:center; font-size:1.4rem; box-shadow:inset 0 2px #f4b7b430; }
.ec-app .home-account-link { padding:18px; border-radius:15px; }
.ec-app .agent-rate-display { animation:none; text-shadow:none; }
.ec-app .portal-banner { border-radius:16px; box-shadow:none; }
/* Juego y resultados: estados seleccionados incluyen borde y marca, no solo color. */
.ec-app .draw-option,.ec-app .payment-options label>span,.ec-app .ticket-play-group,.ec-app .review-checkout,.ec-app .review-draw-card { background:var(--ec-field); color:var(--ec-ivory); border-color:var(--ec-line); box-shadow:none; }
.ec-app .draw-option.selected,.ec-app .payment-options input:checked+span { background:#60203950; border-color:var(--ec-gold); box-shadow:inset 3px 0 var(--ec-gold); }
.ec-app .draw-continue-bar { position:static; background:var(--ec-raised); border-color:var(--ec-line); border-radius:12px; box-shadow:none; }
.ec-app .play-running-summary { padding:12px 16px; margin-bottom:18px; background:var(--ec-panel); }
.ec-app .play-running-summary summary { cursor:pointer; color:var(--ec-gold-light); font-size:.82rem; min-height:28px; }
.ec-app .play-running-summary p { font-size:.78rem; color:var(--ec-ivory); margin:10px 0; }
.ec-app .play-running-summary small { font-size:.7rem; color:var(--ec-muted); }
.ec-app .amount-pills button,.ec-app .number-blocks button { background:var(--ec-field); border-color:var(--ec-line); color:var(--ec-ivory); border-radius:9px; min-height:44px; }
.ec-app .amount-pills button.active,.ec-app .number-blocks button[aria-pressed=true] { color:#fff1df; background:#81263f; border-color:#edacac; box-shadow:inset 0 -2px #e7c394; }
.ec-app .number-cell { color:var(--ec-ivory); background:transparent; border:0; border-radius:10px; }
.ec-app .number-cell>span { color:var(--ec-ivory); background:var(--ec-field); border-color:#a37b6959; box-shadow:none; }
.ec-app .number-cell[aria-pressed=true]>span { color:#fff6e3; background:#9c2a46; border-color:#eb9caa; box-shadow:inset 0 -3px #efc78f; }
.ec-app .play-progress>span { font-size:.75rem; }
.ec-app .play-progress .current { background:#772039; color:var(--ec-ivory); border-color:#c8757f; }
.ec-app .play-budget,.ec-app .group-amount-panel,.ec-app .summary-total { background:var(--ec-raised); border-color:var(--ec-line); color:var(--ec-ivory); }
.ec-app .play-groups,.ec-app .play-group { background:var(--ec-field); border-color:var(--ec-line); }
.ec-app .review-draw-summary,.ec-app .purchase-draw-summary { background:var(--ec-panel); border-color:var(--ec-line); color:var(--ec-ivory); }
.ec-app .portal-results { padding:clamp(14px,3vw,24px); }
.ec-app .result-card { background:var(--ec-field); border-color:var(--ec-line); }
.ec-app .status,.ec-app .status-label { border-radius:7px; line-height:1.5; white-space:normal; }
.ec-app .pulso-panel { padding:16px; background:linear-gradient(115deg,#4c1c2b,#25101a); border-color:var(--ec-line); box-shadow:var(--ec-shadow); border-radius:var(--ec-radius); }
.ec-app .pulso-panel header h2 { margin:4px 0; font-size:1.25rem; }
.ec-app .pulso-panel header p { font-size:.72rem; margin-bottom:4px; }
.ec-app .pulso-summary { gap:8px; margin:10px 0; }
.ec-app .pulso-summary>div { padding:8px; gap:4px; }
.ec-app .pulso-summary :is(span,small) { font-size:.7rem; }
.ec-app .pulso-summary .pulso-winner { font-size:2rem; }
.ec-app .pulso-upcoming a { padding:8px 4px; }
.ec-app .pulso-upcoming { margin-top:8px; }
.ec-app .pulso-history summary { padding:8px 0; }
.ec-app .pulso-panel .pulso-update { margin-top:8px; font-size:.72rem; }
.ec-app .pulso-statistics-link { display:flex; align-items:center; min-height:44px; font-size:.8rem; color:var(--ec-gold-light); }
.ec-app .pulso-buy { min-height:44px; padding:10px 12px; color:var(--ec-ivory); border:1px solid var(--ec-line); background:#7b243a; box-shadow:none; }
.ec-app .pulso-payout { color:var(--ec-gold-light); background:#3c1c28; border-color:var(--ec-line); box-shadow:none; }
/* Billetera, comprobantes y premios: una sola superficie de datos. */
.ec-app .wallet-section-links { display:flex; gap:8px; margin-block:18px; flex-wrap:wrap; }
.ec-app .wallet-section-links a { flex:1; min-width:90px; padding:10px; text-align:center; border-bottom:2px solid var(--ec-line); color:var(--ec-gold-light); font-size:.85rem; }
.ec-app .wallet-prizes { display:block; margin-block:16px; padding:18px; background:var(--ec-panel); border-color:var(--ec-line); box-shadow:none; }
.ec-app .wallet-prizes>.wallet-prizes-amount { margin-block:12px; font-size:clamp(1.5rem,4vw,2rem); }
.ec-app .wallet-prizes-icon { background:#472733; color:var(--ec-gold-light); border-color:var(--ec-line); }
.ec-app .activity-ledger,.ec-app .ticket-card-gold { background:var(--ec-panel); color:var(--ec-ivory); border-color:var(--ec-line); box-shadow:var(--ec-shadow); }
.ec-app .activity-ledger .movement-row { color:var(--ec-ivory); background:transparent; border-color:var(--ec-line); }
.ec-app .activity-ledger :is(.movement-detail strong,.list-value strong),.ec-app .ticket-card-gold .ticket-card-title strong,.ec-app .ticket-card-gold .ticket-stake-row>strong { color:var(--ec-ivory); }
.ec-app .activity-ledger :is(.movement-detail time,.movement-detail small,.list-value small),.ec-app .ticket-card-gold :is(.ticket-serial,.ticket-dates,.ticket-dates time,.ticket-stake-label,.ticket-play-group small) { color:var(--ec-muted); }
.ec-app .activity-ledger .amount-positive { color:var(--ec-success)!important; }
.ec-app .activity-ledger .amount-negative { color:var(--ec-error)!important; }
.ec-app .ticket-card-gold { padding:14px; border-left:3px solid #996d52; }
.ec-app .ticket-card-gold small { color:var(--ec-muted); }
.ec-app .ticket-card-head { gap:8px; }
.ec-app .ticket-card-gold .ticket-details>summary { min-height:48px; padding:8px 10px; }
.ec-app .ticket-card-gold .ticket-actions .button:focus-visible { outline:3px solid var(--ec-focus); outline-offset:3px; }
.ec-app .ticket-details>summary svg { stroke:var(--ec-gold-light); }
.ec-app .ticket-card-gold .ticket-delivery { margin-top:0; padding-top:6px; }
.ec-app .ticket-card-gold.ticket-winner { border-left-color:#8bc6a2; }
.ec-app .ticket-card-gold .list-value>small,.ec-app .ticket-card-gold .ticket-delivery { color:var(--ec-muted); background:var(--ec-field); border-color:var(--ec-line); }
.ec-app .ticket-card-gold .ticket-play-group { background:var(--ec-field); border-color:var(--ec-line); }
.ec-app .ticket-card-gold .ticket-payment-pending { color:#efd3a6; background:#38251f; border-color:var(--ec-line); }
.ec-app .ticket-card-gold .list-value>.status-winner { color:#d4f5dd; background:#244632; border-color:#87b99b70; }
.ec-app .ticket-result-notice { color:var(--ec-ivory); background:var(--ec-field); border-color:var(--ec-line); }
.ec-app .ticket-card-gold .ticket-result-notice { padding:10px; margin-top:8px; gap:6px; }
.ec-app .ticket-result-numbers .ticket-result-played { color:var(--ec-ivory); background:#3b2432; }
.ec-app .ticket-result-numbers .ticket-result-drawn { color:var(--ec-ivory); background:#61243a; }
.ec-app .ticket-result-played :is(dt,dd),.ec-app .ticket-result-drawn :is(dt,dd) { color:var(--ec-ivory); }
.ec-app .ticket-card-gold .ticket-badge,.ec-app .ticket-card-gold .ticket-details,.ec-app .ticket-card-gold .receipt-viewer { background:var(--ec-field); border-color:var(--ec-line); color:var(--ec-ivory); }
.ec-app .ticket-card-gold :is(.ticket-details summary,.receipt-viewer summary,.ticket-play-group strong) { color:var(--ec-gold-light); }
.ec-app .ticket-filter-tabs>a { background:var(--ec-panel); border-color:var(--ec-line); color:var(--ec-ivory); }
.ec-app .ticket-filter-tabs>a.selected { background:#6c233855; border-color:var(--ec-gold); box-shadow:inset 0 -2px var(--ec-gold); color:var(--ec-gold-light); }
.ec-app .prize-total { background:var(--ec-panel); border-color:var(--ec-line); box-shadow:none; }
.ec-app .payment-card,.ec-app .sinpe-modal,.ec-app .payment-callout,.ec-app .receipt-summary { background:var(--ec-panel); color:var(--ec-ivory); border-color:var(--ec-line); box-shadow:var(--ec-shadow); }
.ec-app .payment-card :is(strong,h2),.ec-app .receipt-summary :is(strong,h2) { color:var(--ec-gold-light); }
.ec-app .payment-card :is(p,small),.ec-app .receipt-summary p { color:var(--ec-muted); }
/* Membresías, cuenta, fidelización y comunicaciones. */
.ec-app .benefit-hero { padding:clamp(20px,3vw,30px); border-color:var(--ec-line); border-radius:18px; background:linear-gradient(110deg,#3f1526ed,#261019e6),var(--chance-backdrop) center/cover; box-shadow:var(--ec-shadow); }
.ec-app .benefit-hero::after { display:none; }
.ec-app .benefit-hero-top { margin-bottom:14px; }
.ec-app .benefit-icon { background:#4c2b30; color:var(--ec-gold-light); border-color:var(--ec-line); box-shadow:none; width:44px; height:44px; border-radius:12px; }
.ec-app .benefit-hero h1 { font-size:clamp(1.65rem,3vw,2.45rem); color:var(--ec-ivory); }
.ec-app .benefit-tag { color:var(--ec-gold-light); border-color:var(--ec-line); background:#1b0a1270; }
.ec-app .benefit-panel,.ec-app .benefit-details { background:var(--ec-panel); }
.ec-app .premium-plan,.ec-app .premium-current,.ec-app .premium-confirmation,.ec-app .premium-confirm-actions { background:var(--ec-panel); border-color:var(--ec-line); box-shadow:var(--ec-shadow); }
.ec-app .premium-period { border-color:var(--ec-line); background:var(--ec-field); }
.ec-app .premium-dialog,.ec-app .raspa-modal { color:var(--ec-ivory); background:var(--ec-panel); border-color:var(--ec-line); border-radius:20px; box-shadow:0 24px 80px #0009; max-height:calc(100dvh - 32px); }
.ec-app dialog::backdrop { background:#0d040bd9; backdrop-filter:blur(5px); }
.ec-app .account-actions a { background:var(--ec-panel); border-color:var(--ec-line); }
.ec-app .account-actions a>span,.ec-app .account-monogram { background:#452333; color:var(--ec-gold-light); border-color:var(--ec-line); }
.ec-app .agent-earnings,.ec-app .agent-balance-card,.ec-app .agent-totals,.ec-app .agent-activity,.ec-app .agent-hero,.ec-app .agent-request-step { color:var(--ec-ivory); background:var(--ec-panel); border-color:var(--ec-line); box-shadow:var(--ec-shadow); }
.ec-app .agent-balance-card.commissions { background:linear-gradient(120deg,#48202b,#29151c); }
.ec-app .agent-lifetime { font-size:clamp(1.8rem,4vw,2.7rem); color:var(--ec-gold-light); text-shadow:none; }
.ec-app .agent-commission { border-color:var(--ec-line); background:var(--ec-field); }
.ec-app .raspa-category { background:var(--ec-panel); border-color:var(--ec-line); box-shadow:var(--ec-shadow); border-radius:18px; }
.ec-app .raspa-category-body { background:var(--ec-panel); color:var(--ec-ivory); }
.ec-app .raspa-modal-body { background:var(--ec-panel); }
.ec-app .raspa-history-item { background:var(--ec-panel); border-color:var(--ec-line); }
.ec-app .raspa-history-row,.ec-app .raspa-batch-result { color:var(--ec-ivory); background:var(--ec-panel); border-color:var(--ec-line); }
.ec-app .raspa-history-amount { color:var(--ec-gold-light); }
.ec-app .raspa-quantity-presets button[aria-pressed=true],.ec-app .raspa-lote-tabs a[aria-current=page] { color:var(--ec-ivory); background:#77243b; border-color:var(--ec-gold); box-shadow:inset 0 -2px var(--ec-gold); }
.ec-app .raspa-free-actions>.button { color:var(--ec-ivory); background:var(--ec-raised); border-color:var(--ec-line); box-shadow:none; }
.ec-app .raspa-free { border-color:var(--ec-line); box-shadow:none; }
.ec-app .ron-board { border:1px solid #9584517a; border-radius:24px; background:radial-gradient(ellipse,#203b2c,#14261e); box-shadow:inset 0 0 35px #070e0960; }
.ec-app .ron-code-entry,.ec-app .ron-lobby-heading,.ec-app .ron-turn-guide,.ec-app .ron-cash-confirm,.ec-app .ron-group-shell { background:var(--ec-panel); border-color:var(--ec-line); box-shadow:none; }
.ec-app .ron-step-flow li.is-current { background:#762940; color:var(--ec-ivory); border-color:#d7b375; box-shadow:none; }
.ec-app .ron-hand .ron-card.selected { background:#fff1dc; border-color:#b24666; box-shadow:0 0 0 2px #872b48,0 8px 16px #08030880; }
.ec-app [data-ron] .ron-add-button { color:var(--ec-ivory); background:#67263b; border-color:#c79b805c; }
.ec-app .consultation-message.customer { background:#632439; border-color:#d18b8f45; }
.ec-app .consultation-message.team { background:#2e2528; border-color:var(--ec-line); }
.ec-app .skip-link { position:fixed; left:12px; top:-100px; z-index:1000; padding:10px 16px; background:var(--ec-ivory); color:var(--ec-bg); border-radius:8px; }
.ec-app .skip-link:focus { top:10px; }
.ec-app .skip-link:not(:focus) { clip-path:inset(50%); width:1px; height:1px; overflow:hidden; white-space:nowrap; }
.ec-app .referral-code button,.ec-app .copy-button { color:var(--ec-gold-light); background:var(--ec-raised); border:1px solid var(--ec-line); box-shadow:none; }
@media(min-width:1000px) {
    .ec-app .home-balance { grid-template-columns:minmax(0,3fr) minmax(220px,1fr); align-items:stretch; gap:18px; }
    .ec-app .home-balance .balance-card { grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
    .ec-app .home-balance .balance-heading,.ec-app .home-balance .balance-footer { grid-column:1/-1; }
    .ec-app .home-balance .balance-card>.balance-amount { grid-column:1; grid-row:2; font-size:clamp(1rem,min(7cqi,calc(75cqi / var(--balance-digits))),3.2rem); }
    .ec-app .home-balance .home-wallet-parts { grid-column:2; grid-row:2; align-items:center; justify-content:flex-end; padding:0; border:0; }
    .ec-app .home-modalities-grid { grid-template-columns:repeat(4,minmax(0,1fr)); }
    .ec-app .home-draw-grid,.ec-app .home-latest .card-list { grid-template-columns:repeat(3,minmax(0,1fr)); }
    .ec-app .wallet-hero { max-width:none; }
    .ec-app .home-wallet-actions { display:grid; align-content:center; gap:12px; }
    .ec-app .home-wallet-actions .button { min-width:170px; min-height:56px; }
}
@media(max-width:700px) {
    .ec-app .topbar { height:88px; padding:14px 16px; border-radius:0; }
    .ec-app .page-shell { padding:18px 14px calc(118px + env(safe-area-inset-bottom)); }
    .ec-app .brand { gap:9px; }
    .ec-app .brand strong { font-size:.9rem; }
    .ec-app .brand small { font-size:.62rem; }
    .ec-app .share-whatsapp { width:42px; padding:8px; }
    .ec-app .share-whatsapp>span { display:none; }
    .ec-app .home-modality { min-height:195px; padding:15px 12px; gap:10px; }
    .ec-app .home-modality .modality-kicker { font-size:.58rem; }
    .ec-app .home-modality small { font-size:.74rem; }
    .ec-app .home-modality .modality-action { font-size:.72rem; }
    .ec-app .home-draw-grid,.ec-app .home-latest .card-list { grid-template-columns:1fr; }
    .ec-app .home-wallet-actions { display:grid; grid-template-columns:1fr 1fr; }
    .ec-app .home-wallet-actions .button { padding-inline:8px; font-size:.78rem; }
    .ec-app .ticket-card-head { gap:6px; grid-template-columns:32px minmax(0,1fr); }
    .ec-app .ticket-card-head .ticket-stake-row { grid-column:2; width:100%; max-width:none; flex-direction:row; align-items:center; justify-content:space-between; }
    .ec-app .ticket-badge { width:32px; height:36px; }
    .ec-app .ticket-card-gold .ticket-card-title strong { font-size:.9rem; }
    .ec-app .premium-carousel-slide { padding:16px; min-height:145px; }
    .ec-app .premium-carousel-controls>span:nth-child(2) { display:none; }
}
@media(prefers-reduced-motion:reduce) { .ec-app *,.ec-app *::before,.ec-app *::after { animation:none!important; transition:none!important; scroll-behavior:auto!important; } }
@keyframes ec-loading { to { transform:rotate(360deg); } }
